On 9/15/22 19:28,  Ilya Maximets wrote:
> On 9/14/22 16:19, Simon Horman wrote:
> > From: Tianyu Yuan <[email protected]>
> >
> > Since dd9881ed55e6 ("tc: Fix stats dump when using same meter table")
> > rule stats update will ignore meter police. Correspondingly, the
> > reference stats of the test should also be modified to ensure the test
> > could pass correctly.
> >
> > Fixes: dd9881ed55e6 ("tc: Fix stats dump when using same meter table")
> > Signed-off-by: Tianyu Yuan <[email protected]>
> > Signed-off-by: Simon Horman <[email protected]>
> > ---
> >  tests/system-offloads-traffic.at | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tests/system-offloads-traffic.at
> > b/tests/system-offloads-traffic.at
> > index d9b815a5ddf4..24e49d42f589 100644
> > --- a/tests/system-offloads-traffic.at
> > +++ b/tests/system-offloads-traffic.at
> > @@ -264,7 +264,7 @@ NS_CHECK_EXEC([at_ns0], [echo "mark" | nc
> > $NC_EOF_OPT -u 10.1.1.2 5678 -p 6789])  done
> >
> >  AT_CHECK([ovs-appctl dpctl/dump-flows | grep "meter" |
> > DUMP_CLEAN_SORTED], [0], [dnl
> > -in_port(2),eth(macs),eth_type(0x0800),ipv4(proto=17,frag=no),
> > packets:10, bytes:330, used:0.001s, actions:meter(0),3
> > +in_port(2),eth(macs),eth_type(0x0800),ipv4(proto=17,frag=no),
> > +packets:1, bytes:33, used:0.001s, actions:meter(0),3
> 
> This looks very strange to me.  The test does send 10 packets.
> Why the flow should report only one?
> 
Thanks for your review Ilya.
The test does send 10 packets but 9 of them are dropped by
meter action. As we descript in commit (dd9881ed55e6), the
flow stats should not report the police stats. In this case, only
one packet passes the meter action and be used to update
flow stats.
> >  ])
> >
> >  AT_CHECK([ovs-ofctl -O OpenFlow13 meter-stats br0 | sed -e
> > 's/duration:[[0-9]].[[0-9]]*s/duration:0.001s/'], [0], [dnl
> 
> These meter stats are correctly reporting 11 packets, so the datapath flow
> should report 10 (+1 on the upcall), AFAIU.
> 
> Best regards, Ilya Maximets.

Attach the tc filter information when running this test:
filter protocol ip pref 3 flower chain 0
filter protocol ip pref 3 flower chain 0 handle 0x1
  dst_mac f0:00:00:01:01:02
  src_mac f0:00:00:01:01:01
  eth_type ipv4
  ip_proto udp
  ip_flags nofrag
  not_in_hw
        action order 1:  police 0x10000000 rate 0bit burst 0b mtu 64Kb 
pkts_rate 1 pkts_burst 1 action drop/pipe overhead 0b linklayer unspec
        ref 2 bind 1  installed 2 sec used 0 sec firstused 0 sec
        Action statistics:
        Sent 330 bytes 10 pkt (dropped 9, overlimits 9 requeues 0)
        backlog 0b 0p requeues 0

        action order 2: mirred (Egress Redirect to device ovs-p1) stolen
        index 8 ref 1 bind 1 installed 1 sec used 0 sec firstused 0 sec
        Action statistics:
        Sent 33 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
        backlog 0b 0p requeues 0
        cookie 8455fe4dcd4e3677d0ca43b42684d1a6
        no_percpu


Best regards,
Tianyu Yuan
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to