mbox series

[v6,0/5] ethdev: update modify field flow action

Message ID 20211013184516.25338-1-viacheslavo@nvidia.com (mailing list archive)
Headers show
Series ethdev: update modify field flow action | expand

Message

Viacheslav Ovsiienko Oct. 13, 2021, 6:45 p.m. UTC
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-viacheslavo@nvidia.com/
[3] Deprecation notice: http://patches.dpdk.org/project/dpdk/patch/20210803085754.643180-1-orika@nvidia.com/
[4] v1 - http://patches.dpdk.org/project/dpdk/cover/20211001195223.31909-1-viacheslavo@nvidia.com/
[5] v2 - http://patches.dpdk.org/project/dpdk/patch/20211010234547.1495-2-viacheslavo@nvidia.com/
[6] v3 - http://patches.dpdk.org/project/dpdk/cover/20211012080631.28504-1-viacheslavo@nvidia.com/
[7] v4 - http://patches.dpdk.org/project/dpdk/cover/20211012104919.13145-1-viacheslavo@nvidia.com/
[8] v5 - http://patches.dpdk.org/project/dpdk/patch/20211012202557.30295-2-viacheslavo@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

v6: - 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

 app/test-pmd/cmdline_flow.c            |  60 ++++++++----
 doc/guides/prog_guide/rte_flow.rst     |  24 ++++-
 doc/guides/rel_notes/deprecation.rst   |   4 -
 doc/guides/rel_notes/release_21_11.rst |   7 ++
 drivers/net/mlx5/mlx5_flow_dv.c        | 128 +++++++++----------------
 lib/ethdev/rte_flow.h                  |  19 +++-
 6 files changed, 131 insertions(+), 111 deletions(-)

Comments

Ferruh Yigit Oct. 14, 2021, 12:37 p.m. UTC | #1
On 10/13/2021 7:45 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-viacheslavo@nvidia.com/
> [3] Deprecation notice: http://patches.dpdk.org/project/dpdk/patch/20210803085754.643180-1-orika@nvidia.com/
> [4] v1 - http://patches.dpdk.org/project/dpdk/cover/20211001195223.31909-1-viacheslavo@nvidia.com/
> [5] v2 - http://patches.dpdk.org/project/dpdk/patch/20211010234547.1495-2-viacheslavo@nvidia.com/
> [6] v3 - http://patches.dpdk.org/project/dpdk/cover/20211012080631.28504-1-viacheslavo@nvidia.com/
> [7] v4 - http://patches.dpdk.org/project/dpdk/cover/20211012104919.13145-1-viacheslavo@nvidia.com/
> [8] v5 - http://patches.dpdk.org/project/dpdk/patch/20211012202557.30295-2-viacheslavo@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
> 
> v6: - 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
> 

Series applied to dpdk-next-net/main, thanks.