diff mbox series

[ovs-dev,03/14] inc-proc-eng.h: Refactor I-P engine node macros.

Message ID 20230513000356.2475960-4-hzhou@ovn.org
State Changes Requested
Headers show
Series ovn-northd incremental processing for VIF changes | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes success github build: passed

Commit Message

Han Zhou May 13, 2023, 12:03 a.m. UTC
Refactor so that ENGINE_NODE_WITH_CLEAR_TRACK_DATA_IS_VALID can be used outside
of functions.

Signed-off-by: Han Zhou <hzhou@ovn.org>
---
 lib/inc-proc-eng.h | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)
diff mbox series

Patch

diff --git a/lib/inc-proc-eng.h b/lib/inc-proc-eng.h
index 5f515f1eaf50..c7e45e73972e 100644
--- a/lib/inc-proc-eng.h
+++ b/lib/inc-proc-eng.h
@@ -387,7 +387,7 @@  void engine_ovsdb_node_add_index(struct engine_node *, const char *name,
                                  struct ovsdb_idl_index *);
 
 /* Macro to define an engine node. */
-#define ENGINE_NODE_DEF(NAME, NAME_STR) \
+#define ENGINE_NODE_DEF(NAME, NAME_STR, CLEAR_TRACKED_DATA, IS_VALID) \
     struct engine_node en_##NAME = { \
         .name = NAME_STR, \
         .data = NULL, \
@@ -395,21 +395,20 @@  void engine_ovsdb_node_add_index(struct engine_node *, const char *name,
         .init = en_##NAME##_init, \
         .run = en_##NAME##_run, \
         .cleanup = en_##NAME##_cleanup, \
-        .is_valid = NULL, \
-        .clear_tracked_data = NULL, \
+        .is_valid = IS_VALID, \
+        .clear_tracked_data = CLEAR_TRACKED_DATA, \
     };
 
-#define ENGINE_NODE_WITH_CLEAR_TRACK_DATA_IS_VALID(NAME, NAME_STR) \
-    ENGINE_NODE(NAME, NAME_STR) \
-    en_##NAME.clear_tracked_data = en_##NAME##_clear_tracked_data; \
-    en_##NAME.is_valid = en_##NAME##_is_valid;
-
 #define ENGINE_NODE(NAME, NAME_STR) \
-    ENGINE_NODE_DEF(NAME, NAME_STR)
+    ENGINE_NODE_DEF(NAME, NAME_STR, NULL, NULL)
 
 #define ENGINE_NODE_WITH_CLEAR_TRACK_DATA(NAME, NAME_STR) \
-    ENGINE_NODE(NAME, NAME_STR) \
-    en_##NAME.clear_tracked_data = en_##NAME##_clear_tracked_data;
+    ENGINE_NODE_DEF(NAME, NAME_STR, en_##NAME##_clear_tracked_data, NULL)
+
+#define ENGINE_NODE_WITH_CLEAR_TRACK_DATA_IS_VALID(NAME, NAME_STR) \
+    ENGINE_NODE_DEF(NAME, NAME_STR, \
+                    en_##NAME##_clear_tracked_data, \
+                    en_##NAME##_is_valid)
 
 /* Macro to define member functions of an engine node which represents
  * a table of OVSDB */