[dpdk-dev] [PATCH v5 0/8] ethdev: introduce GENEVE header TLV option item
Shiri Kuzin
shirik at nvidia.com
Tue Jan 12 15:02:33 CET 2021
The Geneve tunneling protocol is designed to allow the user to specify
some data context on the packet.
The GENEVE TLV (Type-Length-Variable) Option is the mean intended to
present the user data.
In order to support GENEVE TLV Option the new rte_flow item
"rte_flow_item_geneve_opt" is introduced.
The new item contains the values and masks for the following fields:
-option class
-option type
-length
-data
The usage example:
"flow create 0 ingress pattern eth / ipv4 / udp / geneve vni is 100 /
geneve-opt class is 5 length is 1 type is 0 data is 0x66998800 /
end actions count / drop / end"
New item will be added to testpmd to support raw encap/decap action.
v5:
-added Devx function to def file.
v4:
- fixed setting option length.
- fixed testpmd calculation of GENEVE option size.
- updated documentation.
v3:
- updated documentation.
v2:
- removed pedantic.
Shiri Kuzin (7):
lib/librte_ethdev: introduce GENEVE header TLV option item
common/mlx5: check GENEVE TLV support in HCA attributes
common/mlx5: create GENEVE TLV option object with DevX
net/mlx5: create GENEVE TLV option management
net/mlx5: add GENEVE TLV option flow validation
net/mlx5: add GENEVE TLV option flow translation
doc: update GENEVE TLV option support
Viacheslav Ovsiienko (1):
app/testpmd: add GENEVE option item support
app/test-pmd/cmdline_flow.c | 101 ++++++++-
doc/guides/nics/mlx5.rst | 23 +-
doc/guides/rel_notes/release_21_02.rst | 8 +
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 +
drivers/common/mlx5/mlx5_devx_cmds.c | 63 +++++-
drivers/common/mlx5/mlx5_devx_cmds.h | 9 +
drivers/common/mlx5/mlx5_prm.h | 28 ++-
.../common/mlx5/rte_common_mlx5_exports.def | 1 +
drivers/common/mlx5/version.map | 1 +
drivers/net/mlx5/mlx5.c | 2 +
drivers/net/mlx5/mlx5.h | 13 ++
drivers/net/mlx5/mlx5_flow.c | 120 +++++++++++
drivers/net/mlx5/mlx5_flow.h | 13 +-
drivers/net/mlx5/mlx5_flow_dv.c | 198 +++++++++++++++++-
lib/librte_ethdev/rte_flow.c | 1 +
lib/librte_ethdev/rte_flow.h | 27 +++
16 files changed, 603 insertions(+), 13 deletions(-)
--
2.21.0
More information about the dev
mailing list