← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1599473] [NEW] guest with direct port send broadcast request on dhcp renew in case guest and dhcp on the same physical node

 

Public bug reported:

In case guest with direct port is located at the same host as network node,
the dhcp renewal is sent in broadcast instead of unicast causing unnecessary noise.
The reason is that after the expiration of the lease the guest send a renew message to the dhcp server, the PF then directs this message to the wire instead, because the FDB table is not yet updated for outgoing messages to the dhcp server (all previous messages sent were broadcast).

the following is the tcpdump of the renew lease:

14:24:04.289620 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 0.0.0.0, length 42
14:24:04.931965 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
    10.0.0.3.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from fa:16:3e:9b:58:71, length 300, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
   Client-IP 10.0.0.3
   Client-Ethernet-Address fa:16:3e:9b:58:71
   Vendor-rfc1048 Extensions
     Magic Cookie 0x63825363
     DHCP-Message Option 53, length 1: Request
     Hostname Option 12, length 9: "localhost"
     Parameter-Request Option 55, length 13:
       Subnet-Mask, BR, Time-Zone, Classless-Static-Route
       Domain-Name, Domain-Name-Server, Hostname, YD
       YS, NTP, MTU, Option 119
       Default-Gateway
14:24:04.932330 IP (tos 0xc0, ttl 64, id 19713, offset 0, flags [none], proto UDP (17), length 371)
    10.0.0.2.67 > 10.0.0.3.68: [udp sum ok] BOOTP/DHCP, Reply, length 343, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
   Client-IP 10.0.0.3
   Your-IP 10.0.0.3
   Server-IP 10.0.0.2
   Client-Ethernet-Address fa:16:3e:9b:58:71
   Vendor-rfc1048 Extensions
     Magic Cookie 0x63825363
     DHCP-Message Option 53, length 1: ACK
     Server-ID Option 54, length 4: 10.0.0.2
     Lease-Time Option 51, length 4: 120
     RN Option 58, length 4: 56
     RB Option 59, length 4: 101
     Subnet-Mask Option 1, length 4: 255.255.255.0
     BR Option 28, length 4: 10.0.0.255
     Domain-Name-Server Option 6, length 4: 10.0.0.2
     Domain-Name Option 15, length 14: "openstacklocal"
     Hostname Option 12, length 13: "host-10-0-0-3"
     Default-Gateway Option 3, length 4: 10.0.0.1
     Classless-Static-Route Option 121, length 14: (169.254.169.254/32:10.0.0.1),(default:10.0.0.1)
     MTU Option 26, length 2: 1500

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: sriov-pci-pt

** Description changed:

  In case guest with direct port is located at the same host as network node,
  the dhcp renewal is sent in broadcast instead of unicast causing unnecessary noise.
- The reason is that after the expiration of the lease the guest send a renew message
- to the dhcp server, the PF then directs this message to the wire instead because the FDB table is not yet updated for outgoing messages to the dhcp server (all previous messages sent were broadcast)
+ The reason is that after the expiration of the lease the guest send a renew message to the dhcp server, the PF then directs this message to the wire instead, because the FDB table is not yet updated for outgoing messages to the dhcp server (all previous messages sent were broadcast).
+ 
  the following is the tcpdump of the renew lease:
+ 
  14:24:04.289620 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 0.0.0.0, length 42
  14:24:04.931965 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
-     10.0.0.3.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from fa:16:3e:9b:58:71, length 300, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
- 	  Client-IP 10.0.0.3
- 	  Client-Ethernet-Address fa:16:3e:9b:58:71
- 	  Vendor-rfc1048 Extensions
- 	    Magic Cookie 0x63825363
- 	    DHCP-Message Option 53, length 1: Request
- 	    Hostname Option 12, length 9: "localhost"
- 	    Parameter-Request Option 55, length 13: 
- 	      Subnet-Mask, BR, Time-Zone, Classless-Static-Route
- 	      Domain-Name, Domain-Name-Server, Hostname, YD
- 	      YS, NTP, MTU, Option 119
- 	      Default-Gateway
+     10.0.0.3.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from fa:16:3e:9b:58:71, length 300, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
+    Client-IP 10.0.0.3
+    Client-Ethernet-Address fa:16:3e:9b:58:71
+    Vendor-rfc1048 Extensions
+      Magic Cookie 0x63825363
+      DHCP-Message Option 53, length 1: Request
+      Hostname Option 12, length 9: "localhost"
+      Parameter-Request Option 55, length 13:
+        Subnet-Mask, BR, Time-Zone, Classless-Static-Route
+        Domain-Name, Domain-Name-Server, Hostname, YD
+        YS, NTP, MTU, Option 119
+        Default-Gateway
  14:24:04.932330 IP (tos 0xc0, ttl 64, id 19713, offset 0, flags [none], proto UDP (17), length 371)
