I'm setting up some servers that will run virtual machines using IPv6. The network topology is something like this, where the br0 interfaces are virtual:
2001:db8:fedc:aaaa::/64 ---+----------------------------------+--- | | | eth0: 2001:db8:fedc:aaaa::1 | eth0: 2001:db8:fedc:aaaa::2 +----+----+ +----+----+ | server1 | | server2 | +----+----+ +----+----+ | br0: 2001:db8:fedc:abcd::1 | br0: 2001:db8:fedc:cdef::1 | | | VM network 1: | VM network 2: | 2001:db8:fedc:abcd::/64 | 2001:db8:fedc:cdef::/64 +----+----+ +----+----+ | | | | | | vm1 vm2 vm3 vm4 vm5 vm6 I'm trying to avoid using the network's default gateway to route the packets from a VM in a server to one in another server, because with many hosts it would become a bottleneck.
The idea is then to have each server advertise a route to its own VM network to the other servers. So in the example above, server1 would advertise a route to 2001:db8:fedc:abcd::/64 and server2 to 2001:db8:fedc:cdef::/64.
I have this in server1's radvd.conf:
interface eth0 { AdvSendAdvert on; prefix 2001:db8:fedc:abcd::/64 { }; route 2001:db8:fedc:abcd::/64 { }; }; And this is server2's:
interface eth0 { AdvSendAdvert on; prefix 2001:db8:fedc:cdef::/64 { }; route 2001:db8:fedc:cdef::/64 { }; }; I can see this information being received from one of the servers if I run "rdisc6 eth0" on the other one, but for some reason the route isn't being added to its routing table.
What am I missing here?