diff mbox series

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

Message ID 20230602041150.3019311-4-hzhou@ovn.org
State Accepted
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 fail github build: failed

Commit Message

Han Zhou June 2, 2023, 4:11 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>
Reviewed-by: Ales Musil <amusil@redhat.com>
---
 lib/inc-proc-eng.h | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

Comments

Numan Siddique June 2, 2023, 3:01 p.m. UTC | #1
On Fri, Jun 2, 2023 at 12:12 AM Han Zhou <hzhou@ovn.org> wrote:
>
> 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>
> Reviewed-by: Ales Musil <amusil@redhat.com>

Acked-by: Numan Siddique <numans@ovn.org>

Numan

> ---
>  lib/inc-proc-eng.h | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
>
> 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 */
> --
> 2.30.2
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
Han Zhou June 5, 2023, 6:40 a.m. UTC | #2
On Fri, Jun 2, 2023 at 8:01 AM Numan Siddique <numans@ovn.org> wrote:
>
> On Fri, Jun 2, 2023 at 12:12 AM Han Zhou <hzhou@ovn.org> wrote:
> >
> > 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>
> > Reviewed-by: Ales Musil <amusil@redhat.com>
>
> Acked-by: Numan Siddique <numans@ovn.org>
>
> Numan
>
Thanks Numan. I applied to main.

Han

> > ---
> >  lib/inc-proc-eng.h | 21 ++++++++++-----------
> >  1 file changed, 10 insertions(+), 11 deletions(-)
> >
> > 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 */
> > --
> > 2.30.2
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >
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 */