Wei Zhao
99d8ba79ef
net/ice/base: force switch to use different recipe
When we use profile rule as switch rule to download, if we download 2 different rules one by one, there will be rejection from function ice_aq_sw_rules(), for example: "flow create 0 priority 0 ingress pattern eth / ipv6 / ah / end actions queue index 3 / end" "flow create 0 priority 0 ingress pattern eth / ipv6 / esp / end actions queue index 2 / end" That is because the 2 rules has the same s_rule input set except action queue index, so it will be rejected by hardware. So we have to use different recipes for them. Also, we need to add recipe_id to keep record of recipe index, which will be used in rule remove, if not, there will be error when search recipe in function ice_rem_adv_rule() if we create 2 or more profile rule. For example: "flow create 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions queue index 4 / end" "flow create 0 priority 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 5 / end" then, "flow flush 0" you will find only the first rule will be delete, because ice_find_recp() will always return recipe id of the first rule. Signed-off-by: Wei Zhao <wei.zhao1@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> Tested-by: Yuan Peng <yuan.peng@intel.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%