On Mon, Oct 6, 2025 at 6:02 PM Mark Michelson <[email protected]> wrote:
> Thanks Ales, > > Acked-by: Mark Michelson <[email protected]> > > On Mon, Oct 6, 2025 at 6:19 AM Ales Musil via dev > <[email protected]> wrote: > > > > The ovn_datapath lflow refs are currently used for logical router > > incremental processing. By not clearing them we can cause a race > > condition during parallel processing when the ref is used after > > being freed by a different thread. Ensure that the refs are cleared > > before we do full lflow recompute. > > > > Fixes: 9ec96d0d85b6 ("northd: Add and delete logical routers in en-lflow > engine node.") > > Signed-off-by: Ales Musil <[email protected]> > > --- > > northd/northd.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/northd/northd.c b/northd/northd.c > > index 147f28dd5..8efbf4553 100644 > > --- a/northd/northd.c > > +++ b/northd/northd.c > > @@ -19176,6 +19176,7 @@ lflow_reset_northd_refs(struct lflow_input > *lflow_input) > > struct ls_stateful_record *ls_stateful_rec; > > struct ovn_lb_datapaths *lb_dps; > > struct ovn_port *op; > > + const struct ovn_datapath *od; > > > > LR_STATEFUL_TABLE_FOR_EACH (lr_stateful_rec, > > lflow_input->lr_stateful_table) { > > @@ -19200,6 +19201,14 @@ lflow_reset_northd_refs(struct lflow_input > *lflow_input) > > HMAP_FOR_EACH (lb_dps, hmap_node, lflow_input->lb_datapaths_map) { > > lflow_ref_clear(lb_dps->lflow_ref); > > } > > + > > + HMAP_FOR_EACH (od, key_node, &lflow_input->lr_datapaths->datapaths) > { > > + lflow_ref_clear(od->datapath_lflows); > > + } > > + > > + HMAP_FOR_EACH (od, key_node, &lflow_input->ls_datapaths->datapaths) > { > > + lflow_ref_clear(od->datapath_lflows); > > + } > > } > > > > bool > > -- > > 2.51.0 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > Thank you Mark, I went ahead and merged this into main. Regards, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
