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

Reply via email to