Multiple DHCPv6 client interfaces fail to receive some server responses

Bug #1689854 reported by Dan Streetman
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
isc-dhcp (Ubuntu)
Fix Released
Medium
Unassigned
Trusty
Fix Released
Medium
Dan Streetman

Bug Description

[Impact]

When using isc-dhcp-client on a Trusty system, with multiple interfaces configured to use DHCPv6, not all the DHCPv6 clients will receive the server responses on some of the interfaces. This results in not all DHCPv6 interfaces being configured.

[Test Case]

Set up a DHCPv6 server with multiple interfaces (3-4 is enough) and configure it to serve DHCPv6 on all the interfaces (as separate subnets). The server release does not matter. Set up a client system with the same number of interfaces, connected/bridged to the server interfaces. The client must be a Trusty system. Configure (with ifupdown via /etc/network/interfaces) all the interfaces to use DHCPv6, and reboot. Keep rebooting until one or more of the DHCPv6 interfaces fails to get an address; it should not take more than a few reboots. After a failure, even manual ifdown/ifup on the failed interface will not get a DHCPv6 address.

[Regression Potential]

* As this changes how the isc-dhcp-client binds to IPv6 sockets, this could cause problems when the client tries to bind, send, or receive, with this or other operations.

* This is fixed upstream already, and the patch is included in Xenial and later releases. This patch is needed only in the Trusty release.

* Upstream patch :
https://source.isc.org/cgi-bin/gitweb.cgi?p=dhcp.git;a=commit;h=4b8251a0c06b7d8706a28904fdef2414f045cc2c

[Other Info]

* [ISC-Bugs #34784]
Please note that no ISC bug URL can be provided since the ISC bug database is closed :

Reference: https://www.isc.org/community/report-bug/
...
Confidentiality

It is typical for open-source projects to have an open bug database. At the moment, the ISC bug database is closed. However, we reserve the right to publish your bug report at some point in the future. Please do not include information you consider to be confidential.
...

Dan Streetman (ddstreet)
Changed in isc-dhcp (Ubuntu):
importance: Undecided → Medium
status: New → In Progress
assignee: nobody → Dan Streetman (ddstreet)
Revision history for this message
Dan Streetman (ddstreet) wrote :

Fixed by upstream isc-dhcp commit 4b8251a0c06b7d8706a28904fdef2414f045cc2c ('Fix the socket handling for DHCPv6 clients to allow multiple instances of a clinet on a single machine to work properly.')

Dan Streetman (ddstreet)
tags: added: sts-sru-needed
Eric Desrochers (slashd)
Changed in isc-dhcp (Ubuntu Trusty):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Dan Streetman (ddstreet)
Eric Desrochers (slashd)
description: updated
Changed in isc-dhcp (Ubuntu):
assignee: Dan Streetman (ddstreet) → nobody
status: In Progress → Fix Released
description: updated
Eric Desrochers (slashd)
description: updated
Revision history for this message
Dan Streetman (ddstreet) wrote :

updated debdiff, to correct patch file line offsets to match trusty codebase

Eric Desrochers (slashd)
description: updated
description: updated
Revision history for this message
Dan Streetman (ddstreet) wrote :

updated debdiff to remove trailing whitespace which 'quilt refresh' complained about, and convert the patch header to DEP-3 format.

Eric Desrochers (slashd)
description: updated
tags: added: sts-sru-done
removed: sts-sru-needed
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Dan, or anyone else affected,

Accepted isc-dhcp into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/isc-dhcp/4.2.4-7ubuntu12.9 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in isc-dhcp (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Dan Streetman (ddstreet) wrote :

I reproduced the problem with:

ii isc-dhcp-client 4.2.4-7ubuntu12.8 amd64 ISC DHCP client
ii isc-dhcp-common 4.2.4-7ubuntu12.8 amd64 common files used by all the isc-dhcp* packages

After adding the proposed repo and updating isc-dhcp-client and isc-dhcp-common to:

ii isc-dhcp-client 4.2.4-7ubuntu12.9 amd64 ISC DHCP client
ii isc-dhcp-common 4.2.4-7ubuntu12.9 amd64 common files used by all the isc-dhcp* packages

the problem was fixed and all IPv6 DHCPv6 interfaces successfully were configured with their IPv6 addresses.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package isc-dhcp - 4.2.4-7ubuntu12.9

---------------
isc-dhcp (4.2.4-7ubuntu12.9) trusty; urgency=medium

  * [4b8251a] DHCPv6: fix socket handling so multiple DHCPv6 local clients will
    successfully get addresses (LP: #1689854)

 -- Dan Streetman <email address hidden> Wed, 10 May 2017 12:19:35 -0300

Changed in isc-dhcp (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for isc-dhcp has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.