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 Frodes changes in the ovs submodule: https://patchwork.ozlabs.org/project/openvswitch/list/?series=437419 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=437305 Major changes v2->v3: * Ensure that we do not try write to non existing sb tables during upgrades. Felix Huettner (8): controller: Introduce route node. controller: Introduce route-exchange-netlink. controller: Announce routes via route-exchange. controller: Support learning routes. controller: Support learning routes per iface. controller: Prioritize host routes. controller: Watch for route changes. controller: Cleanup routes on stop. Frode Nordahl (1): ci: Manage host/system level dependencies. .github/workflows/test.yml | 5 + configure.ac | 2 + controller/automake.mk | 18 +- controller/ovn-controller.c | 382 +++++++++++++++++- controller/route-exchange-netlink.c | 333 ++++++++++++++++ controller/route-exchange-netlink.h | 55 +++ controller/route-exchange-stub.c | 36 ++ controller/route-exchange.c | 337 ++++++++++++++++ controller/route-exchange.h | 41 ++ controller/route-table-notify-stub.c | 37 ++ controller/route-table-notify.c | 148 +++++++ controller/route-table-notify.h | 41 ++ controller/route.c | 249 ++++++++++++ controller/route.h | 88 +++++ lib/ovn-util.c | 10 + lib/ovn-util.h | 1 + m4/ovn.m4 | 25 ++ tests/automake.mk | 6 + tests/ovs-macros.at | 11 + tests/system-common-macros.at | 27 ++ tests/system-ovn.at | 562 +++++++++++++++++++++++++++ 21 files changed, 2412 insertions(+), 2 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: ebe5d70122ce0f74067858f5cb19276c852a81da prerequisite-patch-id: 750c48ba2330622d26e81f3dfe245a4fbafea7db prerequisite-patch-id: 2d9b00d2b1003471351b7384ed33a42df9a18e08 prerequisite-patch-id: 85b500ee255af74522a1453f5935e20fa3cc23d4 prerequisite-patch-id: 4ecb5412e38514fcc07addae12a1fe2a4655a73d prerequisite-patch-id: 87cf2d7eec5a488989a3e55d08602d739d1f1a89 prerequisite-patch-id: 0d70c48a8fd24c1e9fc1d96a4bb60f041863e08c -- 2.47.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev