Currently, each FDB entry resolves to a single VTEP destination. When the kernel advertises FDB entries with a nexthop group ID (NDA_NH_ID) instead of a direct destination, OVN ignores them. This series teaches the controller to parse, track, and program multi-path FDB entries using OpenFlow select groups, enabling traffic distribution across multiple paths with kernel-provided weights.
The first patch fixes a netlink notifier flush issue that is a prerequisite for reliable nexthop tracking. Patches 2-4 add the plumbing: NDA_NH_ID parsing, a nexthop exchange engine node, and ECMP FDB validation. Patch 5 moves the group table out of the engine so physical output can share the ID space with load balancer groups. Patch 6 fixes EVPN datapath data being cleared between engine runs. Finally, patch 7 generates OpenFlow select groups with per-path buckets and nexthop weights. Ales Musil (7): controller: Flush the netlink notifier message when we disable it. controller: Support FDB entries with nexthop ID defined. controller: Add nexthop exchange node. controller: Accept ECMP FDB entries. controller: Move the group_table out of the engine. controller: Make sure that EVPN datapaths are kept across runs. controller: Generate OpenFlow select groups for ECMP FDB entries. NEWS | 3 + controller/evpn-binding.c | 4 +- controller/evpn-binding.h | 1 - controller/evpn-fdb.c | 161 +++++++++++++++++++++++-- controller/evpn-fdb.h | 25 +++- controller/neighbor-exchange-netlink.c | 21 +++- controller/neighbor-exchange-netlink.h | 1 + controller/neighbor-exchange.c | 31 ++--- controller/neighbor-exchange.h | 5 +- controller/nexthop-exchange-stub.c | 20 +++ controller/nexthop-exchange.c | 82 ++++++++++--- controller/nexthop-exchange.h | 5 + controller/ovn-controller.c | 124 +++++++++++++++++-- controller/ovn-netlink-notifier.c | 3 +- controller/physical.c | 80 ++++++++++-- controller/physical.h | 3 + tests/ovn-inc-proc-graph-dump.at | 3 + tests/ovn-macros.at | 19 ++- tests/system-ovn-netlink.at | 121 +++++++++++++++---- tests/system-ovn.at | 144 +++++++++++++++++++--- tests/test-ovn-netlink.c | 10 +- 21 files changed, 743 insertions(+), 123 deletions(-) -- 2.53.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
