From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1AF3A458A8; Fri, 30 Aug 2024 15:56:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 52C9642EED; Fri, 30 Aug 2024 15:55:24 +0200 (CEST) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mails.dpdk.org (Postfix) with ESMTP id 2A08F42EE3 for ; Fri, 30 Aug 2024 15:55:23 +0200 (CEST) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-201ed196debso15856525ad.1 for ; Fri, 30 Aug 2024 06:55:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1725026122; x=1725630922; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SyMeMmYT6vx7JnHm5gH8EiRfU1h7rVmFSBq409LOm58=; b=UjXc3oHHokJVKiLe6O2O/9WaeBP4hnfbRjXYExfE0ccvTAUuH56RztASM0LeMK29pZ 3inKAosFd0BcvJ31ed+sDlEZDE261/o55lanhBdHDIVB9YdH6WPMYqLHCM6uPwwAPYbU ONoFFXyJqJ+IdT4chb6DyMZh8XfHw6icVUx1A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725026122; x=1725630922; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SyMeMmYT6vx7JnHm5gH8EiRfU1h7rVmFSBq409LOm58=; b=VQO/KtE7tMW/cYOConK2A1fSgTco/NQid4rxCTuVS6nEbxiZiBMVp6cTIVDTfuucTS nYyqNffi0B6hVfZs7fEN6j3Y28NPf1JaCeesm4WRngh9BQwAi7pID2S4cOTNvxmrytbJ Ufkv09GZorgxbyU+gU4LS2OUPdlelZksfQcePyGjs7y7zVNuubPJRYSe5MWD9Lde9fMU 6EvADnxlOwZbL4q9t+0K/fJRAfRnTIEyLeQFitwGxNMGwb4QS+weCF5EKCiXJOBT1XR8 TYWjt9hMkTx7yVbhEmQGamrOiYSJFjiQ6lK97sxbn1/42Nwtx0PmLTWNiEFuhFB3pqr9 NHLQ== X-Gm-Message-State: AOJu0YzpmnMLUJLthwH2A1WL07Y5jw8oFL+e7t72hqNNJShTeMoF/+vQ Hq/vL6gDtgvdo1JB5RR0N57b735X3q4xBooiBwV2tYaN3MN4gpvX61PBa6Hq4+t5Mh7gbLS55iA i/FwFbo4tG8CH+AlnIM9bADI7f6+5Lv0Zie8mzjxUAnq1PpUgFhH6B8k32Ch4r1MkgC2eQVfxWT 2HejNTpb3roojg0sL2Fmvlk85au+h5SaZm3wW7JskTFxtP X-Google-Smtp-Source: AGHT+IEX3+Z1pNJHbSYvdiqFiGf+r/Zc0XfUX5p87D28KCJJyICb+gW8uJ9JiZi7BkfQiZ374BedSQ== X-Received: by 2002:a17:902:f648:b0:1fb:4f8f:f212 with SMTP id d9443c01a7336-2050c4e89a1mr68481345ad.60.1725026121715; Fri, 30 Aug 2024 06:55:21 -0700 (PDT) Received: from dhcp-10-123-154-23.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-205155658dfsm27067145ad.297.2024.08.30.06.55.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Aug 2024 06:55:21 -0700 (PDT) From: Sriharsha Basavapatna To: dev@dpdk.org Cc: Kishore Padmanabha , Michael Baucom , Sriharsha Basavapatna Subject: [PATCH 41/47] net/bnxt: tf_ulp: support a few generic template items Date: Fri, 30 Aug 2024 19:30:43 +0530 Message-Id: <20240830140049.1715230-42-sriharsha.basavapatna@broadcom.com> X-Mailer: git-send-email 2.39.0.189.g4dbebc36b0 In-Reply-To: <20240830140049.1715230-1-sriharsha.basavapatna@broadcom.com> References: <20240830140049.1715230-1-sriharsha.basavapatna@broadcom.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 From: Kishore Padmanabha This patch provides the following changes. support generic template items Add support for jump action, dynamic tunnels and flow priority to thor2 platform. fix generic application template The queue action is enabled for Thor2 platform. Enabled rejection check for every action template. Fixed dynamic vxlan ip tunnel configuration. fix vxlan ip customer tunnel The upar id is not populated correctly to set the tunnel id in the tcam table. fix compiler warnings This change fixes several compiler warnings. Signed-off-by: Kishore Padmanabha Reviewed-by: Michael Baucom Signed-off-by: Sriharsha Basavapatna --- drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c | 9 +++++++++ drivers/net/bnxt/tf_ulp/ulp_mapper.c | 11 +++-------- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 12 ++++++++++++ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c index e5bb24299e..9c9e206285 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tfc.c @@ -536,6 +536,15 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id) } } ulp_ctx->cfg_data->feature_bits = info[i].feature_bits; + bnxt_ulp_default_app_priority_set(ulp_ctx, + info[i].default_priority); + bnxt_ulp_max_def_priority_set(ulp_ctx, + info[i].max_def_priority); + bnxt_ulp_min_flow_priority_set(ulp_ctx, + info[i].min_flow_priority); + bnxt_ulp_max_flow_priority_set(ulp_ctx, + info[i].max_flow_priority); + bnxt_ulp_cntxt_ptr2_default_class_bits_set(ulp_ctx, info[i].default_class_bits); bnxt_ulp_cntxt_ptr2_default_act_bits_set(ulp_ctx, diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index f0d715d369..5dfe72df17 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -872,7 +872,7 @@ ulp_mapper_field_src_process(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_data *m; uint8_t bit; uint32_t port_id, val_size, field_size; - uint16_t idx, size_idx, offset; + uint16_t idx = 0, size_idx = 0, offset = 0; uint32_t bytelen = ULP_BITS_2_BYTE(bitlen); uint8_t *buffer; uint64_t lregval; @@ -1291,7 +1291,7 @@ ulp_mapper_field_opc_next(struct bnxt_ulp_mapper_parms *parms, const char *name) { struct bnxt_ulp_mapper_field_info *field_info; - uint16_t idx; + uint16_t idx = 0; /* read the cond table index and count */ if (unlikely(ulp_operand_read(field_opr, @@ -1594,7 +1594,7 @@ ulp_mapper_key_recipe_field_opc_next(struct bnxt_ulp_mapper_parms *parms, struct bnxt_ulp_mapper_field_info *ofld) { struct bnxt_ulp_mapper_field_info *field_info; - uint16_t idx; + uint16_t idx = 0; /* read the cond table index and count */ if (unlikely(ulp_operand_read(field_opr, @@ -3777,11 +3777,6 @@ ulp_mapper_cond_reject_list_process(struct bnxt_ulp_mapper_parms *parms, /* set the rejection result to accept */ *res = 0; - /* If act rej cond is not enabled then skip reject cond processing */ - if (parms->tmpl_type == BNXT_ULP_TEMPLATE_TYPE_ACTION && - !ULP_COMP_FLD_IDX_RD(parms, BNXT_ULP_CF_IDX_ACT_REJ_COND_EN)) - return rc; - /* get the reject condition list */ reject_info = ulp_mapper_tmpl_reject_list_get(parms, tid); diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c index 72d3514647..dbd8a118df 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c +++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c @@ -1298,6 +1298,7 @@ ulp_rte_l4_proto_type_update(struct ulp_rte_parser_params *params, enum bnxt_ulp_hdr_bit hdr_bit) { uint16_t stat_port = 0; + struct bnxt *bp; switch (hdr_bit) { case BNXT_ULP_HDR_BIT_I_UDP: @@ -1364,10 +1365,21 @@ ulp_rte_l4_proto_type_update(struct ulp_rte_parser_params *params, /* if udp and equal to static vxlan port then set tunnel bits*/ if (stat_port && dst_port == tfp_cpu_to_be_16(stat_port)) { + bp = bnxt_pmd_get_bp(params->port_id); + if (bp == NULL) { + BNXT_DRV_DBG(ERR, "Invalid bp\n"); + return; + } ULP_BITMAP_SET(params->hdr_fp_bit.bits, BNXT_ULP_HDR_BIT_T_VXLAN); ULP_BITMAP_SET(params->cf_bitmap, BNXT_ULP_CF_BIT_IS_TUNNEL); + if (bp->vxlan_ip_upar_in_use & + HWRM_TUNNEL_DST_PORT_QUERY_OUTPUT_UPAR_IN_USE_UPAR0) { + ULP_COMP_FLD_IDX_WR(params, + BNXT_ULP_CF_IDX_VXLAN_IP_UPAR_ID, + ULP_WP_SYM_TUN_HDR_TYPE_UPAR1); + } } } else { /* if dynamic Vxlan is enabled then skip dport checks */ -- 2.39.3