Bug 1064029 - dhclient creates invalid client-id on IPoIB interfaces
Summary: dhclient creates invalid client-id on IPoIB interfaces
Keywords:
Status: CLOSED DUPLICATE of bug 560361
Alias: None
Product: Fedora
Classification: Fedora
Component: dhcp
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jiri Popelka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-11 20:28 UTC by Doug Ledford
Modified: 2014-02-12 15:00 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-02-12 15:00:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Doug Ledford 2014-02-11 20:28:59 UTC
Description of problem:

IPoIB interfaces are not ethernet interfaces, and as a result the dhcp server on IPoIB interfaces falls back to socket mode.  In that mode, it does not get the IPoIB equivalent of the MAC address of the requesting interface.  To allow for static host matching, the dhclient has, in the past, created a client-id that is specific to IPoIB interfaces.  The current Fedora dhclient has stopped doing this and as a result, it no longer is able to get a static IP address in any way from the dhcp server.  In addition, because there is *no* distinguishing characteristic on these dhclient generated requests, the server has no definitive way of knowing what machine is making the request, and so it will gladly allow two different machines to have conflicting dynamic addresses as long as they both simply request the same address.

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

4.2.5-30

How reproducible:

100%

Steps to Reproduce:
1. Set up static host addresses on dhcp server for IPoIB via client-id setting
2. Boot up configured client(s)
3.

Actual results:

Get dynamic addresses instead of static addresses, and in addition, can get dynamic address conflicts because the server doesn't check for any lease conflicts.

Expected results:

Static address assignment, and proper lease checking to avoid duplicate leases.

Additional info:

Replacing the fedora dhcp rpms with rhel7 dhcp rpms resolves the problem.  I'm assuming rhel7 rpms carry a patch to dhclient to produce this client-id and that Fedora has decided to drop it.  Without that patch, dhcp on IPoIB interfaces is DOA.

Comment 1 Jiri Popelka 2014-02-12 13:54:31 UTC
(In reply to Doug Ledford from comment #0)
> Replacing the fedora dhcp rpms with rhel7 dhcp rpms resolves the problem. 
> I'm assuming rhel7 rpms carry a patch to dhclient to produce this client-id
> and that Fedora has decided to drop it.

Good to know, thanks.
I think the problem might cause 'send dhcp-client-identifier = hardware;' in default /etc/dhcp/dhclient.conf (which we now ship due to bug #560361).
Does it work when you remove the statement or the file ?

Comment 2 Doug Ledford 2014-02-12 14:47:39 UTC
Looking at bug #560361, it definitely is the cause of this issue.  I made a note in the bug, but when I was investigating this issue, tcpdump showed the client identifier was the single byte 32.  That's the hardware type for IPoIB interfaces, but it does not include the GUID.  The fix in bug #560361 is broken for Ethernet too, but no one bothered to test multiple machines trying to get IP addresses behind the Windows bridge.

Comment 3 Doug Ledford 2014-02-12 15:00:24 UTC

*** This bug has been marked as a duplicate of bug 560361 ***


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