mbox

[v3,0/4] Tunnel Offload API

Message ID 20200930091854.19768-1-getelson@nvidia.com (mailing list archive)
Headers

Message

Etelson, Gregory Sept. 30, 2020, 9:18 a.m. UTC
Tunnel Offload API provides hardware independent, unified model
to offload tunneled traffic. Key model elements are:
 - apply matches to both outer and inner packet headers
   during entire offload procedure;
 - restore outer header of partially offloaded packet;
 - model is implemented as a set of helper functions.

Eli Britstein (1):
  ethdev: tunnel offload model

Gregory Etelson (3):
  ethdev: allow negative values in flow rule types
  net/mlx5: implement tunnel offload API
  app/testpmd: add commands for tunnel offload API

 app/test-pmd/cmdline_flow.c                 | 170 ++++-
 app/test-pmd/config.c                       | 253 +++++++-
 app/test-pmd/testpmd.c                      |   5 +-
 app/test-pmd/testpmd.h                      |  34 +-
 app/test-pmd/util.c                         |  35 +-
 doc/guides/nics/mlx5.rst                    |   3 +
 doc/guides/prog_guide/rte_flow.rst          | 105 +++
 doc/guides/rel_notes/release_20_11.rst      |  10 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  49 ++
 drivers/net/mlx5/linux/mlx5_os.c            |  18 +
 drivers/net/mlx5/mlx5.c                     |   8 +-
 drivers/net/mlx5/mlx5.h                     |   3 +
 drivers/net/mlx5/mlx5_defs.h                |   2 +
 drivers/net/mlx5/mlx5_flow.c                | 678 +++++++++++++++++++-
 drivers/net/mlx5/mlx5_flow.h                | 173 ++++-
 drivers/net/mlx5/mlx5_flow_dv.c             | 241 ++++++-
 lib/librte_ethdev/rte_ethdev_version.map    |   6 +
 lib/librte_ethdev/rte_flow.c                | 140 +++-
 lib/librte_ethdev/rte_flow.h                | 195 ++++++
 lib/librte_ethdev/rte_flow_driver.h         |  32 +
 20 files changed, 2095 insertions(+), 65 deletions(-)