Bug 1595412 - dhcp: router outside client subnet mask no longer works
Summary: dhcp: router outside client subnet mask no longer works
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: dhcp
Version: 6.10
Hardware: All
OS: All
Target Milestone: rc
: ---
Assignee: Pavel Zhukov
QA Contact: Ondrej Mejzlik
Depends On:
TreeView+ depends on / blocked
Reported: 2018-06-26 21:36 UTC by Chris Cheney
Modified: 2018-07-10 17:54 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, due to incorrect handling of classless static routes in the dhclient script, routing was not set properly. As a consequence, network connections on Google Compute Engine machines did not work. This update fixes handling of classless static routes and network connection works as expected.
Clone Of:
Last Closed: 2018-07-10 17:54:30 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Bugzilla 524298 None CLOSED dhcp client fails to setup route to not-on-local-net gateway in ARP-less device 2019-06-17 07:56:09 UTC
Red Hat Product Errata RHBA-2018:2163 None None None 2018-07-10 17:54:34 UTC

Internal Links: 524298

Description Chris Cheney 2018-06-26 21:36:55 UTC
Description of problem:

If a client is given a subnet mask where the router is outside of it as of dhclient 4.1.1-60 it no longer works due to the change to fix BZ#1527995.

This appears to be due to the fact it won't run the code unless is_router_reachable is true, which was not the case previously.

diff -Nruab 4.1.1-53/dhclient-script 4.1.1-60/dhclient-script
--- 4.1.1-53/dhclient-script    2018-06-26 14:10:21.882181860 -0500
+++ 4.1.1-60/dhclient-script    2018-06-26 14:10:30.438209325 -0500
@@ -451,6 +451,17 @@

+                # special case to allow static routing for link-local addresses
+                # (including IPv4 multicast) which will not have a next-hop (#769463, #787318)
+                if [ "${gateway}" = "" ]; then
+                    valid_gateway=0
+                    scope='scope link'
+                else
+                    is_router_reachable ${gateway}
+                    valid_gateway=$?
+                    scope=''
+                fi
+                if [ ${valid_gateway} -eq 0 ]; then
                 for t in ${route_targets[@]}; do
                     if [ ${t} = ${target} ]; then

Comment 8 Pavel Zhukov 2018-06-27 08:25:34 UTC
Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1102830

Comment 24 errata-xmlrpc 2018-07-10 17:54:30 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.