> Tests: > 6: OVS-DPDK - MFEX Autovalidator > 7: OVS-DPDK - MFEX Autovalidator Fuzzy > > Added a new directory to store the PCAP file used > in the tests and a script to generate the fuzzy traffic > type pcap to be used in fuzzy unit test.
Hi Amber, I don't have much to add here that Flavio and Eelco have already flagged. Looking forward to reviewing/testing the v5. Regards Ian > > Signed-off-by: Kumar Amber <kumar.am...@intel.com> > --- > tests/automake.mk | 5 +++++ > tests/pcap/fuzzy.py | 32 ++++++++++++++++++++++++++++++ > tests/pcap/mfex_test | Bin 0 -> 416 bytes > tests/system-dpdk.at | 46 +++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 83 insertions(+) > create mode 100755 tests/pcap/fuzzy.py > create mode 100644 tests/pcap/mfex_test > > diff --git a/tests/automake.mk b/tests/automake.mk > index 1a528aa39..532875971 100644 > --- a/tests/automake.mk > +++ b/tests/automake.mk > @@ -142,6 +142,11 @@ $(srcdir)/tests/fuzz-regression-list.at: > tests/automake.mk > echo "TEST_FUZZ_REGRESSION([$$basename])"; \ > done > $@.tmp && mv $@.tmp $@ > > +EXTRA_DIST += $(MFEX_AUTOVALIDATOR_TESTS) > +MFEX_AUTOVALIDATOR_TESTS = \ > + tests/pcap/mfex_test \ > + tests/pcap/fuzzy.py > + > OVSDB_CLUSTER_TESTSUITE_AT = \ > tests/ovsdb-cluster-testsuite.at \ > tests/ovsdb-execution.at \ > diff --git a/tests/pcap/fuzzy.py b/tests/pcap/fuzzy.py > new file mode 100755 > index 000000000..a8051ba2b > --- /dev/null > +++ b/tests/pcap/fuzzy.py > @@ -0,0 +1,32 @@ > +#!/usr/bin/python3 > +try: > + from scapy.all import * > +except ModuleNotFoundError as err: > + print(err + ": Scapy") > +import sys > +import os > + > +path = os.environ['OVS_DIR'] + "/tests/pcap/fuzzy" > +pktdump = PcapWriter(path, append=False, sync=True) > + > +for i in range(0, 2000): > + > + # Generate random protocol bases, use a fuzz() over the combined packet > for > full fuzzing. > + eth = Ether(src=RandMAC(), dst=RandMAC()) > + vlan = Dot1Q() > + ipv4 = IP(src=RandIP(), dst=RandIP()) > + ipv6 = IPv6(src=RandIP6(), dst=RandIP6()) > + udp = UDP() > + tcp = TCP() > + > + # IPv4 packets with fuzzing > + pktdump.write(fuzz(eth/ipv4/udp)) > + pktdump.write(fuzz(eth/ipv4/tcp)) > + pktdump.write(fuzz(eth/vlan/ipv4/udp)) > + pktdump.write(fuzz(eth/vlan/ipv4/tcp)) > + > + # IPv6 packets with fuzzing > + pktdump.write(fuzz(eth/ipv6/udp)) > + pktdump.write(fuzz(eth/ipv6/tcp)) > + pktdump.write(fuzz(eth/vlan/ipv6/udp)) > + pktdump.write(fuzz(eth/vlan/ipv6/tcp)) > \ No newline at end of file > diff --git a/tests/pcap/mfex_test b/tests/pcap/mfex_test > new file mode 100644 > index > 0000000000000000000000000000000000000000..1aac67b8d643ecb016c758cb > a4cc32212a80f52a > GIT binary patch > literal 416 > zcmca|c+)~A1{MYw`2U}Qff2}Q<eHVR>K`M68ITRa|G@yFii5$Gfk6YL%z>@uY&}o > | > z2s4N<1VH2&7y^V87$)XGOtD~MV$cFgfG~zBGGJ2#YtF$<F=a4i;9x8Q*<ZrSM6Uf > z > xK>KST_NTIwYriok6N4Vm)gX- > Q@<yO<!C`>c^{cp<7_5LgK^UuU{2>VS0RZ!RQ+EIW > > literal 0 > HcmV?d00001 > > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at > index 802895488..46eaea35a 100644 > --- a/tests/system-dpdk.at > +++ b/tests/system-dpdk.at > @@ -232,3 +232,49 @@ OVS_VSWITCHD_STOP(["\@does not exist. The Open > vSwitch kernel module is probably > \@EAL: No free hugepages reported in hugepages-1048576kB@d"]) > AT_CLEANUP > dnl > -------------------------------------------------------------------------- > + > +dnl > -------------------------------------------------------------------------- > +dnl Add standard DPDK PHY port > +AT_SETUP([OVS-DPDK - MFEX Autovalidator]) > +AT_KEYWORDS([dpdk]) > + > +OVS_DPDK_START() > + > +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=$OVS_DIR/tests/pcap/mfex_test,infinite_rx=1], [], > [stdout], [stderr]) > +AT_CHECK([ovs-vsctl show], [], [stdout]) > + > + > +AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], > [dnl > +Miniflow implementation set to autovalidator. > +]) > +sleep 5 > + > +dnl Clean up > +AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr]) > +AT_CLEANUP > +dnl > -------------------------------------------------------------------------- > + > +dnl > -------------------------------------------------------------------------- > +dnl Add standard DPDK PHY port > +AT_SETUP([OVS-DPDK - MFEX Autovalidator Fuzzy]) > +AT_KEYWORDS([dpdk]) > +AT_CHECK([$PYTHON3 $OVS_DIR/tests/pcap/fuzzy.py], [], [stdout]) > +OVS_DPDK_START() > + > +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=$OVS_DIR/tests/pcap/fuzzy,infinite_rx=1], [], > [stdout], [stderr]) > +AT_CHECK([ovs-vsctl show], [], [stdout]) > + > + > +AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], > [dnl > +Miniflow implementation set to autovalidator. > +]) > +sleep 20 > + > +dnl Clean up > +AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr]) > +AT_CLEANUP > +dnl > -------------------------------------------------------------------------- > -- > 2.25.1 > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev