Page MenuHomeFreeBSD

ndp: implement delayed anycast and proxy NA
ClosedPublic

Authored by pouria on Feb 6 2026, 8:43 AM.
Tags
None
Referenced Files
F147491147: D55141.diff
Wed, Mar 11, 9:56 AM
Unknown Object (File)
Tue, Mar 10, 9:29 PM
Unknown Object (File)
Sat, Mar 7, 6:20 AM
Unknown Object (File)
Fri, Mar 6, 11:27 PM
Unknown Object (File)
Sun, Mar 1, 8:57 AM
Unknown Object (File)
Tue, Feb 24, 4:42 PM
Unknown Object (File)
Thu, Feb 19, 12:32 AM
Unknown Object (File)
Thu, Feb 19, 12:32 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 70465
Build 67348: 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.Mon, Mar 9, 7:06 PM
This revision was automatically updated to reflect the committed changes.