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

Reply via email to