Previously the needed garps and rarps where calculated in each loop of the ovn-controller in pinctrl_run. This is quite wasteful as most of the time nothing relevant changes. In large external networks this can have a significant performance impact on the ovn-controller.
Previous patches https://patchwork.ozlabs.org/project/ovn/patch/zzxvora5keucn...@sit-sdelap1634.int.lidl.net/ extraced just a limited part of the functionality to an engine node. This patchset now limits the logic in pinctrl_run to the absolute minimum. Also it addresses some issues with incremental processing changes while the southbound connection is unavailable. v10->v11: * removed merged patches * fix concurrency bug in updating announcement times v9->v10: * rebased * fixed countdown in first patch v8->v9: * rebased * rework usage of cmap for garp_rarp data v7->v8: * rebased * improved handling of daemon_started_recently v6->v7: * rebased * fixed ct-zone inconsitencies that break ci v5->v6: rebased Felix Huettner (1): controller: Extract garp_rarp to engine node. controller/automake.mk | 4 +- controller/garp_rarp.c | 557 ++++++++++++++++++++++++++++++ controller/garp_rarp.h | 79 +++++ controller/ovn-controller.c | 209 ++++++++++- controller/pinctrl.c | 670 +++--------------------------------- controller/pinctrl.h | 3 +- lib/mac-binding-index.c | 45 +++ lib/mac-binding-index.h | 6 + 8 files changed, 949 insertions(+), 624 deletions(-) create mode 100644 controller/garp_rarp.c create mode 100644 controller/garp_rarp.h base-commit: b3f93e6800e9e37ddcb6f71b4fcb93ffe649a8ef -- 2.43.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev