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