Ubuntu: eoan DPDK pkg: 18.11.1-3 OVS DPDK pkg: 2.11.0-0ubuntu2 Kerenl: 5.0.0-20-generic If a server has an ovs bridge with a dpdk device for external network access and a network namespace attached then sending data out of the namespace fails if jumbo frames are enabled. Setup: root@node-licetus:~# uname -r 5.0.0-20-generic root@node-licetus:~# ovs-vsctl show 523eab62-8d03-4445-a7ba-7570f5027ff6 Bridge br-test Port "tap1" Interface "tap1" type: internal Port br-test Interface br-test type: internal Port "dpdk-nic1" Interface "dpdk-nic1" type: dpdk options: {dpdk-devargs="0000:03:00.0"} ovs_version: "2.11.0" root@node-licetus:~# ovs-vsctl get Interface dpdk-nic1 mtu 9000 root@node-licetus:~# ip netns exec ns1 ip addr show tap1 12: tap1: mtu 9000 qdisc fq_codel state UNKNOWN group default qlen 1000 link/ether 0a:dd:76:38:52:54 brd ff:ff:ff:ff:ff:ff inet 10.246.112.101/21 scope global tap1 valid_lft forever preferred_lft forever inet6 fe80::8dd:76ff:fe38:5254/64 scope link valid_lft forever preferred_lft forever * Using iperf to send data out of the netns fails: root@node-licetus:~# ip netns exec ns1 iperf -c 10.246.114.29 ------------------------------------------------------------ Client connecting to 10.246.114.29, TCP port 5001 TCP window size: 325 KByte (default) ------------------------------------------------------------ [ 3] local 10.246.112.101 port 51590 connected with 10.246.114.29 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.3 sec 323 KBytes 257 Kbits/sec root@node-hippalus:~# iperf -s -m ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 128 KByte (default) ------------------------------------------------------------ root@node-hippalus:~# * Switching the direction of flow and sending data into the namespace works: root@node-licetus:~# ip netns exec ns1 iperf -s -m ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 128 KByte (default) ------------------------------------------------------------ [ 4] local 10.246.112.101 port 5001 connected with 10.246.114.29 port 59454 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 6.06 GBytes 5.20 Gbits/sec [ 4] MSS size 8948 bytes (MTU 8988 bytes, unknown interface) root@node-hippalus:~# iperf -c 10.246.112.101 ------------------------------------------------------------ Client connecting to 10.246.112.101, TCP port 5001 TCP window size: 942 KByte (default) ------------------------------------------------------------ [ 3] local 10.246.114.29 port 59454 connected with 10.246.112.101 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 6.06 GBytes 5.20 Gbits/sec * Using iperf to send data out of the netns after dropping tap mtu works: root@node-licetus:~# ip netns exec ns1 ip link set dev tap1 mtu 1500 root@node-licetus:~# ip netns exec ns1 iperf -c 10.246.114.29 ------------------------------------------------------------ Client connecting to 10.246.114.29, TCP port 5001 TCP window size: 845 KByte (default) ------------------------------------------------------------ [ 3] local 10.246.112.101 port 51594 connected with 10.246.114.29 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 508 MBytes 426 Mbits/sec root@node-hippalus:~# iperf -s -m ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 128 KByte (default) ------------------------------------------------------------ [ 4] local 10.246.114.29 port 5001 connected with 10.246.112.101 port 51594 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 508 MBytes 424 Mbits/sec [ 4] MSS size 1448 bytes (MTU 1500 bytes, ethernet)