Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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:

      |                                  | 
      | 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?

share|improve this question
up vote 4 down vote accepted

This configuration won't work with radvd, and my attempts came from a misunderstanding of the purpose of router advertisements. This protocol is meant for host autoconfiguration and not for route propagation between routers.

Replacing radvd with Quagga and an IPv6-enabled routing protocol solves the issue.

share|improve this answer

The route stanza isn't needed in this case since by virtue of advertising the prefix, your system should be autoconfiguring the link-local address of server[1,2] as it is the server that tendered the route advertisement. It's possible that adding the route stanza for the same subnet is colliding with the route addition.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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