Skip to content

Commit 696acce

Browse files
committed
northd: Remove lr_list from en_northd data.
This structure is redundant since we already have the lr_datapaths that store the same set of ovn_datapaths. Signed-off-by: Mark Michelson <mmichels@redhat.com> Acked-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Acked-by: Dumitru Ceara <dceara@redhat.com> Acked-by: Ales Musil <amusil@redhat.com>
1 parent 94fba1c commit 696acce

2 files changed

Lines changed: 12 additions & 20 deletions

File tree

northd/northd.c

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -884,8 +884,7 @@ join_datapaths(const struct nbrec_logical_switch_table *nbrec_ls_table,
884884
const struct sbrec_datapath_binding_table *sbrec_dp_table,
885885
struct ovsdb_idl_txn *ovnsb_txn,
886886
struct hmap *datapaths, struct ovs_list *sb_only,
887-
struct ovs_list *nb_only, struct ovs_list *both,
888-
struct ovs_list *lr_list)
887+
struct ovs_list *nb_only, struct ovs_list *both)
889888
{
890889
ovs_list_init(sb_only);
891890
ovs_list_init(nb_only);
@@ -986,7 +985,6 @@ join_datapaths(const struct nbrec_logical_switch_table *nbrec_ls_table,
986985
od->dynamic_routing_redistribute =
987986
parse_dynamic_routing_redistribute(&od->nbr->options, DRRM_NONE,
988987
od->nbr->name);
989-
ovs_list_push_back(lr_list, &od->lr_list);
990988
}
991989
}
992990

@@ -1079,14 +1077,13 @@ build_datapaths(struct ovsdb_idl_txn *ovnsb_txn,
10791077
const struct nbrec_logical_router_table *nbrec_lr_table,
10801078
const struct sbrec_datapath_binding_table *sbrec_dp_table,
10811079
struct ovn_datapaths *ls_datapaths,
1082-
struct ovn_datapaths *lr_datapaths,
1083-
struct ovs_list *lr_list)
1080+
struct ovn_datapaths *lr_datapaths)
10841081
{
10851082
struct ovs_list sb_only, nb_only, both;
10861083

10871084
struct hmap *datapaths = &ls_datapaths->datapaths;
10881085
join_datapaths(nbrec_ls_table, nbrec_lr_table, sbrec_dp_table, ovnsb_txn,
1089-
datapaths, &sb_only, &nb_only, &both, lr_list);
1086+
datapaths, &sb_only, &nb_only, &both);
10901087

