On Thu, May 15, 2025 at 3:32 PM Alexandra Rukomoinikova <arukomoinikova@k2.cloud> wrote:
> Added sorting for displaying mirror rules. > > Signed-off-by: Alexandra Rukomoinikova <arukomoinikova@k2.cloud> > --- > tests/ovn-nbctl.at | 15 +++++++++++---- > utilities/ovn-nbctl.c | 18 ++++++++++++++---- > 2 files changed, 25 insertions(+), 8 deletions(-) > > diff --git a/tests/ovn-nbctl.at b/tests/ovn-nbctl.at > index 7129ba004..447a0666f 100644 > --- a/tests/ovn-nbctl.at > +++ b/tests/ovn-nbctl.at > @@ -596,6 +596,9 @@ dnl Add same mirror rule for mirror > AT_CHECK([ovn-nbctl mirror-rule-add mirror2 150 'ip' mirror], [1], [], > [stderr]) > AT_CHECK([grep 'exists' stderr], [0], [ignore]) > > +check ovn-nbctl mirror-rule-add mirror2 200 'icmp' skip > +check ovn-nbctl mirror-rule-add mirror2 250 'tcp' mirror > + > AT_CHECK([ovn-nbctl mirror-list], [0], [dnl > mirror1: > Type : lport > @@ -610,13 +613,15 @@ mirror2: > Filter : to-lport > Rules : > 150 ip mirror > + 200 icmp skip > + 250 tcp mirror > > ]) > > dnl Add one more mirror rule to mirror > -check ovn-nbctl mirror-rule-add mirror2 200 'icmp' mirror > +check ovn-nbctl mirror-rule-add mirror2 350 'icmp' mirror > > -check ovn-nbctl mirror-rule-add mirror2 250 'icmp' skip > +check ovn-nbctl mirror-rule-add mirror2 300 'icmp' skip > > dnl Mirror rule attach mirror > mirrorrule1uuid=$(fetch_column nb:Mirror_rule _uuid name=mirror1) > @@ -630,10 +635,10 @@ mirrorr1uuid=$(fetch_column nb:Mirror _uuid > name=mirror1) > check_column "" nb:Mirror mirror_rule mirror_rule="mirrorr1uuid" > > dnl Delete mirror rule by priority > -check ovn-nbctl mirror-rule-del mirror2 200 > +check ovn-nbctl mirror-rule-del mirror2 350 > > dnl Remove the mirror rule by priority and match > -check ovn-nbctl mirror-rule-del mirror2 250 'icmp' > +check ovn-nbctl mirror-rule-del mirror2 300 'icmp' > > AT_CHECK([ovn-nbctl mirror-list], [0], [dnl > mirror1: > @@ -647,6 +652,8 @@ mirror2: > Filter : to-lport > Rules : > 150 ip mirror > + 200 icmp skip > + 250 tcp mirror > > ]) > > diff --git a/utilities/ovn-nbctl.c b/utilities/ovn-nbctl.c > index 6c484561a..33e789523 100644 > --- a/utilities/ovn-nbctl.c > +++ b/utilities/ovn-nbctl.c > @@ -8078,13 +8078,23 @@ nbctl_mirror_list(struct ctl_context *ctx) > mirror->index); > } > if (mirror->n_mirror_rules) { > + struct vector mirror_rules = > + VECTOR_EMPTY_INITIALIZER(const struct nbrec_mirror_rule > *); > + const struct nbrec_mirror_rule *mirror_rule; > + > + for (size_t i = 0; i < mirror->n_mirror_rules; i++) { > + vector_push(&mirror_rules, &mirror->mirror_rules[i]); > + } > + vector_qsort(&mirror_rules, rule_cmp); > + > ds_put_cstr(&ctx->output, " Rules :\n"); > - for (size_t j = 0; j < mirror->n_mirror_rules; j++) { > + VECTOR_FOR_EACH (&mirror_rules, mirror_rule) { > ds_put_format(&ctx->output, " %5"PRId64" %30s > %15s\n", > - mirror->mirror_rules[j]->priority, > - mirror->mirror_rules[j]->match, > - mirror->mirror_rules[j]->action); > + mirror_rule->priority, > + mirror_rule->match, > + mirror_rule->action); > } > + vector_destroy(&mirror_rules); > } > ds_put_cstr(&ctx->output, "\n"); > } > -- > 2.48.1 > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Thank you Alexandra, I have added the missing fixes tag and merged this into main. Regards, Ales _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev