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

Reply via email to