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?