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;
                       ^

Reply via email to