On 11/13/24 12:04 PM, Lorenzo Bianconi wrote: > With respect to the previous implementation, OVN is now tracking and > flushing ECMP next-hop ct entries with the next-hop mac address instead > of using an identification number committed by ovn-northd since the previous > approach had some limitations when the traffic is initialized from outside > the ovn cluster. This series is introducing a way to periodically resolve L2 > address of the configured next-hops. > Please note IPv6 is not currently supported and it will be added before > posting > a formal series. The goal of this series is just to collect feedbacks about > the > proposed approach. >
Hi Lorenzo, I reviewed the patches and shared some feedback but I also wanted to share that with this patch applied the ovn-kubernetes e2e tests that exercise the ecmp-symmetric-reply functionality fail: https://github.com/dceara/ovn-kubernetes/actions/runs/12392477221/job/34592485272 Summarizing 2 Failures: [FAIL] External Gateway With annotations e2e multiple external gateway stale conntrack entry deletion validation Namespace annotation: Should validate conntrack entry deletion for TCP/UDP traffic via multiple external gateways a.k.a ECMP routes [It] IPV4 udp /home/runner/work/ovn-kubernetes/ovn-kubernetes/test/e2e/external_gateways.go:785 [FAIL] External Gateway With annotations e2e multiple external gateway stale conntrack entry deletion validation Namespace annotation: Should validate conntrack entry deletion for TCP/UDP traffic via multiple external gateways a.k.a ECMP routes [It] IPV4 tcp /home/runner/work/ovn-kubernetes/ovn-kubernetes/test/e2e/external_gateways.go:785 This needs to be investigated. Maybe the tests do something wrong or maybe the patch series itself has some issues. Regards, Dumitru > Changes in v1: > - Flush just ecmp ct entries in the router ct zone > > Changes in RFC v3: > - move ecmp-next-hop-monitor code in controller/ecmp-next-hop-monitor.{c,h} > - use a hamp for send_arp_nd_data since the same nexthop can be used by > multiple ports/routes > - add new system-ovn test to check when a given next-hop is used by multiple > ovn-routers/ecmp routes > - use a Port_Binding reference in ECMP_Nexthop > - use nexthop and port as ECMP_Nexthop table index > - move ECMP_Nexthop mac binding update in mac_binding_add_to_sb() > - cosmetics > > Changes in RFC v2: > - add IPv6 support > > Lorenzo Bianconi (4): > northd: Introduce ECMP_Nexthop table in SB db. > pinctrl: Send periodic arp/nd to ecmp next-hops. > pinctrl: Update ecmp-nexthop mac resolving L2 address. > ofctrl: Introduce ecmp_nexthop_monitor. > > NEWS | 7 + > controller/automake.mk | 4 +- > controller/ecmp-next-hop-monitor.c | 184 ++++++++++ > controller/ecmp-next-hop-monitor.h | 25 ++ > controller/ofctrl.c | 7 + > controller/ofctrl.h | 3 + > controller/ovn-controller.8.xml | 10 + > controller/ovn-controller.c | 10 + > controller/pinctrl.c | 368 +++++++++++++++++++- > controller/pinctrl.h | 3 + > include/ovn/logical-fields.h | 3 + > northd/en-northd.c | 29 ++ > northd/en-northd.h | 4 + > northd/inc-proc-northd.c | 9 +- > northd/northd.c | 104 +++++- > northd/northd.h | 6 + > ovn-sb.ovsschema | 17 +- > ovn-sb.xml | 31 ++ > tests/ovn-northd.at | 33 +- > tests/system-ovn.at | 526 +++++++++++++++++++++++++++++ > 20 files changed, 1355 insertions(+), 28 deletions(-) > create mode 100644 controller/ecmp-next-hop-monitor.c > create mode 100644 controller/ecmp-next-hop-monitor.h > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
