[PATCH v1] net/mlx5: fix action flag data type
Thomas Monjalon
thomas at monjalon.net
Mon Nov 14 12:00:57 CET 2022
01/11/2022 11:07, Shun Hao:
> This patch fixes this by making all action flags definition as 64-bit
> data type.
No, it is defining as unsigned long long.
[...]
> /* Actions */
> -#define MLX5_FLOW_ACTION_DROP (1u << 0)
> -#define MLX5_FLOW_ACTION_QUEUE (1u << 1)
> -#define MLX5_FLOW_ACTION_RSS (1u << 2)
> -#define MLX5_FLOW_ACTION_FLAG (1u << 3)
> -#define MLX5_FLOW_ACTION_MARK (1u << 4)
> -#define MLX5_FLOW_ACTION_COUNT (1u << 5)
> -#define MLX5_FLOW_ACTION_PORT_ID (1u << 6)
> -#define MLX5_FLOW_ACTION_OF_POP_VLAN (1u << 7)
> -#define MLX5_FLOW_ACTION_OF_PUSH_VLAN (1u << 8)
> -#define MLX5_FLOW_ACTION_OF_SET_VLAN_VID (1u << 9)
> -#define MLX5_FLOW_ACTION_OF_SET_VLAN_PCP (1u << 10)
> -#define MLX5_FLOW_ACTION_SET_IPV4_SRC (1u << 11)
> -#define MLX5_FLOW_ACTION_SET_IPV4_DST (1u << 12)
> -#define MLX5_FLOW_ACTION_SET_IPV6_SRC (1u << 13)
> -#define MLX5_FLOW_ACTION_SET_IPV6_DST (1u << 14)
> -#define MLX5_FLOW_ACTION_SET_TP_SRC (1u << 15)
> -#define MLX5_FLOW_ACTION_SET_TP_DST (1u << 16)
> -#define MLX5_FLOW_ACTION_JUMP (1u << 17)
> -#define MLX5_FLOW_ACTION_SET_TTL (1u << 18)
> -#define MLX5_FLOW_ACTION_DEC_TTL (1u << 19)
> -#define MLX5_FLOW_ACTION_SET_MAC_SRC (1u << 20)
> -#define MLX5_FLOW_ACTION_SET_MAC_DST (1u << 21)
> -#define MLX5_FLOW_ACTION_ENCAP (1u << 22)
> -#define MLX5_FLOW_ACTION_DECAP (1u << 23)
> -#define MLX5_FLOW_ACTION_INC_TCP_SEQ (1u << 24)
> -#define MLX5_FLOW_ACTION_DEC_TCP_SEQ (1u << 25)
> -#define MLX5_FLOW_ACTION_INC_TCP_ACK (1u << 26)
> -#define MLX5_FLOW_ACTION_DEC_TCP_ACK (1u << 27)
> +#define MLX5_FLOW_ACTION_DROP (1ull << 0)
> +#define MLX5_FLOW_ACTION_QUEUE (1ull << 1)
> +#define MLX5_FLOW_ACTION_RSS (1ull << 2)
> +#define MLX5_FLOW_ACTION_FLAG (1ull << 3)
> +#define MLX5_FLOW_ACTION_MARK (1ull << 4)
> +#define MLX5_FLOW_ACTION_COUNT (1ull << 5)
> +#define MLX5_FLOW_ACTION_PORT_ID (1ull << 6)
> +#define MLX5_FLOW_ACTION_OF_POP_VLAN (1ull << 7)
> +#define MLX5_FLOW_ACTION_OF_PUSH_VLAN (1ull << 8)
> +#define MLX5_FLOW_ACTION_OF_SET_VLAN_VID (1ull << 9)
> +#define MLX5_FLOW_ACTION_OF_SET_VLAN_PCP (1ull << 10)
> +#define MLX5_FLOW_ACTION_SET_IPV4_SRC (1ull << 11)
> +#define MLX5_FLOW_ACTION_SET_IPV4_DST (1ull << 12)
> +#define MLX5_FLOW_ACTION_SET_IPV6_SRC (1ull << 13)
> +#define MLX5_FLOW_ACTION_SET_IPV6_DST (1ull << 14)
> +#define MLX5_FLOW_ACTION_SET_TP_SRC (1ull << 15)
> +#define MLX5_FLOW_ACTION_SET_TP_DST (1ull << 16)
> +#define MLX5_FLOW_ACTION_JUMP (1ull << 17)
> +#define MLX5_FLOW_ACTION_SET_TTL (1ull << 18)
> +#define MLX5_FLOW_ACTION_DEC_TTL (1ull << 19)
> +#define MLX5_FLOW_ACTION_SET_MAC_SRC (1ull << 20)
> +#define MLX5_FLOW_ACTION_SET_MAC_DST (1ull << 21)
> +#define MLX5_FLOW_ACTION_ENCAP (1ull << 22)
> +#define MLX5_FLOW_ACTION_DECAP (1ull << 23)
> +#define MLX5_FLOW_ACTION_INC_TCP_SEQ (1ull << 24)
> +#define MLX5_FLOW_ACTION_DEC_TCP_SEQ (1ull << 25)
> +#define MLX5_FLOW_ACTION_INC_TCP_ACK (1ull << 26)
> +#define MLX5_FLOW_ACTION_DEC_TCP_ACK (1ull << 27)
> #define MLX5_FLOW_ACTION_SET_TAG (1ull << 28)
> #define MLX5_FLOW_ACTION_MARK_EXT (1ull << 29)
> #define MLX5_FLOW_ACTION_SET_META (1ull << 30)
The correct fix would be to use the macro RTE_BIT64.
Please can you convert the whole mlx5 to avoid using such unclear bit shifts?
More information about the dev
mailing list