Removing an IPv6 address does not remove NDP entries on that subnet

Li, Qing qing.li at bluecoat.com
Fri Mar 30 04:28:47 UTC 2012


> 
> Currently, if you remove an IPv4 address from an interface, all ARP
> cache entries on its subnet are invalidated.  However, the same thing
> is not done for NDP cache entries when an IPv6 address is removed*.
> Is this correct behaviour?  It seems weird to have IPv4 and IPv6
> behave differently.
> 

	Yes, the behavior is different between IPv4 and IPv6 because 
	IPv6 manages prefixes and addresses separately. In IPv4 deleting 
	an address implies the prefix is also being deleted, that's not 
	the case with IPv6.

> 
> * In a way this is a good thing as in6_lltable_prefix_free() is
> guaranteed to crash your kernel in two different ways, and that's not
> counting the race conditions that it's subject to.
>

	Could you please elaborate with some details on the two different
	ways in6_lltable_prefix_free() crashes the kernel definitively ?

	--Qing



More information about the freebsd-net mailing list