From patchwork Thu Nov 4 21:58:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 103794 X-Patchwork-Delegate: ajit.khaparde@broadcom.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 F3DC1A0C5E; Thu, 4 Nov 2021 22:59:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6C87B427C7; Thu, 4 Nov 2021 22:59:09 +0100 (CET) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mails.dpdk.org (Postfix) with ESMTP id 6F5C1427B1 for ; Thu, 4 Nov 2021 22:59:04 +0100 (CET) Received: by mail-pl1-f177.google.com with SMTP id n8so9580268plf.4 for ; Thu, 04 Nov 2021 14:59:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version; bh=611C7XZ4A0nt2ptrqSj3MwuZrcCSRnsOLZZDmnB2EPY=; b=LwsaMoagprElLXaCb0GfPz0rs/krh9KVjhaCQrVw9h4DCloJ39fekHAIEBftbe8sTU 0dHvrrCR9Qi9yhtZhopjgUt/R/o7sz84rwySD/itO/fRWFV9zMPs4Yr2YnfwUJCrH4+e cW/HCg0XE6zO72niz3FqyFrRdmxnmrbuucsy4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version; bh=611C7XZ4A0nt2ptrqSj3MwuZrcCSRnsOLZZDmnB2EPY=; b=m/t1kzq8utJHVDYarIj3bSjXsDhpIi/rSSs1U3ytMTUe5wzbpavfP4f6Gt3kyk92Lw IfMZTY6q4Fd0beF6Y4ot44GzDzApr3XW6AxPiSlLyGmtKSczg/UMJxgRiIl+gFvXhfN0 QsXFt4pZl4vxFiEda27gy7IDCKwuWxUtLkCLjKAJgvSxHiR+A3uMfeaewmr4tV/fWjjP i9LqD+bg44FtSARGgbTbhJ9jx8VpvgDQ5V6FShOdCUpWynnxlD7xdm35d5Qdvt8h+BXy BzTyFPlPcxbuZI8wjgYYRn/U6WjugyAaH6Nu7NbsMipCoq5Cz6VNmBItY7bvi8SscJm/ rdXw== X-Gm-Message-State: AOAM531ti5ZLbITHkLVUme4/qmyT33GBSHdchXDC80I8Bi9mNqYO6twO fnpXhWUToZZEBiQQhC4KrrtZpzubwuA5NGj8Rjm3hPkRpssMfyQkccaiskcl9oi8/sZ6PSQcM9G rQkarspLFvBSkMXNOLXjzaMKhbzQpztvG76XvY/3cvuhanbEx0oAgSNkue+1Qox0= X-Google-Smtp-Source: ABdhPJwqOo/5sCw2XSUOZG04+eoi7Asivie4R0eiaAUGqpr8FA3vxhX3znvtGGOAM+5uzTXmoiGVaw== X-Received: by 2002:a17:902:9005:b0:142:1d6c:797c with SMTP id a5-20020a170902900500b001421d6c797cmr12787650plp.4.1636063143359; Thu, 04 Nov 2021 14:59:03 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id pg5sm8532242pjb.26.2021.11.04.14.59.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Nov 2021 14:59:02 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kishore Padmanabha , Venkat Duvvuru , Mike Baucom , Randy Schacher Date: Thu, 4 Nov 2021 14:58:33 -0700 Message-Id: <20211104215846.58672-10-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.30.1 (Apple Git-130) In-Reply-To: <20211104215846.58672-1-ajit.khaparde@broadcom.com> References: <20211103005251.25524-1-ajit.khaparde@broadcom.com> <20211104215846.58672-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [dpdk-dev] [PATCH v5 09/22] net/bnxt: support inner IP header for GRE tunnel flows 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" From: Kishore Padmanabha This change allows adding IP header matches for GRE flows that does not specify outer IP header in the flow match pattern. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Mike Baucom Reviewed-by: Randy Schacher Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 7 ++++--- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index 40da953f06..605c29223c 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -1119,7 +1119,8 @@ ulp_rte_ipv4_hdr_handler(const struct rte_flow_item *item, /* Set the ipv4 header bitmap and computed l3 header bitmaps */ if (ULP_BITMAP_ISSET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_O_IPV4) || - ULP_BITMAP_ISSET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_O_IPV6)) { + ULP_BITMAP_ISSET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_O_IPV6) || + ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_L3_TUN)) { ULP_BITMAP_SET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_I_IPV4); ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_I_L3, 1); inner_flag = 1; @@ -1245,7 +1246,8 @@ ulp_rte_ipv6_hdr_handler(const struct rte_flow_item *item, /* Set the ipv6 header bitmap and computed l3 header bitmaps */ if (ULP_BITMAP_ISSET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_O_IPV4) || - ULP_BITMAP_ISSET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_O_IPV6)) { + ULP_BITMAP_ISSET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_O_IPV6) || + ULP_COMP_FLD_IDX_RD(params, BNXT_ULP_CF_IDX_L3_TUN)) { ULP_BITMAP_SET(hdr_bitmap->bits, BNXT_ULP_HDR_BIT_I_IPV6); ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_I_L3, 1); inner_flag = 1; @@ -2127,7 +2129,6 @@ ulp_rte_vxlan_decap_act_handler(const struct rte_flow_action *action_item BNXT_ULP_ACT_BIT_VXLAN_DECAP); /* Update computational field with tunnel decap info */ ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_L3_TUN_DECAP, 1); - ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_L3_TUN, 1); return BNXT_TF_RC_SUCCESS; } diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index d3bfb8c12d..7d1bc06a3e 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -27,7 +27,7 @@ #define BNXT_ULP_PROTO_HDR_UDP_NUM 4 #define BNXT_ULP_PROTO_HDR_TCP_NUM 9 #define BNXT_ULP_PROTO_HDR_VXLAN_NUM 4 -#define BNXT_ULP_PROTO_HDR_GRE_NUM 6 +#define BNXT_ULP_PROTO_HDR_GRE_NUM 2 #define BNXT_ULP_PROTO_HDR_ICMP_NUM 5 #define BNXT_ULP_PROTO_HDR_MAX 128 #define BNXT_ULP_PROTO_HDR_ENCAP_MAX 64