Static routes choose the fields that their ECMP group hashes on with the "selection_fields" column. The group then uses selection_method "hash" instead of "dp_hash". "dp_hash" needs a recirculation, which the tc datapath cannot offload, so only groups that use "hash" can be offloaded to a NIC.
Learned routes and EVPN FDB entries with more than one path have no such column and always use "dp_hash". This series adds two options that take the same fields as "selection_fields": - Logical_Router options:dynamic-routing-ecmp-selection-fields, for the ECMP groups of the router's learned routes (northd). - Logical_Switch options:dynamic-routing-fdb-ecmp-selection-fields, for the FDB select groups of an EVPN switch (northd validates the option and copies it to the Datapath_Binding; ovn-controller builds the groups). Patch 1 adds a shared parser, patches 2 and 3 add the options. Srikar Tati (3): lib: Add a parser for ECMP selection fields. northd: Add ECMP selection fields for learned routes. controller: Add ECMP selection fields for EVPN FDB groups. NEWS | 8 ++ controller/evpn-fdb.c | 33 ++++++++ controller/evpn-fdb.h | 3 + controller/ovn-controller.c | 46 +++++++++++ controller/physical.c | 7 +- lib/ovn-util.c | 82 ++++++++++++++++++++ lib/ovn-util.h | 7 ++ northd/en-datapath-logical-switch.c | 19 +++++ northd/en-learned-route-sync.c | 23 +++++- northd/northd.c | 17 +---- ovn-nb.xml | 47 ++++++++++++ tests/ovn-inc-proc-graph-dump.at | 2 + tests/ovn-northd.at | 113 ++++++++++++++++++++++++++++ tests/system-ovn.at | 29 +++++++ 14 files changed, 417 insertions(+), 19 deletions(-) -- 2.54.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
