OVS DPDK Configuration Commands

Getting Started with Napatech Link-Virtualization™ Software

Platform
Napatech SmartNIC
Content Type
Getting Started Guide
Capture Software Version
Link-Virtualization™ Software 4.4

Napatech Link-Virtualization™ Software implements a multilayer virtual switch that can be configured using familiar Open vSwitch command syntax.

Configuration tasks most often use the following command line tools:
  • ovs-vsctl for configuring and querying the OVSDB database. Refer to the ovs-vsctl man page for detailed command syntax and additional information.
  • ovs-ofctl for managing and monitoring OpenFlow switches. Refer to the ovs-ofctl man page for detailed command syntax and additional information.

Refer to the Open vSwitch Documentation for further details.

Common ovs-vsctl bridge commands

Create a new bridge named br0.
ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
Delete the bridge named br0.
ovs-vsctl del-br br0
List bridges.
ovs-vsctl list-br

Common ovs-vsctl port commands

Add physical port dpdk0 to bridge br0.
ovs-vsctl add-port br0 dpdk0 -- set interface dpdk0 type=dpdk \
  options:dpdk-devargs=class=eth,mac=<xx:xx:xx:xx:xx:xx>
where:
xx:xx:xx:xx:xx:xx is the MAC of the physical port. Enter the command ntlog | grep mac to find the address of the physical port.
/opt/napatech3/bin/ntlog | grep mac
07/09/21 13:00:31.725158 |  18745 | INFO    | OSS | 2-baeb45d4 | Adapter 0: Intf 0 mac address: 00:0D:E9:07:9D:17
07/09/21 13:00:31.725171 |  18745 | INFO    | OSS | 2-baeb45d4 | Adapter 0: Intf 1 mac address: 00:0D:E9:07:9D:18
07/09/21 13:00:36.932503 |  18745 | INFO    | OSS | 2-baeb45d4 | Adapter 0: Interface state machine started in NT200A02_Mon0
Add virtual port dpdkvp0 to bridge br0.
ovs-vsctl add-port br0 dpdkvp0 -- set int dpdkvp0 type=dpdk \ 
  options:"dpdk-devargs=0000:XX:XX.5,representor=[5]"
where:

XX:XX is the PCI bus ID, found with the command lspci | grep Napatech.

List all ports on bridge br0.
ovs-vsctl list-ports br0
Note: The local bridge port is not included in this list.
Delete port dpdkvp1 from bridge br0.
ovs-vsctl del-port br0 dpdkvp1

Common ovs-ofctl Commands

Delete the flow rules from the flow table of br0.
ovs-ofctl del-flows br0
The generic template for adding a static flow table entry to a bridge.
ovs-ofctl add-flow <bridge> in_port=<port>,actions=<action>
Add a port-to-port flow rule.
ovs-ofctl add-flow br0 in_port=dpdk0,actions:output=dpdkvp0
Add a rule matching on input port and source IP address.
ovs-ofctl add-flow br0 \
  in_port=dpdk0,ip,udp,nw_src:16:0:0:0/24,actions:output=dpdkvp0
Configure a normal bridge mode with MAC learning.
ovs-ofctl add-flow br0 action=normal
Display all programmed flows.
ovs-ofctl dump-flows br0
Show information on bridge br0.
ovs-ofctl show br0