Hi all, I'm running OVS-DPDK on a two netdevice server(eth0 and eth1), and I use sriov to make one VF and one PF on each netdevice, as bellow. Please omit eth2 and eth3. Then two VF port(enp1s16 and enp1s16f1) combine into linux bond1 port as management port, two PF port(0000:01:00.0 and 0000:01:00.1) combine into OVS-DPDK bond port(mode 4) as dataplane port.
[root@yf-mos-test-net14 ~]# > /usr/local/share/openvswitch/scripts/dpdk_nic_bind --status > Network devices using DPDK-compatible driver > ============================================ > 0000:01:00.0 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio > unused=ixgbe > 0000:01:00.1 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio > unused=ixgbe > Network devices using kernel driver > =================================== > 0000:01:10.0 'X540 Ethernet Controller Virtual Function' if=enp1s16 > drv=ixgbevf unused=igb_uio > 0000:01:10.1 'X540 Ethernet Controller Virtual Function' if=enp1s16f1 > drv=ixgbevf unused=igb_uio > 0000:08:00.0 'I350 Gigabit Network Connection' if=eth2 drv=igb > unused=igb_uio > 0000:08:00.1 'I350 Gigabit Network Connection' if=eth3 drv=igb > unused=igb_uio > Other network devices > ===================== > <none> I change OVS-DPDK code, and use command to stop OVS-DPDK bond port and its slaves, and then change its txconf and rxconf, and then start up them. But the kernel report "Detected Tx Unit Hang ..." and no packets could go through OVS-DPDK bond port and linux bond port, but use command to show OVS-DPDK port and linux bond port, all status is OK. But when I stop linux bond port first, and then do the same process as above, no error report and packets could go through OVS-DPDK bond port and linux bond port. So what's this problem and how to fix it ? Thank you~