Friday, 13 November 2009

Karmic IPv6 Global address problems

If you're running IPv6 on Ubuntu 9.10 with multiple interfaces and you're not seeing any global IPv6 addresses assigned to your interfaces, and you're seeing this kind message in /var/log/messages:
Nov 13 10:10:10 my_machine kernel: [ 1000.101010] eth0: IPv6 duplicate address detected!
Then it's obviously Friday 13th and you should put it down to ....Yeah maybe but yesterday it was the same last week....

It seems there's a kernel (2.6.31-15) bug which means IPv6 Duplicate Address Detection (DAD - see RFC4862) is generating false-positives and subsequently not permitting your global address to be assigned to an interface.

To work around this bug do (change eth0 to your iface name):
sudo sysctl net.ipv6.conf.eth0.accept_dad=0


  1. Good grief! This took me hours! Thanks for the post.

  2. It seems to be back: on my ubuntu 12.10 with kernel 3.5.0, dmesg says

    IPv6: wlan0: IPv6 duplicate address fe80::... detected!
    IPv6: wlan0: IPv6 duplicate address 2a00:cd8:... detected!

    So I've applied your workaround, and got my IPv6 on my wlan0. Hopefully that solves it.