The CoPP test modifies a meter from drop=1 to drop=10, there are two issues with this change:
1) It takes some time for this change to propagate into OvS. 2) Depending on the timing the 10 packet limit might not fit into single pktps bucket. To address those issues lower the pktps to 5, this has lower chance for the bucket to overflow into the next second. Also wait for OvS to receive the meter update and the meter stats reset. One thing to note is that even with this change the test can still fail with more packets being allowed through than expected, however the chance is highly reduced. For comparison, the test was failing on ARM in ~1/5 of runs. After this change there wasn't single failure in a loop with 100 runs. Signed-off-by: Ales Musil <[email protected]> --- tests/system-ovn.at | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/system-ovn.at b/tests/system-ovn.at index 3a692e341..7f240fef0 100644 --- a/tests/system-ovn.at +++ b/tests/system-ovn.at @@ -7355,7 +7355,8 @@ rm -f reject.pcap # Let's update the meter NS_EXEC([sw01], [tcpdump -l -n -i sw01 icmp -Q in > reject.pcap &]) -check ovn-nbctl --may-exist --wait=hv meter-add acl-meter drop 10 pktps 0 +check ovn-nbctl --may-exist --wait=hv meter-add acl-meter drop 5 pktps 0 +OVS_WAIT_UNTIL([ovs-ofctl -O OpenFlow15 meter-stats br-int | grep -q packet_count:0]) ip netns exec sw01 scapy -H <<-EOF p = IP(src="192.168.1.2", dst="192.168.1.1") / UDP(dport = 12345) / Raw(b"X"*64) send (p, iface='sw01', loop = 0, verbose = 0, count = 40) @@ -7364,7 +7365,7 @@ EOF # 10pps OVS_WAIT_UNTIL([ n_reject=$(grep unreachable reject.pcap | wc -l) - test "${n_reject}" = "10" + test "${n_reject}" = "5" ]) kill $(pidof tcpdump) -- 2.43.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
