2

End goal is to get per-packet ipv6 udp load balancing by having multiple servers with the same /128 set on the lo interface. To start, just trying to get it to work with static routes, then will start to explore BGP with Quagga or some similar package. This has to be done in a 100% virtual environment.

From my searching, it looks like the release notes say it was added around Linux Kernel 3.6. But I have not been able to setup a successful demo of this functionality.

Using the ip command, I should be able to add multiple routes to the same IPv6 subnet with equal weights. For example: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 nexthop via badd:badd:badd:2::2

My server is connected to badd:badd:badd:2::/64 and can reach both badd:badd:badd:2::1 and badd:badd:badd:2::2. The other two severs both have badd:badd:badd:1::1/128 on the lo interface. What I see happen every time is packets are only routed via the last entry in the route table. If I duplicate this setup with IPv4, I see packets route via both entries in the table switching every other packet.

I have tried with multiple kernels 3.10, 4.4, 4.6, but have received the same outcome on each. Am I doing something wrong, or is it not supported yet? Thanks!

1 Answer 1

0

You could try 2 things:

  1. Setup a diffrent interface for each of the nexthops, so your ip command would change to: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 dev eth0 ... dev eth1
  2. Try the Subnet Router Anycast Addresses: Link, which you can disable on the router with ip -6 route del badd:badd:badd:2:: table local

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .