Hi Eelco,
Thanks again for reviews . Please find my replies inline.
<Snip>
> > + tcp = TCP(dport=RandShort(), sport=RandShort(), flags='S',
> > + dataofs=random.randint(0, 15))
>
> Maybe a new line before the command, as it was before.
>
Fixed in next version.
> > + # IPv4 packets with fuzzing
> > + pkt.append(fuzz(eth / ipv4 / udp))
> > + pkt.append(fuzz(eth / ipv4 / tcp))
> > + pkt.append(fuzz(eth / vlan / ipv4 / udp))
> > + pkt.append(fuzz(eth / vlan / ipv4 / tcp))
> > +
> > + # IPv6 packets with fuzzing
> > + pkt.append(fuzz(eth / ipv6 / udp))
> > + pkt.append(fuzz(eth / ipv6 / tcp))
> > + pkt.append(fuzz(eth / vlan / ipv6 / udp))
> > + pkt.append(fuzz(eth / vlan / ipv6 / tcp))
> > +
> > + else:
> > + mac_addr = "52:54:00:FF:FF:%02x" % (random.randint(0, 255),)
> > + src_port = random.randrange(600, 800)
> > + dst_port = random.randrange(800, 1000)
>
> MAC and ports are still random, they should be fixed also for replication
> purposes.
>
Have a fixed mac and l4 ports in next version.
> > + eth = Ether(src=mac_addr, dst=mac_addr)
> > + vlan = Dot1Q(vlan=random.randrange(1, 20))
>
> Should be a fixed range, not random.
>
Done something like that if this is what you expect:
vlan = Dot1Q(vlan=(i % 10))
> > + udp = UDP(dport=src_port, sport=dst_port)
> > + ipv4 = IP(src=RandIP()._fix(), dst=RandIP()._fix())
> > + ipv6 = IPv6(src=RandIP6()._fix(), dst=RandIP6()._fix())
>
> Why use _fix()? We should use fixed IP ranges, _fix to me sound like we are
> using a private function?
> You should build the src/dst using the i variable.
Same as vlan:
ipv4_addr = "192.168.150." + str((i % 255))
ipv6_addr = "2001:0db8:85a3:0000:0000:8a2e:0370:" + str(i)
>
> > + tcp = TCP(dport=src_port, sport=dst_port, flags='S')
>
> Maybe a new line before the command, as it was before.
>
> > + # IPv4 packets
> > + pkt.append(eth / ipv4 / udp)
> > + pkt.append(eth / ipv4 / tcp)
> > + pkt.append(eth / vlan / ipv4 / udp)
> > + pkt.append(eth / vlan / ipv4 / tcp)
> > +
> > + # IPv6 packets
> > + pkt.append(eth / ipv6 / udp)
> > + pkt.append(eth / ipv6 / tcp)
> > + pkt.append(eth / vlan / ipv6 / udp)
> > + pkt.append(eth / vlan / ipv6 / tcp)
> > +
> > +pktdump.write(pkt)
> > diff --git a/tests/pcap/mfex_test.pcap b/tests/pcap/mfex_test.pcap
> > deleted file mode 100644 index
> >
> 1aac67b8d643ecb016c758cba4cc32212a80f52a..000000000000000000000000
> 0000
> > 000000000000
> > GIT binary patch
> > literal 0
> > HcmV?d00001
> >
> > 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*<ZrSM6
> Ufz
> > xK>KST_NTIwYriok6N4Vm)gX-
> Q@<yO<!C`>c^{cp<7_5LgK^UuU{2>VS0RZ!RQ+EIW
> >
> > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index
> > 7d2715c4a..6b7d73a68 100644
> > --- a/tests/system-dpdk.at
> > +++ b/tests/system-dpdk.at
> > @@ -226,17 +226,19 @@ dnl
> > ----------------------------------------------------------------------
> > ----
> > dnl Add standard DPDK PHY port
> > AT_SETUP([OVS-DPDK - MFEX Autovalidator])
> > AT_KEYWORDS([dpdk])
> > -
> > +OVS_DPDK_PRE_CHECK()
> > 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=$srcdir/pcap/mfex_test.pcap,inf
> > inite_rx=1], [], [stdout], [stderr]) -AT_CHECK([ovs-vsctl show], [],
> > [stdout])
> > -
> > AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d |
> > grep "True"], [], [dnl
> > ])
> >
> > +AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> > +AT_CHECK([$PYTHON3 $srcdir/mfex_fuzzy.py $srcdir 2000], [], [stdout])
> > +
> > +dnl Add userspace bridge and attach it to OVS AT_CHECK([ovs-vsctl
> > +add-port br0 p1 -- set Interface p1 type=dpdk
> > +options:dpdk-devargs=net_pcap1,rx_pcap=$srcdir/pcap/fuzzy.pcap,infini
> > +te_rx=1], [], [stdout], [stderr]) AT_CHECK([ovs-vsctl show], [],
> > +[stdout])
> > +
> > AT_CHECK([ovs-appctl dpif-netdev/dpif-impl-set dpif_avx512], [0],
> > [dnl DPIF implementation set to dpif_avx512.
> > ])
> > @@ -245,11 +247,15 @@ AT_CHECK([ovs-appctl
> > dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl Miniflow extract
> implementation set to autovalidator.
> > ])
> >
> > -OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics | grep
> > -oP 'rx_packets=\s*\K\d+'` -ge 1000])
> > +OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics | grep
> > +-oP 'rx_packets=\s*\K\d+'` -ge 16000])
> >
> > dnl Clean up
> > AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
> > -OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
> > +OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
> > +\@upcall: datapath reached the dynamic limit of .* flows.@d
> > +\@received packet on unknown port .* on bridge br0 while processing@d
> > +\@upcall_cb failure: ukey installation fails@d
>
> Still not convinced we need these additional messages. I remember there
> was an earlier discussion around these (I think with Ilya), can you point me
> to
> the conclusion on this?
>
The discussion was for the "MFEX-fuzzy " which experiences context changes on
CPU
Mentioned below.
Sure the discussion are here :
https://mail.openvswitch.org/pipermail/ovs-dev/2022-March/392374.html
But I will remove these changes in fuzzy test for now as this patch holds
importance for us for testing IPv6
Patches and fuzzy topic can be delayed for now.
Regards
Amber
> > +])")
> > AT_CLEANUP
> > dnl
> > ----------------------------------------------------------------------
> > ----
> >
> > @@ -257,18 +263,19 @@ dnl
> > ----------------------------------------------------------------------
> > ----
> > dnl Add standard DPDK PHY port
> > AT_SETUP([OVS-DPDK - MFEX Autovalidator Fuzzy])
> > AT_KEYWORDS([dpdk])
> > -AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> > -AT_CHECK([$PYTHON3 $srcdir/mfex_fuzzy.py $srcdir], [], [stdout])
> > +OVS_DPDK_PRE_CHECK()
> > OVS_DPDK_START()
> > +AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0
> > +datapath_type=netdev]) AT_SKIP_IF([! ovs-appctl
> > +dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
> > +])
> > +
> > +AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> > +AT_CHECK([$PYTHON3 $srcdir/mfex_fuzzy.py $srcdir 2000 fuzzy], [],
> > +[stdout])
> >
> > 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/fuzzy.pcap,infinit
> > e_rx=1], [], [stdout], [stderr]) AT_CHECK([ovs-vsctl show], [],
> > [stdout])
> >
> > -AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d |
> > grep "True"], [], [dnl
> > -])
> > -
> > AT_CHECK([ovs-appctl dpif-netdev/dpif-impl-set dpif_avx512], [0],
> > [dnl DPIF implementation set to dpif_avx512.
> > ])
> > @@ -277,12 +284,18 @@ AT_CHECK([ovs-appctl
> > dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl Miniflow extract
> implementation set to autovalidator.
> > ])
> >
> > -OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics | grep
> > -oP 'rx_packets=\s*\K\d+'` -ge 100000])
> > +OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics | grep
> > +-oP 'rx_packets=\s*\K\d+'` -ge 16000])
> >
> > dnl Clean up
> > AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
> > OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
> > \@upcall: datapath reached the dynamic limit of .* flows.@d
> > +\@received packet on unknown port .* on bridge br0 while processing@d
> > +\@upcall_cb failure: ukey installation fails@d \@Unreasonably long .*
> > +poll interval@d \@context switches: .* voluntary, .* involuntary@d
> > +\@faults: .* minor, .* major@d
> > +\@upcall_cb failure: ukey installation fails@d
>
> See aboveā¦
These warning were seen due to context changes on CPU CI.
\@upcall_cb failure: ukey installation fails@d \@Unreasonably long .*
poll interval@d \@context switches: .* voluntary, .* involuntary@d
faults: .* minor, .* major@d
Regards
Amber
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev