Change svc_monitors_map_data_init() to take an output parameter instead
of returning a struct by value. Moved functions to more appropriate locations

Signed-off-by: Alexandra Rukomoinikova <[email protected]>
---
 northd/en-lflow.c |  5 +++--
 northd/northd.c   | 47 +++++++++++++++++++++++++----------------------
 northd/northd.h   | 10 +++++-----
 3 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/northd/en-lflow.c b/northd/en-lflow.c
index e80fd9f9c..48076c8e0 100644
--- a/northd/en-lflow.c
+++ b/northd/en-lflow.c
@@ -344,8 +344,9 @@ lflow_ic_learned_svc_mons_handler(struct engine_node *node,
     struct lflow_input lflow_input;
     lflow_get_input_data(node, &lflow_input);
 
-    struct svc_monitors_map_data svc_mons_data =
-        svc_monitors_map_data_init(
+    struct svc_monitors_map_data svc_mons_data;
+    svc_monitors_map_data_init(
+            &svc_mons_data,
             NULL,
             &ic_learned_svc_monitors_data->ic_learned_svc_monitors_map,
             ic_learned_svc_monitors_data->lflow_ref);
diff --git a/northd/northd.c b/northd/northd.c
index 0c3384fe9..1f1b5aa83 100644
--- a/northd/northd.c
+++ b/northd/northd.c
@@ -713,18 +713,6 @@ init_mcast_info_for_datapath(struct ovn_datapath *od)
     }
 }
 
-struct svc_monitors_map_data
-svc_monitors_map_data_init(const struct hmap *local_svc_monitors_map,
-                           const struct hmap *ic_learned_svc_monitors_map,
-                           struct lflow_ref *ic_learned_svc_monitors_lflow_ref)
-{
-    return (struct svc_monitors_map_data) {
-        .local_svc_monitors_map = local_svc_monitors_map,
-        .ic_learned_svc_monitors_map = ic_learned_svc_monitors_map,
-        .lflow_ref = ic_learned_svc_monitors_lflow_ref,
-    };
-}
-
 static void
 destroy_mcast_info_for_switch_datapath(struct ovn_datapath *od)
 {
@@ -18065,7 +18053,8 @@ build_lflows_thread(void *arg)
                         return NULL;
                     }
                     struct svc_monitors_map_data svc_mons_data;
-                    svc_mons_data = svc_monitors_map_data_init(
+                    svc_monitors_map_data_init(
+                        &svc_mons_data,
                         lsi->local_svc_monitor_map,
                         lsi->ic_learned_svc_monitor_map,
                         NULL);
@@ -18425,11 +18414,12 @@ void build_lflows(struct ovsdb_idl_txn *ovnsb_txn,
                   struct lflow_input *input_data,
                   struct lflow_table *lflows)
 {
-    struct svc_monitors_map_data svc_mons_data =
-        svc_monitors_map_data_init(
-            input_data->local_svc_monitors_map,
-            input_data->ic_learned_svc_monitors_map,
-            input_data->ic_learned_svc_monitors_lflow_ref);
+    struct svc_monitors_map_data svc_mons_data;
+    svc_monitors_map_data_init(
+        &svc_mons_data,
+        input_data->local_svc_monitors_map,
+        input_data->ic_learned_svc_monitors_map,
+        input_data->ic_learned_svc_monitors_lflow_ref);
 
     build_lswitch_and_lrouter_flows(input_data->ls_datapaths,
                                     input_data->lr_datapaths,
@@ -18722,10 +18712,12 @@ lflow_handle_northd_lb_changes(struct ovsdb_idl_txn 
*ovnsb_txn,
     struct ovn_lb_datapaths *lb_dps;
     struct hmapx_node *hmapx_node;
 
-    struct svc_monitors_map_data svc_mons_data =
-        svc_monitors_map_data_init(lflow_input->local_svc_monitors_map,
-                                   lflow_input->ic_learned_svc_monitors_map,
-                                   NULL);
+    struct svc_monitors_map_data svc_mons_data;
+    svc_monitors_map_data_init(
+        &svc_mons_data,
+        lflow_input->local_svc_monitors_map,
+        lflow_input->ic_learned_svc_monitors_map,
+        NULL);
 
     HMAPX_FOR_EACH (hmapx_node, &trk_lbs->deleted) {
         lb_dps = hmapx_node->data;
@@ -19361,6 +19353,17 @@ bfd_sync_destroy(struct bfd_sync_data *data)
     sset_destroy(&data->bfd_ports);
 }
 
+void
+svc_monitors_map_data_init(struct svc_monitors_map_data *svc_mons_data,
+                           const struct hmap *local_svc_monitors_map,
+                           const struct hmap *ic_learned_svc_monitors_map,
+                           struct lflow_ref *ic_learned_svc_monitors_lflow_ref)
+{
+    svc_mons_data->local_svc_monitors_map = local_svc_monitors_map;
+    svc_mons_data->ic_learned_svc_monitors_map = ic_learned_svc_monitors_map;
+    svc_mons_data->lflow_ref = ic_learned_svc_monitors_lflow_ref;
+}
+
 void
 ic_learned_svc_monitors_init(struct ic_learned_svc_monitors_data *data)
 {
diff --git a/northd/northd.h b/northd/northd.h
index b095838c3..8b6ba923f 100644
--- a/northd/northd.h
+++ b/northd/northd.h
@@ -242,11 +242,6 @@ struct ic_learned_svc_monitors_data {
     struct lflow_ref *lflow_ref;
 };
 
-struct svc_monitors_map_data
-svc_monitors_map_data_init(const struct hmap *local_svc_monitors_map,
-    const struct hmap *ic_learned_svc_monitors_map,
-    struct lflow_ref *ic_learned_svc_monitors_lflow_ref);
-
 struct lflow_ref;
 struct lr_nat_table;
 
@@ -903,6 +898,11 @@ void bfd_sync_init(struct bfd_sync_data *);
 void bfd_sync_swap(struct bfd_sync_data *, struct sset *bfd_ports);
 void bfd_sync_destroy(struct bfd_sync_data *);
 
+void
+svc_monitors_map_data_init(struct svc_monitors_map_data *svc_mons_data,
+    const struct hmap *local_svc_monitors_map,
+    const struct hmap *ic_learned_svc_monitors_map,
+    struct lflow_ref *ic_learned_svc_monitors_lflow_ref);
 void ic_learned_svc_monitors_init(
     struct ic_learned_svc_monitors_data *data);
 void ic_learned_svc_monitors_cleanup(
-- 
2.48.1

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

Reply via email to