Subject: | more 'dhclient -6' instances steal each other packets |
Date: | Thu, 12 Sep 2013 17:56:06 +0200 |
To: | dhcp-bugs@isc.org |
From: | Jiri Popelka <jpopelka@redhat.com> |
Hi all,
When there are more 'dhclient -6' instances running
(one instance per network interface),
always only one of them gets all the packets
(even those destined for the other instances).
The exact behavior depends on linux kernel version, either only the
first or only the last started instance gets all the packets,
but the problem remains.
I think the problem is that DHCPv6 part of if_register_socket() binds to
address from local_address6 variable but this variable has never been
initialized so it's always 0.
The solution could be to bind to link local address of interface.
We also need to have separate socket for each interface, not one
single for all - this was changed in 4.1.0a2.
I don't know the internals, so the patch can be completely wrong
but up to now it's seemed to fix the problem and not cause any others.
I'll update it if I find something better.
See also
http://serverfault.com/questions/471076/ipv6-two-interfaces-with-dhclient
I'm looking forward to hear from you soon.
--
Jiri Popelka
Red Hat, inc.
Message body is not shown because sender requested not to inline it.