SO_BINDTODEVICE and ipv6

Jiri Popelka jpopelka at redhat.com
Fri Jun 6 12:04:45 UTC 2014


On 05/29/2014 04:21 PM, John Newlin wrote:
> In socket.c SO_BINDTODEVICE is not used for ipv6.  Is there any reason
> this isn't used for ipv6?
>
> Our system has two interfaces we want to run dhclient on, and this is
> causing issues as the dhcpv6 Reply is going to the wrong instance of
> dhclient.  Before I change it, I'd like to know the rationale for
> disabling it for ipv6.

I was solving the same problem several months ago:
https://bugzilla.redhat.com/show_bug.cgi?id=1005814
(The initial description is private but it describes your problem)

My first finding was that the v6 dhclient isn't correctly bindind to 
link-local address.
Then I took another approach and used SO_BINDTODEVICE also for v6 
dhclient, because that was very simple patch.
I sent it to ISC and they decided to rather fix the bindind to 
link-local address instead of using SO_BINDTODEVICE.
See https://bugzilla.redhat.com/show_bug.cgi?id=1005814#c22

The fix is part of 4.2.6/4.3.0:
- Fix the socket handling for DHCPv6 clients to allow multiple instances
   of a client on a single machine to work properly. Previously only
   one client would receive the packets.

Jiri


More information about the dhcp-users mailing list