Trying to isolate the commands used in the failing test (works in a not too small Oracular VM): 0. Prep install and config apt install openvswitch-switch-dpdk dpdk-dev echo "NR_2M_PAGES=784" >> /etc/dpdk/dpdk.conf systemctl restart dpdk update-alternatives --set ovs-vswitchd /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk ovs-vsctl --no-wait init ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-extra="--log-level=pmd.*:error --no-pci" 1. start OVS with DPDK support (this is the point where you'd restart new test iterations) systemctl stop openvswitch-switch ovs-vswitchd rm /var/log/openvswitch/ovs-vswitchd.log systemctl start openvswitch-switch ovs-vswitchd ovs-vsctl show 2. create an internal DPDK bridge with a vhostuserclient port with defined MTU ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev OVS_RUNDIR="/tmpdir/_debian/tests/system-dpdk-testsuite.dir/020" rm -rf $OVS_RUNDIR mkdir -p $OVS_RUNDIR ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface dpdkvhostuserclient0 type=dpdkvhostuserclient options:vhost-server-path=$OVS_RUNDIR/dpdkvhostclient0 ovs-vsctl show 3. connect a vhostuserclient server # Do this in a shell of its own, it will stay up dpdk-testpmd --in-memory --socket-mem=512 --single-file-segments --no-pci --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1 --vdev=net_tap0,iface=tap0 -- -a --stats-period 2 --nb-cores 2 --rxq 2 --txq 2 4. check if it is truly ready ovs-vsctl show grep "virtio is now ready for processing" /var/log/openvswitch/ovs-vswitchd.log # should have a happy dpdkvhostuserclient0 ovs-vsctl get Interface dpdkvhostuserclient0 link_state # should say "up" 5. set happy MTU ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9702 ovs-vsctl get Interface dpdkvhostuserclient0 mtu # should deliver 9702 6. set the bigger MTU ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9711 # the ovs-vswitchd.log will say (expected) dpdkvhostuserclient0: unsupported MTU 9711 failed to set MTU for network device dpdkvhostuserclient0: Invalid argument ovs-vsctl get Interface dpdkvhostuserclient0 mtu # will still deliver 9702 7. cleanup the port ovs-vsctl del-port br10 dpdkvhostuserclient0 # Should work without bad RC, log in ovs-vswitchd.log will say: bridge|INFO|bridge br10: deleted interface dpdkvhostuserclient0 on port 1 dpif_netdev|INFO|PMD thread on numa_id: 0, core id: 1 destroyed. dpdk(pmd-c01/id:8)|INFO|PMD thread released DPDK lcore 1. dpdk|INFO|VHOST_CONFIG: (/tmpdir/_debian/tests/system-dpdk-testsuite.dir/020/dpdkvhostclient0) free connfd 50 netdev_dpdk|INFO|vHost Device '/tmpdir/_debian/tests/system-dpdk-testsuite.dir/020/dpdkvhostclient0' not found ovs-vsctl del-br br10 ovs-vsctl show # should show an empty switch ^^ Here I expected the issue with the new code (OVS + DPDK being new). But sadly I have proven that the "not found" on the path was a red herring as well. It comes up in the good path as well. The good case just does not push the log output to the test-output. Hence it seemed to be an issue "only in the bad case" but that was a fluke.