History log of /freebsd-current/usr.sbin/ndp/ndp_netlink.c
Revision Date Author Comments
# 934a24e5 23-Oct-2023 R. Christian McDonald <rcm@rcm.sh>

ndp: improve -c and -d handling in ndp_netlink

This patch restores/fixes some of the behavior present in pre-netlink ndp(8).

1. Deleting a local address now correctly returns EPERM (instead of
ENOENT)
2. ndp -c no longer dumps the entire table while complaining about
local addresses
3. Return exit code when deleting entry (e.g. trying ndp -d on a local
address is an error)

Reviewed by: kp
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D42316


# 4f8f43b0 16-Oct-2023 Kristof Provost <kp@FreeBSD.org>

netlink: cope with growing requests

If a request ends up growing beyong the initially allocated space the
netlink functions (such as snl_add_msg_attr_u32()) will allocate a
new buffer. This invalidates the header pointer we can have received
from snl_create_msg_request(). Always use the hdr returned by
snl_finalize_msg().

Reviewed by: melifaro
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D42223


# b57df6fb 18-Sep-2023 Kristof Provost <kp@FreeBSD.org>

ndp: cope with unresolved neighbours

If we've not (yet) resolved a neighbour nda_lladdr will be NULL, and
NLA_DATA_LEN(neigh->nda_lladdr) will dereference a NULL pointer.

Avoid that by checking nda_lladdr first, and only dereferencing if it's
not NULL.

Test case:
ping6 -c 1 <non-existant neighbour>
ndp -a

Reviewed by: melifaro
MFC after: 3 days
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D41903


# 1cdec283 06-Jun-2023 Joseph Mingrone <jrm@FreeBSD.org>

ndp: Prepare for pending tcpdump update

ndp makes use of gmt2local, however that library has been removed from
tcpdump. Add utc_offset() as a substitute.

Reviewed by: emaste, jhb, melifaro
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D40445


# c9090124 27-May-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

netlink: update rta_multipath conditions in arp/ndp after 656a39c1a062


# 2d7842d0 26-Apr-2023 John Baldwin <jhb@FreeBSD.org>

arp/ndp: Use valid prototypes for function declarations with no arguments.


# 7825619a 25-Apr-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

ndp: fix signed/unsigned compariosn in the netlink code.


# 91fbe081 24-Apr-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

ndp: convert ndp(8) to netlink.

The change is intended to be fully transparent to the users.
Similarly to route(8) and netstat(8), ndp can be build without
netlink by defining WITHOUT_NETLINK in make.conf.

Differential Revision: https://reviews.freebsd.org/D39720