[ovs-dev] [PATCH v1] system-dpdk: Add test-cases for set and get commands for DPCLS and DPIF

Kumar Amber kumar.amber at intel.com
Mon Aug 23 08:55:43 UTC 2021


Added 2 separate test-cases for DPCLS and DPIF commands:

OVS-DPDK unit-tests:

  9: OVS-DPDK - DPIF Configuration
 10: OVS-DPDK - DPCLS Configuration

Also updated the validation docs for the same.

Signed-off-by: Kumar Amber <kumar.amber at intel.com>
---
 Documentation/topics/dpdk/bridge.rst | 14 ++++++++
 tests/system-dpdk.at                 | 54 ++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+)

diff --git a/Documentation/topics/dpdk/bridge.rst b/Documentation/topics/dpdk/bridge.rst
index f645b9ade..4ee61a6f2 100644
--- a/Documentation/topics/dpdk/bridge.rst
+++ b/Documentation/topics/dpdk/bridge.rst
@@ -249,6 +249,13 @@ implementation ::
 Compile OVS in debug mode to have `ovs_assert` statements error out if
 there is a mis-match in the DPCLS lookup implementation.
 
+The DPCLS commands can also be tested to verify that the DPCLS set command does
+not allow for incorrect parameters. A user can directly run the following
+configuration test-case in tests/system-dpdk.at ::
+
+    make check-dpdk TESTSUITEFLAGS='-k DPCLS'
+    OVS-DPDK - DPCLS Configuration
+
 Datapath Interface Performance
 ------------------------------
 
@@ -291,6 +298,13 @@ is used ::
 
     checking whether DPIF AVX512 is default implementation... yes
 
+The DPIF commands can also be tested to verify that the DPIF set command does
+not allow for incorrect parameters. A user can directly run the following
+configuration test-case in tests/system-dpdk.at ::
+
+    make check-dpdk TESTSUITEFLAGS='-k DPIF'
+    OVS-DPDK - DPIF Configuration
+
 Miniflow Extract
 ----------------
 
diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index e0e750fde..1776d63f4 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -392,3 +392,57 @@ dnl Clean up
 AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
 AT_CLEANUP dnl
 dnl --------------------------------------------------------------------------
+
+dnl --------------------------------------------------------------------------
+AT_SETUP([OVS-DPDK - DPIF Configuration])
+AT_KEYWORDS([dpdk])
+OVS_DPDK_START()
+AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xC])
+dnl Add userspace bridge and attach it to OVS
+AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
+AT_CHECK([ovs-vsctl add-port br0 p1 -- set Interface p1 type=dpdk options:dpdk-devargs=net_pcap1,rx_pcap=$srcdir/pcap/mfex_test.pcap,infinite_rx=1], [], [stdout], [stderr])
+AT_CHECK([ovs-vsctl show], [], [stdout])
+
+AT_CHECK([ovs-appctl dpif-netdev/dpif-impl-get], [], [stdout])
+
+AT_CHECK([ovs-appctl dpif-netdev/dpif-impl-set dpif_avx512], [0], [dnl
+DPIF implementation set to dpif_avx512.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/dpif-impl-set dpif_scalar], [0], [dnl
+DPIF implementation set to dpif_scalar.
+])
+
+dnl Clean up
+AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
+AT_CLEANUP
+dnl --------------------------------------------------------------------------
+
+dnl --------------------------------------------------------------------------
+AT_SETUP([OVS-DPDK - DPCLS Configuration])
+AT_KEYWORDS([dpdk])
+OVS_DPDK_START()
+AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xC])
+dnl Add userspace bridge and attach it to OVS
+AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
+AT_CHECK([ovs-vsctl add-port br0 p1 -- set Interface p1 type=dpdk options:dpdk-devargs=net_pcap1,rx_pcap=$srcdir/pcap/mfex_test.pcap,infinite_rx=1], [], [stdout], [stderr])
+AT_CHECK([ovs-vsctl show], [], [stdout])
+
+AT_CHECK([ovs-appctl dpif-netdev/subtable-lookup-prio-get], [], [stdout])
+
+AT_CHECK([ovs-appctl dpif-netdev/subtable-lookup-prio-set autovalidator 3], [0], [dnl
+Lookup priority change affected 1 dpcls ports and 2 subtables.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/subtable-lookup-prio-set generic 4], [0], [dnl
+Lookup priority change affected 1 dpcls ports and 2 subtables.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/subtable-lookup-prio-set avx512_gather 5], [0], [dnl
+Lookup priority change affected 1 dpcls ports and 2 subtables.
+])
+
+dnl Clean up
+AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
+AT_CLEANUP
+dnl --------------------------------------------------------------------------
-- 
2.25.1



More information about the dev mailing list