Solved: Problems with IPv6 and Bridging/Xen

Since I ordered a new dedicated rootserver, I had problems with my IPv6 setup. Thanks to and his tips, I finally found the reason for all the mess when I migrated from my old rootserver with Lenny to the new one running Squeeze.

The problem was that in /etc/sysctl.conf there was the following setting on the old server: 


Due to a issue in Lenny, this setting had basically no effect on the old server. Sysctl.conf was called before the IPv6 interface went up, so this setting failed or never got active. Meanwhile in Squeeze IPv6 seems to be enabled at an earlier point in the boot process and the forwarding setting will succeed. This in return resulted in my not working IPv6 setup.

When I disable the line in sysctl.conf everything works just fine: the domU honors the Router Advertisments of radvd again and everything is fine again. Sometimes the solution is so simple, you can’t find it yourself. 🙂 



3 thoughts on “Solved: Problems with IPv6 and Bridging/Xen

  1. Do I understand correctly
    Do I understand correctly that IPv6 forwarding started to work once you did _not_ set net.ipv6.conf.all.forwarding to 1? If so, I would call that a bug.

    1. Sort of… I’m running radvd
      Sort of… I’m running radvd on the dom0. When net.ipv6.conf.all.forwarding is set in the domU, the domU doesn’t listen to Router Advertisements of the radvd anymore.
      On the old server the IPv6 configuration was too late for sysctl to set the forwarding bit. But: when I used the tarball from the old domUs to create the new domUs on the new servers with xen-create-image and upgrading those to Squeeze, it became a problem because now the order of configuring IPv6 and sysctl is correct. Which in return made the RAs from radvd being ignored – and IPv6 not working anymore.

      Confusing? Maybe. And I guess not only for me.

  2. As designed 🙂
    This is not a bug, it is a feature.

    The kernel has two default modes: act as router (with forward=1), or act as a host (leaf), with forward=0.

    This modes mostly select the defaults for the net sysctls. If its a host, listen to router advertisements and autoconfigure. If its a router, not. A router is not supposed to be configured by “dhcp” (radvd) itself.

    And as the DomU, the guest, is a leaf, it should not try to act as a router. So, forward=0 is perfect.

Comments are closed.