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=436127&state=* 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=436959&state=%2A&archive=both 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 | 356 ++++++++++++++++++++++++++- controller/route-exchange-netlink.c | 342 +++++++++++++++++++++++++ controller/route-exchange-netlink.h | 55 +++++ controller/route-exchange-stub.c | 36 +++ controller/route-exchange.c | 331 +++++++++++++++++++++++++ controller/route-exchange.h | 39 +++ controller/route-table-notify-stub.c | 37 +++ controller/route-table-notify.c | 148 +++++++++++ controller/route-table-notify.h | 41 +++ controller/route.c | 231 +++++++++++++++++ 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 | 280 +++++++++++++++++++++ 21 files changed, 2087 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: ebb2263e78b85e136f9beb7ad6e18dffa4081445 prerequisite-patch-id: 393ffc8498cf1fa7eaafedfb8fe859fea21fefb6 prerequisite-patch-id: 2d9b00d2b1003471351b7384ed33a42df9a18e08 prerequisite-patch-id: 9de6e071061070847c26acfe1134c237a54d3b5f prerequisite-patch-id: e4dfa3ae23ee1e0eee0b03002ce497b200f98553 prerequisite-patch-id: 87cf2d7eec5a488989a3e55d08602d739d1f1a89 prerequisite-patch-id: 0d70c48a8fd24c1e9fc1d96a4bb60f041863e08c -- 2.47.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
