On 17 Sep 2024, at 21:35, Mike Pattrick wrote:
> Previously updating mirror settings would not trigger a revalidation,
> this could result in impactful changes to mirrors taking a long time to
> take effect.
>
> This change sets need_revalidate whenever a setting is successfully set
> on a mirror.
>
> Fixes: ec7ceaed4f3e ("ofproto-dpif: Modularize mirror code.")
> Reported-at: https://issues.redhat.com/browse/FDP-788
> Tested-by: Kevin Traynor <[email protected]>
> Acked-by: Kevin Traynor <[email protected]>
> Signed-off-by: Mike Pattrick <[email protected]>
Change looks good to me. Should we backport this all the way down to 2.17?
Cheers,
Eelco
> ---
> ofproto/ofproto-dpif-mirror.c | 2 +-
> ofproto/ofproto-dpif.c | 10 ++++++++++
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/ofproto/ofproto-dpif-mirror.c b/ofproto/ofproto-dpif-mirror.c
> index 343b75f0e..45024580a 100644
> --- a/ofproto/ofproto-dpif-mirror.c
> +++ b/ofproto/ofproto-dpif-mirror.c
> @@ -265,7 +265,7 @@ mirror_set(struct mbridge *mbridge, void *aux, const char
> *name,
> {
> hmapx_destroy(&srcs_map);
> hmapx_destroy(&dsts_map);
> - return 0;
> + return ECANCELED;
> }
>
> /* XXX: Not sure if these need to be thread safe. */
> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> index fe034f971..7e300c3f9 100644
> --- a/ofproto/ofproto-dpif.c
> +++ b/ofproto/ofproto-dpif.c
> @@ -3669,6 +3669,16 @@ mirror_set__(struct ofproto *ofproto_, void *aux,
> s->n_dsts, s->src_vlans,
> bundle_lookup(ofproto, s->out_bundle),
> s->snaplen, s->out_vlan);
> +
> + if (!error) {
> + ofproto->backer->need_revalidate = REV_RECONFIGURE;
> + } else if (error == ECANCELED) {
> + /* The user requested a change that is identical to the current
> state,
> + * the reconfiguration is canceled, but don't log an error message
> + * about that. */
> + error = 0;
> + }
> +
> free(srcs);
> free(dsts);
> return error;
> --
> 2.43.5
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev