I would like to subnet the default IPv6 route into 2 network routes. The original default route was:

default via fe80::218:74ff:fe27:9640 dev eth0  proto kernel  metric 1024

I tried adding the following 2 routes, which together should be equivalent to the default route:

ip -6 route add ::/1 dev eth0 via fe80::218:74ff:fe27:9640  
ip -6 route add 80::/1 dev eth0 via fe80::218:74ff:fe27:9640

The first command went through, but the second one generated an error:

RTNETLINK answers: File exists

Why is this happening? What's the correct way to specify 2 network routes covering everything?

  • Isn't ::/1 shorthand for 'everything'? Why do you think the 80::/1 is necessary? – growse Dec 1 '11 at 15:41
  • @growse ::/0 would be everything, ::/1 is :: through 7fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff - every address where the first bit (the /1 mask) is a 0. – Shane Madden Dec 1 '11 at 19:17

80:: is 0080::/1, which isn't a valid route - try 8000::/1 instead.

|improve this answer|||||

The route should be 8000::/1. It's not a good idea though... All public IPv6 traffic uses 2000::/3, which will use ::/1. All ULA traffic (for example) will use the other route, but if you want that then you should create a default route (::/0) and a route for the ULA addresses (fc00::/7). Splitting on 8000::/1 does not make a lot of sense...

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.