I try to run OVS in VMware VM with two X710 VFs (only one is relevant for simplified OVS config posted below). Ports are configured as SR-IOV interfaces in port group using virtual guest tagging. With simplified config posted below I should be able to ping interface vl1075 from other hosts on vlan 1075 but I'm not. Ovs-ofctl dump-flows shows no incomming packets. Ovs-tcpdump doesn't show incomming packets either.
I don't know what exactly the problem is but interestingly, there seems to be a workaround. When I run the DPDK's testpmd and then OVS (the same configuration that fails without workaraound) OVS works fine till next ESXi reboot. OVS: Interfaces: root@test2k:~# dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ 0000:0b:00.0 'Ethernet Virtual Function 700 Series 154c' drv=vfio-pci unused=iavf 0000:13:00.0 'Ethernet Virtual Function 700 Series 154c' drv=vfio-pci unused=iavf [ ... ] config: ovs-vsctl emer-reset ovs-vsctl set Open_vSwitch . "other_config:dpdk-init=true" ovs-vsctl set Open_vSwitch . "other_config:hw-offload=true" ovs-vsctl set Open_vSwitch . "other_config:per-port-memory=true" ovs-vsctl set Open_vSwitch . "other_config:dpdk-alloc-mem=2048" ovs-vsctl set Open_vSwitch . other_config:smc-enable=true ovs-vsctl set Open_vSwitch . other_config:emc-insert-inv-prob=1 ovs-vsctl --if-exists del-br ovsbr0 ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev ovs-vsctl set bridge ovsbr0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 ovs-vsctl add-port ovsbr0 dp_13000 -- set Interface dp_13000 type=dpdk "options:dpdk-devargs=13:00.0" -- set interface dp_13000 ofport_request=4 ovs-vsctl set port dp_13000 trunks=1075 ovs-vsctl add-br vl1075 ovsbr0 1075 sysctl -w net.ipv6.conf.vl1075.disable_ipv6=1 > /dev/null ip a add 192.168.77.3/24 dev vl1075 ip l set up vl1075 ovs-ofctl del-flows ovsbr0 ovs-appctl dpctl/del-flows ovs-ofctl -O OpenFlow15 add-flow ovsbr0 "table=0,priority=20,in_port=vl1075,actions=push_vlan:0x8100,mod_vlan_vid:1075,output:dp_13000" ovs-ofctl -O OpenFlow15 add-flow ovsbr0 "table=0,priority=200,in_port=dp_13000,dl_vlan=1075,actions=strip_vlan,output:vl1075" workaround testpmd config dpdk-testpmd -n 2 --socket-mem 1024 -l 0,1,2 -a 0000:0b:00.0 -a 0000:13:00.0 -- --port-topology=paired --forward-mode=io --nb-cores=2 --txd=4096 --rxd=4096 --cmdline-file=cmd.list << END END cmd.list contents: set fwd mac set eth-peer 0 00:0c:29:29:7d:8a set eth-peer 1 00:0c:29:29:7d:8b vlan set filter on 0 vlan set filter on 1 vlan set strip on 0 vlan set strip on 1 rx_vlan add 1075 1 rx_vlan add 1076 0 port stop 0 port stop 1 tx_vlan set 1 1075 tx_vlan set 0 1076 port start 0 port start 1 quit Versions being used: ESXi: 7.0U3, i40en Version: 2.2.7.0, NIC Firmware Version: 8.40 0x8000af82 20.5.13 guest OS: Ubuntu Kinetic Linux version 5.15.0-27-generic (buildd@ubuntu) (gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #28-Ubuntu SMP Thu Apr 14 04:55:28 UTC 2022 OVS 3.0.0 (from Kinetic apt repos) DPDK: 21.11.1 (from Kinetic apt repos) Other possibly usefull outputs: root@345fd4e20203:~# ovs-dpctl show root@345fd4e20203:~# ovs-ofctl dump-flows ovsbr0 cookie=0x0, duration=464.397s, table=0, n_packets=0, n_bytes=0, priority=200,in_port="dp_13000",dl_vlan=1075 actions=strip_vlan,output:vl1075 cookie=0x0, duration=464.411s, table=0, n_packets=0, n_bytes=0, priority=20,in_port=vl1075 actions=mod_vlan_vid:1075,output:"dp_13000" root@345fd4e20203:~# ovs-appctl dpctl/dump-flows flow-dump from pmd on cpu core: 3 recirc_id(0),in_port(2),packet_type(ns=0,id=0),eth_type(0/0xffff), packets:239, bytes:15264, used:1.339s, actions:drop root@345fd4e20203:~# ovs-appctl dpctl/dump-flows flow-dump from pmd on cpu core: 3 recirc_id(0),in_port(2),packet_type(ns=0,id=0),eth_type(0/0xffff), packets:244, bytes:15564, used:1.691s, actions:drop recirc_id(0),in_port(2),packet_type(ns=0,id=0),eth_type(0x88cc), packets:0, bytes:0, used:never, actions:drop root@345fd4e20203:~# root@345fd4e20203:~# ovs-appctl dpif/show netdev@ovs-netdev: hit:455 missed:41 ovsbr0: dp_13000 4/2: (dpdk: configured_rx_queues=1, configured_rxq_descriptors=2048, configured_tx_queues=2, configured_txq_descriptors=2048, lsc_interrupt_mode=false, mtu=1500, requested_rx_queues=1, requested_rxq_descriptors=2048, requested_tx_queues=2, requested_txq_descriptors=2048, rx_csum_offload=true, tx_tso_offload=false) ovsbr0 65534/1: (tap) vl1075 1/3: (tap) root@345fd4e20203:~# ovs-vsctl show 4cbe326a-fda7-4102-bf47-f7c16c49e2e5 Bridge ovsbr0 datapath_type: netdev Port ovsbr0 Interface ovsbr0 type: internal Port vl1075 tag: 1075 Interface vl1075 type: internal Port dp_13000 trunks: [1075] Interface dp_13000 type: dpdk options: {dpdk-devargs="13:00.0"} root@345fd4e20203:~# Thanks in advance for any help. Paweł -- ------------------------------- This document contains material that is confidential in CodiLime Sp. z o.o. DO NOT PRINT. DO NOT COPY. DO NOT DISTRIBUTE. If you are not the intended recipient of this document, be aware that any use, review, retransmission, distribution, reproduction or any action taken in reliance upon this message is strictly prohibited. If you received this in error, please contact the sender and h...@codilime.com <mailto:h...@codilime.com>. Return the paper copy, delete the material from all computers and storage media.
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss