dhcpcd-discuss

DHCPv6 client broken on second and further instance of dhcpcd

Ondřej Caletka

Fri Jul 29 08:49:04 2016

Hi,

I'm observing strange issue with dhcpcd. I'm running it via Gentoo's
OpenRC in separate instance per network adapter.

Whenever I connect two interfaces to networks offering DHCPv6 (eg. wired
and wireless at the same time), I get the DHCPv6 address only on the
interface, for which the dhcpcd is run first. The second and any further
instance keeps sending SOLICIT6 messages, but never hears the ADV6
message that the server keeps replying.

It looks like all ADV6 messages are eaten by the first running instance
of dhcpcd, which then complains in the log output: "DHCPv6 reply for
unexpected interface from <router LL address>"

If dhcpcd is run in master mode, both interfaces receive their DHCPv6
address normally. However, the issue can be reproduced by running
another instance in testing mode:

# dhcpcd -BdT6 eth0
…
eth0: soliciting a DHCPv6 lease
eth0: delaying SOLICIT6 (xid 0xaf829d), next in 0.1 seconds
eth0: Router Advertisement DAD completed
eth0: executing `/lib/dhcpcd/dhcpcd-run-hooks' ROUTERADVERT
eth0: broadcasting SOLICIT6 (xid 0xaf829d), next in 1.1 seconds
eth0: broadcasting SOLICIT6 (xid 0xaf829d), next in 2.1 seconds
eth0: broadcasting SOLICIT6 (xid 0xaf829d), next in 4.1 seconds

In such case the master process complains:
eth0: DHCPv6 reply received but already bound

The issue seems to be present at least from version 6.9.0 (I could not
compile any older) to 6.11.1.

I hope you will be able to investigate it.

Best regards,
Ondřej Caletka

Attachment: smime.p7s
Description: Elektronicky podpis S/MIME


Follow-Ups:
Re: DHCPv6 client broken on second and further instance of dhcpcdRoy Marples
Archive administrator: postmaster@marples.name