> 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
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev