meta data for this page

No DCHPOFFERS received

Host network was changed to use bond0 as vmbr0 interface.

01:00.0 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02)
01:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02)

Now problems appears - guests (LXCs and VMs) cannot obtain IP address:

dhclient[478]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 7
dhclient[478]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 14
dhclient[478]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 10
dhclient[478]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 10
dhclient[478]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 19
dhclient[478]: DHCPDISCOVER on ens18 to 255.255.255.255 port 67 interval 1
dhclient[478]: No DHCPOFFERS received.

tcpdumping- on vmbr0 and guest tap interface shows that DHCP server replies with offer, but offer is not forwarded into guest. When guest is set to use static IP, everything works smoothly.

Workaround

Disable MAC learning on bridge. Now it behaves like hub, and every packet will be passed to every port.

brctl setageing vmbr0 0

Once MAC learning is turned off, a Linux bridge will flood every incoming packet to the rest of the ports. Understand this implication before proceeding.

auto vmbr0
iface vmbr0 inet manual
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0
    bridge-ageing 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

Solution

Upgrade Emulex OC11 card firmware to recent version. More here: firmware

References

Important:

    1. “Ok, I should have waited for the firmware upgrade before posting this. They seemed to be pretty outdated, went from FW v10.2.377.29 to v11.4.1186.4 And…………… drum roll……… it worked. Fixed the problem.”

Others: