Yongseok Koh
4a78c88e3b
net/mlx5: fix Verbs flow tunnel
1) Fix layer parsing In translation of tunneled flows, dev_flow->layers must not be used to check tunneled layer as it contains all the layers parsed from flow_drv_prepare(). Checking tunneled layer is needed to set IBV_FLOW_SPEC_INNER and it should be based on dynamic parsing. With dev_flow->layers on a tunneled flow, items will always be interpreted as inner as dev_flow->layer already has all the items. 2) Refactoring code It is partly because flow_verbs_translate_item_*() sets layer flag. Same code is repeating in multiple locations and that could be error-prone. - Introduce VERBS_SPEC_INNER() to unify setting IBV_FLOW_SPEC_INNER. - flow_verbs_translate_item_*() doesn't set parsing result - MLX5_FLOW_LAYER_*. - flow_verbs_translate_item_*() doesn't set priority or adjust hashfields but does only item translation. Both have to be done outside. - Make more consistent between Verbs and DV. 3) Remove flow_verbs_mark_update() This code can never be reached as validation prohibits specifying mark and flag actions together. No need to convert flag to mark. Fixes: 84c406e74524 ("net/mlx5: add flow translate function") Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Ori Kam <orika@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%