On 6/8/26 6:13 PM, Adrian Moreno via dev wrote: > The setup of this test includes, among other things, creating a pair of > veth ports and adding both ends to the same ovs bridge. > This is use as a loopback monitoring. Openflow flows are created to > send (truncated) traffic through one end, and drop everything that comes > from the other end. > > However, Openflow flows are created after wiring up the ports so there > is some time during which the bridge (br0) has "action=NORMAL" with both > ends of a veth pair connected to it. This could easily lead to a packet > loop if the kernel automatically generates any multicast traffic > (e.g: IPv6 NDP, IGMP MLD, etc) on those interfaces.
Hmm. Do we need the same change for the other test that seems to do the same thing: 'truncate and output to gre tunnel by simulated packets' ? > > I guess normally the test is quick enough to remove the default flow and > install the new ones, but I was running the test suite on a debug kernel > and reproduced the loop with considerable consistency. > > Fix it by removing the default flow before doing the non-conventional > loopback wiring. > > Signed-off-by: Adrian Moreno <[email protected]> > --- > tests/system-traffic.at | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/system-traffic.at b/tests/system-traffic.at > index f67e7d17a..4bb39f9e0 100644 > --- a/tests/system-traffic.at > +++ b/tests/system-traffic.at > @@ -2401,6 +2401,7 @@ NS_CHECK_EXEC([at_ns1], [ip link set dev p1 address > e6:66:c1:22:22:22]) > NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.1 e6:66:c1:11:11:11]) > > dnl Set up (p2 and ovs-p2) as loopback for verifying packet size Maybe update this comment saying why the flows are deleted here? Otherwise, the command seems a little out of place. > +AT_CHECK([ovs-ofctl del-flows br0]) > AT_CHECK([ip link add p2 type veth peer name ovs-p2]) > on_exit 'ip link del ovs-p2' > AT_CHECK([ip link set dev ovs-p2 up]) > @@ -2412,7 +2413,6 @@ dnl use this file as payload file for ncat > AT_CHECK([dd if=/dev/urandom of=payload200.bin bs=200 count=1 2> /dev/null]) > on_exit 'rm -f payload200.bin' > > -AT_CHECK([ovs-ofctl del-flows br0]) > AT_DATA([flows.txt], [dnl > > priority=99,in_port=1,actions=output(port=2,max_len=100),output(port=3,max_len=100) > priority=99,in_port=2,udp,actions=output(port=1,max_len=100) Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