10911088
/* Assign explicitly requested tunnel ids first. */
10921089
struct hmap dp_tnlids = HMAP_INITIALIZER(&dp_tnlids);
@@ -8922,7 +8919,7 @@ build_lrouter_groups__(struct hmap *lr_ports, struct ovn_datapath *od)
89228919
* each other either directly or indirectly (via transit logical switches
89238920
* in between).
89248921
*
8925-
* Suppose if 'lr_list' has lr0, lr1, lr2, lr3, lr4, lr5
8922+
* Suppose if 'lr_datapaths' has lr0, lr1, lr2, lr3, lr4, lr5
89268923
* and the topology is like
89278924
* sw0 <-> lr0 <-> sw1 <-> lr1 <->sw2 <-> lr2
89288925
* sw3 <-> lr3 <-> lr4 <-> sw5
@@ -8939,12 +8936,12 @@ build_lrouter_groups__(struct hmap *lr_ports, struct ovn_datapath *od)
89398936
* Each logical router can belong to only one group.
89408937
*/
89418938
static void
8942-
build_lrouter_groups(struct hmap *lr_ports, struct ovs_list *lr_list)
8939+
build_lrouter_groups(struct hmap *lr_ports, struct ovn_datapaths *lr_datapaths)
89438940
{
89448941
struct ovn_datapath *od;
8945-
size_t n_router_dps = ovs_list_size(lr_list);
8942+
size_t n_router_dps = hmap_count(&lr_datapaths->datapaths);
89468943

8947-
LIST_FOR_EACH (od, lr_list, lr_list) {
8944+
HMAP_FOR_EACH (od, key_node, &lr_datapaths->datapaths) {
89488945
if (!od->lr_group) {
89498946
od->lr_group = xzalloc(sizeof *od->lr_group);
89508947
/* Each logical router group can have max
@@ -19184,11 +19181,10 @@ ovn_datapaths_destroy(struct ovn_datapaths *datapaths)
1918419181
static void
1918519182
destroy_datapaths_and_ports(struct ovn_datapaths *ls_datapaths,
1918619183
struct ovn_datapaths *lr_datapaths,
19187-
struct hmap *ls_ports, struct hmap *lr_ports,
19188-
struct ovs_list *lr_list)
19184+
struct hmap *ls_ports, struct hmap *lr_ports)
1918919185
{
1919019186
struct ovn_datapath *router_dp;
19191-
LIST_FOR_EACH_POP (router_dp, lr_list, lr_list) {
19187+
HMAP_FOR_EACH (router_dp, key_node, &lr_datapaths->datapaths) {
1919219188
if (router_dp->lr_group) {
1919319189
struct lrouter_group *lr_group = router_dp->lr_group;
1919419190

@@ -19227,7 +19223,6 @@ northd_init(struct northd_data *data)
1922719223
hmap_init(&data->lr_ports);
1922819224
hmap_init(&data->lb_datapaths_map);
1922919225
hmap_init(&data->lb_group_datapaths_map);
19230-
ovs_list_init(&data->lr_list);
1923119226
sset_init(&data->svc_monitor_lsps);
1923219227
hmap_init(&data->svc_monitor_map);
1923319228
init_northd_tracked_data(data);
@@ -19293,8 +19288,7 @@ northd_destroy(struct northd_data *data)
1929319288
cleanup_macam();
1929419289

1929519290
destroy_datapaths_and_ports(&data->ls_datapaths, &data->lr_datapaths,
19296-
&data->ls_ports, &data->lr_ports,
19297-
&data->lr_list);
19291+
&data->ls_ports, &data->lr_ports);
1929819292

1929919293
sset_destroy(&data->svc_monitor_lsps);
1930019294
destroy_northd_tracked_data(data);
@@ -19384,7 +19378,7 @@ ovnnb_db_run(struct northd_input *input_data,
1938419378
input_data->nbrec_logical_router_table,
1938519379
input_data->sbrec_datapath_binding_table,
1938619380
&data->ls_datapaths,
19387-
&data->lr_datapaths, &data->lr_list);
19381+
&data->lr_datapaths);
1938819382
build_lb_datapaths(input_data->lbs, input_data->lbgrps,
1938919383
&data->ls_datapaths, &data->lr_datapaths,
1939019384
&data->lb_datapaths_map, &data->lb_group_datapaths_map);
@@ -19411,7 +19405,7 @@ ovnnb_db_run(struct northd_input *input_data,
1941119405
ods_size(&data->ls_datapaths),
1941219406
ods_size(&data->lr_datapaths));
1941319407
build_ipam(&data->ls_datapaths.datapaths, &data->ls_ports);
19414-
build_lrouter_groups(&data->lr_ports, &data->lr_list);
19408+
build_lrouter_groups(&data->lr_ports, &data->lr_datapaths);
1941519409
build_ip_mcast(ovnsb_txn, input_data->sbrec_ip_multicast_table,
1941619410
input_data->sbrec_ip_mcast_by_dp,
1941719411
&data->ls_datapaths.datapaths);

northd/northd.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ struct northd_data {
170170
struct hmap lr_ports;
171171
struct hmap lb_datapaths_map;
172172
struct hmap lb_group_datapaths_map;
173-
struct ovs_list lr_list;
174173
struct sset svc_monitor_lsps;
175174
struct hmap svc_monitor_map;
176175

@@ -415,7 +414,6 @@ struct ovn_datapath {
415414

416415
struct vector localnet_ports; /* Vector of struct ovn_port *. */
417416

418-
struct ovs_list lr_list; /* In list of logical router datapaths. */
419417
/* The logical router group to which this datapath belongs.
420418
* Valid only if it is logical router datapath. NULL otherwise. */
421419
struct lrouter_group *lr_group;

0 commit comments

Comments
 (0)