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/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/
[5] v2 -
http://patches.dpdk.org/project/dpdk/patch/20211010234547.1495-2-viachesl...@nvidia.com/
[6] v3 -
http://patches.dpdk.org/project/dpdk/cover/20211012080631.28504-1-viachesl...@nvidia.com/
[7] v4 -
http://patches.dpdk.org/project/dpdk/cover/20211012104919.13145-1-viachesl...@nvidia.com/
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;
^