On Thu, Mar 19, 2026 at 9:50 PM Mark Michelson <[email protected]> wrote:

> Sorry, I acked v2 without realizing that a v3 was requested. That being
> said,
>
> Acked-by: Mark Michelson <[email protected]>
>
> On Thu, Mar 19, 2026 at 9:25 AM Dumitru Ceara <[email protected]> wrote:
> >
> > Since the commit cited in the "Fixes" below ovn-controller doesn't
> > update the in-memory configuration of the service monitors it runs when
> > the SB changes Service_Monitor fields that are not used as keys when
> > looking up the structures.
> >
> > This commits addresses it by moving the fields into the common
> > insert-or-update code path.
> >
> > Fixes: a0a5dd8ce56f ("controller: Store src_mac, src_ip in svc_monitor
> struct.")
> > Signed-off-by: Dumitru Ceara <[email protected]>
> > ---
> > V3:
> > - Addressed Ales' comment:
> >   - split this fix out to a separate commit
> > ---
> >  controller/pinctrl.c | 11 ++++++-----
> >  1 file changed, 6 insertions(+), 5 deletions(-)
> >
> > diff --git a/controller/pinctrl.c b/controller/pinctrl.c
> > index 35c42942f3..18b7b0df2e 100644
> > --- a/controller/pinctrl.c
> > +++ b/controller/pinctrl.c
> > @@ -7197,16 +7197,13 @@ sync_svc_monitors(struct ovsdb_idl_txn
> *ovnsb_idl_txn,
> >          if (!svc_mon) {
> >              svc_mon = xmalloc(sizeof *svc_mon);
> >              svc_mon->dp_key = dp_key;
> > -            svc_mon->input_port_key = input_port_key;
> >              svc_mon->port_key = port_key;
> >              svc_mon->proto_port = sb_svc_mon->port;
> >              svc_mon->ip = ip_addr;
> > -            svc_mon->src_ip = ip_addr_src;
> >              svc_mon->is_ip6 = !is_ipv4;
> >              svc_mon->state = SVC_MON_S_INIT;
> >              svc_mon->status = SVC_MON_ST_UNKNOWN;
> >              svc_mon->protocol = protocol;
> > -            svc_mon->type = mon_type;
> >
> >              smap_init(&svc_mon->options);
> >              svc_mon->interval =
> > @@ -7220,15 +7217,19 @@ sync_svc_monitors(struct ovsdb_idl_txn
> *ovnsb_idl_txn,
> >              svc_mon->n_success = 0;
> >              svc_mon->n_failures = 0;
> >
> > -            eth_addr_from_string(sb_svc_mon->src_mac,
> &svc_mon->src_mac);
> > -
> >              hmap_insert(&svc_monitors_map, &svc_mon->hmap_node, hash);
> >              ovs_list_push_back(&svc_monitors, &svc_mon->list_node);
> >              changed = true;
> >          }
> >
> >          svc_mon->sb_svc_mon = sb_svc_mon;
> > +
> > +        svc_mon->input_port_key = input_port_key;
> > +        svc_mon->src_ip = ip_addr_src;
> > +        svc_mon->type = mon_type;
> > +        eth_addr_from_string(sb_svc_mon->src_mac, &svc_mon->src_mac);
> >          svc_mon->ea = ea;
> > +
> >          if (!smap_equal(&svc_mon->options, &sb_svc_mon->options)) {
> >              smap_destroy(&svc_mon->options);
> >              smap_clone(&svc_mon->options, &sb_svc_mon->options);
> > --
> > 2.53.0
> >
>
>
Thank you Dumitru and Mark,

applied to main and backported all the way down to 45.03.

Regards,
Ales
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to