# Run during debian installation in-target /usr/bin/ovsdb-tool create # Run on first boot by ifupdown2 ovs-vsctl --no-wait -- init -- set Open_vSwitch . db-version=8.2.0 ovs-vsctl --no-wait set Open_vSwitch . ovs-version=2.15.0 "external-ids:system-id=\"971bfb26-0f26-45af-8c84-14aa42ee74c7\"" "external-ids:rundir=\"/var/run/openvswitch\"" "system-type=\"debian\"" ovs-vsctl --no-wait add Open_vSwitch . external-ids hostname=tis0-cn2.tis.mydomain.net ovs-vsctl --no-wait add Open_vSwitch . external-ids hostname=tis0-cn2.tis.mydomain.net /usr/bin/ovs-vsctl -- --may-exist add-br vswitch0 -- set Open_vSwitch . other_config:dpdk-init=true "other_config:dpdk-extra=-n 4" other_config:pmd-cpu-mask=0x1400014 other_config:dpdk-lcore-mask=0x200002 other_config:dpdk-socket-mem=2048,0 other_config:dpdk-hugepage-dir=/dev/hugepages other_config:vhost-sock-dir=vhosts -- set bridge vswitch0 datapath_type=netdev /usr/bin/ovs-vsctl -- --may-exist --fake-iface add-bond vswitch0 vuplink0 dpdk-eno1 dpdk-eno2 -- --if-exists clear port vuplink0 bond_active_slave bond_mode cvlans external_ids lacp mac other_config qos tag trunks vlan_mode -- --if-exists clear interface vuplink0 mtu_request external-ids other_config options -- set Port vuplink0 lacp=active bond_mode=balance-tcp other-config:lacp-fallback-ab=true other_config:lacp-time=fast other_config:bond-miimon-interval=100 other_config:bond_updelay=200 -- set Interface dpdk-eno1 type=dpdk options:dpdk-devargs=0000:01:00.0 options:n_rxq=6 options:n_txq=6 other_config:pmd-rxq-affinity=0:2,1:2,2:2,3:22,4:22,5:22 -- set Interface dpdk-eno2 type=dpdk options:dpdk-devargs=0000:01:00.1 options:n_rxq=6 options:n_txq=6 other_config:pmd-rxq-affinity=0:4,1:4,2:4,3:24,4:24,5:24 # open_vswitch table root@tis0-cn2:~# ovs-vsctl list open_vswitch _uuid : ce971643-51d9-439d-aae3-f2556f781d41 bridges : [38ab85cf-5ddc-4596-8065-83948900b76d] cur_cfg : 4 datapath_types : [netdev, system] datapaths : {} db_version : "8.2.0" dpdk_initialized : true dpdk_version : "DPDK 20.11.0" external_ids : {hostname=tis0-cn2.tis.modulus.gr, rundir="/var/run/openvswitch", system-id="971bfb26-0f26-45af-8c84-14aa42ee74c7"} iface_types : [bareudp, dpdk, dpdkvhostuser, dpdkvhostuserclient, erspan, geneve, gre, gtpu, internal, ip6erspan, ip6gre, lisp, patch, stt, system, tap, vxlan] manager_options : [] next_cfg : 4 other_config : {dpdk-extra="-n 4", dpdk-hugepage-dir="/dev/hugepages", dpdk-init="true", dpdk-lcore-mask="0x200002", dpdk-socket-mem="2048,0", pmd-cpu-mask="0x1400014", vhost-sock-dir=vhosts} ovs_version : "2.15.0" ssl : [] statistics : {} system_type : debian system_version : [] # ovs-vsctl show root@tis0-cn2:~# ovs-vsctl show ce971643-51d9-439d-aae3-f2556f781d41 Bridge vswitch0 datapath_type: netdev Port vuplink0 Interface dpdk-eno1 type: dpdk options: {dpdk-devargs="0000:01:00.0", n_rxq="6", n_txq="6"} Interface dpdk-eno2 type: dpdk options: {dpdk-devargs="0000:01:00.1", n_rxq="6", n_txq="6"} Port vswitch0 Interface vswitch0 type: internal # dpif/show root@tis0-cn2:~# ovs-appctl dpif/show netdev@ovs-netdev: hit:67388 missed:17123 vswitch0: dpdk-eno1 1/2: (dpdk: configured_rx_queues=6, configured_rxq_descriptors=2048, configured_tx_queues=5, configured_txq_descriptors=2048, lsc_interrupt_mode=false, mtu=1500, requested_rx_queues=6, requested_rxq_descriptors=2048, requested_tx_queues=5, requested_txq_descriptors=2048, rx_csum_offload=false, tx_tso_offload=false) dpdk-eno2 2/3: (dpdk: configured_rx_queues=6, configured_rxq_descriptors=2048, configured_tx_queues=5, configured_txq_descriptors=2048, lsc_interrupt_mode=false, mtu=1500, requested_rx_queues=6, requested_rxq_descriptors=2048, requested_tx_queues=5, requested_txq_descriptors=2048, rx_csum_offload=false, tx_tso_offload=false) vlan3000 3/4: (tap) vlan3005 4/5: (tap) vswitch0 65534/1: (tap) # pmd-rxq-show root@tis0-cn2:~# ovs-appctl dpif-netdev/pmd-rxq-show pmd thread numa_id 0 core_id 2: isolated : true port: dpdk-eno1 queue-id: 0 (enabled) pmd usage: 0 % port: dpdk-eno1 queue-id: 1 (enabled) pmd usage: 0 % port: dpdk-eno1 queue-id: 2 (enabled) pmd usage: 0 % pmd thread numa_id 0 core_id 4: isolated : true port: dpdk-eno2 queue-id: 0 (enabled) pmd usage: 0 % port: dpdk-eno2 queue-id: 1 (enabled) pmd usage: 0 % port: dpdk-eno2 queue-id: 2 (enabled) pmd usage: 0 % pmd thread numa_id 0 core_id 22: isolated : true port: dpdk-eno1 queue-id: 3 (enabled) pmd usage: 0 % port: dpdk-eno1 queue-id: 4 (enabled) pmd usage: 0 % port: dpdk-eno1 queue-id: 5 (enabled) pmd usage: 0 % pmd thread numa_id 0 core_id 24: isolated : true port: dpdk-eno2 queue-id: 3 (enabled) pmd usage: 0 % port: dpdk-eno2 queue-id: 4 (enabled) pmd usage: 0 % port: dpdk-eno2 queue-id: 5 (enabled) pmd usage: 0 %