-     10.0.0.2.67 > 10.0.0.3.68: [udp sum ok] BOOTP/DHCP, Reply, length 343, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
- 	  Client-IP 10.0.0.3
- 	  Your-IP 10.0.0.3
- 	  Server-IP 10.0.0.2
- 	  Client-Ethernet-Address fa:16:3e:9b:58:71
- 	  Vendor-rfc1048 Extensions
- 	    Magic Cookie 0x63825363
- 	    DHCP-Message Option 53, length 1: ACK
- 	    Server-ID Option 54, length 4: 10.0.0.2
- 	    Lease-Time Option 51, length 4: 120
- 	    RN Option 58, length 4: 56
- 	    RB Option 59, length 4: 101
- 	    Subnet-Mask Option 1, length 4: 255.255.255.0
- 	    BR Option 28, length 4: 10.0.0.255
- 	    Domain-Name-Server Option 6, length 4: 10.0.0.2
- 	    Domain-Name Option 15, length 14: "openstacklocal"
- 	    Hostname Option 12, length 13: "host-10-0-0-3"
- 	    Default-Gateway Option 3, length 4: 10.0.0.1
- 	    Classless-Static-Route Option 121, length 14: (169.254.169.254/32:10.0.0.1),(default:10.0.0.1)
- 	    MTU Option 26, length 2: 1500
+     10.0.0.2.67 > 10.0.0.3.68: [udp sum ok] BOOTP/DHCP, Reply, length 343, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
+    Client-IP 10.0.0.3
+    Your-IP 10.0.0.3
+    Server-IP 10.0.0.2
+    Client-Ethernet-Address fa:16:3e:9b:58:71
+    Vendor-rfc1048 Extensions
+      Magic Cookie 0x63825363
+      DHCP-Message Option 53, length 1: ACK
+      Server-ID Option 54, length 4: 10.0.0.2
+      Lease-Time Option 51, length 4: 120
+      RN Option 58, length 4: 56
+      RB Option 59, length 4: 101
+      Subnet-Mask Option 1, length 4: 255.255.255.0
+      BR Option 28, length 4: 10.0.0.255
+      Domain-Name-Server Option 6, length 4: 10.0.0.2
+      Domain-Name Option 15, length 14: "openstacklocal"
+      Hostname Option 12, length 13: "host-10-0-0-3"
+      Default-Gateway Option 3, length 4: 10.0.0.1
+      Classless-Static-Route Option 121, length 14: (169.254.169.254/32:10.0.0.1),(default:10.0.0.1)
+      MTU Option 26, length 2: 1500

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1599473

Title:
  guest with direct port send broadcast request on dhcp renew in case
  guest and dhcp on the same physical node

Status in neutron:
  New

Bug description:
  In case guest with direct port is located at the same host as network node,
  the dhcp renewal is sent in broadcast instead of unicast causing unnecessary noise.
  The reason is that after the expiration of the lease the guest send a renew message to the dhcp server, the PF then directs this message to the wire instead, because the FDB table is not yet updated for outgoing messages to the dhcp server (all previous messages sent were broadcast).

  the following is the tcpdump of the renew lease:

  14:24:04.289620 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 0.0.0.0, length 42
  14:24:04.931965 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
      10.0.0.3.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from fa:16:3e:9b:58:71, length 300, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
     Client-IP 10.0.0.3
     Client-Ethernet-Address fa:16:3e:9b:58:71
     Vendor-rfc1048 Extensions
       Magic Cookie 0x63825363
       DHCP-Message Option 53, length 1: Request
       Hostname Option 12, length 9: "localhost"
       Parameter-Request Option 55, length 13:
         Subnet-Mask, BR, Time-Zone, Classless-Static-Route
         Domain-Name, Domain-Name-Server, Hostname, YD
         YS, NTP, MTU, Option 119
         Default-Gateway
  14:24:04.932330 IP (tos 0xc0, ttl 64, id 19713, offset 0, flags [none], proto UDP (17), length 371)
      10.0.0.2.67 > 10.0.0.3.68: [udp sum ok] BOOTP/DHCP, Reply, length 343, xid 0x2fb24d63, secs 49, Flags [none] (0x0000)
     Client-IP 10.0.0.3
     Your-IP 10.0.0.3
     Server-IP 10.0.0.2
     Client-Ethernet-Address fa:16:3e:9b:58:71
     Vendor-rfc1048 Extensions
       Magic Cookie 0x63825363
       DHCP-Message Option 53, length 1: ACK
       Server-ID Option 54, length 4: 10.0.0.2
       Lease-Time Option 51, length 4: 120
       RN Option 58, length 4: 56
       RB Option 59, length 4: 101
       Subnet-Mask Option 1, length 4: 255.255.255.0
       BR Option 28, length 4: 10.0.0.255
       Domain-Name-Server Option 6, length 4: 10.0.0.2
       Domain-Name Option 15, length 14: "openstacklocal"
       Hostname Option 12, length 13: "host-10-0-0-3"
       Default-Gateway Option 3, length 4: 10.0.0.1
       Classless-Static-Route Option 121, length 14: (169.254.169.254/32:10.0.0.1),(default:10.0.0.1)
       MTU Option 26, length 2: 1500

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1599473/+subscriptions


Follow ups