Page MenuHomeFreeBSD

ndp: implement delayed anycast and proxy NA
ClosedPublic

Authored by pouria on Feb 6 2026, 8:43 AM.
Tags
None
Referenced Files
F166192733: D55141.id173441.diff
Wed, Aug 12, 6:40 AM
F166144284: D55141.id173447.diff
Tue, Aug 11, 11:28 PM
F166103522: D55141.id173445.diff
Tue, Aug 11, 6:17 PM
Unknown Object (File)
Mon, Aug 10, 12:04 PM
Unknown Object (File)
Mon, Aug 10, 8:58 AM
Unknown Object (File)
Sun, Aug 9, 3:46 PM
Unknown Object (File)
Sun, Aug 9, 1:40 AM
Unknown Object (File)
Sat, Aug 8, 5:37 AM
Subscribers

Details

Summary

the following items are implemented:

  • proxy advertisement delay rule (RFC4861 7.2.8, last paragraph, SHOULD)
  • anycast advertisement delay rule (RFC4861 7.2.7, SHOULD)
Test Plan

set an anycast address on host A

ifconfig vtnet0 inet6 3fff::1 anycast

ping it from host B

ping -c2 3fff::1

your first response must have a random delay between 0 and 1 seconds.
repeat this process by removing the ndp cache from host B and you must see a
different response time.

ndp -d 3fff::1
ping -c2 3fff::1

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 71292
Build 68175: arc lint + arc unit

Event Timeline

pouria requested review of this revision.Feb 6 2026, 8:43 AM

Update by rebase to main. follow update by parent revision.

@glebius this revision is an extention of GRAND which only affects anycast and proxy ipv6 addresses.
Could you please review it c-wise?

sys/netinet6/nd6_nbr.c
1836

You got 6 and 9 reversed here I think; you probably meant RFC 4861.

Address @bms comments.
Thank you!

Rebase to main and resolve conflicts

This revision was not accepted when it landed; it landed in state Needs Review.Mar 9 2026, 7:06 PM
This revision was automatically updated to reflect the committed changes.