CVSROOT:        /cvs
Module name:    src
Changes by:     s...@cvs.openbsd.org    2014/10/22 03:48:19

Modified files:
        sys/netinet6   : in6.c 

Log message:
Introduce a special hack for carp during IPv6 source address selection:

If there is a tie then a carp interface is not allowed to win even if
it has an address with a longer bitwise match. This allows reliable IPv6
communication between carp master and backup across a shared IPv6 subnet.

Consider the carp address 2001:DB8:10::14, which is configured on firewall A
(in carp master state) and firewall B (in carp backup state), each of which
has another address in the same prefix on a non-carp interface (A has
2001:DB8:10::1 and B has 2001:DB8:10::11). In this setup, A would use
2001:DB8:10::14 as source address when sending neighbour solicitations to B.
Since 2001:DB8:10::14 is a local address from B's point of view, B never
replied to the neighbour solicitations sent by A.
With this change A uses 2001:DB8:10::1 as source address instead.

ok mpi@

Reply via email to