> On Tue, Jul 13, 2021 at 12:00:13PM -0700, Ben Pfaff wrote: > > On Sat, Jul 10, 2021 at 02:56:53PM +0200, Lorenzo Bianconi wrote: > > > ack, no worries. I folded the patch here: > > > https://github.com/LorenzoBianconi/ovn/tree/CoPP-v7 > > > > > > however CoPP tests available in system-ovn.at and for > > > ovn-northd/ovn-controller > > > are failing with DDlog. Can you please double check if you are facing the > > > same > > > issues? > > > > I didn't run the system-ovn.at tests, but the ones for ovn-northd and > > ovn-controller are embarrassing. Sorry about that. I'll fix them, and > > I'll see if I can get the system-ovn tests set up and run here. > > Here's a fix to fold in. With this, I get failures in the following > tests. I'm going to assume that this isn't related since all the > versions of the same test fail: > > 539: Symmetric IPv6 ECMP reply flows -- ovn-northd -- dp-groups=yes FAILED > (ovn.at:23254) > 540: Symmetric IPv6 ECMP reply flows -- ovn-northd -- dp-groups=no FAILED > (ovn.at:23254) > 541: Symmetric IPv6 ECMP reply flows -- ovn-northd-ddlog -- dp-groups=yes > FAILED (ovn.at:23254) > 542: Symmetric IPv6 ECMP reply flows -- ovn-northd-ddlog -- dp-groups=no > FAILED (ovn.at:23254) > > I still haven't set up the system-ovn tests. It's on my to-do list.
Hi Ben, thx a lot for the fix. Adding a small change system-ovn tests are fine now. I posted v7 squashing your changes. Regards, Lorenzo > > -8<--------------------------cut here-------------------------->8-- > > ovn-northd-ddlog: Fix CoPP behavior. > > In ovn_northd.dl, the new 'controller_meter' column needs to be > included in the row UUID, otherwise replacing a row with one that is > identical except for controller_meter will fail with an ovsdb-server > transaction error. > > In ovn-controller.at, it's necessary to wait for flow table updates. > --- > northd/ovn_northd.dl | 4 ++-- > tests/ovn-controller.at | 6 +++--- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/northd/ovn_northd.dl b/northd/ovn_northd.dl > index d7b54be85644..71e868f05db2 100644 > --- a/northd/ovn_northd.dl > +++ b/northd/ovn_northd.dl > @@ -1697,7 +1697,7 @@ for (f in AggregatedFlow()) { > if (f.logical_datapaths.size() == 1) { > Some{var dp} = f.logical_datapaths.nth(0) in > sb::Out_Logical_Flow( > - ._uuid = hash128((dp, f.stage, f.priority, f.__match, f.actions, > f.external_ids)), > + ._uuid = hash128((dp, f.stage, f.priority, f.__match, f.actions, > f.controller_meter, f.external_ids)), > .logical_datapath = Some{dp}, > .logical_dp_group = None, > .pipeline = pipeline, > @@ -1710,7 +1710,7 @@ for (f in AggregatedFlow()) { > } else { > var group_uuid = hash128(f.logical_datapaths) in { > sb::Out_Logical_Flow( > - ._uuid = hash128((group_uuid, f.stage, f.priority, > f.__match, f.actions, f.external_ids)), > + ._uuid = hash128((group_uuid, f.stage, f.priority, > f.__match, f.actions, f.controller_meter, f.external_ids)), > .logical_datapath = None, > .logical_dp_group = Some{group_uuid}, > .pipeline = pipeline, > diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at > index 475528623b5c..e317b70aa55f 100644 > --- a/tests/ovn-controller.at > +++ b/tests/ovn-controller.at > @@ -632,19 +632,19 @@ check ovn-nbctl ls-lb-add ls1 lb1 > > # controller-event metering > check ovn-nbctl meter-add event-elb drop 100 pktps 10 > -check ovn-nbctl ls-copp-add ls1 event-elb event-elb > +check ovn-nbctl --wait=hv ls-copp-add ls1 event-elb event-elb > > AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep > userdata=00.00.00.0f | grep -q meter_id=1]) > > # reject metering > check ovn-nbctl meter-add acl-meter drop 1 pktps 0 > check ovn-nbctl ls-copp-add ls1 reject acl-meter > -check ovn-nbctl acl-add ls1 from-lport 1002 'inport == "lsp1" && ip && udp' > reject > +check ovn-nbctl --wait=hv acl-add ls1 from-lport 1002 'inport == "lsp1" && > ip && udp' reject > AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep > userdata=00.00.00.16 | grep -q meter_id=2]) > > # arp metering > check ovn-nbctl meter-add arp-meter drop 200 pktps 0 > -check ovn-nbctl lr-copp-add lr1 arp-resolve arp-meter > +check ovn-nbctl --wait=hv lr-copp-add lr1 arp-resolve arp-meter > AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep > userdata=00.00.00.00 | grep -q meter_id=3]) > > OVN_CLEANUP([hv1]) > -- > 2.31.1 > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev