On 10/12/2021 9:25 PM, Viacheslav Ovsiienko wrote:
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 Appropriate commit message has been removed. [1] commit 73b68f4c54a0 ("ethdev: introduce generic modify flow action") [2] RFC: http://patches.dpdk.org/project/dpdk/patch/[email protected]/ [3] Deprecation notice: http://patches.dpdk.org/project/dpdk/patch/[email protected]/ [4] v1 - http://patches.dpdk.org/project/dpdk/cover/[email protected]/ [5] v2 - http://patches.dpdk.org/project/dpdk/patch/[email protected]/ [6] v3 - http://patches.dpdk.org/project/dpdk/cover/[email protected]/ [7] v4 - http://patches.dpdk.org/project/dpdk/cover/[email protected]/ v2: - comments addressed - documentation updated - typos fixed - mlx5 PMD updated v3: - comments addressed - documentation updated - typos fixed v4: - removed errorneously added Ack by Ori K. for mlx5 patch - mlx5 patch updated - bug fixes and cleanup v5: - fix compilation issue with unused variable in mlx5 Viacheslav Ovsiienko (5): ethdev: update modify field flow action ethdev: fix missed experimental tag for modify field action app/testpmd: update modify field flow action support app/testpmd: fix hex string parser in flow commands net/mlx5: update modify field action
Hi Viacheslav, The set reports build error on the CI [1], can you please check if it is a valid error? [1] http://mails.dpdk.org/archives/test-report/2021-October/227206.html FAILED: drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_mlx5_flow_dv.c.o ../drivers/net/mlx5/mlx5_flow_dv.c: In function 'flow_dv_convert_action_modify_field.isra.123': ../drivers/net/mlx5/mlx5_flow_dv.c:526:30: error: 'item.spec' may be used uninitialized in this function [-Werror=maybe-uninitialized] data = flow_dv_fetch_field((const uint8_t *)item->spec + ^ ../drivers/net/mlx5/mlx5_flow_dv.c:1865:23: note: 'item.spec' was declared here struct rte_flow_item item; ^

