From patchwork Tue Apr 13 05:06:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qi Zhang X-Patchwork-Id: 91189 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EC54EA0524; Tue, 13 Apr 2021 07:04:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CEA4160AF2; Tue, 13 Apr 2021 07:03:33 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id C1172160ACB for ; Tue, 13 Apr 2021 07:03:26 +0200 (CEST) IronPort-SDR: qdG+hH6mqdVwhVdOnuuexIuYAokzeIimS8LD51tlrR/mS1TkkwFFBLK7g2N8j/hfuKvtkSxre+ NKjrhfh7+WgQ== X-IronPort-AV: E=McAfee;i="6200,9189,9952"; a="192207603" X-IronPort-AV: E=Sophos;i="5.82,218,1613462400"; d="scan'208";a="192207603" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Apr 2021 22:03:26 -0700 IronPort-SDR: 6tBYgtQQANAuosFrIZc9gAmk2lxCLWdQJbjymAUCSqe7m3KVp78okyopRiOsLoCE9r+qrld7lj +2syJZa7oUGA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,218,1613462400"; d="scan'208";a="417704725" Received: from dpdk51.sh.intel.com ([10.67.111.142]) by fmsmga008.fm.intel.com with ESMTP; 12 Apr 2021 22:03:25 -0700 From: Qi Zhang To: qiming.yang@intel.com Cc: dev@dpdk.org, Qi Zhang , Kiran Patil Date: Tue, 13 Apr 2021 13:06:40 +0800 Message-Id: <20210413050640.2586033-15-qi.z.zhang@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210413050640.2586033-1-qi.z.zhang@intel.com> References: <20210329141411.2395069-1-qi.z.zhang@intel.com> <20210413050640.2586033-1-qi.z.zhang@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 14/14] net/ice/base: allow support for GTP-U filter using only inner protocols X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Adds a support for switch filter: GTP-U using just inner fields. If user doesn't specify outer protocol and its fields but wants to add switch filter for GTP-U using inner protocols and related fields such as inner L3 and/or inner L4, this patch enables such filtering. Signed-off-by: Kiran Patil Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_protocol_type.h | 2 ++ drivers/net/ice/base/ice_switch.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/base/ice_protocol_type.h b/drivers/net/ice/base/ice_protocol_type.h index d078061afb..8c9d098e22 100644 --- a/drivers/net/ice/base/ice_protocol_type.h +++ b/drivers/net/ice/base/ice_protocol_type.h @@ -110,6 +110,8 @@ enum ice_sw_tunnel_type { ICE_SW_TUN_IPV4_GTPU_IPV6, ICE_SW_TUN_IPV6_GTPU_IPV4, ICE_SW_TUN_IPV6_GTPU_IPV6, + ICE_SW_TUN_GTP_IPV4, + ICE_SW_TUN_GTP_IPV6, ICE_ALL_TUNNELS /* All tunnel types including NVGRE */ }; diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c index a567b6de81..45f83cd10c 100644 --- a/drivers/net/ice/base/ice_switch.c +++ b/drivers/net/ice/base/ice_switch.c @@ -7980,13 +7980,15 @@ ice_find_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt, } /* Support GTP tunnel + L3 */ - if (tun_type == ICE_SW_TUN_IPV4_GTPU_IPV4) { + if (tun_type == ICE_SW_TUN_IPV4_GTPU_IPV4 || + tun_type == ICE_SW_TUN_GTP_IPV4) { *pkt = dummy_ipv4_gtpu_ipv4_packet; *pkt_len = sizeof(dummy_ipv4_gtpu_ipv4_packet); *offsets = dummy_ipv4_gtpu_ipv4_packet_offsets; return; } - if (tun_type == ICE_SW_TUN_IPV4_GTPU_IPV6) { + if (tun_type == ICE_SW_TUN_IPV4_GTPU_IPV6 || + tun_type == ICE_SW_TUN_GTP_IPV6) { *pkt = dummy_ipv4_gtpu_ipv6_packet; *pkt_len = sizeof(dummy_ipv4_gtpu_ipv6_packet); *offsets = dummy_ipv4_gtpu_ipv6_packet_offsets;