Hi,

I have an OpenBSD5.7 router with IPv6 enabled. I have multiple IPv6 addresses :
- em0 : 2a00:6060::1/64
- em1 : 2001:7f8:81::6:983:1/64
- gif0 : 2001:470:11:c8::2/128

IPv6 access is provided by HurricaneElectric tunnel with BGP.

When I try to reach 2001:7a8:b5ad::1, 2001:7f8:81::6:983:1 is selected as the
source address :

PING6(56=40+8+8 bytes) 2001:7f8:81::6:983:1 --> 2001:7a8:b5ad::1
^C
--- 2001:7a8:b5ad::1 ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss

Even though :
# route -n get 2001:7a8:b5ad::1 
   route to: 2001:7a8:b5ad::1
destination: 2001:7a8::
       mask: ffff:ffff::
    gateway: 2001:470:11:c8::2
  interface: gif0
 if address: 2001:470:11:c8::2
   priority: 48 (bgp)
      flags: <UP,GATEWAY,DONE>
     use       mtu    expire
     138         0         0 

Per RFC6724 :
   Rule 5: Prefer outgoing interface.
   If SA is assigned to the interface that will be used to send to D and
   SB is assigned to a different interface, then prefer SA.  Similarly,
   if SB is assigned to the interface that will be used to send to D and
   SA is assigned to a different interface, then prefer SB.

Per se, it is not a big deal but in my case 2001:7f8:81::/48 is an IXP prefix
and it is not announced in the DFZ so packets never make it back to the router.

The issue is reproduced with OpenBSD5.8.

Anything I could try before diving into the source address selection code ?

Denis

Reply via email to