On Wed, May 19, 2021 at 12:26:40PM +0200, Ilya Maximets wrote: > On 5/19/21 5:26 AM, Martin Varghese wrote: > > On Tue, May 18, 2021 at 10:03:39PM +0200, Ilya Maximets wrote: > >> On 5/17/21 3:45 PM, Martin Varghese wrote: > >>> From: Martin Varghese <martin.vargh...@nokia.com> > >>> > >>> When a decap action is applied on NSH header encapsulatiing a > >>> ethernet packet a redundant set mac address action is programmed > >>> to the datapath. > >>> > >>> Fixes: f839892a206a ("OF support and translation of generic encap and > >>> decap") > >>> Signed-off-by: Martin Varghese <martin.vargh...@nokia.com> > >>> Acked-by: Jan Scheurich <jan.scheur...@ericsson.com> > >>> Acked-by: Eelco Chaudron <echau...@redhat.com> > >>> --- > >>> Changes in v2: > >>> - Fixed code styling > >>> - Added Ack from jan.scheur...@ericsson.com > >>> - Added Ack from echau...@redhat.com > >>> > >> > >> Hi, Martin. > >> For some reason this patch triggers frequent failures of the following > >> unit test: > >> > >> 2314. packet-type-aware.at:619: testing ptap - L3 over patch port > >> ...
The test is failing as, during revalidation, NORMAL action is dropping packets. With these changes, the mac address in flow structures get cleared with decap action. Hence the NORMAL action drops the packet assuming a loop (SRC and DST mac address are zero). I assume NORMAL action handling in xlate_push_stats_entry is not adapted for l3 packet. The timing at which revalidator gets triggered explains the sporadicity of the issue. The issue is never seen as the MAC addresses in flow structure were not cleared with decap before. So can we use NORMAL action with a L3 packet ? Does OVS handle all the L3 use cases with Normal action ? If not, shouldn't we not use NORMAL action in this test case Comments? > >> stdout: > >> warped > >> ./packet-type-aware.at:726: > >> ovs-appctl dpctl/dump-flows --names dummy@ovs-dummy | strip_used | > >> grep -v ipv6 | sort > >> > >> --- - 2021-05-18 21:57:56.810513366 +0200 > >> +++ > >> /home/i.maximets/work/git/ovs/tests/testsuite.dir/at-groups/2314/stdout > >> 2021-05-18 21:57:56.806609814 +0200 > >> @@ -1,3 +1,3 @@ > >> flow-dump from the main thread: > >> -recirc_id(0),in_port(n0),packet_type(ns=0,id=0),eth(src=3a:6d:d2:09:9c:ab,dst=1e:2c:e9:2a:66:9e),eth_type(0x0800),ipv4(tos=0/0x3,frag=no), > >> packets:1, bytes:98, used:0.0s, > >> actions:pop_eth,clone(tnl_push(tnl_port(gre_sys),header(size=38,type=3,eth(dst=de:af:be:ef:ba:be,src=aa:55:00:00:00:02,dl_type=0x0800),ipv4(src=10.0.0.1,dst=10.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(br2)),n2) > >> +recirc_id(0),in_port(n0),packet_type(ns=0,id=0),eth(src=3a:6d:d2:09:9c:ab,dst=1e:2c:e9:2a:66:9e),eth_type(0x0800),ipv4(tos=0/0x3,frag=no), > >> packets:1, bytes:98, used:0.0s, actions:drop > >> > >> > >> It fails very frequently in GitHub Actions, but it's harder to make it fail > >> on my local machine. Following change to the test allows to reproduce the > >> failure almost always on my local machine: > >> > >> diff --git a/tests/packet-type-aware.at b/tests/packet-type-aware.at > >> index 540cf98f3..01dbc8030 100644 > >> --- a/tests/packet-type-aware.at > >> +++ b/tests/packet-type-aware.at > >> @@ -721,7 +721,7 @@ AT_CHECK([ > >> ovs-appctl netdev-dummy/receive n0 > >> 1e2ce92a669e3a6dd2099cab0800450000548a83400040011aadc0a80a0ac0a80a1e0800b7170a4d0002fd509a5800000000de1c020000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637 > >> ], [0], [ignore]) > >> > >> -ovs-appctl time/warp 1000 > >> +ovs-appctl time/warp 1000 100 > >> > >> AT_CHECK([ > >> ovs-appctl dpctl/dump-flows --names dummy@ovs-dummy | strip_used | > >> grep -v ipv6 | sort > >> -- > >> > >> Without your patch I can not make it fail locally even with above wrapping > >> change applied. > >> > >> Could you, please, take a look? > >> > > > > Hi Ilya > > > > Travis CI was good. i will rebase & try again > > https://travis-ci.org/github/martinpattara/ovs/builds/770919003 > > Travis has only one job with tests enabled and it tests on arm. > GitHub Actions (which is our main CI now) wasn't good: > https://github.com/martinpattara/ovs/runs/2567454405 > > Best regards, Ilya Maximets. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev