Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: dhcpcd, IPv6 & DAD



On 07/29/14 22:39, Roy Marples wrote:
Hi

On 2014-07-29 20:16, Dave Tyson wrote:
I seem to be having a bit of bother getting a T60 laptop to get an
IPv6 address correctly using dhcpcd.

The basic setup I have is an ADSL router hardwired to a server
(current-ish NetBSD amd64) which gets an ipv6 feed via a HE tunnel.
The router hands out IPv4 addresses and the server uses rtadvd to hand
out IPv6 prefixes etc.

The laptop is running a recent version of current:

NetBSD t60.anduin.org.uk 6.99.47 NetBSD 6.99.47
(GENERIC.201407190440Z) #0: Sat Jul 19 06:45:26 UTC 2014
builds%b48.netbsd.org@localhost:/home/builds/ab/HEAD/i386/201407190440Z-obj/home/source/ab/HEAD/src/sys/arch/i386/compile/GENERIC
i386

The networking parts of rc.conf:

wpa_supplicant=YES      wpa_supplicant_flags="-B -i wpi0 -c
/etc/wpa_supplicant.conf"
dhcpcd=YES              dhcpcd_flags="-w"
ip6mode=host

and dhcpcd.conf is as supplied.

On startup dhcpcd seems to get both IPV4 and IPV6 addresses, but DAD
fires off twice and the resulting
IPv6 address is marked as a duplicate. What I cannot understand is why
this occurs and what I need to do to fix it...

rc.log:

Starting dhcpcd.
dhcpcd[151]: version 6.4.2 starting
dhcpcd[151]: wm0: adding address fe80::e26c:74d7:db55:bee7
dhcpcd[151]: wm0: waiting for carrier
dhcpcd[151]: wpi0: waiting for carrier
dhcpcd[151]: wpi0: carrier acquired
dhcpcd[151]: DUID 00:01:00:01:1b:6a:a0:37:00:13:02:7b:ca:44
dhcpcd[151]: wpi0: IAID 02:7b:ca:44
dhcpcd[151]: wpi0: soliciting a DHCP lease
dhcpcd[151]: wpi0: soliciting an IPv6 router
dhcpcd[151]: wpi0: Router Advertisement from fe80::1
dhcpcd[151]: wpi0: adding default route via fe80::1
dhcpcd[151]: wpi0: soliciting a DHCPv6 lease
dhcpcd[151]: wpi0: fe80::1 is unreachable, expiring it
dhcpcd[151]: wpi0: Router Advertisement from fe80::3e4a:92ff:fe77:bc6a
dhcpcd[151]: wpi0: adding address
2001:470:1f08:a8e:455e:1100:e823:ac03/64
dhcpcd[151]: wpi0: adding route to 2001:470:1f08:a8e::/64
dhcpcd[151]: wpi0: changing default route via fe80::3e4a:92ff:fe77:bc6a
dhcpcd[151]: wpi0: fe80::3e4a:92ff:fe77:bc6a is unreachable, expiring
it
dhcpcd[151]: wpi0: DAD detected
2001:470:1f08:a8e:455e:1100:e823:ac03/64
dhcpcd[151]: wpi0: deleting address
2001:470:1f08:a8e:455e:1100:e823:ac03/64
dhcpcd[151]: wpi0: adding address
2001:470:1f08:a8e:da29:27e0:601b:993/64
dhcpcd[151]: wpi0: offered 192.168.0.10 from 192.168.0.1
dhcpcd[151]: wpi0: changing default route via fe80::1
dhcpcd[151]: wpi0: fe80::1 is unreachable, expiring it
dhcpcd[151]: wpi0: changing default route via fe80::3e4a:92ff:fe77:bc6a
dhcpcd[151]: wpi0: leased 192.168.0.10 for 86400 seconds
dhcpcd[151]: wpi0: adding host route to 192.168.0.10 via 127.0.0.1
dhcpcd[151]: wpi0: adding route to 192.168.0.0/24
dhcpcd[151]: wpi0: adding default route via 192.168.0.1
dhcpcd[151]: forked to background, child pid 788

and in the message log:

