From patchwork Wed Jun 28 16:29:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 129059 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 158BF42D82; Wed, 28 Jun 2023 18:30:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 96E91406B3; Wed, 28 Jun 2023 18:30:34 +0200 (CEST) Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by mails.dpdk.org (Postfix) with ESMTP id 01BAB40151 for ; Wed, 28 Jun 2023 18:30:32 +0200 (CEST) Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-1b6824141b4so8027355ad.1 for ; Wed, 28 Jun 2023 09:30:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1687969832; x=1690561832; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=L2mnzQNIh87ARLo4SAiXtdAo7A2Xy8IKEVKUIH/yYVA=; b=DJ/qAf3fpAl0PdzYbxi7hxBvI7a8jBCwF8tD4Me1ptFa8iWqa5fUBRSGeRapjsTTtN BH7zDl43bpdNYgMlfI7qYbvvwTjgKtv99S710IqtfU6QPELpx8HUqnWP3M0QUVOhpFpH qZWBRgDu+nIQgu459SdKWQ+wgEPfVDFxl1i5g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687969832; x=1690561832; h=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=L2mnzQNIh87ARLo4SAiXtdAo7A2Xy8IKEVKUIH/yYVA=; b=KsMCgdss0qNaaS69DMEzwW+QFBRkfZuJzMtJueOzG6LuF66fRhzWHdzWOWRhtmQTJ2 FER8J1EF/d2PCURYiMdtdaGKosClFy547UkGPjo5l8cG9KbygBQ9wwzreNq/TyQJw/S3 9hRHbLBHRr7IZWYJ0MZtwa0WPO/Jg6tQnsiCzDH8DMhI98w6IRxv+QjQsS0HIUD87CP3 8sN1gplctOvYI+77w+xa8DJrAasvqnKhTwQUwPZ1YZgR9v/Et5m9mP2tnO/Rn4FWL4fX HRg222imfpRJQ3UamY+zzU8mJqFdJlymG9QXxnqsZH86SOQj9+YejPkw8ZqamPY+CxQM o2kg== X-Gm-Message-State: AC+VfDwFRhfSO3VfRMf3lzSgAuAx/iYjWoriHPgvYNgNxLmryWlgLTaD yjwXUP+rsF5wXPSM00VK+UNo19Zp3Vey5iyunm4A04Y87FNbNi4fE+V+9paOmdcjDE2B1sk/Lia xHj0W9sUBd/StLIoFoSwHud2von3iY8gwe0p66xybIWIogbB8/ruSwLuuHfQ9LPLWlOXpTIc= X-Google-Smtp-Source: ACHHUZ6VDAVYOkI3NM0082IfafvBlkoqjVglvHIV4lmTgU28UTc7mqMvXaLYOfgJ5TB6+RMJvfNkqg== X-Received: by 2002:a17:902:f7ca:b0:1ae:89a:a4 with SMTP id h10-20020a170902f7ca00b001ae089a00a4mr2021321plw.8.1687969831490; Wed, 28 Jun 2023 09:30:31 -0700 (PDT) Received: from localhost.localdomain ([192.19.252.250]) by smtp.gmail.com with ESMTPSA id h12-20020a170902f7cc00b001b8229942a0sm3092403plw.34.2023.06.28.09.30.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jun 2023 09:30:30 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, thomas@monjalon.net Subject: [PATCH v4 00/11] sync Truflow support with latest release Date: Wed, 28 Jun 2023 09:29:16 -0700 Message-Id: <20230628162927.92858-1-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <1826961.atdPhlSkOF@thomas> References: <1826961.atdPhlSkOF@thomas> MIME-Version: 1.0 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 Update Truflow support to latest release, deprecating code, updating the copyright date and hsi structure, syncing the truflow core, adding ULP shared session support, RSS action support, Queue action support, rte meter support, and more. Please apply. v3->v4: - Rebased against the latest 23.07-rc2 code base. - Address review comments. - Updated bnxt rte_flow doc for action and item support - Fixed indentation in meson files - Removed some blank line changes, most of these changes were from automated scripts. - Other cleanup and comments. v2->v3: - update some commit messages - removed some empty lines in the patches - removed some dead and unnecessary code - fixed some checkpatch errors Version 2 fixes: - misspellings - whitespace issues - signed off issues Kishore Padmanabha (1): net/bnxt: fix multi-root card support Randy Schacher (8): net/bnxt: remove deprecated features net/bnxt: update bnxt hsi structure net/bnxt: update copyright date and cleanup whitespace net/bnxt: update Truflow core net/bnxt: update ULP shared session support net/bnxt: add RSS and Queue action in TruFLow net/bnxt: add support for rte meter net/bnxt: add support for eCPRI packet parsing Shuanglin Wang (1): net/bnxt: set RSS config based on RSS mode Somnath Kotur (1): net/bnxt: update PTP support on Thor .mailmap | 1 + doc/guides/nics/features/bnxt.ini | 5 + drivers/net/bnxt/bnxt.h | 66 +- drivers/net/bnxt/bnxt_cpr.c | 2 +- drivers/net/bnxt/bnxt_cpr.h | 2 +- drivers/net/bnxt/bnxt_ethdev.c | 209 +- drivers/net/bnxt/bnxt_filter.c | 2 +- drivers/net/bnxt/bnxt_filter.h | 6 +- drivers/net/bnxt/bnxt_flow.c | 75 +- drivers/net/bnxt/bnxt_hwrm.c | 272 +- drivers/net/bnxt/bnxt_hwrm.h | 40 +- drivers/net/bnxt/bnxt_irq.c | 2 +- drivers/net/bnxt/bnxt_irq.h | 3 +- drivers/net/bnxt/bnxt_nvm_defs.h | 3 +- drivers/net/bnxt/bnxt_reps.c | 4 +- drivers/net/bnxt/bnxt_reps.h | 2 +- drivers/net/bnxt/bnxt_ring.c | 7 +- drivers/net/bnxt/bnxt_ring.h | 3 +- drivers/net/bnxt/bnxt_rxq.c | 159 +- drivers/net/bnxt/bnxt_rxq.h | 2 +- drivers/net/bnxt/bnxt_rxr.c | 15 +- drivers/net/bnxt/bnxt_rxr.h | 3 +- drivers/net/bnxt/bnxt_rxtx_vec_avx2.c | 2 +- drivers/net/bnxt/bnxt_rxtx_vec_common.h | 2 +- drivers/net/bnxt/bnxt_rxtx_vec_neon.c | 2 +- drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 2 +- drivers/net/bnxt/bnxt_stats.c | 2 +- drivers/net/bnxt/bnxt_stats.h | 2 +- drivers/net/bnxt/bnxt_txq.c | 3 +- drivers/net/bnxt/bnxt_txq.h | 2 +- drivers/net/bnxt/bnxt_txr.c | 55 +- drivers/net/bnxt/bnxt_txr.h | 4 +- drivers/net/bnxt/bnxt_util.c | 2 +- drivers/net/bnxt/bnxt_util.h | 3 +- drivers/net/bnxt/bnxt_vnic.c | 974 +- drivers/net/bnxt/bnxt_vnic.h | 80 +- drivers/net/bnxt/hsi_struct_def_dpdk.h | 5723 ++- drivers/net/bnxt/meson.build | 5 +- drivers/net/bnxt/rte_pmd_bnxt.c | 2 +- drivers/net/bnxt/rte_pmd_bnxt.h | 2 +- drivers/net/bnxt/tf_core/bitalloc.c | 3 +- drivers/net/bnxt/tf_core/bitalloc.h | 3 +- drivers/net/bnxt/tf_core/cfa_resource_types.h | 5 +- drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 2116 + drivers/net/bnxt/tf_core/cfa_tcam_mgr.h | 523 + .../net/bnxt/tf_core/cfa_tcam_mgr_device.h | 101 + .../net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.c | 201 + .../net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.h | 28 + drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c | 921 + drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.h | 20 + drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c | 926 + drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.h | 20 + drivers/net/bnxt/tf_core/cfa_tcam_mgr_sbmp.h | 126 + .../net/bnxt/tf_core/cfa_tcam_mgr_session.c | 377 + .../net/bnxt/tf_core/cfa_tcam_mgr_session.h | 54 + drivers/net/bnxt/tf_core/dpool.c | 3 +- drivers/net/bnxt/tf_core/dpool.h | 3 +- drivers/net/bnxt/tf_core/ll.c | 2 +- drivers/net/bnxt/tf_core/ll.h | 2 +- drivers/net/bnxt/tf_core/lookup3.h | 1 - drivers/net/bnxt/tf_core/meson.build | 38 +- drivers/net/bnxt/tf_core/rand.c | 2 +- drivers/net/bnxt/tf_core/rand.h | 3 +- drivers/net/bnxt/tf_core/stack.c | 2 +- drivers/net/bnxt/tf_core/stack.h | 3 +- drivers/net/bnxt/tf_core/tf_common.h | 3 +- drivers/net/bnxt/tf_core/tf_core.c | 56 +- drivers/net/bnxt/tf_core/tf_core.h | 189 +- drivers/net/bnxt/tf_core/tf_device.c | 53 +- drivers/net/bnxt/tf_core/tf_device.h | 9 +- drivers/net/bnxt/tf_core/tf_device_p4.c | 24 +- drivers/net/bnxt/tf_core/tf_device_p4.h | 3 +- drivers/net/bnxt/tf_core/tf_device_p58.c | 94 +- drivers/net/bnxt/tf_core/tf_device_p58.h | 2 +- drivers/net/bnxt/tf_core/tf_em.h | 3 +- drivers/net/bnxt/tf_core/tf_em_common.c | 10 +- drivers/net/bnxt/tf_core/tf_em_common.h | 4 +- .../net/bnxt/tf_core/tf_em_hash_internal.c | 2 +- drivers/net/bnxt/tf_core/tf_em_host.c | 3 +- drivers/net/bnxt/tf_core/tf_em_internal.c | 13 +- drivers/net/bnxt/tf_core/tf_ext_flow_handle.h | 4 +- drivers/net/bnxt/tf_core/tf_global_cfg.c | 2 +- drivers/net/bnxt/tf_core/tf_global_cfg.h | 3 +- drivers/net/bnxt/tf_core/tf_hash.c | 2 +- drivers/net/bnxt/tf_core/tf_hash.h | 3 +- drivers/net/bnxt/tf_core/tf_identifier.c | 111 +- drivers/net/bnxt/tf_core/tf_identifier.h | 7 +- drivers/net/bnxt/tf_core/tf_if_tbl.c | 59 +- drivers/net/bnxt/tf_core/tf_if_tbl.h | 11 +- drivers/net/bnxt/tf_core/tf_msg.c | 217 +- drivers/net/bnxt/tf_core/tf_msg.h | 38 +- drivers/net/bnxt/tf_core/tf_msg_common.h | 3 +- drivers/net/bnxt/tf_core/tf_project.h | 3 +- drivers/net/bnxt/tf_core/tf_resources.h | 3 +- drivers/net/bnxt/tf_core/tf_rm.c | 135 +- drivers/net/bnxt/tf_core/tf_rm.h | 6 +- drivers/net/bnxt/tf_core/tf_session.c | 121 +- drivers/net/bnxt/tf_core/tf_session.h | 80 +- .../net/bnxt/tf_core/tf_shadow_identifier.c | 190 - .../net/bnxt/tf_core/tf_shadow_identifier.h | 229 - drivers/net/bnxt/tf_core/tf_shadow_tcam.c | 837 - drivers/net/bnxt/tf_core/tf_shadow_tcam.h | 195 - drivers/net/bnxt/tf_core/tf_sram_mgr.c | 117 +- drivers/net/bnxt/tf_core/tf_sram_mgr.h | 23 +- drivers/net/bnxt/tf_core/tf_tbl.c | 8 +- drivers/net/bnxt/tf_core/tf_tbl.h | 4 +- drivers/net/bnxt/tf_core/tf_tbl_sram.c | 25 +- drivers/net/bnxt/tf_core/tf_tbl_sram.h | 6 +- drivers/net/bnxt/tf_core/tf_tcam.c | 451 +- drivers/net/bnxt/tf_core/tf_tcam.h | 41 +- drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c | 286 + drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h | 49 + drivers/net/bnxt/tf_core/tf_tcam_shared.c | 1146 +- drivers/net/bnxt/tf_core/tf_tcam_shared.h | 4 +- drivers/net/bnxt/tf_core/tf_util.c | 5 +- drivers/net/bnxt/tf_core/tf_util.h | 3 +- drivers/net/bnxt/tf_core/tfp.c | 2 +- drivers/net/bnxt/tf_core/tfp.h | 4 +- drivers/net/bnxt/tf_ulp/bnxt_tf_common.h | 3 +- drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c | 251 +- drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.h | 37 +- drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 850 +- drivers/net/bnxt/tf_ulp/bnxt_ulp.h | 121 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c | 280 +- drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c | 909 + .../bnxt/tf_ulp/generic_templates/meson.build | 3 - .../generic_templates/ulp_template_db_act.c | 6999 +++- .../generic_templates/ulp_template_db_class.c | 33541 +++++++++++----- .../generic_templates/ulp_template_db_enum.h | 4365 +- .../generic_templates/ulp_template_db_field.h | 689 +- .../generic_templates/ulp_template_db_tbl.c | 16056 ++++++-- .../ulp_template_db_thor_act.c | 8714 ++-- .../ulp_template_db_thor_class.c | 10737 +++-- .../ulp_template_db_wh_plus_act.c | 1157 +- .../ulp_template_db_wh_plus_class.c | 287 +- drivers/net/bnxt/tf_ulp/meson.build | 26 +- drivers/net/bnxt/tf_ulp/ulp_def_rules.c | 16 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 26 +- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h | 8 +- drivers/net/bnxt/tf_ulp/ulp_flow_db.c | 29 +- drivers/net/bnxt/tf_ulp/ulp_flow_db.h | 14 +- drivers/net/bnxt/tf_ulp/ulp_gen_hash.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_gen_hash.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_gen_tbl.c | 37 +- drivers/net/bnxt/tf_ulp/ulp_gen_tbl.h | 5 +- drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c | 131 +- drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h | 6 +- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 726 +- drivers/net/bnxt/tf_ulp/ulp_mapper.h | 4 +- drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_matcher.c | 14 +- drivers/net/bnxt/tf_ulp/ulp_matcher.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_port_db.c | 64 +- drivers/net/bnxt/tf_ulp/ulp_port_db.h | 35 +- drivers/net/bnxt/tf_ulp/ulp_rte_handler_tbl.c | 30 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 504 +- drivers/net/bnxt/tf_ulp/ulp_rte_parser.h | 46 +- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 25 +- drivers/net/bnxt/tf_ulp/ulp_tun.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_tun.h | 3 +- drivers/net/bnxt/tf_ulp/ulp_utils.c | 2 +- drivers/net/bnxt/tf_ulp/ulp_utils.h | 3 +- 163 files changed, 79495 insertions(+), 25407 deletions(-) create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr.c create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr.h create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_device.h create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.c create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_hwop_msg.h create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.c create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p4.h create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.c create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_p58.h create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_sbmp.h create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_session.c create mode 100644 drivers/net/bnxt/tf_core/cfa_tcam_mgr_session.h delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_identifier.c delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_identifier.h delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.c delete mode 100644 drivers/net/bnxt/tf_core/tf_shadow_tcam.h create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c create mode 100644 drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h create mode 100644 drivers/net/bnxt/tf_ulp/bnxt_ulp_meter.c