HomeFreeBSD

netinet6: Remove ndpr_raf_ra_derived flag

Description

netinet6: Remove ndpr_raf_ra_derived flag

This flag was introduced at 8036234c72c9361711e867cc1a0c6a7fe0babd84
to prevent the SIOCSPFXFLUSH_IN6 ioctl from removing manually-added
entries. However, this flag did actually not work due to an
incomplete implementation making prelist_update() not handle it before
calling nd6_prelist_add().

This patch removes the flag because a prefix is derived from an RA
always has an entry in the ndpr_advrtrs member in the struct
nd_prefix. Having a separate flag is not a good idea because it can
cause a mismatch between the flag and the ndpr_advrtrs entry. Testing
using LIST_EMPTY() is simpler for the origial goal.

This also removes in a prefix check in the ICMPV6CTL_ND6_PRLIST sysctl
to exclude manually-added entries. This ioctl is designed to list all
entries, and there is no relationship to SIOCSPFXFLUSH_IN6.

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

Details

Provenance
hrsAuthored on Jun 12 2025, 6:46 PM
Differential Revision
D46441: netinet6: Remove ndpr_raf_ra_derived flag
Parents
rG7b7ba7857ce8: Implement CLOCK_TAI
Branches
Unknown
Tags
Unknown