From patchwork Fri Oct 25 17:57:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147329 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 DF4A245BCB; Fri, 25 Oct 2024 19:57:50 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 66B3440656; Fri, 25 Oct 2024 19:57:47 +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 B4B0540156 for ; Fri, 25 Oct 2024 19:57:44 +0200 (CEST) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-20ceb8bd22fso18576975ad.3 for ; Fri, 25 Oct 2024 10:57:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879063; x=1730483863; 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=0m4ZcTDTDINtdUwdS+Vne8wwYheYeU+HLeOc4hHu+wE=; b=TWkKUSAdu+KzSkdbiZ222rjz63+AZQcQBhK3xZO9i2MVJOflzypdMaK3RdPl8kFPkQ ukeKkkfuo6xL6h9oJWYAhQ4ka0PMmIa/ebDIWzrgWbuTGaDtUQnbv0+ubikNNm0ovzPa 2lQJIoM8D+f1EF6FfK8NDj8Nf4KH9/YQS8htw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879063; x=1730483863; 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=0m4ZcTDTDINtdUwdS+Vne8wwYheYeU+HLeOc4hHu+wE=; b=LgHf6WhMBZuj+LgjcCdEPc83QI34/yyGXjgL2MkIOsotWji6N8qdLZ0pzd1EF+QArq gyEjzYhLOIm9lxKb1iyL6isTaSPIEQjFhmOn19sw0+3kKdZNnY6AE1hJLPz+PLroM8U7 gHQF5pxGijR7UKkyVlqooGIjnC/N40ND9EZJUP8HDjWuTN2w8DUjms4KFqZlTQAUaPP+ AdUOjWLFGUFRGcaMrZziRYpH1GjCMmcXpUVu5KuOXu1tHxTpGVTIFCrRadrsMhWynXwj 7reSdKOLJTUmSDqLcIvpJ8Muo/9+YkhIzIMkkqWbe1N11x63oQiIhYA/DVyFjKOCOuMw UwCA== X-Gm-Message-State: AOJu0Yxg1rpITxkOvmpBKC81+a2nyuYRjKp0o89IEZTSqRP4Kw2rl6yo 221DwbtG8mAPveMNJBmi3qP0shWOJJsqUHi8VqKnKutQV9FknSGW1crHVVzUfmoUw6sQ7Zz6aKc ZCW7d3t+vQ7nJ3XrdnCZw3NwPs5qiciz0a/Pk1f1QiSq3pMKd4S6ZyuUgUBpA+EOgq9tY8DwFCX /bwaB8d/9AR64kC1ohzVCSHt3PkSrc2UU= X-Google-Smtp-Source: AGHT+IEdeZcuZTnjW5GyhXfziOdyCa4GYSn6ZAomZ/QD04rQoOnNX1ql5uCDZQVOL/yra13Ro3qscw== X-Received: by 2002:a17:903:32c4:b0:20c:7796:5e76 with SMTP id d9443c01a7336-20fa9e5d525mr138169405ad.18.1729879063456; Fri, 25 Oct 2024 10:57:43 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:42 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Kalesh AP , Damodharam Ammepalli Subject: [PATCH 01/13] net/bnxt: fix TCP and UDP checksum flags Date: Fri, 25 Oct 2024 10:57:26 -0700 Message-Id: <20241025175738.99564-2-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 Set TCP and UDP checksum flags explicitly for LSO capable packets. In some older chip variants, this will enable the hardware compute the checksum correctly for tunnel and non-tunnel packets. Fixes: 1d76c878b21d ("net/bnxt: support updating IPID") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde Reviewed-by: Kalesh AP Reviewed-by: Damodharam Ammepalli --- drivers/net/bnxt/bnxt_txr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 12e4faa8fa..38f858f27f 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -319,7 +319,9 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, /* TSO */ txbd1->lflags |= TX_BD_LONG_LFLAGS_LSO | - TX_BD_LONG_LFLAGS_T_IPID; + TX_BD_LONG_LFLAGS_T_IPID | + TX_BD_LONG_LFLAGS_TCP_UDP_CHKSUM | + TX_BD_LONG_LFLAGS_T_IP_CHKSUM; hdr_size = tx_pkt->l2_len + tx_pkt->l3_len + tx_pkt->l4_len; hdr_size += (tx_pkt->ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) ? From patchwork Fri Oct 25 17:57:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147330 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 A24A045BCB; Fri, 25 Oct 2024 19:57:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BCC3C40667; Fri, 25 Oct 2024 19:57:48 +0200 (CEST) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mails.dpdk.org (Postfix) with ESMTP id 7603840655 for ; Fri, 25 Oct 2024 19:57:46 +0200 (CEST) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-20c803787abso18271735ad.0 for ; Fri, 25 Oct 2024 10:57:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879065; x=1730483865; 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=xeq5JUB1b6HXK+w9i2aJfKsRO1Hes6bBbc2MvfUkJbY=; b=F3i6qyH88XAc8pZlgHIO0UWkdYrXywZZchrQq2TLqQU9XydIPUJF7CbV6J1A1hCQVK uvpd+X/sLr8Cf7eQVmq5xBg0xaZRJ6KVjzC7WBNb8gDN540M6IdeNa5Wmig8qEVxVgh0 gAN1pl54yT+N6IF0oxX65m5Rd1mdc1RAOxaBw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879065; x=1730483865; 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=xeq5JUB1b6HXK+w9i2aJfKsRO1Hes6bBbc2MvfUkJbY=; b=DMImZa8fnjwV7K+m3IqS1zldi7GrXOfMXrr78tDkT2s6WXKf61955p9yOf62oZFLE0 t7S+8lpwYbvffgv1e4dtUW7BNnVwFMjFcJRpEwAGOcIyJr7X5IENFVictNMnKg4lgkGi rUTfFSjM8O6WexZg9c6WQ0v06ORSKrm/+noKCW4A+pTbgLwUUyZ81RJFEGqloDXXm9hJ 1/orFHikhDPb4NLmk/PIII6nz3zuiXzMQoBo+H5/Ze3xQcfDaUx76Er0zo+aa0rAs9X3 1Xn2TscVDZXkaQ4wad2qtEToZsIZbH+/46fOW6K9sqACxYngZmhfZiSr6vAvQ8qKZ19N UggA== X-Gm-Message-State: AOJu0YxrOF0DHo5U+WDcZXX1P/rhfTbYhSzhjzgzq3fU8ewlAfAkUhjm rEqolQ/eDhaZhc0Ncw/HkTlwVMr2qWv/5+R1DHNzr1eK8YmosN12qsRJSY+IyIPWkgZoilW5mpG KcHBCx8f6Mkpcdnl8bl3ZIFiHma/i6RT/ni4/CzZ8GOPmJ9408rbKFuF5qhg8l4D55dE2J1gpMr 6JP6IdIYUXw8bRfOpgfMxhJRbRhYzjcq0= X-Google-Smtp-Source: AGHT+IFfnREUdcHRlzNCQV+MJXEA+4lZTVjWa5wpUaWL/X/EcuNAW6f10xV8Cc3nyDtqF58e9RjaAw== X-Received: by 2002:a17:902:d487:b0:20c:68af:a4e3 with SMTP id d9443c01a7336-210c5a466eamr5512105ad.22.1729879064889; Fri, 25 Oct 2024 10:57:44 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:44 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Peter Spreadborough , stable@dpdk.org, Kishore Padmanabha Subject: [PATCH 02/13] net/bnxt: fix bad action offset in Tx bd Date: Fri, 25 Oct 2024 10:57:27 -0700 Message-Id: <20241025175738.99564-3-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Peter Spreadborough This change ensures that the high part of an action table entry offset stored in the Tx BD is set correctly. A bad value will cause the PDCU to abort a fetch an may stall the pipeline. Fixes: 527b10089cc5 ("net/bnxt: optimize Tx completion handling") Cc: stable@dpdk.org Signed-off-by: Peter Spreadborough Reviewed-by: Kishore Padmanabha Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_txr.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 38f858f27f..c82b11e733 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -308,10 +308,15 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, */ txbd1->kid_or_ts_high_mss = 0; - if (txq->vfr_tx_cfa_action) - txbd1->cfa_action = txq->vfr_tx_cfa_action; - else - txbd1->cfa_action = txq->bp->tx_cfa_action; + if (txq->vfr_tx_cfa_action) { + txbd1->cfa_action = txq->vfr_tx_cfa_action & 0xffff; + txbd1->cfa_action_high = (txq->vfr_tx_cfa_action >> 16) & + TX_BD_LONG_CFA_ACTION_HIGH_MASK; + } else { + txbd1->cfa_action = txq->bp->tx_cfa_action & 0xffff; + txbd1->cfa_action_high = (txq->bp->tx_cfa_action >> 16) & + TX_BD_LONG_CFA_ACTION_HIGH_MASK; + } if (tx_pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG || tx_pkt->ol_flags & RTE_MBUF_F_TX_UDP_SEG) { From patchwork Fri Oct 25 17:57:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147331 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 5964245BCB; Fri, 25 Oct 2024 19:58:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 32A2740673; Fri, 25 Oct 2024 19:57:53 +0200 (CEST) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by mails.dpdk.org (Postfix) with ESMTP id 04FD24065D for ; Fri, 25 Oct 2024 19:57:48 +0200 (CEST) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-20c7ee8fe6bso19795665ad.2 for ; Fri, 25 Oct 2024 10:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879067; x=1730483867; 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=44olhYEdhVx+M+JkKc6/T6XqBFp3DIhfqyjypoFKN1o=; b=JA/esxyZgVGcADQMXYWD1zUOWY097AdQGWSy8FjGX2tA5bNlxyrpIwNHaAilzjgHyf ypKm8xtJXKHLviaMoYFH85hOrkmpliArWZ0U/szW++BLk0j55/ibCOF83/hR4HcGQlpn 4JyXFsolISsXVgfa0D8UgHZh4MgnB+tkwIGBw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879067; x=1730483867; 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=44olhYEdhVx+M+JkKc6/T6XqBFp3DIhfqyjypoFKN1o=; b=tFMWLDZaARUeXYIUKuVGfM0Kgol3pf6xEP9fmmpheg0o+Db30Mke6jkaG68ps9nqWB ZVVrq1ax+IU+RWGuAZRPfs/8KHkuk7x13tSGYDM6jzVZi55evkaGafMDIkZhlJPPofo2 UE/9JPRwtFh1XGiS5QSRX+IUGkgzXZR3TDgtzkxOVsIbzEaJ8PAxbWCtbGAsZFvA0ULE 1zU3Y+vZqYn+hInUv67s8lhfLtgMqAKDsB7SX+KB367ZQTJ4m+iOxKV5zR2yA/kUcMwi ddW0WlbB4++GVUbnIzwdQE6+d3reGAFZ8d3zqyt3gZKKAIUCd8iDamHKLdo/wGOZHABw h0Xg== X-Gm-Message-State: AOJu0YzE/YjG0ZKg94AlvYVdTA966UxfA9i/QTbOuAsMDJBGFIlJNRbB t289hLSPwUxGJR6O63lf3/nxT5oL2IZEY6UShZrISB+9WH5UA3CUHwUakqcufsy7JdwypL0eTaN Ff5CsJptUtT6k1teLZohdpuI2ZlKpAfq7sKpN5hbwemM0vXEI5PN0XbFHrz0BjYc1ARv8/A28TC pHQngXvwjVFoXp+TWpxeYDQgti/iDvdGs= X-Google-Smtp-Source: AGHT+IEGsUOlV9bdauIWJreal7YZXHCfmkxuLeh/tQ9qpDZCNrCwoesa0/dT01IyKkCG4zQuipDwdA== X-Received: by 2002:a17:902:d2ca:b0:20c:6bff:fcc2 with SMTP id d9443c01a7336-20fb9b33443mr98412615ad.56.1729879066617; Fri, 25 Oct 2024 10:57:46 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:45 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP , Somnath Kotur Subject: [PATCH 03/13] net/bnxt: add check to validate TSO segment size Date: Fri, 25 Oct 2024 10:57:28 -0700 Message-Id: <20241025175738.99564-4-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Kalesh AP Currently driver has a check to validate TSO seg_size for 0 which is to detect corrupted packet. But user can set any value as the TSO seg_size. Adding a check to validate the minimum TSO seg_size in the driver. Driver will drop a packet with TSO seg_size less than 4 when TSO is requested in the MBUF flags. Signed-off-by: Kalesh AP Reviewed-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_txr.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index c82b11e733..6d7e9962ce 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -129,23 +129,26 @@ bnxt_xmit_need_long_bd(struct rte_mbuf *tx_pkt, struct bnxt_tx_queue *txq) * segments or fragments in those cases. */ static bool -bnxt_zero_data_len_tso_segsz(struct rte_mbuf *tx_pkt, uint8_t data_len_chk) +bnxt_zero_data_len_tso_segsz(struct rte_mbuf *tx_pkt, bool data_len_chk, bool tso_segsz_check) { - const char *type_str = "Data len"; - uint16_t len_to_check = tx_pkt->data_len; + const char *type_str; - if (data_len_chk == 0) { - type_str = "TSO Seg size"; - len_to_check = tx_pkt->tso_segsz; + /* Minimum TSO seg_size should be 4 */ + if (tso_segsz_check && tx_pkt->tso_segsz < 4) { + type_str = "Unsupported TSO Seg size"; + goto dump_pkt; } - if (len_to_check == 0) { - PMD_DRV_LOG_LINE(ERR, "Error! Tx pkt %s == 0", type_str); - rte_pktmbuf_dump(stdout, tx_pkt, 64); - rte_dump_stack(); - return true; + if (data_len_chk && tx_pkt->data_len == 0) { + type_str = "Data len == 0"; + goto dump_pkt; } return false; +dump_pkt: + PMD_DRV_LOG_LINE(ERR, "Error! Tx pkt %s == 0", type_str); + rte_pktmbuf_dump(stdout, tx_pkt, 64); + rte_dump_stack(); + return true; } static bool @@ -248,7 +251,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, } /* Check non zero data_len */ - if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, 1))) + if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, true, false))) return -EIO; if (unlikely(txq->bp->ptp_cfg != NULL && txq->bp->ptp_all_rx_tstamp == 1)) @@ -338,7 +341,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, */ txbd1->kid_or_ts_low_hdr_size = hdr_size >> 1; txbd1->kid_or_ts_high_mss = tx_pkt->tso_segsz; - if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, 0))) + if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, false, true))) return -EIO; } else if ((tx_pkt->ol_flags & PKT_TX_OIP_IIP_TCP_UDP_CKSUM) == @@ -413,7 +416,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, m_seg = tx_pkt->next; while (m_seg) { /* Check non zero data_len */ - if (unlikely(bnxt_zero_data_len_tso_segsz(m_seg, 1))) + if (unlikely(bnxt_zero_data_len_tso_segsz(m_seg, true, false))) return -EIO; txr->tx_raw_prod = RING_NEXT(txr->tx_raw_prod); From patchwork Fri Oct 25 17:57:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147332 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 2022045BCB; Fri, 25 Oct 2024 19:58:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4C70240649; Fri, 25 Oct 2024 19:57:54 +0200 (CEST) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by mails.dpdk.org (Postfix) with ESMTP id AB19D4066D for ; Fri, 25 Oct 2024 19:57:49 +0200 (CEST) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-20c714cd9c8so22646585ad.0 for ; Fri, 25 Oct 2024 10:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879068; x=1730483868; 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=+mUGrys51rrrGRcEsltsl7C5BlGSp1s3k7WzJGhOVLE=; b=Gtur705E97ZNq2sXIPHS8YPbjx4pwK6LiO5021e9pJDO63yiCF2k5mvET54dXk37Ap 7vcNImYrfR6JqPAujB4YRrrKNg+aziRaM5EGFV+PYBU/o8coD+6+qgkg0z13m1kvpgXl GkyYLwYNcCuW4oTa4NC2Bm0iifqHtBYzaTtlA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879068; x=1730483868; 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=+mUGrys51rrrGRcEsltsl7C5BlGSp1s3k7WzJGhOVLE=; b=RhluDvqLdFBiHXuRjXYIU+qRpFHvmcQEvUDn0YHjeKyugxpGY15R3PwNXuo1NOiSOy 7CsUd7js9nka76YXibv4eA9JNGMN/q/J7Y/kppBJaoov6Ai7CTzHNq6kotHEMZ3x3pUK NYblashTGs899AEi1DnLB2n/y8RNyN5MTorCWe6QU/HXpE/XIYAgnSf1+hAV8jjaMM3W m1S4mkLX6PGqqKdKIzuLcgvTF1cSgKBBfgf5X7guoZRs7uOyGuCnHrTPvE3PT/l6CN1P joG6kzxvs1TOv9IrymshirJ17FoD2pEYAqG2fLa4vzbCLwKZcMhKh0JGHKo29Hr0TXzr xkTQ== X-Gm-Message-State: AOJu0YyFn7pt35Lt0omSLZ0EmXsy5MTKVuTmsxdDk0TfZ8cxs6W+EfXR /0ky6ros+43rNbtAz/VET8mk+94BEjsi9B+CnHBHHIEaJu4ITo0M/lX1fx4bo8LmVen4cEJsrt6 KE2kcFIcnA1gAT29iY2dTf7wGVQx5k0v4IPa0iy4t9lG9tDOfCSW7bZSTrhtJirdNP99KUZqJOB HHuknpeJIKrBMwIBu6QqrW4zoS61Ulqbg= X-Google-Smtp-Source: AGHT+IEDygm5631LilW1IU/9CZaPr4Igf/909xlRrrtEcOQ9WS+pywIOSC4stBpxGcdWMI7Y9LGV/w== X-Received: by 2002:a17:902:fc8e:b0:20c:7485:891c with SMTP id d9443c01a7336-20fa9eb5b1dmr156502995ad.54.1729879068132; Fri, 25 Oct 2024 10:57:48 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:47 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Somnath Kotur Subject: [PATCH 04/13] net/bnxt: add check for number of segs Date: Fri, 25 Oct 2024 10:57:29 -0700 Message-Id: <20241025175738.99564-5-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Somnath Kotur If the application passes incorrect number of segs for a Tx pkt i.e. sets it to 5 while actually sending down only a single mbuf, this could escape all the existing driver checks and driver could end up sending down garbage TX BDs to the HW. This in turn could lead to a Tx pipeline stall. Fix it by validating the number of segs passed for the Tx pkt against what is actually set by the application to prevent this. Signed-off-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_txr.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 6d7e9962ce..51d3689e9c 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -194,6 +194,21 @@ bnxt_check_pkt_needs_ts(struct rte_mbuf *m) return false; } +static bool +bnxt_invalid_nb_segs(struct rte_mbuf *tx_pkt) +{ + uint16_t nb_segs = 1; + struct rte_mbuf *m_seg; + + m_seg = tx_pkt->next; + while (m_seg) { + nb_segs++; + m_seg = m_seg->next; + } + + return (nb_segs != tx_pkt->nb_segs); +} + static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, struct bnxt_tx_queue *txq, uint16_t *coal_pkts, @@ -221,6 +236,9 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, if (unlikely(is_bnxt_in_error(txq->bp))) return -EIO; + if (unlikely(bnxt_invalid_nb_segs(tx_pkt))) + return -EINVAL; + long_bd = bnxt_xmit_need_long_bd(tx_pkt, txq); nr_bds = long_bd + tx_pkt->nb_segs; From patchwork Fri Oct 25 17:57:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147333 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 0F58845BCB; Fri, 25 Oct 2024 19:58:19 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 58957406BA; Fri, 25 Oct 2024 19:57:55 +0200 (CEST) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mails.dpdk.org (Postfix) with ESMTP id 2D42340650 for ; Fri, 25 Oct 2024 19:57:51 +0200 (CEST) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-20c8c50fdd9so21382535ad.0 for ; Fri, 25 Oct 2024 10:57:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879070; x=1730483870; 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=6ja6CwJEciD+8XYk5tRZEn5yghnsonZ3Y+c4t/l9rMs=; b=I23Ibmz6A//wn1XjyzVWFgG2kldB/rM1YJFqrHwXvRsOvA1Jsuo0jPjQxTwfhwe5A2 NR2pawu2bCUGKMZtJmFkMIpYGdYHxkRHwdQh1p2NQqnFggQQPlMRpzGEddw6geC3Bbci o/naUHIsSo0EdC0dN6wjOSRKuWBgdpH0P/O/4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879070; x=1730483870; 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=6ja6CwJEciD+8XYk5tRZEn5yghnsonZ3Y+c4t/l9rMs=; b=evai9sSBLgn7rtm4uC3GRFxdNms3vK0N5IwciiduFFlZbxdfSu1JSC0TWnDDj8Lykq L/lv5cBFYdLZvQddL8NsZ1QqQ0CPRwznOgANT896YUPj7znOVnoKtUxH3cVjb/IjTHC+ pYpgFFZjqCa6uj6XlC4l5nn6E66X3jgTnlm4z0O174LcZBT5dyUbuDXU1lgZmJNbDZva ClCkqKHfQmi/XLPYxKaxbs3g4VYo7WNdd7Wnvh40GgnrJIuSyq/jlv0cOx+QslnvFnd2 LJkZzR9xRcfuH/3uSEG4p4VURxt6O6egx96e10fRzabcmTK+HPevY/MrY1cceDpKMuEo k2mA== X-Gm-Message-State: AOJu0YyKB3+yvBDcRN8/c4PqAeDU1yhcbX9Q75b+O7mxpKoYGa75F90K j2O9H6VlMQswq2scIZUhek3tmHjL0xCLNj/JMWSEeToZCgMgMJ4AE+YGRpCBiX4st1fB/oYJ0Ft raLGXdS3GFerjDHDP2icDaBSS4frCrvgLV6PvrbVTa+VdnGDzQKaziOhQuJuCQRJiZmBwDvkG+N 5YjYGHRJaaUlhgOrv8AQg6x4MwOIUTqoE= X-Google-Smtp-Source: AGHT+IGwo5htlS+yfj83bAv4v++ZaGGXGiM5PV7iXkFk5ACYFqp+0HfoykhxFeKc4Dz/rrQxNJf0Ig== X-Received: by 2002:a17:902:db0f:b0:20c:c482:1d72 with SMTP id d9443c01a7336-210c5a46f96mr5466805ad.20.1729879069772; Fri, 25 Oct 2024 10:57:49 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:48 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP , Somnath Kotur Subject: [PATCH 05/13] net/bnxt: add check for invalid mbuf passed by application Date: Fri, 25 Oct 2024 10:57:30 -0700 Message-Id: <20241025175738.99564-6-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Kalesh AP If the application passes invalid mbuf for a Tx pkt, this could escape all the existing driver checks and driver could end up sending down invalid TX BDs to the HW. This in turn could lead to a FW reset. Fix by validating the "mbuf->buf_iova" or "mbuf->buf_addr" passed for the Tx pkt by the application. Signed-off-by: Kalesh AP Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_txr.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 51d3689e9c..4e9e377d5b 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -209,6 +209,25 @@ bnxt_invalid_nb_segs(struct rte_mbuf *tx_pkt) return (nb_segs != tx_pkt->nb_segs); } +static int bnxt_invalid_mbuf(struct rte_mbuf *mbuf) +{ + uint32_t mbuf_size = sizeof(struct rte_mbuf) + mbuf->priv_size; + const char *reason; + + if (unlikely(rte_eal_iova_mode() != RTE_IOVA_VA && + rte_eal_iova_mode() != RTE_IOVA_PA)) + return 0; + + if (unlikely(rte_mbuf_check(mbuf, 1, &reason))) + return -EINVAL; + + if (unlikely(mbuf->buf_iova < mbuf_size || + (mbuf->buf_iova != rte_mempool_virt2iova(mbuf) + mbuf_size))) + return -EINVAL; + + return 0; +} + static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, struct bnxt_tx_queue *txq, uint16_t *coal_pkts, @@ -236,6 +255,9 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, if (unlikely(is_bnxt_in_error(txq->bp))) return -EIO; + if (unlikely(bnxt_invalid_mbuf(tx_pkt))) + return -EINVAL; + if (unlikely(bnxt_invalid_nb_segs(tx_pkt))) return -EINVAL; From patchwork Fri Oct 25 17:57:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147334 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 56F9345BCB; Fri, 25 Oct 2024 19:58:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6682440693; Fri, 25 Oct 2024 19:58:00 +0200 (CEST) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mails.dpdk.org (Postfix) with ESMTP id DA30240662 for ; Fri, 25 Oct 2024 19:57:52 +0200 (CEST) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-20c7edf2872so25180185ad.1 for ; Fri, 25 Oct 2024 10:57:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879071; x=1730483871; 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=ac2rchraFOIB0emNN9Ypdx72WblUggRVmof7jxKcQFA=; b=glgS1ebQ2CWMCwN6nJod7MPqVJg630GjQMIJnXwlPKkq/5w5J83p0pkrHOOeRURcTz OgBz6ibJXT4Wo3DHpKOC94vrAwVp5R2xVn2KWt5O5xoUKBW/5wK6pZutswx9cm6CgDsz i1X4T9z+MC7mFi4yyaaoj3wr/MeFuDLXDY7tk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879071; x=1730483871; 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=ac2rchraFOIB0emNN9Ypdx72WblUggRVmof7jxKcQFA=; b=jLXYOY9oNwpYSR6DD6OWmMbDd15ASR9P5SKQ/xY9n73Fj+oYRKIY6fHLYPmcfh/IpT cJhkUa48IpUk+XMUzAJ3q5ULq7F+C1ZJuoVnPIxX7r0Nwv6VPUaj9HUwQ7tbRvVJHvJJ 08uRbXv9nz10lpQJIDvJ5kcy1DTCCjh6azgiLSyRBxQS9o+Sg2Gxtb1WRIUlMXgt4xr3 FKmBkvSlhV6APiGCiqVDwrDcesEGWPhvXbi94LzMnlhZL4OrQphTuUw3hq/iT8G0QtmD RQWDM+ORjHLqvfbL4OimPfUSXtOnHz7iJjBAp0h3N3h2QyaMQQ9Zvwl1QtdxxLavNgRr K7nw== X-Gm-Message-State: AOJu0YxyeZrgNphu9mxIZJvJ0TKMrG22gjALFq91tT4pGDl21KFh26yg O5xoe08M8GZj4vA7Fe9kCWuJv2GArYDaYWE8DpBv1momz5VaSLnwXdRn+DS8jgvo7yYWFl1IpGM w5sojYmxtKKMPKgBjCVgl5kjEZ2Bo/cTE9sYpYPwDFSzxlXl8NMxT2X6wqSBjjQUQUps8SHXNug nykJifwmRQ5Dvxdffs+DMBUL2of/9UwjY= X-Google-Smtp-Source: AGHT+IE/RfzOayVANjN7DE+IdSZ/XBPKRnH0rskHVELuvfoU0P8CuZfxnnCfDuGXn8zBfQiZ4g7z6A== X-Received: by 2002:a17:903:32ce:b0:20b:c043:3873 with SMTP id d9443c01a7336-210c5a46ed5mr5667335ad.21.1729879071206; Fri, 25 Oct 2024 10:57:51 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:50 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP Subject: [PATCH 06/13] net/bnxt: free and account a bad Tx mbuf Date: Fri, 25 Oct 2024 10:57:31 -0700 Message-Id: <20241025175738.99564-7-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 When the PMD gets a bad Tx mbuf from the application, it is not freeing it currently. The PMD is depending on the application to do it. but in most cases, the application may not know this. Instead the Tx burst function now frees the mbuf and updates the oerrors counter to indicate that the PMD encounteres a bad mbuf during transmit. Signed-off-by: Ajit Khaparde Reviewed-by: Kalesh AP --- drivers/net/bnxt/bnxt_stats.c | 7 ++++ drivers/net/bnxt/bnxt_txq.h | 1 + drivers/net/bnxt/bnxt_txr.c | 64 +++++++++++++++++++++++++---------- 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index 5e59afe79f..ccd28f19b3 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -746,6 +746,7 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev, return rc; bnxt_fill_rte_eth_stats(bnxt_stats, &ring_stats, i, false); + bnxt_stats->oerrors += rte_atomic64_read(&txq->tx_mbuf_drop); } return rc; @@ -792,6 +793,12 @@ int bnxt_stats_reset_op(struct rte_eth_dev *eth_dev) rxq->rx_mbuf_alloc_fail = 0; } + for (i = 0; i < bp->tx_cp_nr_rings; i++) { + struct bnxt_tx_queue *txq = bp->tx_queues[i]; + + rte_atomic64_clear(&txq->tx_mbuf_drop); + } + bnxt_clear_prev_stat(bp); return ret; diff --git a/drivers/net/bnxt/bnxt_txq.h b/drivers/net/bnxt/bnxt_txq.h index 9e54985c4c..44a672a401 100644 --- a/drivers/net/bnxt/bnxt_txq.h +++ b/drivers/net/bnxt/bnxt_txq.h @@ -34,6 +34,7 @@ struct bnxt_tx_queue { const struct rte_memzone *mz; struct rte_mbuf **free; uint64_t offloads; + rte_atomic64_t tx_mbuf_drop; }; void bnxt_free_txq_stats(struct bnxt_tx_queue *txq); diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 4e9e377d5b..e961fed9b5 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -228,7 +228,7 @@ static int bnxt_invalid_mbuf(struct rte_mbuf *mbuf) return 0; } -static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, +static int bnxt_start_xmit(struct rte_mbuf *tx_pkt, struct bnxt_tx_queue *txq, uint16_t *coal_pkts, struct tx_bd_long **last_txbd) @@ -251,27 +251,37 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, TX_BD_LONG_FLAGS_LHINT_LT2K, TX_BD_LONG_FLAGS_LHINT_LT2K }; + int rc = 0; - if (unlikely(is_bnxt_in_error(txq->bp))) - return -EIO; + if (unlikely(is_bnxt_in_error(txq->bp))) { + rc = -EIO; + goto ret; + } - if (unlikely(bnxt_invalid_mbuf(tx_pkt))) - return -EINVAL; + if (unlikely(bnxt_invalid_mbuf(tx_pkt))) { + rc = -EINVAL; + goto drop; + } - if (unlikely(bnxt_invalid_nb_segs(tx_pkt))) - return -EINVAL; + if (unlikely(bnxt_invalid_nb_segs(tx_pkt))) { + rc = -EINVAL; + goto drop; + } long_bd = bnxt_xmit_need_long_bd(tx_pkt, txq); nr_bds = long_bd + tx_pkt->nb_segs; - if (unlikely(bnxt_tx_avail(txq) < nr_bds)) - return -ENOMEM; + if (unlikely(bnxt_tx_avail(txq) < nr_bds)) { + rc = -ENOMEM; + goto ret; + } /* Check if number of Tx descriptors is above HW limit */ if (unlikely(nr_bds > BNXT_MAX_TSO_SEGS)) { PMD_DRV_LOG_LINE(ERR, "Num descriptors %d exceeds HW limit", nr_bds); - return -ENOSPC; + rc = -EINVAL; + goto drop; } /* If packet length is less than minimum packet size, pad it */ @@ -283,7 +293,8 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, PMD_DRV_LOG_LINE(ERR, "Failed to pad mbuf by %d bytes", pad); - return -ENOMEM; + rc = -ENOMEM; + goto ret; } /* Note: data_len, pkt len are updated in rte_pktmbuf_append */ @@ -291,8 +302,10 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, } /* Check non zero data_len */ - if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, true, false))) - return -EIO; + if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, true, false))) { + rc = -EINVAL; + goto drop; + } if (unlikely(txq->bp->ptp_cfg != NULL && txq->bp->ptp_all_rx_tstamp == 1)) pkt_needs_ts = bnxt_check_pkt_needs_ts(tx_pkt); @@ -381,8 +394,10 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, */ txbd1->kid_or_ts_low_hdr_size = hdr_size >> 1; txbd1->kid_or_ts_high_mss = tx_pkt->tso_segsz; - if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, false, true))) - return -EIO; + if (unlikely(bnxt_zero_data_len_tso_segsz(tx_pkt, false, true))) { + rc = -EINVAL; + goto drop; + } } else if ((tx_pkt->ol_flags & PKT_TX_OIP_IIP_TCP_UDP_CKSUM) == PKT_TX_OIP_IIP_TCP_UDP_CKSUM) { @@ -456,8 +471,10 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, m_seg = tx_pkt->next; while (m_seg) { /* Check non zero data_len */ - if (unlikely(bnxt_zero_data_len_tso_segsz(m_seg, true, false))) - return -EIO; + if (unlikely(bnxt_zero_data_len_tso_segsz(m_seg, true, false))) { + rc = -EINVAL; + goto drop; + } txr->tx_raw_prod = RING_NEXT(txr->tx_raw_prod); prod = RING_IDX(ring, txr->tx_raw_prod); @@ -477,6 +494,10 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt, txr->tx_raw_prod = RING_NEXT(txr->tx_raw_prod); return 0; +drop: + rte_pktmbuf_free(tx_pkt); +ret: + return rc; } /* @@ -644,6 +665,7 @@ uint16_t _bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t coal_pkts = 0; struct bnxt_tx_queue *txq = tx_queue; struct tx_bd_long *last_txbd = NULL; + uint8_t dropped = 0; /* Handle TX completions */ bnxt_handle_tx_cp(txq); @@ -660,8 +682,13 @@ uint16_t _bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, rc = bnxt_start_xmit(tx_pkts[nb_tx_pkts], txq, &coal_pkts, &last_txbd); - if (unlikely(rc)) + if (unlikely(rc)) { + if (rc == -EINVAL) { + rte_atomic64_inc(&txq->tx_mbuf_drop); + dropped++; + } break; + } } if (likely(nb_tx_pkts)) { @@ -670,6 +697,7 @@ uint16_t _bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, bnxt_db_write(&txq->tx_ring->tx_db, txq->tx_ring->tx_raw_prod); } + nb_tx_pkts += dropped; return nb_tx_pkts; } From patchwork Fri Oct 25 17:57:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147335 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 9969445BCB; Fri, 25 Oct 2024 19:58:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 89BE540A79; Fri, 25 Oct 2024 19:58:01 +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 5D117406B6 for ; Fri, 25 Oct 2024 19:57:54 +0200 (CEST) Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-20c7ee8fe6bso19796975ad.2 for ; Fri, 25 Oct 2024 10:57:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879073; x=1730483873; 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=VybKz6mvNEim2otfQ5iqiYRg5yYlVyc3UWAWlsC2ML0=; b=LofRLwImZeqIiwrJZGixJNZDt31MEW5HhBBqZX/Rp4rWyPh2gSyC/iqW9q4FZRiQKF Gq17qIHUjl39U7JzIsa+KW+LL2LBj5Qw42O7PZ3/2OcJG1rVvvVh+4sphALLGRBjY0ld FZS6D4izdkCFEboua0JeIMqggk8DbQX/Te2q8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879073; x=1730483873; 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=VybKz6mvNEim2otfQ5iqiYRg5yYlVyc3UWAWlsC2ML0=; b=XK3GsF0W/ztOcg59ONT1sAXttYrD1Rbn7ZjsRWZyBnMDOJqMbngwWm1gRs3mTnuTse Wxofs1D616Ly2rgOphxpQusjHUjpwtP5/rdC2z9mi1bSgLehg5treDMT82SNLhwXd/a2 +d5E+XbqeesTlBun3pOlWYdGXzq02EjLknsDBoCtyzvbTkal2YEjK0Z2Vs3xwKA1p25C bURpZXIv4OGdWINx4Qy8fXqbLceZYwkzCpi80KROrzu6512eqUjuMFUE+BFUrDLelknN aM3PwlxZ27sP3SXsUe3Y7uvKySD7kuVEDLtskUthwuH62XEmDHDpkYSoKQ0H4fko6kg1 VFoA== X-Gm-Message-State: AOJu0YwNIsD2peZvPfjrhR4z5ssueRXXohvh2zNSlmLjGPyCyjDKSd2S Nj+Y2HU5uLtc0vYxoy9fuPIdHt4Pxf234agfkMX1hKo6lFXjykDxP4h9yRvCpVkqk87Q1s0ybCJ koIcpKMJHhgNpXhb0dZ8b5fSLi8REotyG1OSU2AFaVrtP7uxFwkBzD9vKr69xMzk/B9VpykdZ8K i5fWn3bwHXQ1niGDFXNCKSBxviUTv5lE8= X-Google-Smtp-Source: AGHT+IEZVj5zzgLxgW4g61Pwz7ajONThUO+cX1uHXaIsqXIcniK1TEs7CYJLuxyQ/6mRzVlbm7DTKQ== X-Received: by 2002:a17:902:ea0e:b0:20d:27f8:d72a with SMTP id d9443c01a7336-20fb9b4131cmr74604845ad.61.1729879073081; Fri, 25 Oct 2024 10:57:53 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:51 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Manish Kurup , Kalesh AP Subject: [PATCH 07/13] net/bnxt: register for and handle RSS change event Date: Fri, 25 Oct 2024 10:57:32 -0700 Message-Id: <20241025175738.99564-8-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Manish Kurup 1. Register for RSS change events. When an RSS change occurs (especially for custom parsed tunnels), we need to update the RSS flags in the VNIC QCAPS so that upstream drivers don't send down the now unsupported bits ("config port all rss all" command). This will cause the firmware to fail the HWRM command. This should be done by the driver registering for said events, and re-reading the VNIC QCAPS for that bp. 2. Add a call to update QCAPS upon async notifications for the same. 3. Fix bug in PMD QCAPS update code The PMD QCAPS function only "sets" the new QCAPS flags, but not clearing them, if they were cleared due to some events. Fixed this by clearing the flags first, so that we could correctly set the new ones (for that bp). Signed-off-by: Manish Kurup Reviewed-by: Kalesh AP Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_cpr.c | 6 ++++++ drivers/net/bnxt/bnxt_hwrm.c | 5 ++++- drivers/net/bnxt/bnxt_hwrm.h | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c index 455240a09d..4ffba6f594 100644 --- a/drivers/net/bnxt/bnxt_cpr.c +++ b/drivers/net/bnxt/bnxt_cpr.c @@ -294,6 +294,12 @@ void bnxt_handle_async_event(struct bnxt *bp, case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR: bnxt_process_vf_flr(bp, data1); break; + case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_RSS_CHANGE: + /* RSS change notificaton, re-read QCAPS */ + PMD_DRV_LOG_LINE(INFO, "Async event: RSS change event [%#x, %#x]", + data1, data2); + bnxt_hwrm_vnic_qcaps(bp); + break; default: PMD_DRV_LOG_LINE(DEBUG, "handle_async_event id = 0x%x", event_id); break; diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 1ac4b8cd58..80f7c1a6a1 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -1307,6 +1307,8 @@ int bnxt_hwrm_vnic_qcaps(struct bnxt *bp) HWRM_CHECK_RESULT(); + bp->vnic_cap_flags = 0; + flags = rte_le_to_cpu_32(resp->flags); if (flags & HWRM_VNIC_QCAPS_OUTPUT_FLAGS_COS_ASSIGNMENT_CAP) { @@ -1444,7 +1446,8 @@ int bnxt_hwrm_func_driver_register(struct bnxt *bp) req.async_event_fwd[2] |= rte_cpu_to_le_32(ASYNC_CMPL_EVENT_ID_ECHO_REQUEST | - ASYNC_CMPL_EVENT_ID_ERROR_REPORT); + ASYNC_CMPL_EVENT_ID_ERROR_REPORT | + ASYNC_CMPL_EVENT_ID_RSS_CHANGE); rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB); diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h index 2346ae637d..ecb6335b3d 100644 --- a/drivers/net/bnxt/bnxt_hwrm.h +++ b/drivers/net/bnxt/bnxt_hwrm.h @@ -41,6 +41,8 @@ struct hwrm_func_qstats_output; (1 << (HWRM_ASYNC_EVENT_CMPL_EVENT_ID_ECHO_REQUEST - 64)) #define ASYNC_CMPL_EVENT_ID_ERROR_REPORT \ (1 << (HWRM_ASYNC_EVENT_CMPL_EVENT_ID_ERROR_REPORT - 64)) +#define ASYNC_CMPL_EVENT_ID_RSS_CHANGE \ + (1 << (HWRM_ASYNC_EVENT_CMPL_EVENT_ID_RSS_CHANGE - 64)) #define HWRM_QUEUE_SERVICE_PROFILE_LOSSY \ HWRM_QUEUE_QPORTCFG_OUTPUT_QUEUE_ID0_SERVICE_PROFILE_LOSSY From patchwork Fri Oct 25 17:57:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147336 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 CCF7545BCB; Fri, 25 Oct 2024 19:58:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D03FA40A80; Fri, 25 Oct 2024 19:58:02 +0200 (CEST) Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by mails.dpdk.org (Postfix) with ESMTP id 5531C40693 for ; Fri, 25 Oct 2024 19:57:56 +0200 (CEST) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-20c6f492d2dso24694685ad.0 for ; Fri, 25 Oct 2024 10:57:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879075; x=1730483875; 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=BPGvf5ko8775V3b2gW0/JNb9npSKlWRX6QYFmBiWQsM=; b=cyVxM0aa2vZJhKmQZeYreYBszOySVfbf1p/mk/XcsqMt3Og9xgzcSw9KhaTxxJ/qW3 32ZUJZPoimIZhl1RtrYnm3xfrenr1BQsiMsZnA+WV71rU8JCYUlGawHaoMbYGrZiaieb 293v5oIRNBgW7AgYUM4W7Ofiysghs8Od+Btkk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879075; x=1730483875; 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=BPGvf5ko8775V3b2gW0/JNb9npSKlWRX6QYFmBiWQsM=; b=oZyd+WZWjwhXhYgF8IFmdOdDVclwnDfudsEM5B6QX2ogZKt1463o6ZEg7yG+MlvtbY F0b/xHfWR5tChPLwAoU+NH/aPnEV1hCxMy4BvcNZy9hXAi5mTPN+aQDoB57CEHwIOQrC UHRAvan9BzKnUmzRsKuWSz1/CtiDgUdGAGSHZUVbYKYBU/iSa4gj3yHAlSyua6ktKqYr fPQqBJ7/+uDy04hP6++59Mj5LieKVLT28Hx17UJUV+pDE4Lkr9/JqDSv80H+Hv0Hq6VW P0lU4C5ugUjXQ2O62VB+l6u1jCNDgGcayrMFeNQ+OQwVjhgT+iMViARE2TTN4sWurWj5 g8+w== X-Gm-Message-State: AOJu0Yz549tWvOO7N/SdQm3hD+larUwTzunVB1CYREmRrxj5t1zzEQ1v nruxsfmaWzIoGDefzIa5PTaiZhr3Wp+nhYqVBF1SQ0f2WNlrYQ4y8XQ3V5zcpajEuesqR0CXbyo 0mB2s498hJnIPRpE60VhMtTE79QOhtgqDqsWVw5gycbH5p67b96E3YuAa8sI1GOy1TUU/JpcHDt 60bwoG694i0QzHnhhza43ip/A2EH1o2Is= X-Google-Smtp-Source: AGHT+IFFqKvB7bHqaQbp3BLvztaIWMEje9kMv8N/jvHk7XFwpXgcSoDRVPiac3jhvhRN5wn6O8tDVA== X-Received: by 2002:a17:903:988:b0:20c:9d79:cf82 with SMTP id d9443c01a7336-20fab2da28cmr147241165ad.58.1729879074504; Fri, 25 Oct 2024 10:57:54 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:53 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Vasuthevan Maheswaran Subject: [PATCH 08/13] net/bnxt: fix LRO offload capability Date: Fri, 25 Oct 2024 10:57:33 -0700 Message-Id: <20241025175738.99564-9-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 Fix LRO offload capability for P7 devices. Export the capability to the application only if compressed Rx CQE mode is not enabled. LRO aka TPA is not supported when compressed CQE mode is set. Fixes: 3b56c3ffc182 ("net/bnxt: refactor code to support P7 devices") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde Reviewed-by: Vasuthevan Maheswaran --- drivers/net/bnxt/bnxt_rxq.c | 7 ++++++- drivers/net/bnxt/bnxt_rxr.c | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 1c25c57ca6..249fe7f6e5 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -30,10 +30,12 @@ uint64_t bnxt_get_rx_port_offloads(struct bnxt *bp) RTE_ETH_RX_OFFLOAD_KEEP_CRC | RTE_ETH_RX_OFFLOAD_VLAN_FILTER | RTE_ETH_RX_OFFLOAD_VLAN_EXTEND | - RTE_ETH_RX_OFFLOAD_TCP_LRO | RTE_ETH_RX_OFFLOAD_SCATTER | RTE_ETH_RX_OFFLOAD_RSS_HASH; + if ((BNXT_CHIP_P7(bp) && !bnxt_compressed_rx_cqe_mode_enabled(bp)) || + BNXT_CHIP_P5(bp)) + rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TCP_LRO; if (bp->flags & BNXT_FLAG_PTP_SUPPORTED) rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TIMESTAMP; if (bp->vnic_cap_flags & BNXT_VNIC_CAP_VLAN_RX_STRIP) @@ -244,6 +246,9 @@ void bnxt_rx_queue_release_mbufs(struct bnxt_rx_queue *rxq) } } + if (bnxt_compressed_rx_cqe_mode_enabled(rxq->bp)) + return; + /* Free up mbufs in TPA */ tpa_info = rxq->rx_ring->tpa_info; if (tpa_info) { diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c index 0f3fd5326e..dc0bf6032b 100644 --- a/drivers/net/bnxt/bnxt_rxr.c +++ b/drivers/net/bnxt/bnxt_rxr.c @@ -1671,6 +1671,9 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq) } PMD_DRV_LOG_LINE(DEBUG, "AGG Done!"); + if (bnxt_compressed_rx_cqe_mode_enabled(rxq->bp)) + return 0; + if (rxr->tpa_info) { unsigned int max_aggs = BNXT_TPA_MAX_AGGS(rxq->bp); From patchwork Fri Oct 25 17:57:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147337 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 48EE645BCB; Fri, 25 Oct 2024 19:58:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F25A840A84; Fri, 25 Oct 2024 19:58:03 +0200 (CEST) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mails.dpdk.org (Postfix) with ESMTP id 1669D409FA for ; Fri, 25 Oct 2024 19:57:58 +0200 (CEST) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-7db90a28cf6so2214143a12.0 for ; Fri, 25 Oct 2024 10:57:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879077; x=1730483877; 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=wGBoRycky+Hxi1ZCIpwWoxDioS0ofUHY4fuHT13wH2A=; b=H8HekimeSQzmUjD9FIx0mQhu76E69IfyXSBsiKDmD8yfKltdi1aM8vSW5O9b04281R +XQg9H07OtgHrlamLrRAAftsKc8h5lr3BM1+P2ZZO9O0GRkUp++VZvEG3kgkTkXohU3V LeFq6wYpLChPYUlIc7rf+LOSUL5KfCFaC3IxU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879077; x=1730483877; 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=wGBoRycky+Hxi1ZCIpwWoxDioS0ofUHY4fuHT13wH2A=; b=Es0XM+oBLvH7ZyQRL2uuaXf50D2AiIQHvdRtaa8iAX9F12/YHPgACvMzYuDSTvXwcP HmPlbcIwC5i1W/EOgrqqu2rZKt76vFnM6c+WxCzlKd8no77UXw26tHd78M4pTrexCr5O t4qcCGw45RLiYVis5iasK64deSFVjHtFFBCJuTm8MRfjkDXcrxWt80dGOlLDKbet1S7G TXe9WiV976UJOBVx4h230xQ04JopGMGfstM8JRx+O9UnzNEl4zGfVRrnH99L+LeD7dva MNAWDJvDbRmTWK8kr5Ryo7/Y5B2+P4KWXDtKSadfz18kNtX9+m92CZETa50SLnYUuKtX Hxzw== X-Gm-Message-State: AOJu0YzlaYb5gBdU0f1xOeP1F5XvpDjL/VzXQD1PWXjCamP180ldoSoX dGs9eXQ556V0tBqqlskN1yYDLJTBwj2XuLJnl5+kOi0V71IWDT6FFkgWt3+wzsi84E1UD7r22pW u5rebebsCbAQO1bChwAvU3DquBnfP7u8B620A8VyrrEUNOMOV8QYphV7W5BTD+Mf4WoGVMRkVsB KBDTmu3vUFRI89BEZ3ALmdYj4fDv6fvZ0= X-Google-Smtp-Source: AGHT+IHHXWzsaxPZ+v2R2bet0Q6wyCDWJGX1Gddk7M48lfHXAKkerJAih4BZht+LpBbzxq7VMr8Pug== X-Received: by 2002:a17:902:da81:b0:20c:ea22:3317 with SMTP id d9443c01a7336-210c5aac7f6mr6085535ad.29.1729879076488; Fri, 25 Oct 2024 10:57:56 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:55 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kishore Padmanabha , Mike Baucom Subject: [PATCH 09/13] net/bnxt: disable VLAN filter when TF is enabled Date: Fri, 25 Oct 2024 10:57:34 -0700 Message-Id: <20241025175738.99564-10-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Kishore Padmanabha For p7 platform, the vlan filter and strip is disabled if the truflow is enabled on the platform. Signed-off-by: Kishore Padmanabha Reviewed-by: Mike Baucom --- drivers/net/bnxt/bnxt_ethdev.c | 6 +++++- drivers/net/bnxt/bnxt_rxq.c | 17 +++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 890c9f8b45..d3ea4ed539 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2964,7 +2964,7 @@ bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask) { uint64_t rx_offloads = dev->data->dev_conf.rxmode.offloads; struct bnxt *bp = dev->data->dev_private; - int rc; + int rc = 0; rc = is_bnxt_in_error(bp); if (rc) @@ -2974,6 +2974,10 @@ bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask) if (!dev->data->dev_started) return 0; + /* For P7 platform, cannot support if truflow is enabled */ + if (BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp)) + return rc; + if (mask & RTE_ETH_VLAN_FILTER_MASK) { /* Enable or disable VLAN filtering */ rc = bnxt_config_vlan_hw_filter(bp, rx_offloads); diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 249fe7f6e5..8b8bc6584a 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -28,18 +28,23 @@ uint64_t bnxt_get_rx_port_offloads(struct bnxt *bp) RTE_ETH_RX_OFFLOAD_UDP_CKSUM | RTE_ETH_RX_OFFLOAD_TCP_CKSUM | RTE_ETH_RX_OFFLOAD_KEEP_CRC | - RTE_ETH_RX_OFFLOAD_VLAN_FILTER | - RTE_ETH_RX_OFFLOAD_VLAN_EXTEND | RTE_ETH_RX_OFFLOAD_SCATTER | RTE_ETH_RX_OFFLOAD_RSS_HASH; - if ((BNXT_CHIP_P7(bp) && !bnxt_compressed_rx_cqe_mode_enabled(bp)) || - BNXT_CHIP_P5(bp)) + /* In P7 platform if truflow is enabled then vlan offload is disabled*/ + if (!(BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp))) + rx_offload_capa |= (RTE_ETH_RX_OFFLOAD_VLAN_FILTER | + RTE_ETH_RX_OFFLOAD_VLAN_EXTEND); + + + if (!bnxt_compressed_rx_cqe_mode_enabled(bp)) rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TCP_LRO; if (bp->flags & BNXT_FLAG_PTP_SUPPORTED) rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TIMESTAMP; - if (bp->vnic_cap_flags & BNXT_VNIC_CAP_VLAN_RX_STRIP) - rx_offload_capa |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP; + if (bp->vnic_cap_flags & BNXT_VNIC_CAP_VLAN_RX_STRIP) { + if (!(BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp))) + rx_offload_capa |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP; + } if (BNXT_TUNNELED_OFFLOADS_CAP_ALL_EN(bp)) rx_offload_capa |= RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM | From patchwork Fri Oct 25 17:57:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147338 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 DF58545BCB; Fri, 25 Oct 2024 19:58:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7D4394066E; Fri, 25 Oct 2024 19:58:09 +0200 (CEST) Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by mails.dpdk.org (Postfix) with ESMTP id 1463A40648 for ; Fri, 25 Oct 2024 19:58:00 +0200 (CEST) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-20cbcd71012so23351935ad.3 for ; Fri, 25 Oct 2024 10:58:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879078; x=1730483878; 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=Tqe7A5Mrjc8bUj3SwvHqiKe2F5rrv3EFA9uiz/4XM9g=; b=JGOaKFPVFrIqxoHYRXBHXFCl8qmK0wxRUAyj6XewQqZtNn3cUc6QmdKDg5JMwIifUW rXM7Rc7oxWFkndlBzoSdMrHmTPdlRITc98sqmRDAUBuHzM5ww1781fUKscj0Zw9hELPM Dja50aiANzBcqS0UgL8rRGjbUGymTs+teqM3k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879078; x=1730483878; 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=Tqe7A5Mrjc8bUj3SwvHqiKe2F5rrv3EFA9uiz/4XM9g=; b=Q2/HnifOLRrhZA0wjL5nGQdsN1ElTiLzy92nwl/PG0w25NFmd91QeVAlIhCPIDS1aM 76JlLtneaOZEloV27RozSlhPYznjCkUwJlakWXhRjvRn9c7CUsOx1oINElPF2h3KOip4 dTX54tzahwQoLl20UWbjZp+Hjwykh2yOA+QOCWGPejO7m9m+lWfuFzDKCw37IskRbibC NerP4m0SMHiEBrreBRn8Y10i78mcfNUZoAjE4P/Yv44QVhxdn/xzdzpT7A2I0zmsKF38 OeQcKK/gmbUOPt6TB9T2PtaSe/LjwdHHGu30Ff8/f93tVYcyPDmJzy8iJ035nPtjFpqy n0Fg== X-Gm-Message-State: AOJu0Yws7IvElssWMSV3gh+YAAjcE374n4DaNJVY897+Cjz5ZBMYamF8 4cZAacyam8AbClavd+CSWoR71GmldRbTjflQ+7bYr9Z/I3zif700tHWzY2/NS8Z+WjmIOl1joqZ qTzOro9eAYS2GWTEdscpyA2z3YDHUE+3LNAZ+IKiVuDqGo7F7lX2BBsTAt28Sqk9qOpGe/p/ICV IuNEj7kUr5S4LzdTWO8DlVjod0O4uKzlI= X-Google-Smtp-Source: AGHT+IHZKOBpv0P6FSKe8kZQfOOdh5bvwN09hUAU0axMMmztfmY/Slnu4ojQC9hzu6TnazHONncMuw== X-Received: by 2002:a17:902:cf04:b0:20c:81f2:3481 with SMTP id d9443c01a7336-20fa9e46b1emr128232465ad.22.1729879078291; Fri, 25 Oct 2024 10:57:58 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:57 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kishore Padmanabha , Shahaji Bhosle Subject: [PATCH 10/13] net/bnxt: remove the VNIC async event handler Date: Fri, 25 Oct 2024 10:57:35 -0700 Message-Id: <20241025175738.99564-11-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 From: Kishore Padmanabha The VNIC async event handler is removed, it is no longer required if during the port initialization if svif is used instead of VNIC which could be invalid for rep port if the rep's VF port link is down. Signed-off-by: Kishore Padmanabha Reviewed-by: Shahaji Bhosle --- drivers/net/bnxt/bnxt_cpr.c | 48 ------------------------------------ drivers/net/bnxt/bnxt_hwrm.c | 21 +++++++++++++--- drivers/net/bnxt/bnxt_reps.c | 4 +-- 3 files changed, 19 insertions(+), 54 deletions(-) diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c index 4ffba6f594..ba0d7f4bf7 100644 --- a/drivers/net/bnxt/bnxt_cpr.c +++ b/drivers/net/bnxt/bnxt_cpr.c @@ -47,51 +47,6 @@ void bnxt_wait_for_device_shutdown(struct bnxt *bp) } while (timeout); } -static void -bnxt_process_default_vnic_change(struct bnxt *bp, - struct hwrm_async_event_cmpl *async_cmp) -{ - uint16_t vnic_state, vf_fid, vf_id; - struct bnxt_representor *vf_rep_bp; - struct rte_eth_dev *eth_dev; - bool vfr_found = false; - uint32_t event_data; - - if (!BNXT_TRUFLOW_EN(bp)) - return; - - PMD_DRV_LOG_LINE(INFO, "Default vnic change async event received"); - event_data = rte_le_to_cpu_32(async_cmp->event_data1); - - vnic_state = (event_data & BNXT_DEFAULT_VNIC_STATE_MASK) >> - BNXT_DEFAULT_VNIC_STATE_SFT; - if (vnic_state != BNXT_DEFAULT_VNIC_ALLOC) - return; - - if (!bp->rep_info) - return; - - vf_fid = (event_data & BNXT_DEFAULT_VNIC_CHANGE_VF_ID_MASK) >> - BNXT_DEFAULT_VNIC_CHANGE_VF_ID_SFT; - PMD_DRV_LOG_LINE(INFO, "async event received vf_id 0x%x", vf_fid); - - for (vf_id = 0; vf_id < BNXT_MAX_VF_REPS(bp); vf_id++) { - eth_dev = bp->rep_info[vf_id].vfr_eth_dev; - if (!eth_dev) - continue; - vf_rep_bp = eth_dev->data->dev_private; - if (vf_rep_bp && - vf_rep_bp->fw_fid == vf_fid) { - vfr_found = true; - break; - } - } - if (!vfr_found) - return; - - bnxt_rep_dev_start_op(eth_dev); -} - static void bnxt_handle_event_error_report(struct bnxt *bp, uint32_t data1, uint32_t data2) @@ -278,9 +233,6 @@ void bnxt_handle_async_event(struct bnxt *bp, PMD_DRV_LOG_LINE(INFO, "Port: %u DNC event: data1 %#x data2 %#x", port_id, data1, data2); break; - case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_DEFAULT_VNIC_CHANGE: - bnxt_process_default_vnic_change(bp, async_cmp); - break; case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_ECHO_REQUEST: PMD_DRV_LOG_LINE(INFO, "Port %u: Received fw echo request: data1 %#x data2 %#x", diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 80f7c1a6a1..8dea446e60 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -4336,12 +4336,25 @@ int bnxt_hwrm_get_dflt_vnic_svif(struct bnxt *bp, uint16_t fid, HWRM_CHECK_RESULT(); - if (vnic_id) - *vnic_id = rte_le_to_cpu_16(resp->dflt_vnic_id); - svif_info = rte_le_to_cpu_16(resp->svif_info); - if (svif && (svif_info & HWRM_FUNC_QCFG_OUTPUT_SVIF_INFO_SVIF_VALID)) + if (svif && (svif_info & HWRM_FUNC_QCFG_OUTPUT_SVIF_INFO_SVIF_VALID)) { *svif = svif_info & HWRM_FUNC_QCFG_OUTPUT_SVIF_INFO_SVIF_MASK; + /* When the VF corresponding to the VFR is down at the time of + * VFR conduit creation, the VFR rule will be programmed with + * invalid vnic id because FW will return default vnic id as + * INVALID when queried through FUNC_QCFG. As a result, when + * the VF is brought up, VF won't receive packets because + * INVALID vnic id is already programmed. + * + * Hence, use svif value as vnic id during VFR conduit creation + * as both svif and default vnic id values are same and will + * never change. + */ + if (vnic_id) + *vnic_id = *svif; + } else { + rc = -EINVAL; + } HWRM_UNLOCK(); diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 6c431c7dd8..6f5c3f80eb 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -540,12 +540,12 @@ static int bnxt_vfr_free(struct bnxt_representor *vfr) return -ENOMEM; } - parent_bp = vfr->parent_dev->data->dev_private; - if (!parent_bp) { + if (!bnxt_rep_check_parent(vfr)) { PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d VFR already freed", vfr->dpdk_port_id); return 0; } + parent_bp = vfr->parent_dev->data->dev_private; /* Check if representor has been already freed in FW */ if (!vfr->vfr_tx_cfa_action) From patchwork Fri Oct 25 17:57:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147339 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 D503F45BCB; Fri, 25 Oct 2024 19:58:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A995740B97; Fri, 25 Oct 2024 19:58:10 +0200 (CEST) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mails.dpdk.org (Postfix) with ESMTP id DE8EB4065E for ; Fri, 25 Oct 2024 19:58:00 +0200 (CEST) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-20ca388d242so20791685ad.2 for ; Fri, 25 Oct 2024 10:58:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879079; x=1730483879; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Y3XAr9joNIlZD/WL1+q42I+NTf4um2NlTxZpfuvwj5U=; b=F3PUZNinny43RJIkC7zIY3tmbljmBbbNOlQY+ZzBcXAx87qVZtmGKn8xTPZQau69Pu gFvSF7195/+sgkPGVTGYSPoxGo3DuhpsAaVZ0zjnlu2XRbh1IXET+stfNqPLzfy4XyS5 qan0UIdKGO/uT383/jeTZc/n/hEU271oyLgfU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879079; x=1730483879; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y3XAr9joNIlZD/WL1+q42I+NTf4um2NlTxZpfuvwj5U=; b=wXJMjjPQoTTdoPDOiezVhpTlG35pMBkXUThCL19eWdimLKqOdlDOXOssgieB7NFDu5 m+/BTic/pjR/iAm29CaLVdLlNR0maa5BzwVl1eKICXx3+5pwtHaHIPYAMdoRBgQQED1J pm1CEwIonQWNFdHzxQPkUSH3ZkbgToYJ6w8L4yty9wTCRbj5youbSc3u8jcXKD7918X9 DsBh34rs2ciYzh0ik+NjIH65O+9B1ujU369HdHepvg6C78AoJkYbV7GDjySSPXOhJB82 QNi/XKeLvyZ+xzbCOmjJWkMX2MdJxHXH4zmleLGEJwipVZ/3Lr8qwK5o7O2Z+wCOw2lf 7kXg== X-Gm-Message-State: AOJu0YyhqkGRKS4bcHSSKHZF3r2uqn0G+0tSlR13inhSLaOxDa0xWxlb iDzdmRq2qdvgnxBuyRG/OVNJKGsqI9cmZ4g/9oaOtAyRZ/x8oPugHR3Q7ozGK4hIxYVYPvcMFcx BBRU7b/PW8cXlUaX4owAPPavK+0lAOn1Is9sQ8+DnQHPNCg5UXA/wL20hVsrlxUsEOM39SypIDU +RlRTV2XOhUSrapz/Ry1eGsMEcNib9FoM= X-Google-Smtp-Source: AGHT+IGP15Ptx9r5fUTIDwOO1sCxf6MIKNVoKhjzVA2ZDhT2kPSzAmK+8+cqPywd2sGreyzpBbFSkQ== X-Received: by 2002:a17:903:230a:b0:20c:5c52:5184 with SMTP id d9443c01a7336-20fa9e09cdfmr151440605ad.17.1729879079055; Fri, 25 Oct 2024 10:57:59 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:58 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Subject: [PATCH 11/13] net/bnxt: remove some unnecessary logs Date: Fri, 25 Oct 2024 10:57:36 -0700 Message-Id: <20241025175738.99564-12-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 Remove some unnecessary logs messages when buffer allocation fails. We already have stats to indicate such failures. Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxr.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c index dc0bf6032b..b8637ff57c 100644 --- a/drivers/net/bnxt/bnxt_rxr.c +++ b/drivers/net/bnxt/bnxt_rxr.c @@ -316,11 +316,8 @@ static int bnxt_prod_ag_mbuf(struct bnxt_rx_queue *rxq) /* TODO batch allocation for better performance */ while (rte_bitmap_get(rxr->ag_bitmap, bmap_next)) { - if (unlikely(bnxt_alloc_ag_data(rxq, rxr, raw_next))) { - PMD_DRV_LOG_LINE(ERR, "agg mbuf alloc failed: prod=0x%x", - raw_next); + if (unlikely(bnxt_alloc_ag_data(rxq, rxr, raw_next))) break; - } rte_bitmap_clear(rxr->ag_bitmap, bmap_next); rxr->ag_raw_prod = raw_next; raw_next = RING_NEXT(raw_next); @@ -1092,8 +1089,6 @@ static int bnxt_crx_pkt(struct rte_mbuf **rx_pkt, bnxt_set_vlan_crx(rxcmp, mbuf); if (bnxt_alloc_rx_data(rxq, rxr, raw_prod)) { - PMD_DRV_LOG_LINE(ERR, "mbuf alloc failed with prod=0x%x", - raw_prod); rc = -ENOMEM; goto rx; } @@ -1271,8 +1266,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt, */ raw_prod = RING_NEXT(raw_prod); if (bnxt_alloc_rx_data(rxq, rxr, raw_prod)) { - PMD_DRV_LOG_LINE(ERR, "mbuf alloc failed with prod=0x%x", - raw_prod); rc = -ENOMEM; goto rx; } From patchwork Fri Oct 25 17:57:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147340 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 8000B45BCB; Fri, 25 Oct 2024 19:59:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 06B9E40B9E; Fri, 25 Oct 2024 19:58:12 +0200 (CEST) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by mails.dpdk.org (Postfix) with ESMTP id 59D0B40A7D for ; Fri, 25 Oct 2024 19:58:04 +0200 (CEST) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-207115e3056so19994375ad.2 for ; Fri, 25 Oct 2024 10:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879083; x=1730483883; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=tkerAce89yZFuPNMvA8/fVe3PYpcMus7HLIa80kIjOw=; b=NmjAPKYDEUpLIsSgyE+GriKwhCllhz01PKK4ba9hdkYrQeDRQvpS38aLfDFdyL4tpZ mdHC+968qN50n/ZF9yn/1AGu1nwaKkczb4pLMQhitiZjuMrpxEz6LqXmrAEqfIMxNzw6 IJAUFQCScBgpl1BoolaSW92DcUiMiqB+KZ7hg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879083; x=1730483883; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tkerAce89yZFuPNMvA8/fVe3PYpcMus7HLIa80kIjOw=; b=WaofJg6u9s6j+6x2LuEba5JWDxX5QnM/TGYkO4BdUAuXorR7lbpsXmtJeuAXuNmiel uHBmRcz0tqvWR3iSyW+SsNTX1IZpOJ/INplFJdSLRG6uxzE5vobzleSSSFUcQTFvRmSM 2TyxEOVdUSOm20UUiwWcmxPaXUfojFhEh0EaGh3co2A+dWewFdn3CQLl8ie+iw9n44WM tFsK2hmkEqgO9Cu7px0+3qAzttKTIn543p0H1cK/xe97isPh6APl7sikhAkxyK6tnAxs D0+QymL14S/VEnaCCWGDS6YkdJsQKSnScNWiLLWO+jvBemsvOBgeoMg3E3XgivmeU3lF qetw== X-Gm-Message-State: AOJu0YwvEYe/4g26MOgEJ+Aup01ujhMMzUYgtXsgrTJ96r6CIlxbsxnj J2Qy2k+0y0KBZM0xxneZlmguLw8G77XWjqrXkZnpvOZWb8DVMpIs0nMicrOV/KvMKSI4QLYumGN WICNXlR4JxA2zW6NTVF0GpbcKahyTHlmBgYqaNI618zyvSD5YOQwhmVzA7pn+PjHiE/KJuKofE7 NDIQl9StwtlgyeG2pKMUELh/LPumelVHM= X-Google-Smtp-Source: AGHT+IEgLK/lYA3T4p0O6G4utnryzC1R4SPx2B5K/hYcpo2JnskxkgnIffNwF7p06dzPTAZJb7gmjg== X-Received: by 2002:a17:903:228b:b0:20b:fd73:32bb with SMTP id d9443c01a7336-210c6872da0mr12205ad.2.1729879081021; Fri, 25 Oct 2024 10:58:01 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.57.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:57:59 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Subject: [PATCH 12/13] net/bnxt: add support for buffer split Rx offload Date: Fri, 25 Oct 2024 10:57:37 -0700 Message-Id: <20241025175738.99564-13-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 Add header and data split Rx offload support if the hardware supports it. The packet will be split at fixed offset for IPv4 or IPv6 packets. Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt.h | 5 +++++ drivers/net/bnxt/bnxt_ethdev.c | 5 +++++ drivers/net/bnxt/bnxt_hwrm.c | 29 ++++++++++++++++++++--------- drivers/net/bnxt/bnxt_rxq.c | 30 +++++++++++++++++++++++++++--- drivers/net/bnxt/bnxt_rxq.h | 4 ++++ drivers/net/bnxt/bnxt_rxr.c | 4 ++-- drivers/net/bnxt/bnxt_vnic.h | 1 + 7 files changed, 64 insertions(+), 14 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 3502481056..771349de6c 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -770,6 +770,11 @@ enum bnxt_session_type { BNXT_SESSION_TYPE_LAST }; +#define BNXT_MAX_BUFFER_SPLIT_SEGS 2 +#define BNXT_MULTI_POOL_BUF_SPLIT_CAP 1 +#define BNXT_BUF_SPLIT_OFFSET_CAP 1 +#define BNXT_BUF_SPLIT_ALIGN_CAP 0 + struct bnxt { void *bar0; diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index d3ea4ed539..09ee39b64d 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1268,6 +1268,11 @@ static int bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev, dev_info->vmdq_pool_base = 0; dev_info->vmdq_queue_base = 0; + dev_info->rx_seg_capa.max_nseg = BNXT_MAX_BUFFER_SPLIT_SEGS; + dev_info->rx_seg_capa.multi_pools = BNXT_MULTI_POOL_BUF_SPLIT_CAP; + dev_info->rx_seg_capa.offset_allowed = BNXT_BUF_SPLIT_OFFSET_CAP; + dev_info->rx_seg_capa.offset_align_log2 = BNXT_BUF_SPLIT_ALIGN_CAP; + dev_info->err_handle_mode = RTE_ETH_ERROR_HANDLE_MODE_PROACTIVE; return 0; diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 8dea446e60..351effb28f 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -3041,10 +3041,14 @@ int bnxt_hwrm_vnic_rss_cfg(struct bnxt *bp, int bnxt_hwrm_vnic_plcmode_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic) { - int rc = 0; - struct hwrm_vnic_plcmodes_cfg_input req = {.req_type = 0 }; struct hwrm_vnic_plcmodes_cfg_output *resp = bp->hwrm_cmd_resp_addr; + struct rte_eth_conf *dev_conf = &bp->eth_dev->data->dev_conf; + struct hwrm_vnic_plcmodes_cfg_input req = {.req_type = 0 }; + uint64_t rx_offloads = dev_conf->rxmode.offloads; + uint8_t rs = !!(rx_offloads & RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT); + uint32_t flags, enables; uint16_t size; + int rc = 0; if (vnic->fw_vnic_id == INVALID_HW_RING_ID) { PMD_DRV_LOG_LINE(DEBUG, "VNIC ID %x", vnic->fw_vnic_id); @@ -3052,19 +3056,26 @@ int bnxt_hwrm_vnic_plcmode_cfg(struct bnxt *bp, } HWRM_PREP(&req, HWRM_VNIC_PLCMODES_CFG, BNXT_USE_CHIMP_MB); - - req.flags = rte_cpu_to_le_32( - HWRM_VNIC_PLCMODES_CFG_INPUT_FLAGS_JUMBO_PLACEMENT); - - req.enables = rte_cpu_to_le_32( - HWRM_VNIC_PLCMODES_CFG_INPUT_ENABLES_JUMBO_THRESH_VALID); + flags = HWRM_VNIC_PLCMODES_CFG_INPUT_FLAGS_JUMBO_PLACEMENT; + enables = HWRM_VNIC_PLCMODES_CFG_INPUT_ENABLES_JUMBO_THRESH_VALID; size = rte_pktmbuf_data_room_size(bp->rx_queues[0]->mb_pool); size -= RTE_PKTMBUF_HEADROOM; size = RTE_MIN(BNXT_MAX_PKT_LEN, size); - req.jumbo_thresh = rte_cpu_to_le_16(size); + + if (rs & vnic->hds_threshold) { + flags |= + HWRM_VNIC_PLCMODES_CFG_INPUT_FLAGS_HDS_IPV4 | + HWRM_VNIC_PLCMODES_CFG_INPUT_FLAGS_HDS_IPV6; + req.hds_threshold = rte_cpu_to_le_16(vnic->hds_threshold); + enables |= + HWRM_VNIC_PLCMODES_CFG_INPUT_ENABLES_HDS_THRESHOLD_VALID; + } + req.vnic_id = rte_cpu_to_le_16(vnic->fw_vnic_id); + req.flags = rte_cpu_to_le_32(flags); + req.enables = rte_cpu_to_le_32(enables); rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB); diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 8b8bc6584a..41e1aa2a23 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -29,7 +29,8 @@ uint64_t bnxt_get_rx_port_offloads(struct bnxt *bp) RTE_ETH_RX_OFFLOAD_TCP_CKSUM | RTE_ETH_RX_OFFLOAD_KEEP_CRC | RTE_ETH_RX_OFFLOAD_SCATTER | - RTE_ETH_RX_OFFLOAD_RSS_HASH; + RTE_ETH_RX_OFFLOAD_RSS_HASH | + RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT; /* In P7 platform if truflow is enabled then vlan offload is disabled*/ if (!(BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp))) @@ -332,8 +333,12 @@ int bnxt_rx_queue_setup_op(struct rte_eth_dev *eth_dev, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mp) { - struct bnxt *bp = eth_dev->data->dev_private; uint64_t rx_offloads = eth_dev->data->dev_conf.rxmode.offloads; + uint8_t rs = !!(rx_offloads & RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT); + struct bnxt *bp = eth_dev->data->dev_private; + struct rte_eth_rxseg_split *rx_seg = + (struct rte_eth_rxseg_split *)rx_conf->rx_seg; + uint16_t n_seg = rx_conf->rx_nseg; struct bnxt_rx_queue *rxq; int rc = 0; @@ -341,6 +346,17 @@ int bnxt_rx_queue_setup_op(struct rte_eth_dev *eth_dev, if (rc) return rc; + if (n_seg > 1 && !rs) { + PMD_DRV_LOG_LINE(ERR, "n_seg %d does not match buffer split %d setting", + n_seg, rs); + return -EINVAL; + } + + if (n_seg > BNXT_MAX_BUFFER_SPLIT_SEGS) { + PMD_DRV_LOG_LINE(ERR, "n_seg %d not supported", n_seg); + return -EINVAL; + } + if (queue_idx >= bnxt_max_rings(bp)) { PMD_DRV_LOG_LINE(ERR, "Cannot create Rx ring %d. Only %d rings available", @@ -365,7 +381,14 @@ int bnxt_rx_queue_setup_op(struct rte_eth_dev *eth_dev, return -ENOMEM; } rxq->bp = bp; - rxq->mb_pool = mp; + if (n_seg > 1) { + rxq->mb_pool = rx_seg[BNXT_MEM_POOL_IDX_0].mp; + rxq->agg_mb_pool = rx_seg[BNXT_MEM_POOL_IDX_1].mp; + } else { + rxq->mb_pool = mp; + rxq->agg_mb_pool = mp; + } + rxq->nb_rx_desc = nb_desc; rxq->rx_free_thresh = RTE_MIN(rte_align32pow2(nb_desc) / 4, RTE_BNXT_MAX_RX_BURST); @@ -411,6 +434,7 @@ int bnxt_rx_queue_setup_op(struct rte_eth_dev *eth_dev, rxq->rx_started = rxq->rx_deferred_start ? false : true; rxq->vnic = bnxt_get_default_vnic(bp); + rxq->vnic->hds_threshold = n_seg ? rxq->vnic->hds_threshold : 0; return 0; err: diff --git a/drivers/net/bnxt/bnxt_rxq.h b/drivers/net/bnxt/bnxt_rxq.h index 36e0ac34dd..0b411a941a 100644 --- a/drivers/net/bnxt/bnxt_rxq.h +++ b/drivers/net/bnxt/bnxt_rxq.h @@ -12,11 +12,15 @@ /* Drop by default when receive desc is not available. */ #define BNXT_DEFAULT_RX_DROP_EN 1 +#define BNXT_MEM_POOL_IDX_0 0 +#define BNXT_MEM_POOL_IDX_1 1 + struct bnxt; struct bnxt_rx_ring_info; struct bnxt_cp_ring_info; struct bnxt_rx_queue { struct rte_mempool *mb_pool; /* mbuf pool for RX ring */ + struct rte_mempool *agg_mb_pool; /* mbuf pool for AGG ring */ uint64_t mbuf_initializer; /* val to init mbuf */ uint16_t nb_rx_desc; /* num of RX desc */ uint16_t rx_free_thresh; /* max free RX desc to hold */ diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c index b8637ff57c..8f0a1b9cfd 100644 --- a/drivers/net/bnxt/bnxt_rxr.c +++ b/drivers/net/bnxt/bnxt_rxr.c @@ -84,7 +84,7 @@ static inline int bnxt_alloc_ag_data(struct bnxt_rx_queue *rxq, return -EINVAL; } - mbuf = __bnxt_alloc_rx_data(rxq->mb_pool); + mbuf = __bnxt_alloc_rx_data(rxq->agg_mb_pool); if (!mbuf) { rte_atomic_fetch_add_explicit(&rxq->rx_mbuf_alloc_fail, 1, rte_memory_order_relaxed); @@ -1673,7 +1673,7 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq) for (i = 0; i < max_aggs; i++) { if (unlikely(!rxr->tpa_info[i].mbuf)) { rxr->tpa_info[i].mbuf = - __bnxt_alloc_rx_data(rxq->mb_pool); + __bnxt_alloc_rx_data(rxq->agg_mb_pool); if (!rxr->tpa_info[i].mbuf) { rte_atomic_fetch_add_explicit(&rxq->rx_mbuf_alloc_fail, 1, rte_memory_order_relaxed); diff --git a/drivers/net/bnxt/bnxt_vnic.h b/drivers/net/bnxt/bnxt_vnic.h index c4a7c5257c..5a4fd4ecb7 100644 --- a/drivers/net/bnxt/bnxt_vnic.h +++ b/drivers/net/bnxt/bnxt_vnic.h @@ -84,6 +84,7 @@ struct bnxt_vnic_info { enum rte_eth_hash_function hash_f; enum rte_eth_hash_function hash_f_local; uint64_t rss_types_local; + uint16_t hds_threshold; uint8_t metadata_format; uint8_t state; }; From patchwork Fri Oct 25 17:57:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147341 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 6361C45BCB; Fri, 25 Oct 2024 19:59:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2450940BA2; Fri, 25 Oct 2024 19:58:13 +0200 (CEST) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mails.dpdk.org (Postfix) with ESMTP id 3EF6B4060B for ; Fri, 25 Oct 2024 19:58:05 +0200 (CEST) Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-20cbb1cf324so19268565ad.0 for ; Fri, 25 Oct 2024 10:58:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1729879083; x=1730483883; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=fIvzONkmABPR9gFhJm2B//8/g++iMbvUG4VSAGyaLqE=; b=aJ3WsMck2qXi2RNXP6zeION/2PWtKebG9iNPJS5jdcCoZAvnfj6gbTbJPHHgfdZCIA 6FAXg5kegJKkZWJrnSq5fBLpFdWdu1To1jMOd/m93APnKIHTy29nPV5063YlIGd/946u SX+kS2XZRSimWmSQpFk3xh6vm7L+wIfeSbvDo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729879083; x=1730483883; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fIvzONkmABPR9gFhJm2B//8/g++iMbvUG4VSAGyaLqE=; b=Efzcc3sEQ4G9irf9DN1f1LYcVYPfxFyvWz/dxTtIDYaffCocZsUjIybJ0Mt+ZMkrrG 7Gput0g2y9n0Lrk2MwK0uPwpebM4aA42jS8B5+fRXDKV3BAvbAkLlQkN0vm4O3i0iAnz xCAcNwoCQXPitvIc+cMeNCP099IGtfgD6TMfnOhUefnMScWTEUAL3d9PJieGU10f903/ 5UtlZ/hzqYYyAbPeO9/x3GnGNUaCqWgUdoljkEmZeMJAFFTy1thcGEtNvGKgucc1PtJO qYf67Ed7t2PNm5WeHoJXniyEf9CILxw53kLaXwd5jhwd3XM2y4+xSpWYKgRHj1PqkB8U Hd4Q== X-Gm-Message-State: AOJu0Yzn7GyWE933HRpeMoR8itcguhjJy27X5B7a6nRjpmZu5rKQBvlf gTwuq/V8ISqa0oT/b1Gz43v+EjbKKR4VvfWQpEaHUftm+2z2clSnbmVkjyJ2eW6arXGv1xzumAN enfouH1gPKb0clUFgG0vjYCsiLn/t2WiRtUf1mEVNorvZijqoBrBd9ufDXIrQpm7z4AcVj1R1gf CgAzX1UcYBh0Nr0lT95EFkKuFdnaaJots= X-Google-Smtp-Source: AGHT+IF6kwycTCIPyn5WQEgL8NaUm2nK/6D8chhrBNjf/qifGKu1IzdY1OJG3KK05M73BTCroUX6vQ== X-Received: by 2002:a17:902:d2c6:b0:20b:57f0:b38b with SMTP id d9443c01a7336-20fb991a82emr99136795ad.19.1729879083368; Fri, 25 Oct 2024 10:58:03 -0700 (PDT) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bc02ebd8sm11924335ad.210.2024.10.25.10.58.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 10:58:03 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Subject: [PATCH 13/13] net/bnxt: remove unnecessary ifdef Date: Fri, 25 Oct 2024 10:57:38 -0700 Message-Id: <20241025175738.99564-14-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241025175738.99564-1-ajit.khaparde@broadcom.com> References: <20241025175738.99564-1-ajit.khaparde@broadcom.com> 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 Remove the unnnecessary and useless compile-time option for IEEE 1588. Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxr.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c index 8f0a1b9cfd..5b43bcbea6 100644 --- a/drivers/net/bnxt/bnxt_rxr.c +++ b/drivers/net/bnxt/bnxt_rxr.c @@ -955,10 +955,6 @@ bnxt_set_ol_flags_crx(struct bnxt_rx_ring_info *rxr, ol_flags |= RTE_MBUF_F_RX_RSS_HASH; } -#ifdef RTE_LIBRTE_IEEE1588 - /* TODO: TIMESTAMP flags need to be parsed and set. */ -#endif - mbuf->ol_flags = ol_flags; } @@ -1080,10 +1076,6 @@ static int bnxt_crx_pkt(struct rte_mbuf **rx_pkt, mbuf->data_len = mbuf->pkt_len; mbuf->port = rxq->port_id; -#ifdef RTE_LIBRTE_IEEE1588 - /* TODO: Add timestamp support. */ -#endif - bnxt_set_ol_flags_crx(rxr, rxcmp, mbuf); mbuf->packet_type = bnxt_parse_pkt_type_crx(rxcmp); bnxt_set_vlan_crx(rxcmp, mbuf);