The command "ndp -s <IPv6> <MAC> temp" creates *permanent* NDP entries

Started by Cristian_Ichim, August 31, 2025, 01:17:08 PM

Previous topic - Next topic
I noticed that the command "ndp -s <IPv6> <MAC> temp" creates *permanent* NDP entries intead of temporary ones. The BSD states that if the word "temp" is added in the command it should create a temporary entry but it doesn't.

Versions
--------
freebsd-version: FreeBSD OPNsense.localdomain 14.3-RELEASE-p2 FreeBSD 14.3-RELEASE-p2 stable/25.7-n271638-c7adca0552b5 SMP amd64
opnsense-version: 25.7.2
which ndp: /usr/sbin/ndp

Repro steps (on an on-link LAN address)
---------------------------------------
1) /usr/sbin/ndp -d <ON_LINK_IPV6>
2) /usr/sbin/ndp -s <ON_LINK_IPV6> <MAC> temp
3) ndp -an | grep -i <ON_LINK_IPV6>   # or grep the MAC

Observed
--------
Entry shows:  ... permanent R

Expected
--------
A dynamic/temporary entry (with an expire timer), per `man 8 ndp`:
"entry will be permanent unless the word temp is given."

What I checked
--------------
- No syshook/cron re-adding NDP entries (`/usr/local/etc/rc.syshook.d/start/` is clean for NDP).
- No NDP proxy configured for this interface/prefix.

Question
--------
Is this known behavior on 25.7.2 / FreeBSD 14.3, or a bug? Any recommended workaround or fix? If confirmed, should this be filed on GitHub (opnsense/core) or upstream FreeBSD?