You are not logged in.

#1 2013-09-19 21:58:38

Foucault
Member
From: Athens, Greece
Registered: 2010-04-06
Posts: 214

Duplicate Address Detection fails

Hello, I am trying to deploy IPv6 on my internal network using a router based on archlinux and it's working OK. However I am facing a strange problem that I believe it's on the client side. Sometimes (it is totally random) when I boot my system netctl fails to bring interface up and dies with the error "Duplicate Address Detection (DAD) is taking too long on interface 'eth0'". Googling around I found out that this is a thing with stateless autoconfiguration in IPv6. The problem is that after the DAD failure interface is being brought down again and when I try to restart netctl it fails with the error "RTNETLINK: File exists" which apparently means that eth0 already has an ip address (although it's not up) and I must manually remove it before restarting netctl with "ip addr del 192.168.1.2/24 dev eth0".

My question is: Is there a way to prevent the DAD errors? Is it netctl specific? My laptop uses wicd (with dhcp for IPv4) and interface is brought up correctly every time with both IPv4 and IPv6. Also shouldn't netctl clean up the ip address left at the interface upon failure?

My netctl config

Description='A basic static ethernet connection'
Interface=eth0
Connection=ethernet
IP=static
Address=('192.168.1.2/24')
Gateway='192.168.1.1'
DNS=('192.168.1.1')

## For IPv6 autoconfiguration
IP6=stateless

IPv6 address are handed out via SLAAC using radvd on the router side using the most basic configuration possible

 interface int0 {
   AdvSendAdvert on;
   MinRtrAdvInterval 3;
   MaxRtrAdvInterval 10;
   prefix ::/64 {
     AdvOnLink on;
     AdvAutonomous on;
     AdvRouterAddr on;
     DeprecatePrefix on;
   };
 };

Offline

#2 2013-09-22 16:56:11

Foucault
Member
From: Athens, Greece
Registered: 2010-04-06
Posts: 214

Re: Duplicate Address Detection fails

For what is worth the only workaround I have found so far is to increase the DAD timeout by using TimeoutDAD=20 in the netctl profile. It's not perfect but it seems to do the job for now.

Offline

Board footer

Powered by FluxBB