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