This is a first step in the effort to enhance dynamic routing support (added in 25.03 [0]) in order to support integration with BGP EVPN speakers in the fabric.
The series introduces a couple of new modules in ovn-controller that allow it to interact with the Linux neighbor tables through Netlink. The end goal is to provide ovn-controller with the ability to detect dynamically learned remote EVPN VTEPs and remote MAC / MAC+IP entries. It also allows ovn-controller to inject neighbor entries for locally reachable (through OVN) workload MAC and IP addresses. NOTE: this series is sent as RFC because it's only part of the complete EVPN integration solution. The proposed solution has been discussed in the recent OVN technical community meetings [1] [2] [3] and, in summary, consists of implementing the following tasks: 1. Support for neighbor table interaction: https://issues.redhat.com/browse/FDP-1416 [this series] 2. Support for learning remote EVPN VTEPs: https://issues.redhat.com/browse/FDP-1385 [to be implemented] 3. Support for learning remote MACs through EVPN: https://issues.redhat.com/browse/FDP-1387 [to be implemented] 4. Support for learning remote IPs through EVPN: https://issues.redhat.com/browse/FDP-1388 [to be implemented] 5. Support for advertising OVN owned MAC addresses through EVPN: https://issues.redhat.com/browse/FDP-1389 [to be implemented] 6. Support for advertising OVN owned IPs through EVPN: https://issues.redhat.com/browse/FDP-1390 [to be implemented] 7. Ensuring that L3 EVPNs work with the OVN EVPN integration: https://issues.redhat.com/browse/FDP-1391 [to be implemented] [0] https://github.com/ovn-org/ovn/blob/342eb7fec33392642bb7b79526851bb1f4eda880/NEWS#L89-L117 [1] https://docs.google.com/presentation/d/10uXTbC23895nDouCI27SWDr5RTxHvQ2Gmjn1YGG_XjY [2] https://mail.openvswitch.org/pipermail/ovs-dev/2025-May/423330.html [3] https://mail.openvswitch.org/pipermail/ovs-dev/2025-June/424289.html Dumitru Ceara (5): ovs: Bump submodule to get sparse AF_BRIDGE definition. controller: Support monitoring/updating neighbor entries through Netlink. controller: Watch for (Linux) neighbor changes. controller: Add host-if-monitor to track (Linux) interface indices. controller: Add I-P to monitor host interfaces and synchronize neighbors. controller/automake.mk | 15 +- controller/host-if-monitor-stub.c | 43 +++ controller/host-if-monitor.c | 141 +++++++ controller/host-if-monitor.h | 30 ++ controller/neighbor-exchange-netlink.c | 475 ++++++++++++++++++++++++ controller/neighbor-exchange-netlink.h | 66 ++++ controller/neighbor-exchange-stub.c | 30 ++ controller/neighbor-exchange.c | 85 +++++ controller/neighbor-exchange.h | 36 ++ controller/neighbor-table-notify-stub.c | 57 +++ controller/neighbor-table-notify.c | 244 ++++++++++++ controller/neighbor-table-notify.h | 45 +++ controller/neighbor.c | 69 ++++ controller/neighbor.h | 72 ++++ controller/ovn-controller.c | 239 +++++++++++- ovs | 2 +- 16 files changed, 1645 insertions(+), 4 deletions(-) create mode 100644 controller/host-if-monitor-stub.c create mode 100644 controller/host-if-monitor.c create mode 100644 controller/host-if-monitor.h create mode 100644 controller/neighbor-exchange-netlink.c create mode 100644 controller/neighbor-exchange-netlink.h create mode 100644 controller/neighbor-exchange-stub.c create mode 100644 controller/neighbor-exchange.c create mode 100644 controller/neighbor-exchange.h create mode 100644 controller/neighbor-table-notify-stub.c create mode 100644 controller/neighbor-table-notify.c create mode 100644 controller/neighbor-table-notify.h create mode 100644 controller/neighbor.c create mode 100644 controller/neighbor.h -- 2.49.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
