man. 28. aug. 2023, 14:16 skrev Ilya Maximets <[email protected]>: > On slow systems or at high testsuite concurrency sending 256 packets > can take more than 10 seconds. This is causing expiration of one of > the flows and a subsequent test failure. > > Use time warping instead to avoid the time dependency. > > Fixes: 21410ff800cc ("dpif-netdev: Fix dpif_netdev_flow_put.") > Reported-at: > https://mail.openvswitch.org/pipermail/ovs-discuss/2023-August/052623.html > Reported-by: Sangeetha Elumalai <[email protected]> > Signed-off-by: Ilya Maximets <[email protected]> > --- > tests/pmd.at | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) >
Debian also saw this failure in their riscv64 build [0] and the build passes with this patch [1]. Reviewed-By: Frode Nordahl <[email protected]> 0: https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=riscv64&ver=3.2.0-1&stamp=1693068090&raw=0 1: https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=riscv64&ver=3.2.0-2&stamp=1693251046&raw=0 -- Frode Nordahl diff --git a/tests/pmd.at b/tests/pmd.at > index 7c333a901..7bdaca9e7 100644 > --- a/tests/pmd.at > +++ b/tests/pmd.at > @@ -1355,18 +1355,22 @@ AT_CHECK([echo 'table=0,in_port=p1,ip,nw_dst= > 10.1.0.0/16 actions=ct(commit)' | d > ovs-ofctl --bundle replace-flows br0 -]) > AT_CHECK([ovs-appctl revalidator/wait]) > > +dnl Prevent flows from expiring. > +AT_CHECK([ovs-appctl time/stop]) > + > AT_CHECK([ovs-appctl netdev-dummy/receive p1 > 'ipv4(src=10.0.0.1,dst=10.1.0.2,proto=6),tcp(src=1,dst=2)']) > OVS_WAIT_UNTIL_EQUAL([ovs-appctl dpctl/dump-flows | sed 's/.*core: > [[0-9]]*//' | strip_xout_keep_actions], [ > recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst= > 10.1.0.2/255.255.0.0,frag=no), packets:0, bytes:0, used:never, > actions:ct(commit) > recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst= > 10.1.2.2/255.255.255.0,frag=no), packets:0, bytes:0, used:0.0s, > actions:ct(commit)]) > > -dnl Hold the prefix 10.1.2.2/24 by another 10s. > -AT_CHECK([ovs-appctl netdev-dummy/receive p1 > 'ipv4(src=10.0.0.1,dst=10.1.2.2,proto=6),tcp(src=1,dst=2)']) > dnl Send more 10.1.0.2 to make 10.1.0.0/16 tuple prepend 10.1.2.0/24 > tuple in the pvector of subtables. > for i in $(seq 0 256); do > AT_CHECK([ovs-appctl netdev-dummy/receive p1 > 'ipv4(src=10.0.0.1,dst=10.1.0.2,proto=6),tcp(src=1,dst=2)']) > done > > +dnl Warp time enough to trigger subtable optimization. > +AT_CHECK([ovs-appctl time/warp 500 2000], [0], [ignore]) > + > AT_CHECK([echo 'table=0,in_port=p1,ip,nw_dst=10.1.0.0/16 actions=p2' | > dnl > ovs-ofctl --bundle replace-flows br0 -]) > > -- > 2.40.1 > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
