numam-dpdk/drivers/net/mlx5
Jiawei Wang bfa87e21bd net/mlx5: fix tunnel header with IPIP offload
For the flows with multiple tunnel layers and containing
tunnel decap and modify actions, for example:

... / vxlan / eth / ipv4 proto is 4 / end
actions raw_decap / modify_field / ...
(note: proto 4 means we have the IP-over-IP tunnel in VXLAN payload)

We have added the multiple tunnel layers validation rejecting
the flows like above mentioned one.

The hardware supports the above match combination till the inner
IP-over-IP header (not including the last one), both for IP-over-IPv4
and IP-over-IPv6, so we should not blindly reject. Also, for the modify
actions following the decap we should set the layer attributes correctly.

This patch reverts the below code changes to support the match, and
adjusts the layers update in case of decap with outer tunnel header.

Fixes: fa06906a48 ("net/mlx5: fix IPIP multi-tunnel validation")
Cc: stable@dpdk.org

Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
2022-10-26 13:33:45 +02:00
..
hws net/mlx5/hws: enable hardware steering 2022-10-26 13:33:36 +02:00
linux net/mlx5: support device control of representor matching 2022-10-26 13:33:43 +02:00
windows common/mlx5: add send to kernel flow action 2022-10-26 13:33:28 +02:00
meson.build net/mlx5: support flow counter action for HWS 2022-10-26 13:33:39 +02:00
mlx5_defs.h net/mlx5: support flow age action with HWS 2022-10-26 13:33:41 +02:00
mlx5_devx.c net/mlx5/hws: enable hardware steering 2022-10-26 13:33:36 +02:00
mlx5_devx.h net/mlx5: support descriptor LWM for Rx queue 2022-06-23 17:23:29 +02:00
mlx5_ethdev.c net/mlx5: allow hairpin Rx queue in locked memory 2022-10-08 18:30:50 +02:00
mlx5_flow_aso.c net/mlx5: support async flow action push and pull 2022-10-26 13:33:42 +02:00
mlx5_flow_dv.c net/mlx5: fix tunnel header with IPIP offload 2022-10-26 13:33:45 +02:00
mlx5_flow_flex.c net/mlx5: fix flex item header length translation 2022-03-02 17:36:47 +01:00
mlx5_flow_hw.c net/mlx5: create control flow rules with HWS 2022-10-26 13:33:43 +02:00
mlx5_flow_meter.c net/mlx5: support async flow action push and pull 2022-10-26 13:33:42 +02:00
mlx5_flow_verbs.c net/mlx5: support flow age action with HWS 2022-10-26 13:33:41 +02:00
mlx5_flow.c net/mlx5: fix tunnel header with IPIP offload 2022-10-26 13:33:45 +02:00
mlx5_flow.h net/mlx5: create control flow rules with HWS 2022-10-26 13:33:43 +02:00
mlx5_hws_cnt.c net/mlx5: support flow age action with HWS 2022-10-26 13:33:41 +02:00
mlx5_hws_cnt.h net/mlx5: support flow age action with HWS 2022-10-26 13:33:41 +02:00
mlx5_mac.c net/mlx5: support Sub-Function 2021-07-22 00:11:14 +02:00
mlx5_rss.c net/mlx5: fix RETA update without stopping device 2021-11-10 15:44:44 +01:00
mlx5_rx.c net/mlx5: fix Rx queue recovery mechanism 2022-08-29 12:53:49 +02:00
mlx5_rx.h net/mlx5: support Rx descriptor threshold event 2022-06-23 17:25:02 +02:00
mlx5_rxmode.c net/mlx5: concentrate all device configurations 2022-02-21 11:36:51 +01:00
mlx5_rxq.c net/mlx5: create control flow rules with HWS 2022-10-26 13:33:43 +02:00
mlx5_rxtx_vec_altivec.h avoid AltiVec keyword vector 2022-05-25 11:49:39 +02:00
mlx5_rxtx_vec_neon.h fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
mlx5_rxtx_vec_sse.h fix spelling in comments and strings 2022-01-11 12:16:53 +01:00
mlx5_rxtx_vec.c net/mlx5: improve stride parameter names 2021-12-05 12:22:09 +01:00
mlx5_rxtx_vec.h ethdev: add namespace 2021-10-22 18:15:38 +02:00
mlx5_rxtx.c net/mlx5: move Rx queue DevX resource 2021-11-04 22:55:48 +01:00
mlx5_rxtx.h common/mlx5: share MR mempool registration 2021-10-21 15:58:00 +02:00
mlx5_stats.c net/mlx5: fix Rx/Tx stats concurrency 2022-04-21 12:50:26 +02:00
mlx5_testpmd.c net/mlx5: add test for external Rx queue 2022-07-05 20:02:57 +02:00
mlx5_testpmd.h app/testpmd: add host shaper command 2022-06-23 17:25:04 +02:00
mlx5_trigger.c net/mlx5: create control flow rules with HWS 2022-10-26 13:33:43 +02:00
mlx5_tx_empw.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx_mpw.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx_nompw.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx_txpp.c net/mlx5: separate Tx burst functions to different files 2021-04-15 08:24:59 +02:00
mlx5_tx.c net/mlx5: separate per port configuration 2022-02-21 11:36:54 +01:00
mlx5_tx.h net/mlx5: support device control for E-Switch default rule 2022-10-26 13:33:43 +02:00
mlx5_txpp.c common/mlx5: share interrupt management 2022-06-23 17:24:59 +02:00
mlx5_txq.c net/mlx5: support device control for E-Switch default rule 2022-10-26 13:33:43 +02:00
mlx5_utils.c net/mlx5: fix indexed pool fetch overlap 2022-03-01 22:24:22 +01:00
mlx5_utils.h net/mlx5: support flow age action with HWS 2022-10-26 13:33:41 +02:00
mlx5_vlan.c net/mlx5: concentrate all device configurations 2022-02-21 11:36:51 +01:00
mlx5.c net/mlx5: support device control of representor matching 2022-10-26 13:33:43 +02:00
mlx5.h net/mlx5: create control flow rules with HWS 2022-10-26 13:33:43 +02:00
rte_pmd_mlx5.h net/mlx5: support device control for E-Switch default rule 2022-10-26 13:33:43 +02:00
version.map net/mlx5: support device control for E-Switch default rule 2022-10-26 13:33:43 +02:00