[Bug 1529815] Re: InfiniBand DHCP flow with PRA and DHCP relay not working
Rafael David Tinoco
rafael.tinoco at canonical.com
Thu Sep 8 12:33:38 UTC 2016
Verification for Trusty:
## server
root at dixie:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
root at dixie:~# dpkg -l | grep dhcp
ii isc-dhcp-client 4.2.4-7ubuntu12.6 amd64 ISC DHCP client
ii isc-dhcp-common 4.2.4-7ubuntu12.6 amd64 common files used by all the isc-dhcp* packages
ii isc-dhcp-server 4.2.4-7ubuntu12.6 amd64 ISC DHCP server for automatic IP address assignment
## client
root at hertz:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
root at hertz:~# dpkg -l | grep dhcp
ii isc-dhcp-client 4.2.4-7ubuntu12.6 amd64 ISC DHCP client
ii isc-dhcp-common 4.2.4-7ubuntu12.6 amd64 common files used by all the isc-dhcp* packages
----------
## tcpdump showing broadcast flag set (client was able to get IP)
root at dixie:~# tcpdump -i ib0 -nn -vvv -S
Sep 8 12:31:32 dixie kernel: [ 1763.559815] device ib0 entered promiscuous mode
tcpdump: listening on ib0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
Sep 8 12:31:36 dixie dhcpd: DHCPDISCOVER from via ib0
Sep 8 12:31:36 dixie dhcpd: DHCPOFFER on 172.16.0.19 to via ib0
Sep 8 12:31:36 dixie dhcpd: Dynamic and static leases present for 172.16.0.19.
Sep 8 12:31:36 dixie dhcpd: Remove host declaration dixie or remove 172.16.0.19
Sep 8 12:31:36 dixie dhcpd: from the dynamic address pool for 172.16.0.0/24
Sep 8 12:31:36 dixie dhcpd: DHCPREQUEST for 172.16.0.19 (172.16.0.1) from via ib0
Sep 8 12:31:36 dixie dhcpd: DHCPACK on 172.16.0.19 to via ib0
12:31:36.612464 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request, length 300, htype 32, hlen 0, xid 0x6189781a, Flags [Broadcast] (0x8000)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Hostname Option 12, length 5: "hertz"
Parameter-Request Option 55, length 13:
Subnet-Mask, BR, Time-Zone, Default-Gateway
Domain-Name, Domain-Name-Server, Option 119, Hostname
Netbios-Name-Server, Netbios-Scope, MTU, Classless-Static-Route
NTP
Client-ID Option 61, length 17: hardware-type 56, 30:3a:30:30:3a:30:30:3a:34:38:3a:46:45:3a:38:30
END Option 255, length 0
PAD Option 0, length 0, occurs 15
12:31:36.612713 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
172.16.0.1.67 > 255.255.255.255.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, htype 32, hlen 0, xid 0x6189781a, Flags [Broadcast] (0x8000)
Your-IP 172.16.0.19
Server-IP 172.16.0.1
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Server-ID Option 54, length 4: 172.16.0.1
Lease-Time Option 51, length 4: 600
Subnet-Mask Option 1, length 4: 255.255.255.0
BR Option 28, length 4: 172.16.0.255
Domain-Name Option 15, length 7: "myib.cu"
END Option 255, length 0
PAD Option 0, length 0, occurs 23
12:31:36.612957 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request, length 300, htype 32, hlen 0, xid 0x6189781a, Flags [Broadcast] (0x8000)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: 172.16.0.1
Requested-IP Option 50, length 4: 172.16.0.19
Hostname Option 12, length 5: "hertz"
Parameter-Request Option 55, length 13:
Subnet-Mask, BR, Time-Zone, Default-Gateway
Domain-Name, Domain-Name-Server, Option 119, Hostname
Netbios-Name-Server, Netbios-Scope, MTU, Classless-Static-Route
NTP
Client-ID Option 61, length 17: hardware-type 56, 30:3a:30:30:3a:30:30:3a:34:38:3a:46:45:3a:38:30
END Option 255, length 0
PAD Option 0, length 0, occurs 3
12:31:36.613122 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
172.16.0.1.67 > 255.255.255.255.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, htype 32, hlen 0, xid 0x6189781a, Flags [Broadcast] (0x8000)
Your-IP 172.16.0.19
Server-IP 172.16.0.1
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 172.16.0.1
Lease-Time Option 51, length 4: 600
Subnet-Mask Option 1, length 4: 255.255.255.0
BR Option 28, length 4: 172.16.0.255
Domain-Name Option 15, length 7: "myib.cu"
END Option 255, length 0
PAD Option 0, length 0, occurs 23
^C
4 packets captured
4 packets received by filter
** Tags removed: verification-done-xenial verification-needed
** Tags added: verification-done
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to isc-dhcp in Ubuntu.
https://bugs.launchpad.net/bugs/1529815
Title:
InfiniBand DHCP flow with PRA and DHCP relay not working
Status in isc-dhcp package in Ubuntu:
Fix Released
Status in isc-dhcp source package in Trusty:
Fix Committed
Status in isc-dhcp source package in Wily:
Won't Fix
Status in isc-dhcp source package in Xenial:
Fix Released
Bug description:
[Impact]
* Infiniband users relying on DHCP can't use DHCP relay.
[Test Case]
* Comment #13
* Mellanox has tested themselves.
* Clear way of knowing if fix worked (tcpdump).
[Regression Potential]
* Only related to Infiniband.
* Infiniband support could stop working (unlikely, already tested).
[Other Info]
DHCP client is sending discover with Unicast type request for the
offer, in this configuration of IB to ETH through a relay we need the
type to be broadcast.
The issue is that when using dhclient from the client on Ubuntu (and only on Ubuntu) with MOFED or inbox driver, we see that that DHCP server offers in unicast instead of broadcast. It seems there is no way to correct this from the client side using dhclient configuration file.
this issue exist even when we use always-broadcast statement in configuration file.
in other vendors we see that discover request type is broadcast.
attached pcap files from working (other vendor) and not working (Ubuntu) clients.
DHCP CLIENT (IPoIB)
Ubuntu 14.04 kernel 3.13.0-74
Mellanox OFED 3.1-1.0.3 or inbox driver
isc-dhcp-client 4.2.4-7ubuntu12.3
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1529815/+subscriptions
More information about the foundations-bugs
mailing list