On Fri, Jun 2, 2023 at 12:12 AM Han Zhou <[email protected]> wrote: > > Refactor so that ENGINE_NODE_WITH_CLEAR_TRACK_DATA_IS_VALID can be used > outside > of functions. > > Signed-off-by: Han Zhou <[email protected]> > Reviewed-by: Ales Musil <[email protected]>
Acked-by: Numan Siddique <[email protected]> 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 > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
