Metadata is broken with dpdk bonding, jumbo frames and metadata from qdhcp
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Neutron Open vSwitch Charm |
Triaged
|
High
|
Unassigned | ||
dpdk (Ubuntu) |
Triaged
|
High
|
Unassigned |
Bug Description
In this bionic queens deployment guests are failing to get metadata. The mtu of the provider network is set to 9000. There is no gateway or dvr in the deployment and metadata is served from qdhcp namespace.
$ openstack network show user_net -c mtu
+-------+-------+
| Field | Value |
+-------+-------+
| mtu | 9000 |
+-------+-------+
Which causes the guest to set its mtu to 9000 and the interface inside the qdhcp namespace to have its mtu set to 9000:
ip netns exec qdhcp-7778a98d-
36: tap18bd733f-68: <BROADCAST,
When the guest tries to retrieve its metadata the request hangs. Running a tcpdump on the guest shows
Terminal 1 on the guest:
$ timeout 20 curl http://
Terminal 2 on the guest:
# tcpdump -i any -A -l port 80 2>&1 | grep truncated
12:35:05.831836 IP truncated-ip - 480 bytes missing! 169.254.
12:35:07.495835 IP truncated-ip - 480 bytes missing! 169.254.
12:35:10.919861 IP truncated-ip - 480 bytes missing! 169.254.
12:35:17.575917 IP truncated-ip - 480 bytes missing! 169.254.
Dropping the mtu on the tap device to 1500 fixes the issue (and higher than 1500 and it breaks):
# ip netns exec qdhcp-7778a98d-
Connecting to the guest from outside of the qdhcp namespace seems to be fine. Sending a file via netcat works from outside of the qdhcp netns but breaks when tested from within it. Again tcpdump shows truncated-ip messages
Changed in dpdk (Ubuntu): | |
status: | Invalid → New |
Changed in charm-neutron-openvswitch: | |
milestone: | 19.10 → 20.01 |
Changed in charm-neutron-openvswitch: | |
milestone: | 20.01 → 20.05 |
Changed in charm-neutron-openvswitch: | |
milestone: | 20.05 → 20.08 |
Changed in charm-neutron-openvswitch: | |
milestone: | 20.08 → none |
Hitting the same bug in stein with 18.11-6~cloud0 of dpdk