From 69d5406d60597de16be0c941b160f405ebb022af Mon Sep 17 00:00:00 2001 From: Wei Zhao Date: Thu, 16 Jul 2020 09:42:12 +0800 Subject: [PATCH] net/ice: fix tunnel type get When function ice_get_tun_type_for_recipe() get tunnel type, for ICE_NON_TUN we need to include gtp-c and some gtp-u ptype with no payload, as they do not have tunnel packet as paylod. Fixes: 418d2563d10b ("net/ice/base: get tunnel type for recipe") Signed-off-by: Wei Zhao Tested-by: Nannan Lu Acked-by: Qi Zhang --- drivers/net/ice/base/ice_switch.c | 4 ++-- drivers/net/ice/base/ice_switch.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c index 296aa5484f..ebf405f7af 100644 --- a/drivers/net/ice/base/ice_switch.c +++ b/drivers/net/ice/base/ice_switch.c @@ -1069,7 +1069,7 @@ static enum ice_sw_tunnel_type ice_get_tun_type_for_recipe(u8 rid) non_tun_valid = true; } - if (j >= ICE_PROFID_IPV4_GTPC_TEID && + if (j >= ICE_PROFID_IPV4_GTPU_EH_IPV4_OTHER && j <= ICE_PROFID_IPV6_GTPU_IPV6_OTHER) gtp_valid = true; @@ -1136,7 +1136,7 @@ static enum ice_sw_tunnel_type ice_get_tun_type_for_recipe(u8 rid) tun_type = ICE_SW_TUN_PPPOE_IPV6_TCP; break; case ICE_PROFID_PPPOE_IPV6_UDP: - tun_type = ICE_SW_TUN_PPPOE_IPV4_UDP; + tun_type = ICE_SW_TUN_PPPOE_IPV6_UDP; break; case ICE_PROFID_PPPOE_IPV6_OTHER: tun_type = ICE_SW_TUN_PPPOE_IPV6; diff --git a/drivers/net/ice/base/ice_switch.h b/drivers/net/ice/base/ice_switch.h index cc3d2702e0..77c70d3b20 100644 --- a/drivers/net/ice/base/ice_switch.h +++ b/drivers/net/ice/base/ice_switch.h @@ -28,6 +28,7 @@ #define ICE_PROFID_PPPOE_IPV6_UDP 39 #define ICE_PROFID_PPPOE_IPV6_OTHER 40 #define ICE_PROFID_IPV4_GTPC_TEID 41 +#define ICE_PROFID_IPV4_GTPU_EH_IPV4_OTHER 47 #define ICE_PROFID_IPV6_GTPU_IPV6_OTHER 70 #define ICE_PROFID_IPV4_ESP 71 #define ICE_PROFID_IPV6_ESP 72 -- 2.20.1