Page MenuHomeFreeBSD

tests: Add SLAAC interface identifier cases to ndp.sh
Needs ReviewPublic

Authored by rcm on Fri, Oct 9, 12:49 PM.

Details

Summary

Cover the interface identifier selection in in6_ifadd(): a /64
link-local address provides the identifier, while a /128 link-local
address or no link-local address at all yields the EUI-64 identifier
derived from the MAC address. Each case asserts the exact
autoconfigured address, using rtadvd and rtsol from base rather than
scapy.

Stable addresses (RFC 7217) are the default and bypass both paths, so
the host disables them. An interface only joins the all-nodes group
with its first address, so the case without a link-local address
gives the host a static address from another prefix to receive
advertisements.

So that the first solicitation is answered, DAD is disabled on both
ends and the router waits until rtadvd has joined the all-routers
group. Otherwise a tentative router link-local address makes the
router source its answer from its global address, which the host
drops, a tentative host address keeps rtsol from sending at all, and
the cases depend on rtsol's retries.

MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped