The header modify actions number supported now has some limitation, and it is decided by both driver and hardware. If the configuration is different or the table to insert the flow is different, the result might be different if the flow contains header modify actions. Currently, the actual action number could only be calculated in the later stage called translate, from user specified value to the driver format. And the action numbers checking is missed in the flow validation. So PMD will return incorrect result to indicate the flow actions are valid by rte_flow_validate but then it will fail when calling rte_flow_create. Adding some simple checking in the validation will help to get rid of this incorrect checking. Most of the actions will only consume 1 SW action field except the MAC address and IPv6 address. And from SW POV, the maximal action fields for these will be consumed even if only part of such field will be modified because that there is no mask in the flow actions and the mask will always be all ONEs. The metering or extra metadata supports will cost one more action. Fixes: 9597330c6844 ("net/mlx5: update modify header action translator") Cc: stable@dpdk.org Signed-off-by: Bing Zhao <bingz@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%