Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1684595 - RHEL8: dhclient sending encoded fqdn even when "send fqdn.encoded off" is set
Summary: RHEL8: dhclient sending encoded fqdn even when "send fqdn.encoded off" is set
Keywords:
Status: ASSIGNED
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: NetworkManager
Version: 8.0
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: 8.0
Assignee: sushil kulkarni
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-03-01 15:44 UTC by Ravindra Patil
Modified: 2019-04-10 05:53 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)

Description Ravindra Patil 2019-03-01 15:44:25 UTC
Description of problem:

When set DHCP_FQDN in /etc/sysconfig/network-scripts/ifcfg-<interface> and to set these options in /etc/dhcp/dhclient.conf:

send vendor-class-identifier "ad001";
send user-class "ad001-id";
send fqdn.encoded off;
send fqdn.server-update off;

DHCP option 81 is in fact being sent, but the name is encoded, which means send fqdn.encoded off is not being honored.

Version-Release number of selected component (if applicable):
4.3.6-29.el8.x86_64

How reproducible:
When set DHCP_FQDN in /etc/sysconfig/network-scripts/ifcfg-<interface> and to set these options in /etc/dhcp/dhclient.conf:

send vendor-class-identifier "ad001";
send user-class "ad001-id";
send fqdn.encoded off;
send fqdn.server-update off;

Steps to Reproduce:
1. Set fqdn.encoded to off in /etc/dhcp/dhclient.conf
2. Check if dhcp option 81 being sent
3.

Actual results:
the name is encoded, which means send fqdn.encoded off is not being honored

Expected results:
fqdn.encoded off should be honored and name should not be encoded

Additional info:

Comment 1 Pavel Zhukov 2019-03-04 08:21:52 UTC
Hello,

Can you please provide exact dhclient command you're using? 
# ps aux | grep dhclient

Comment 8 Thomas Haller 2019-04-10 05:53:44 UTC
Both on RHEL7 and RHEL8, NetworkManager supports two DHCP plugins: "dhclient" and "internal".

On RHEL7, the default is "dhclient".
On RHEL8, the default changed to "internal".

For reasons see bug 1571655. This is (will be) also documented as a "Known issue".

The internal client does not use dhclient, and does not honor /etc/dhcp.


There is nothing wrong with the internal client (it's just not as configurable as dhclient, which is a problem if you require that configuration).
There is also nothing particularly wrong with the dhclient plugin. Every user is welcome to explicitly configure to use "dhclient".
Only the "default" changed.


See `man NetworkManager.conf`. You can configure the used DHCP plugin via

[main]
dhcp=dhclient

via a snippet in

  (1) /etc/NetworkManager/conf.d
  (2) /var/run/NetworkManager/conf.d
  (3) /usr/lib/NetworkManager/conf.d

(the right location depends on whether you are doing user-configuration (1), generate ephemeral configuration (2), or install the configuration snippet as part of another package (3). See also `man NetworkManager.conf` for the order of how files are loaded and how they get merged together).


The main problem that the dhclient plugin has is it's flexibility (by configuring it via /etc/dhcp) that bypasses regular NetworkManager API. Optimally, all useful DHCP options are understood and exposed as API of NetworkManager, so you can configure them as part of the connection profile (instead of editing files in /etc/dhcp as root). Hence, it would be valuable to evaluate why the internal client is not sufficient for the customer and what options are missing. And then open an RFE to extend it.


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