Re: ipv6 source address selection
On Sun, 20 Oct 2013, Ole Troan wrote: wouldn't this be RFC6724: Rule 8: Use longest matching prefix. If CommonPrefixLen(SA, D) CommonPrefixLen(SB, D), then prefer SA. Similarly, if CommonPrefixLen(SB, D) CommonPrefixLen(SA, D), then prefer SB. The host has a bunch of /64s. I am pinging stuff outside of these /64:s. I am however pinging stuff in adjacent /64:s within the same /56 (or /48), but the host tables I can find has no information about /56 or /48s. $ ip addrlabel list prefix ::1/128 label 0 prefix ::/96 label 3 prefix :::0.0.0.0/96 label 4 prefix 2001::/32 label 6 prefix 2001:10::/28 label 7 prefix 2002::/16 label 2 prefix fc00::/7 label 5 prefix ::/0 label 1 I don't understand why the host would choose source address in 2001:db8:1:1000:/64 when pinging 2001:db8:1:1001:1/128 because of this, but use 2001:db8:1:8000::/64 when pinging the rest of the Internet (well, actually my hosts are in 2a00::/16 really, but never mind, should be the same). What am I missing? -- Mikael Abrahamssonemail: swm...@swm.pp.se
Re: ipv6 source address selection
Hi Mikael, I don't understand why the host would choose source address in 2001:db8:1:1000:/64 when pinging 2001:db8:1:1001:1/128 because of this, but use 2001:db8:1:8000::/64 when pinging the rest of the Internet Still Longest prefix matching :-) Don't think of prefixes as prefixes-in-your-routing-table but longest-matching-string-of-bits-from-the-beginning-the-addresses. When pinging 2001:db8:1:1001::1/128 then: - A source in 2001:db8:1:1000::/64 will have 63 bits the same as the destination - A source in 2001:db8:1:8000::/64 will have 48 bits the same as the destination So the address in 2001:db8:1:1000::/64 will have the longest matching prefix and will be used. When pinging 2001:4860:4860::/128 then: - A source in 2001:db8:1:1000::/64 will have 17 bits the same as the destination - A source in 2001:db8:1:8000::/64 will have 17 bits the same as the destination So for longest prefix matching they are equal. As this is the last source address selection rule in the RFC the OS will just decide which address to use, which commonly is the most recently configured address. Cheers, Sander