Page MenuHomeFreeBSD

ndp: implement delayed anycast and proxy NA
ClosedPublic

Authored by pouria on Feb 6 2026, 8:43 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 29, 2:10 AM
Unknown Object (File)
Fri, Mar 27, 6:11 AM
Unknown Object (File)
Fri, Mar 27, 6:04 AM
Unknown Object (File)
Fri, Mar 27, 1:15 AM
Unknown Object (File)
Tue, Mar 24, 5:35 PM
Unknown Object (File)
Sat, Mar 21, 2:56 PM
Unknown Object (File)
Tue, Mar 17, 9:58 PM
Unknown Object (File)
Sun, Mar 15, 2:18 PM
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 Not Applicable
Unit
Tests Not Applicable

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
1808

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.Mon, Mar 9, 7:06 PM
This revision was automatically updated to reflect the committed changes.