Skip to content

Commit

Permalink
ci: Allow make check-dpdk to run the MFEX tests.
Browse files Browse the repository at this point in the history
Currently, if you use the python/test_requirements.txt file to
set up your test environment the MFEX tests will be skipped due
to the Scapy package not being included. This is fixed as part
of this patch.

The test case change will make sure the 'MFEX Configuration' test
will run without the need for Scapy and its auto-generated tests.

In addition, we exclude the traffic-related MFEX tests from running
on GitHub actions due to limited resources.

Signed-off-by: Eelco Chaudron <[email protected]>
Acked-by: Simon Horman <[email protected]>
  • Loading branch information
chaudron committed Dec 20, 2023
1 parent 26ffd19 commit 67c53a8
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .ci/dpdk-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ function build_dpdk()
# any DPDK driver.
# check-dpdk unit tests requires testpmd and some net/ driver.
DPDK_OPTS="$DPDK_OPTS -Denable_apps=test-pmd"
enable_drivers="net/null,net/af_xdp,net/tap,net/virtio"
enable_drivers="net/null,net/af_xdp,net/tap,net/virtio,net/pcap"
DPDK_OPTS="$DPDK_OPTS -Denable_drivers=$enable_drivers"

# Install DPDK using prefix.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
build-dpdk:
env:
dependencies: gcc libbpf-dev libnuma-dev ninja-build pkgconf
dependencies: gcc libbpf-dev libnuma-dev libpcap-dev ninja-build pkgconf
CC: gcc
DPDK_GIT: https://dpdk.org/git/dpdk-stable
DPDK_VER: 22.11.1
Expand Down
1 change: 1 addition & 0 deletions python/test_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ netaddr
pyftpdlib
pyparsing
pytest
scapy
tftpy
6 changes: 3 additions & 3 deletions tests/system-dpdk.at
Original file line number Diff line number Diff line change
Expand Up @@ -819,6 +819,7 @@ dnl --------------------------------------------------------------------------
dnl MFEX Autovalidator
AT_SETUP([OVS-DPDK - MFEX Autovalidator])
AT_KEYWORDS([dpdk])
OVS_CHECK_GITHUB_ACTION()
OVS_DPDK_PRE_CHECK()
OVS_DPDK_START([--no-pci])
AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
Expand Down Expand Up @@ -852,6 +853,7 @@ dnl --------------------------------------------------------------------------
dnl MFEX Autovalidator Fuzzy
AT_SETUP([OVS-DPDK - MFEX Autovalidator Fuzzy])
AT_KEYWORDS([dpdk])
OVS_CHECK_GITHUB_ACTION()
OVS_DPDK_PRE_CHECK()
OVS_DPDK_START([--no-pci])
AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
Expand Down Expand Up @@ -886,13 +888,11 @@ dnl --------------------------------------------------------------------------
AT_SETUP([OVS-DPDK - MFEX Configuration])
AT_KEYWORDS([dpdk])
OVS_DPDK_PRE_CHECK()
AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
AT_CHECK([$PYTHON3 $srcdir/mfex_fuzzy.py test_traffic.pcap 1], [], [stdout])
OVS_DPDK_START([--no-pci])
AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0x1])
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=test_traffic.pcap,infinite_rx=1], [], [stdout], [stderr])
AT_CHECK([ovs-vsctl add-port br0 p1 -- set Interface p1 type=dpdk options:dpdk-devargs=net_null0,no-rx=1], [], [stdout], [stderr])
AT_CHECK([ovs-vsctl show], [], [stdout])

AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set scalar 1], [2],
Expand Down

0 comments on commit 67c53a8

Please sign in to comment.