Routing daemons commonly describe the next hop of a route with a separate
nexthop object that the route names through a nexthop id, and with
net.ipv4.nexthop_compat_mode turned off the kernel reports nothing else, so
such a route was never learned.  These patches resolve the id against the
kernel nexthop table, expanding a group into one learned route per member,
and relearn a table only when an object its routes use changes.

Han Zhou (3):
  ovs: Bump to include parsing of the nexthop id of a route.
  controller: Learn routes referencing a kernel nexthop object.
  controller: Only relearn routes when a nexthop they use changes.

 .../topics/dynamic-routing/architecture.rst   |  20 +++
 NEWS                                          |   5 +
 controller/nexthop-exchange.c                 |  42 ++++--
 controller/nexthop-exchange.h                 |  56 ++++++++
 controller/ovn-controller.c                   | 126 +++++++++++++++---
 controller/route-exchange-netlink.c           |  90 ++++++++++++-
 controller/route-exchange-netlink.h           |   9 +-
 controller/route-exchange-stub.c              |  10 ++
 controller/route-exchange.c                   |  44 +++++-
 controller/route-exchange.h                   |  14 ++
 ovs                                           |   2 +-
 tests/ovn-inc-proc-graph-dump.at              |   1 +
 tests/system-ovn-netlink.at                   | 120 ++++++++++++++++-
 tests/system-ovn.at                           |  57 ++++++++
 tests/test-ovn-netlink.c                      |  56 +++++++-
 15 files changed, 612 insertions(+), 40 deletions(-)

-- 
2.38.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to