Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1814386

Summary: ipoib dhcp send different client-id from old versions that comes with rhel7
Product: Red Hat Enterprise Linux 8 Reporter: Moshe Levi <moshele>
Component: dhcpAssignee: Joe Orton <jorton>
Status: CLOSED WONTFIX QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: ahleihel
Target Milestone: rcKeywords: Reopened, Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-17 07:27:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
centos8 dhcp pcap
none
centos7 dhcp pcap
none
centos8 without dhcp-client-identifier = hardware none

Description Moshe Levi 2020-03-17 18:19:05 UTC
Created attachment 1670907 [details]
centos8 dhcp pcap

Description of problem:
when using dhcp with ipoib interface the dhclient sent client-id option as defined in the  dhcp ipoib spec.
In old version the which comes with rhel 7 client-id was send as 20 bytes.
prefix <ff:00:00:00:00:00:02:00:00:02:c9:00> and guid <:b8:59:9f:03:00:07:75:ba >
so for dhclient in rhel 7 it looked like below
ff:00:00:00:00:00:02:00:00:02:c9:00:b8:59:9f:03:00:07:75:ba
In rhel 8 it look like 
<HW>+ guid
20:b8:59:9f:03:00:07:75:ba

Why client-id was change from rhel7 to rhel8? 

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. install dhcp-client-4.3.6-34.el8.x86_64
2. run dheclient on ipoib interface
3. tcpdump the dhcp packets

Actual results:


Expected results:


Additional info:

Comment 1 Moshe Levi 2020-03-17 18:22:25 UTC
Created attachment 1670909 [details]
centos7 dhcp pcap

Comment 2 Pavel Zhukov 2020-03-18 07:38:48 UTC
Hello,
This was done on purpose to simplify administrator's job and automatic deployment of the systems. When system is being provisioned client-id is not known to administrator while HW address is so DHCP server can be configured to assign right pool/address/class to the system. 
To switch to previous behavior dhclient.conf file can be adjusted (or simply deleted/replaced with empty one).

Comment 3 Moshe Levi 2020-03-18 08:32:28 UTC
This breaks openstack with infiniband we rely on client-id in format of rhel 7 and now rhel 8 have different client-id. Show can we solve it if in the client user usr rhel7 image or rhel 8 image?

Comment 4 Pavel Zhukov 2020-03-18 08:44:47 UTC
(In reply to Moshe Levi from comment #3)
> This breaks openstack with infiniband we rely on client-id in format of rhel
> 7 and now rhel 8 have different client-id. Show can we solve it if in the
> client user usr rhel7 image or rhel 8 image?
Hello,

RHEL8 is new major version so API changes are imminent. Can you please elaborate what is broken (logs, configuration) and what blocks changing of config file.
P.S. Sorry I didn't understand your question, can you please elaborate on it?

Comment 5 Moshe Levi 2020-03-18 17:45:25 UTC
Openstack is Cloud Platform in rhel you call it OSP (Openstack platform). We (Mellanox have solution to create VMs with Infiniband Interfaces. 
The VM get the ip address with the dhcp server in openstack. Because it a cloud the each vm get it own ip address and this is done by using the client-id in infiniband. A user in the cloud may have VM with rhel 7 or rhel 8 image or other distro. In dhcp server we can't know what client-id to define in the dhcp server because rhel 7 and rhel 8 are not consistent. The reason we can't use config option is that we don't know what user will use as guest image.

Comment 6 Moshe Levi 2020-03-18 17:45:44 UTC
Openstack is Cloud Platform in rhel you call it OSP (Openstack platform). We (Mellanox have solution to create VMs with Infiniband Interfaces. 
The VM get the ip address with the dhcp server in openstack. Because it a cloud the each vm get it own ip address and this is done by using the client-id in infiniband. A user in the cloud may have VM with rhel 7 or rhel 8 image or other distro. In dhcp server we can't know what client-id to define in the dhcp server because rhel 7 and rhel 8 are not consistent. The reason we can't use config option is that we don't know what user will use as guest image.

Comment 7 Moshe Levi 2020-03-18 17:46:09 UTC
Openstack is Cloud Platform in rhel you call it OSP (Openstack platform). We (Mellanox have solution to create VMs with Infiniband Interfaces. 
The VM get the ip address with the dhcp server in openstack. Because it a cloud the each vm get it own ip address and this is done by using the client-id in infiniband. A user in the cloud may have VM with rhel 7 or rhel 8 image or other distro. In dhcp server we can't know what client-id to define in the dhcp server because rhel 7 and rhel 8 are not consistent. The reason we can't use config option is that we don't know what user will use as guest image.

Comment 8 Moshe Levi 2020-03-18 17:47:49 UTC
I understand that RHEL8 is new major version so API changes, but this change effect how to configure dhcp server in the cluster which is more then api change.

Comment 9 Pavel Zhukov 2020-03-19 06:53:33 UTC
(In reply to Moshe Levi from comment #8)
> I understand that RHEL8 is new major version so API changes, but this change
> effect how to configure dhcp server in the cluster which is more then api
> change.

This is not the case. Configuration of dhcp server is not affected by this change. This is client-only option. See below.

> The
> reason we can't use config option is that we don't know what user will use
> as guest image.
Looks like there's some misunderstanding here. This is *client* side configuration not server one. So OSP administrator has to seal image with empty /etc/dhcp/dhclient.conf once that's it reconfiguration of dhcp server is not needed. 
Besides of that I'd like to mention that NetworkManager's default configuration is "mac" as well as dhclient's one [1] so we're keeping consistency between implementations.
 
[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/cfd696cc3cf43f5f510046b757949546bcee4cdc

Comment 10 Moshe Levi 2020-03-22 19:48:53 UTC
In dhclient 4.3.6-34:
I tried with "send dhcp-client-identifier = hardware;" 
and I get Client-ID Option 61, length 9: hardware-type 32, ec:0d:9a:03:00:bf:54:54
without the "send dhcp-client-identifier = hardware;" I get
Client-ID Option 61, length 23: hardware-type 255, 00:bf:54:54:00:04:cd:5f:81:cc:49:7f:4e:a1:94:1f:91:9d:66:ae:1a:30

But in older version (4.2.5-77) of dhclient I would get something like
Client-ID Option 61, length 20: hardware-type 255 ff:00:00:00:00:00:02:00:00:02:c9:00:ec:0d:9a:03:00:bf:54:54

Comment 11 Pavel Zhukov 2020-03-23 07:36:15 UTC
Hello,

Thank you for the information. 
Can you please provide network dump of the communication for both rhel7 and rhel8 clients? Pcap format is preffered. Unfortunately I don't have IB setup to play with right now

Comment 12 Moshe Levi 2020-03-24 18:13:12 UTC
Created attachment 1673184 [details]
centos8 without dhcp-client-identifier = hardware

Comment 13 Moshe Levi 2020-03-24 18:17:23 UTC
I add pcap without the "send dhcp-client-identifier = hardware"
Please compare "centos7 dhcp pcap" and "centos8 without dhcp-client-identifier = hardware" pcap files and see the different client-id.

We also tested both  centos7  and centos8  with "send dhcp-client-identifier = hardware" and that seem to work as expected.

Comment 17 RHEL Program Management 2021-09-17 07:27:01 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.