dhclient-script doesn't use configured metric for rfc3442 classless routes

Bug #1664352 reported by Tom Carroll
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
isc-dhcp (Debian)
New
Unknown
isc-dhcp (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

lsb_release -rd
Description: Ubuntu 16.04.2 LTS
Release: 16.04
apt-cache policy isc-dhcp-client
isc-dhcp-client:
  Installed: 4.3.3-5ubuntu12.6
  Candidate: 4.3.3-5ubuntu12.6
  Version table:
 *** 4.3.3-5ubuntu12.6 500
        500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     4.3.3-5ubuntu12 500
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages

If the metric option is set in interfaces(5), dhclient is executed with the variable IF_METRIC set to the configured administrative metric. The exit-hook rfc3442-classless-routes doesn't use the variable; thus, a multi-interface box will experience a race condition if multiple interfaces are supplied with one or more duplicate rfc3442 routes. The attached patch adds support for IF_METRIC handling.

Tags: patch
Revision history for this message
Tom Carroll (h-thomas-carroll) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Support IF_METRIC for rfc 3442 routes" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in isc-dhcp (Ubuntu):
status: New → Confirmed
Revision history for this message
Matt Heller (matthew-f-heller) wrote :

In my environment we have some dual-homed Ubuntu hosts that have one network interface with a WAN IP and one on a private network. For proper network connectivity we need to use the configurable metric value to prioritize the default route provided by the WAN connected interface over the default route (a NAT gateway) provided by the private network DHCP server. Unfortunately the current dhclient script ignores the configured metric when adding DHCP provided rfc3442 classless routes to the routing table. This patch from Tom fixes dhclient behavior for my use case.

--Matt

Revision history for this message
Matt Heller (matthew-f-heller) wrote :

Is there something I can do to help make some progress fixing this bug? This issue is not applicable to the upstream software source however I did notice that it is relevant to Debian's isc-dhcp-client package which I believe is in a sense "upstream" for the Ubuntu package. In light of that should I pursue fixing the Debian package first? (https://wiki.ubuntu.com/Debian/Bugs)

--Matt

Changed in isc-dhcp (Debian):
status: Unknown → New
Benjamin Drung (bdrung)
Changed in isc-dhcp (Ubuntu):
status: Confirmed → Fix Committed
Benjamin Drung (bdrung)
Changed in isc-dhcp (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.7 KiB)

This bug was fixed in the package isc-dhcp - 4.4.3-P1-4ubuntu1

---------------
isc-dhcp (4.4.3-P1-4ubuntu1) noble; urgency=medium

  * Merge from Debian unstable, remaining changes:
    - Ubuntu patches:
      + Give-an-example-for-subnet-mask-in-dhcpd.conf.patch
      + dhclient-fix-backoff
      + revert-next-server
      + multi-ip-addr-per-if
      + dhclient-safer-timeout
      + onetry_retry_after_initial_success
      + Add InfiniBand support:
        - dhcp-lpf-ib.patch
        - dhcp-improved-xid.patch
        - dhcp-gpxe-cid.patch
        - dhcp-improved-xid-correct-byte-order.patch
      + dhcp-4.2.4-dhclient-options-changed.patch
      + ubuntu-dhcpd-conf.patch
      + dhclient-write-pidfile-earlier.patch: Write pidfile before informing
        parent of success.
      + bind-outdated-config.guess.patch: run autoreconf in the bind directory.
    - Drop isc-dhcp-server/new_auth_behavior question from high to medium
    - Apport hook for isc-dhcp-client and isc-dhcp-server.
    - Add enforcing AppArmor profile for DHCP client and server
    - Increase the timeout to 300 seconds for dhclient.conf (following the
      default added by dhclient-safer-timeout).
    - Separate default file for isc-dhcp-relay6.
    - Create user/group dhcpd and make isc-dhcp-server depend on adduser.
    - Create /etc/dhcp/ddns-keys/ for DDNS updates.
    - Sanitize environment in dhclient-script.linux.
    - Add systemd units for -server and -relay.
      + If /etc/ltsp/dhcpd.conf exists, use that instead of
        /etc/dhcp/dhcpd.conf.
    - isc-dhcp-server: Suggest policycoreutils instead of recommending it.
    - ipv6: wait for duplicate address detection to finish. LP #1633479
    - Ship dhcp exit hook to push DNS information to resolved. LP #1889068
    - Stop building the udeb on request.
    - debian/rules: Build with -O2 instead on -O3 on ppc64el
    - debian/rules: build with -fno-strict-aliasing.
    - Disable make_resolv_conf() if systemd-resolved is in use.
    - debian/control: add Pre-Depends: ${misc:Pre-Depends} for
      init-system-helpers.
    - debian/apparmor/sbin.dhclient: Allow disabling dhclient hooks.
    - Do not build with DH_VERBOSE=1
  * Dropped changes, included in Debian:
    - Ship keama, the KEA Migration Assistant in a new isc-dhcp-keama binary
      package. (LP: #2020086)
  * Refresh patches (using gbp pq)
  * debian/control: Drop libcap-dev build dependency (no change in diffoscope).
  * Use /run/dhcp-server6 for isc-dhcp-server6 service.
    Thanks to Jason Penney (LP: #1543799)
  * debian/rfc3442-classless-routes.linux: Use configured metric.
    Thanks to Tom Carroll (LP: #1664352)
  * autopkgtest: Use setup logic from isc-dhcp-server.service

isc-dhcp (4.4.3-P1-4) unstable; urgency=low

  [ Athos Ribeiro ]
  * d/p/adjust-keama-tests.patch: do not rely on endianess (Closes: #1054077)

isc-dhcp (4.4.3-P1-3) unstable; urgency=low

  [ Athos Ribeiro ]
  * Ship keama in a new isc-dhcp-keama binary package (Closes: #1036277)
  * Add DEP8 tests for keama
  * d/p/adjust-keama-tests.patch: adjust keama tests
  * d/rules: make keama tests fail on error messages

  [ Santiago Ruano Rincón ]
  * Make dhclient-script exits wi...

Read more...

Changed in isc-dhcp (Ubuntu):
status: Fix Committed → Fix Released
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.