Jul 29 19:11:13 t60 /netbsd: wpi0: DAD detected duplicate IPv6 address
2001:470:1f08:a8e:455e:1100:e823:ac03: NS in/out=1/1, NA in=0
Jul 29 19:11:13 t60 /netbsd: wpi0: DAD complete for
2001:470:1f08:a8e:455e:1100:e823:ac03 - duplicate found
Jul 29 19:11:13 t60 /netbsd: wpi0: manual intervention required
Jul 29 19:11:13 t60 /netbsd: wpi0: DAD detected duplicate IPv6 address
2001:470:1f08:a8e:da29:27e0:601b:993: NS in/out=1/1, NA in=0
Jul 29 19:11:13 t60 /netbsd: wpi0: DAD complete for
2001:470:1f08:a8e:da29:27e0:601b:993 - duplicate found
Jul 29 19:11:13 t60 /netbsd: wpi0: manual intervention required

Anyone got an idea of what to do?
dhcpcd is trying to configure an IPv6 AutoConf address from the given
prefix.
dhcpcd-6.4.2 defaults to using a more private stable address. It has 3
attempts to find one before bailing.
This is what you are seeing. However, it's the kernel that reports the
DAD, dhcpcd just listens to it.
You could try changing the default to a hardware based address, like the
kernel by changing "slaac private" to "slaac hwaddr" as described in
dhcpcd.conf(5)
I'll be surprised if that fixes your issue though.

I would say something more sinister is afoot though because the kernel
is also reporting that the routers assigning you the address are
unreachable before DAD completes.
This could be related and suggests a problem with your network card
driver.

Sorry I can't help more.

Roy

I think you are right that this is a driver issue with the wireless card. If I plug in a network cable then wm0 gets an ipv6 address OK with no DAD issues. I naively thought that setting wpa_supplicant=NO in rc.conf would have been sufficient to knobble the wireless side, but dhcpcd brought the supplicant up automagically and so I had to use the hardware switch to disable it. Even wm0 seems to get an initial reachability glitches, but it settles down and just works.

[running /etc/rc.d/dhcpcd]
Starting dhcpcd.
dhcpcd[148]: version 6.4.2 starting
dhcpcd[148]: wm0: adding address fe80::e26c:74d7:db55:bee7
dhcpcd[148]: wpi0: adding address fe80::a6e7:e7d8:9a35:9d09
dhcpcd[148]: if_addaddress6: Device busy
dhcpcd[216]: wpi0: starting wpa_supplicant
dhcpcd[148]: DUID 00:01:00:01:1b:6a:a0:37:00:13:02:7b:ca:44
dhcpcd[148]: wm0: IAID 58:2c:78:d9
dhcpcd[148]: wpi0: waiting for carrier
dhcpcd[148]: wm0: carrier lost
dhcpcd[148]: wm0: waiting for carrier
dhcpcd[148]: wm0: carrier acquired
dhcpcd[148]: wm0: IAID 58:2c:78:d9
dhcpcd[148]: wm0: soliciting an IPv6 router
dhcpcd[148]: wm0: rebinding lease of 192.168.0.4
dhcpcd[148]: wm0: Router Advertisement from fe80::3e4a:92ff:fe77:bc6a
dhcpcd[148]: wm0: adding address 2001:470:1f08:a8e:73bf:3ff3:271f:8d1f/64
dhcpcd[148]: wm0: adding route to 2001:470:1f08:a8e::/64
dhcpcd[148]: wm0: adding default route via fe80::3e4a:92ff:fe77:bc6a
dhcpcd[148]: wm0: soliciting a DHCPv6 lease
dhcpcd[148]: wm0: fe80::3e4a:92ff:fe77:bc6a is unreachable, expiring it
dhcpcd[148]: wm0: Router Advertisement from fe80::1
dhcpcd[148]: wm0: changing default route via fe80::1
dhcpcd[148]: wm0: fe80::1 is unreachable, expiring it
dhcpcd[148]: wm0: changing default route via fe80::3e4a:92ff:fe77:bc6a
dhcpcd[148]: wm0: leased 192.168.0.4 for 86400 seconds
dhcpcd[148]: wm0: adding host route to 192.168.0.4 via 127.0.0.1
dhcpcd[148]: wm0: adding route to 192.168.0.0/24
dhcpcd[148]: wm0: adding default route via 192.168.0.1
dhcpcd[148]: forked to background, child pid 686

Thanks for your quick response.

Cheers,
Dave

--
============================================
Phone: 07805784357
Open Source O/S: www.netbsd.org
Caving: http://www.wirralcavinggroup.org.uk
============================================



Home | Main Index | Thread Index | Old Index