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: support tunnel offload API app/test-pmd/cmdline_flow.c | 102 ++++- app/test-pmd/config.c | 147 +++++++- app/test-pmd/testpmd.c | 5 +- app/test-pmd/testpmd.h | 27 +- app/test-pmd/util.c | 30 +- doc/guides/prog_guide/rte_flow.rst | 105 ++++++ drivers/net/mlx5/linux/mlx5_os.c | 14 + drivers/net/mlx5/mlx5.c | 6 + drivers/net/mlx5/mlx5.h | 4 + drivers/net/mlx5/mlx5_flow.c | 453 +++++++++++++++++++++++ drivers/net/mlx5/mlx5_flow.h | 49 +++ drivers/net/mlx5/mlx5_flow_dv.c | 71 +++- lib/librte_ethdev/rte_ethdev_version.map | 5 + lib/librte_ethdev/rte_flow.c | 142 ++++++- lib/librte_ethdev/rte_flow.h | 195 ++++++++++ lib/librte_ethdev/rte_flow_driver.h | 32 ++ 16 files changed, 1370 insertions(+), 17 deletions(-) -- 2.25.1