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. v5->v6: rebased Felix Huettner (2): tests: Fix racy hard_age value. controller: Extract garp_rarp to engine node. controller/automake.mk | 4 +- controller/garp_rarp.c | 626 ++++++++++++++++++++++++++++++++++++ controller/garp_rarp.h | 61 ++++ controller/ovn-controller.c | 243 +++++++++++++- controller/pinctrl.c | 559 ++------------------------------ controller/pinctrl.h | 16 +- tests/ovn.at | 2 +- 7 files changed, 968 insertions(+), 543 deletions(-) create mode 100644 controller/garp_rarp.c create mode 100644 controller/garp_rarp.h base-commit: da27bc3eed7eab7d7886311099a318c2bb95b089 -- 2.48.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev