This is a small nights and weekends project of mine to try to make the incremental engine easier to work with as a developer. V1 of this series had the "RFC" tag since I was not sure how readily these changes would be accepted. However, since those patches received acks from other OVN developers, I have removed the RFC tag from V2.
I have been doing a lot of development with incremental engine nodes lately, and I have caused myself lots of headaches by doing things "wrong". This series of patches is mostly aimed at trying to improve the semantics in order to make it harder to do the wrong thing. Patches 1-4 are independent from each other, and so any or all could be accepted without issue. Therefore, a NACK on one patch does not negate the entire series. Patch 5 requires patches 3 and 4 as prerequisites, though so if either of those is NACKed it means Patch 5 is as well. I have further ideas for improving the engine, but they are much larger and more invasive, so I'm putting these changes up first since they're relatively straightforward. Mark Michelson (5): inc-proc-eng: Streamline ENGINE_NODE macros. inc-proc-eng: Remove NAME_STR argument from ENGINE_NODE variants. inc-proc-eng: Update return type of run() callbacks. inc-proc-eng: Update return type of change handlers. inc-proc-eng: Make engine_set_node_state() private. controller/acl-ids.c | 7 +- controller/acl-ids.h | 2 +- controller/ovn-controller.c | 722 +++++++++++++++--------------- lib/inc-proc-eng.c | 56 ++- lib/inc-proc-eng.h | 120 ++--- lib/ovn-util.h | 36 ++ northd/aging.c | 36 +- northd/aging.h | 11 +- northd/en-acl-ids.c | 4 +- northd/en-acl-ids.h | 3 +- northd/en-advertised-route-sync.c | 26 +- northd/en-advertised-route-sync.h | 13 +- northd/en-ecmp-nexthop.c | 8 +- northd/en-ecmp-nexthop.h | 5 +- northd/en-global-config.c | 66 +-- northd/en-global-config.h | 18 +- northd/en-group-ecmp-route.c | 14 +- northd/en-group-ecmp-route.h | 8 +- northd/en-lb-data.c | 32 +- northd/en-lb-data.h | 14 +- northd/en-learned-route-sync.c | 18 +- northd/en-learned-route-sync.h | 12 +- northd/en-lflow.c | 59 ++- northd/en-lflow.h | 21 +- northd/en-lr-nat.c | 14 +- northd/en-lr-nat.h | 8 +- northd/en-lr-stateful.c | 26 +- northd/en-lr-stateful.h | 13 +- northd/en-ls-stateful.c | 26 +- northd/en-ls-stateful.h | 8 +- northd/en-meters.c | 4 +- northd/en-meters.h | 2 +- northd/en-multicast.c | 10 +- northd/en-multicast.h | 5 +- northd/en-northd-output.c | 59 ++- northd/en-northd-output.h | 33 +- northd/en-northd.c | 80 ++-- northd/en-northd.h | 44 +- northd/en-port-group.c | 11 +- northd/en-port-group.h | 5 +- northd/en-sampling-app.c | 4 +- northd/en-sampling-app.h | 2 +- northd/en-sync-from-sb.c | 10 +- northd/en-sync-from-sb.h | 5 +- northd/en-sync-sb.c | 58 ++- northd/en-sync-sb.h | 23 +- northd/inc-proc-northd.c | 155 ++++--- tests/ovn-controller.at | 6 +- 48 files changed, 1008 insertions(+), 914 deletions(-) -- 2.47.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev