Bug 1175422

Summary: [RFE] dhcpd doesn't support pxe extension option number 97 (Client Identifier/UUID), filtering by 'dhcp-client-identifier' doesn't work
Product: Red Hat Enterprise Linux 7 Reporter: Jiri Popelka <jpopelka>
Component: dhcpAssignee: Jiri Popelka <jpopelka>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: mkovarik, ovasik, pbokoc
Target Milestone: rcKeywords: FutureFeature, Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: dhcp-4.2.5-37.el7 Doc Type: Enhancement
Doc Text:
dhcpd handles dhcp option 97 - Client Machine Identifier (pxe-client-id) It is now possible to reserve (statically allocate) IP addresses for a particular client based on its identifier sent in option 97; for example: host pixi { option pxe-client-id 0 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff; fixed-address 1.2.3.4; }
Story Points: ---
Clone Of: 1058674 Environment:
Last Closed: 2015-11-19 08:55:57 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:
Bug Depends On: 1058674    
Bug Blocks: 1191019    

Description Jiri Popelka 2014-12-17 17:39:00 UTC
+++ This bug was initially created as a clone of Bug #1058674 +++

Description of problem:

Intel Boot Agent:

sends option number 97 and not 61 as UUID in DHCPDISCOVER packet, which leads not to recognizing host declaration with 'fixed-address' according to 'dhcp-client-identifier' parameter (in case we don't want to filter according to mac address, resp. 'hardware ethernet <mac>' parameter):

host bla {
...
option dhcp-client-identifier <UUID>;
}


Actual results:

filtering according to UUID/'dhcp-client-identifier' sent by bootp clients doesn't work in case the boot agent's pxe code doesn't set option number 61, but only 97


Expected results:

dhcpd should support beside option 61 also 97 according to RFC specifications (see more info/links to related RFCs in 'Additional info' section)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RFCs for individual options:

http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml

related rfc and text to option # 97:

http://tools.ietf.org/html/rfc4578#section-2.3
http://tools.ietf.org/html/rfc4578#section-4

related rfc to option #61:

http://tools.ietf.org/html/rfc2132#page-30

pxe specification:

http://www.pix.net/software/pxeboot/archive/pxespec.pdf

you can find there a table with all pxe options, where 61 and 97 are mentioned as "Client machine identifier (UUID)":

2.3 DHCP Tags used for PXE Protocol ..........................................................................................18

There is a mention under the table:

"The Client UUID field specifies a universally unique ID (UUID), retrieved from the client system. The client must have a UUID and must report it in tag #97 and #61."

Also see:

"Table 2-2 DHCPDISCOVER Packet to DHCP/Proxy DHCP Server"

which mentions the option # 97 in dhcpdiscover packet.


--- Additional comment from Jiri Popelka on 2014-12-16 19:13:27 CET ---

Testing should be as simple as putting for example
send pxe-client-id = 0:4f:6c:98:cc:74:d5:e2:11:80:28:0:0:50:be:c8:4b;
into /etc/dhcp/dhclient.conf and running dhclient.

Once the server provides a address to client and writes the lease into
/var/lib/dhcpd/dhcpd.leases
you can see that the lease in that file contains
uid "\000Ol\230\314t\325\342\021\200(\000\000P\276\310J";
which is the specified pxe-client-id (see string description in dhcp-eval for the \xxx explanation).

You can also define a 'fixed address' for the client with (dhcpd.conf):
host pixi {
  option pxe-client-id 0 4f:6c:98:cc:74:d5:e2:11:80:28:0:0:50:be:c8:4b;
  fixed-address 1.2.3.123;
}

--- Additional comment from Jiri Popelka on 2014-12-17 13:45:42 CET ---

http://pkgs.devel.redhat.com/cgit/rpms/dhcp/commit/?h=rhel-6.7&id=d32f9427a422c8d4e8740afe07b7c518b8e5b183

Comment 3 Michal Kovarik 2015-09-04 07:53:50 UTC
Verified on RHEL-7.2-Beta with dhcp-4.2.5-40.el7.x86_64.

Comment 5 errata-xmlrpc 2015-11-19 08:55:57 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.

https://rhn.redhat.com/errata/RHEA-2015-2251.html