I should note: 1. The isc-dhcp code is common between dhcpd and dhclient 2. The current system interfaces are enumerated in common/discover.c, and that code - in next_iface() - strips the interface alias from all enumerated interfaces, so when dhcpd or dhclient is comparing a parameter against an existing interface, none of the existing enumerated interface names will have aliases 3. The interface parameters are parsed separately for dhcpd and dhclient; my patch changes *only* the parsing for dhclient, in client/dhclient.c, so that any command line interface names have their alias stripped 4. Other places that parse interface name parameters are dhcpd (in server/dhcpd.c), interface hotplug (maybe? in server/mdb.c, not sure about this file), and the dhcp relay (in relay/dhcrelay.c); my patch does *not* change any of these places, so interface name parameters to dhcpd, the dhcp relay, or in mdb.c, will still have interface aliases, and will not match any of the internally-enumerated (in common/discover.c) interface names. However, my patch narrowly fixes this specific bug, of 'dhclient -6 eth0:1' not working.
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to isc-dhcp in Ubuntu. https://bugs.launchpad.net/bugs/1693819 Title: dhclient DHCPv6 does not work with interface alias Status in isc-dhcp package in Ubuntu: In Progress Status in isc-dhcp source package in Trusty: Confirmed Status in isc-dhcp source package in Xenial: Confirmed Status in isc-dhcp source package in Yakkety: Confirmed Status in isc-dhcp source package in Zesty: Confirmed Status in isc-dhcp source package in Artful: In Progress Status in isc-dhcp package in Debian: New Bug description: [Impact] The isc-dhcp-client dhclient program does not work with interface alias names, e.g. eth0:1. It fails immediately. [Test Case] On trusty through artful, find an interface that is connected to a network that has a DHCPv6 server on it. First verify it can get a DHCPv6 address, e.g.: $ sudo dhclient -6 -v ens7 that should successfully set up a DHCPv6 address on the interface. Then release the interface: $ sudo dhclient -6 -v -r ens7 Now, try again but use the interface alias, e.g.: $ sudo dhclient -6 -v ens7:1 It should succeed, but it will fail with: no link-local IPv6 address for ens7:1 [Regression Potential] Changing how isc-dhcp handles (enumerates/lists/compares) interface names may lead to isc-dhcp using the wrong interface or failing to find the correct interface to use. However, if the only change is to strip the alias part from the interface during comparison, the possibility of error should be small, since all interface aliases point back to the same physical interface. [Other Info] This bug exists in the upstream isc-dhcp; the ISC has no public bug tracker, and only accepts bug reports via private email, which has been sent. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1693819/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp