On Tue, Dec 16, 2025 at 7:44 PM Mark Michelson via dev < [email protected]> wrote:
> We were passing the lflow_table, but the only part of the lflow table we > needed was the dp_groups, so just pass that instead. > > Signed-off-by: Mark Michelson <[email protected]> > --- > northd/lflow-mgr.c | 33 ++++++++++++++++++++------------- > 1 file changed, 20 insertions(+), 13 deletions(-) > > diff --git a/northd/lflow-mgr.c b/northd/lflow-mgr.c > index 073edf96d..f1273db19 100644 > --- a/northd/lflow-mgr.c > +++ b/northd/lflow-mgr.c > @@ -91,7 +91,7 @@ static bool lflow_ref_sync_lflows__( > const struct sbrec_logical_dp_group_table *); > static bool sync_lflow_to_sb(struct ovn_lflow *, > struct ovsdb_idl_txn *ovnsb_txn, > - struct lflow_table *, > + struct hmap *dp_groups, > const struct ovn_datapaths *datapaths, > bool ovn_internal_version_changed, > const struct sbrec_logical_flow *sbflow, > @@ -287,12 +287,15 @@ lflow_table_sync_to_sb(struct lflow_table > *lflow_table, > > &lflow->sb_uuid); > } > const struct ovn_datapaths *datapaths; > + struct hmap *dp_groups; > if (ovn_stage_to_datapath_type(lflow->stage) == DP_SWITCH) { > datapaths = ls_datapaths; > + dp_groups = &lflow_table->ls_dp_groups; > } else { > datapaths = lr_datapaths; > + dp_groups = &lflow_table->lr_dp_groups; > } > - sync_lflow_to_sb(lflow, ovnsb_txn, lflow_table, datapaths, > + sync_lflow_to_sb(lflow, ovnsb_txn, dp_groups, datapaths, > ovn_internal_version_changed, > sbflow, dpgrp_table); > uuidset_insert(&sb_uuid_set, &lflow->sb_uuid); > @@ -359,8 +362,15 @@ lflow_table_sync_to_sb(struct lflow_table > *lflow_table, > sbflow->controller_meter, sbflow->hash); > if (lflow) { > const struct ovn_datapaths *datapaths; > - datapaths = dp_type == DP_SWITCH ? ls_datapaths : > lr_datapaths; > - sync_lflow_to_sb(lflow, ovnsb_txn, lflow_table, datapaths, > + struct hmap *dp_groups; > + if (dp_type == DP_SWITCH) { > + datapaths = ls_datapaths; > + dp_groups = &lflow_table->ls_dp_groups; > + } else { > + datapaths = lr_datapaths; > + dp_groups = &lflow_table->lr_dp_groups; > + } > + sync_lflow_to_sb(lflow, ovnsb_txn, dp_groups, datapaths, > ovn_internal_version_changed, > sbflow, dpgrp_table); > > @@ -377,12 +387,15 @@ lflow_table_sync_to_sb(struct lflow_table > *lflow_table, > break; > } > const struct ovn_datapaths *datapaths; > + struct hmap *dp_groups; > if (ovn_stage_to_datapath_type(lflow->stage) == DP_SWITCH) { > datapaths = ls_datapaths; > + dp_groups = &lflow_table->ls_dp_groups; > } else { > datapaths = lr_datapaths; > + dp_groups = &lflow_table->lr_dp_groups; > } > - sync_lflow_to_sb(lflow, ovnsb_txn, lflow_table, datapaths, > + sync_lflow_to_sb(lflow, ovnsb_txn, dp_groups, datapaths, > ovn_internal_version_changed, NULL, dpgrp_table); > > hmap_remove(lflows, &lflow->hmap_node); > @@ -1056,7 +1069,7 @@ do_ovn_lflow_add(struct lflow_table *lflow_table, > size_t dp_bitmap_len, > static bool > sync_lflow_to_sb(struct ovn_lflow *lflow, > struct ovsdb_idl_txn *ovnsb_txn, > - struct lflow_table *lflow_table, > + struct hmap *dp_groups, > const struct ovn_datapaths *datapaths, > bool ovn_internal_version_changed, > const struct sbrec_logical_flow *sbflow, > @@ -1064,15 +1077,9 @@ sync_lflow_to_sb(struct ovn_lflow *lflow, > { > struct sbrec_logical_dp_group *sbrec_dp_group = NULL; > struct ovn_dp_group *pre_sync_dpg = lflow->dpg; > - struct hmap *dp_groups; > size_t n_datapaths; > > n_datapaths = ods_size(datapaths); > - if (ovn_stage_to_datapath_type(lflow->stage) == DP_SWITCH) { > - dp_groups = &lflow_table->ls_dp_groups; > - } else { > - dp_groups = &lflow_table->lr_dp_groups; > - } > > size_t n_ods = dynamic_bitmap_count1(&lflow->dpg_bitmap); > ovs_assert(n_ods); > @@ -1348,7 +1355,7 @@ lflow_ref_sync_lflows__(struct lflow_ref *lflow_ref, > size_t n_ods = dynamic_bitmap_count1(&lflow->dpg_bitmap); > > if (n_ods) { > - if (!sync_lflow_to_sb(lflow, ovnsb_txn, lflow_table, > datapaths, > + if (!sync_lflow_to_sb(lflow, ovnsb_txn, dp_groups, datapaths, > ovn_internal_version_changed, sblflow, > dpgrp_table)) { > return false; > -- > 2.51.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Looks good to me, thanks. Acked-by: Ales Musil <[email protected]> It also seems like CI had some infra issues, let's try it again: Recheck-request: github-robot-_Build_and_Test _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
