Hi everyone, this is the ovn-controller part of the OVN Fabric integration series https://mail.openvswitch.org/pipermail/ovs-dev/2024-November/418554.html.
By the end of the series ovn-controller can announce routes from the sb Advertised_Route table by writing them to a linux vrf. Ovn-controller can also learn routes by reading them from the linux vrf and writing them to the sb Learned_Route table. This patch series has two prerequisites and will therefor probably fail CI tests for now. Therefor i marked this series as RFC. One prerequisite is including Martins changes in the ovs submodule: https://patchwork.ozlabs.org/project/openvswitch/patch/20250123152125.17973-1-martin.kal...@canonical.com/ Another prerequisite is my changes to northd. They are not required for compilation but to ensure that tests can run: https://patchwork.ozlabs.org/project/ovn/list/?series=441243 Major changes v3->v4: * Adressed a bunch of review comments Major changes v2->v3: * Ensure that we do not try write to non existing sb tables during upgrades. Felix Huettner (8): controller: Update OVS submodule. controller: Introduce route node. controller: Support learning routes. controller: Support learning routes per iface. controller: Prioritize host routes. controller: Watch for route changes. controller: Cleanup routes on stop. controller: Support user defined vrf names. Frode Nordahl (3): ci: Manage host/system level dependencies. controller: Introduce route-exchange-netlink. controller: Announce routes via route-exchange. .github/workflows/test.yml | 6 + TODO.rst | 1 + configure.ac | 2 + controller/automake.mk | 18 +- controller/local_data.c | 7 +- controller/local_data.h | 1 + controller/lport.c | 44 ++- controller/lport.h | 4 + controller/ovn-controller.c | 390 +++++++++++++++++- controller/route-exchange-netlink.c | 329 ++++++++++++++++ controller/route-exchange-netlink.h | 60 +++ controller/route-exchange-stub.c | 39 ++ controller/route-exchange.c | 313 +++++++++++++++ controller/route-exchange.h | 40 ++ controller/route-table-notify-stub.c | 44 +++ controller/route-table-notify.c | 179 +++++++++ controller/route-table-notify.h | 37 ++ controller/route.c | 243 ++++++++++++ controller/route.h | 85 ++++ lib/ovn-util.c | 10 + lib/ovn-util.h | 1 + m4/ovn.m4 | 25 ++ ovs | 2 +- tests/automake.mk | 6 + tests/ovs-macros.at | 11 + tests/system-common-macros.at | 27 ++ tests/system-ovn.at | 568 +++++++++++++++++++++++++++ 27 files changed, 2481 insertions(+), 11 deletions(-) create mode 100644 controller/route-exchange-netlink.c create mode 100644 controller/route-exchange-netlink.h create mode 100644 controller/route-exchange-stub.c create mode 100644 controller/route-exchange.c create mode 100644 controller/route-exchange.h create mode 100644 controller/route-table-notify-stub.c create mode 100644 controller/route-table-notify.c create mode 100644 controller/route-table-notify.h create mode 100644 controller/route.c create mode 100644 controller/route.h base-commit: 540b324184a55f18ea3c6d98a32e19ad4c3706a6 prerequisite-patch-id: 8b6602bd9bb49776d93440cd9ae8319147eaeed7 prerequisite-patch-id: abb9d100850557a9ef5018dcabc3f73f607c0d91 prerequisite-patch-id: dd27d4aa5e001211373a06386f5c7e9109cc28e9 prerequisite-patch-id: 813bb25b65da02e6cdf0b3a91df18bfaafa08593 prerequisite-patch-id: 228ed412b2731ec07d90600a99eeb73c447e0359 prerequisite-patch-id: bbf0ee51ef76fae05f781fe9732a391cd26ddb22 -- 2.47.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev