Hi,

I've just hit a problem and I want to know if I'm missing something.

Consider a Linux host that *only* has a ULA address. I find that it
cannot send packets to any global unicast address that not in the same
/4 prefix as the ULA. But in fact it should be able to send to *any*
unicast address; ULAs are routeable, they're just not globally routeable.
This is a clear bug. It's not a problem in Windows, connected to the same
interface of the same router.

So, here's the outupt from route -A inet6. (Please ignore the fact
that the ULA prefix is lame; that's the fault of my FritzBox):

Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fd00::/64                      fe80::be05:43ff:fe8e:ce39  UG   600 1    12 
wlp2s0
fe80::/64                      ::                         U    256 0     0 
wlp2s0
::/0                           ::                         !n   -1  1   137 lo
::1/128                        ::                         Un   0   3     7 lo
fd00::c5bb:40f2:f3d5:94e4/128  ::                         Un   0   3    19 lo
fe80::9051:543a:4c9e:e93e/128  ::                         Un   0   2    11 lo
ff00::/8                       ::                         U    256 2  1763 
wlp2s0
::/0                           ::                         !n   -1  1   137 lo

The ULA prefix route is correctly marked as Global and points to the router.
But there is no default route to the router.

(There are two default routes marked as 'reject' on the lo (Ethernet) interface,
which is correct since it's not connected. The problem only concerns the wlp2s0
(Wi-Fi) interface.)

I can manually add the necessary default route:
ip -6 route add ::/0 via fe80::be05:43ff:fe8e:ce39 dev wlp2s0
but I shouldn't have to! Linux should have created it.

(Linux version: 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 
x86_64 x86_64 x86_64 GNU/Linux)

Any insights welcome!

Rgds
  Brian Carpenter

Reply via email to