[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