The generic modify field flow action introduced in [1] has some issues related to the immediate source operand:
- immediate source can be presented either as an unsigned 64-bit integer or pointer to data pattern in memory. There was no explicit pointer field defined in the union - the byte ordering for 64-bit integer was not specified. Many fields have lesser lengths and byte ordering is crucial. - how the bit offset is applied to the immediate source field was not defined and documented - 64-bit integer size is not enough to provide MAC and IPv6 addresses In order to cover the issues and exclude any ambiguities the following is done: - introduce the explicit pointer field in rte_flow_action_modify_data structure - replace the 64-bit unsigned integer with 16-byte array - update the modify field flow action documentation [1] commit 73b68f4c54a0 ("ethdev: introduce generic modify flow action") [2] RFC: http://patches.dpdk.org/project/dpdk/patch/20210910141609.8410-1-viachesl...@nvidia.com/ [3] Deprecation notice: http://patches.dpdk.org/project/dpdk/patch/20210803085754.643180-1-or...@nvidia.com/ [4] v1 - http://patches.dpdk.org/project/dpdk/cover/20211001195223.31909-1-viachesl...@nvidia.com/ v2: - comments addressed - documentation updated - typos fixed - mlx5 PMD updated Signed-off-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> Viacheslav Ovsiienko (5): ethdev: update modify field flow action app/testpmd: update modify field flow action support app/testpmd: fix hex string parser in flow commands net/mlx5: update modify field action doc: remove modify field action data deprecation notice app/test-pmd/cmdline_flow.c | 60 ++++++++++++++++++-------- doc/guides/prog_guide/rte_flow.rst | 16 +++++++ doc/guides/rel_notes/deprecation.rst | 4 -- doc/guides/rel_notes/release_21_11.rst | 9 ++++ drivers/net/mlx5/mlx5_flow_dv.c | 50 ++++++++++++--------- lib/ethdev/rte_flow.h | 17 ++++++-- 6 files changed, 110 insertions(+), 46 deletions(-) -- 2.18.1