mbox

[v4,0/4] Tunnel Offload API

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

Message

Etelson, Gregory Oct. 4, 2020, 1:50 p.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.

 v2:
 * documentation updates
 * MLX5 PMD implementation for tunnel offload
 * testpmd updates for tunnel offload

 v3:
 * documentation updates
 * MLX5 PMD updates
 * testpmd updates

 v4:
 * updated patch: allow negative values in flow rule types


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          | 108 ++++
 doc/guides/rel_notes/release_20_11.rst      |   9 +
 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, 2097 insertions(+), 65 deletions(-)