Hi all,

I would like to start a discussion about legacy flow actions for packet 
modification.
As of DPDK 21.11 many packet modification flow actions were deprecated in favor 
of generic
RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action (see [1]).
I compiled a review of the current state of all deprecated actions along with 
changes since 21.11:

RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL    removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL    removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL      removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL      bnxt*, sfc
RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT    removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN     removed in 22.11
RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC       bnxt, cxgbe, mlx5, nfp (from 22.11), 
sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_SET_IPV4_DST       bnxt, cxgbe, mlx5, nfp (from 22.11), 
sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC       bnxt*, cxgbe, mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_IPV6_DST       bnxt*, cxgbe, mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_TP_SRC         bnxt, cxgbe, mlx5, nfp (from 22.11), 
sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_SET_TP_DST         bnxt, cxgbe, mlx5, nfp (from 22.11), 
sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_DEC_TTL            bnxt, mlx5, sfc
RTE_FLOW_ACTION_TYPE_SET_TTL            bnxt*, mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_MAC_SRC        bnxt, cxgbe, mlx5, nfp (from 22.11), sfc
RTE_FLOW_ACTION_TYPE_SET_MAC_DST        bnxt, cxgbe, mlx5, nfp (from 22.11), sfc
RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ        bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ        bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_INC_TCP_ACK        bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK        bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP      mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP      mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_TAG            mlx5
RTE_FLOW_ACTION_TYPE_SET_META           mlx5

bnxt* - Based on my analysis, this action type is used only to reject 
unsupported actions.

RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action itself is supported only by mlx5 
PMD.

Question to ethdev and flow API maintainers, and to technical board:

As of now, MODIFY_FIELD action support in mlx5 PMD covers all deprecated modify 
actions.
Legacy flow actions can be removed from mlx5 PMD.
What in your opinion would be an appropriate timeline for removing them? Should 
we wait until 24.11 LTS release?

Question to driver maintainers:

Do you have plans to add support for RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow 
action in future releases?

[1]: commit bef7c9ff285a ("ethdev: announce migration to generic flow modify 
action")

Best regards,
Dariusz Sosnowski

Reply via email to