From patchwork Sun Oct 27 17:11:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147412 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 561FA45BF5; Sun, 27 Oct 2024 18:11:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 93B91402E2; Sun, 27 Oct 2024 18:11:45 +0100 (CET) Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by mails.dpdk.org (Postfix) with ESMTP id DDC82402E5 for ; Sun, 27 Oct 2024 18:11:43 +0100 (CET) Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-71e5130832aso2469400b3a.0 for ; Sun, 27 Oct 2024 10:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049102; x=1730653902; 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=ODuGeX7rOb3aWlGMMylv7t8LmsDTQoOegg42IdF5/dmdawumep4ZGnz/yOA/xSyX9O vDNpI957dQ3aZPVqG2oW+j1reMxCH7i8Mck1IYu9owHv7InMFndgvxlAptvFPSZcx0Oe TX7R2/l3cw5VV0l8YxxFZCz9J/N3gwZ+SGN8w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049102; x=1730653902; 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=wqw+swD6wM2vWoLXnwm3npDmkg6kf+UNikcRJZdBmhVFni2VDG6vaIIEeT4jOmOGug lZ2g3Auf/Z6T6DoGTaVSIe+e+Mq5kco6qIPP7WyQy1JHOqeg5ItbaKgNsnuk7Cn9SjW/ KxYukbewGPhuR9z1dqP8+Bhzygwxh6OPk25pNW2m/cvc5BtuP5t4EDv+GonI3qnrv/m9 ZEqZqLLZUVoQPQ3yz5/xC0a17pIIMZhZOKEdU331JnWCC9OiDdF//gPvfetKZdtr3PFl EU491EQpd7589xxtBMFQv8gjL4cEyUZ994hSHzDoqryOdwu3tTlTTeHaAou3+ODHMlyO M/mw== X-Gm-Message-State: AOJu0Ywbbr42pKZ5jijD4Ck3jC1Pj35RCLBJuBImx2Q0VAPsrDQh2R4C 8vLXtlqirHiUQmM28aKbN8bQUSUB0zDfKI8PJcN9rTqGZCmK6448tf+lL/bMuL5Ypt3v6rFKuaQ q/PkCWyZGp9BzSYEJtH5fwA2MTnlGFmojhiHhQJ/wT5Ga0D/eseV2TmZv5AkZ26bqI2drRxRIi7 MzE42jWOKRmEFg4rpNWX9kX23SgQF25vE= X-Google-Smtp-Source: AGHT+IHlrCNQ1rsj/QHM65GLzN8xiSDRlWbmE8MjGTxax80Lj0FgfWlA3+p7eKnPDwIQ8S0H2chGuw== X-Received: by 2002:a05:6a21:4610:b0:1d9:29c8:2d3b with SMTP id adf61e73a8af0-1d9a85299c1mr7217211637.50.1730049102200; Sun, 27 Oct 2024 10:11:42 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:40 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Kalesh AP , Damodharam Ammepalli Subject: [PATCH v2 01/13] net/bnxt: fix TCP and UDP checksum flags Date: Sun, 27 Oct 2024 10:11:16 -0700 Message-Id: <20241027171128.50221-2-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147413 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 61AA645BF5; Sun, 27 Oct 2024 18:11:54 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D0CA14064E; Sun, 27 Oct 2024 18:11:49 +0100 (CET) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by mails.dpdk.org (Postfix) with ESMTP id 38E16402F1 for ; Sun, 27 Oct 2024 18:11:45 +0100 (CET) Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-71e5ae69880so2541871b3a.2 for ; Sun, 27 Oct 2024 10:11:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049104; x=1730653904; 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=LndVGnL6GKa1Kd4cOG0Al7a17nptT9IRg0onYpKcXnGJ+/LJ+hoK6m83dS0G+PUBlY 6rYJekRrzdoRttO2GhB6qZC5nXZ1gxo5yRtuxMaQCrrhcMHXxA5ePGuomO3Q/lK5UpGV tOQd66779ixvwvd34suy6K3zZAzbaPdte8c20= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049104; x=1730653904; 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=BO3Xh5cRA/LUCC6EIrtGu/oFOCowbrjcZ7oN337af5MZsvu4lmBswJLIhpT/Is/u+k o5eUP88y2dSbdhGQchWYqnzhh6mD11hiNPt57C+uaiZR75C9CcyawxHYEUSQXisSFb4l dKHEzj2dG02YSeAcCGn/P/ok0/+DUY+/zBcHY7kXxnKJb2uLMSZzPYyMKrKo2+1fnEr2 tvyIu3zEneijm8vV1DVnBKpEEDXkhZVeRHHiutbagLaqCfhQBVdsZuhR+H1OHYYe3bcQ AJSJA6hm42NegBXFTpDQK8PL62Jwd7GbbyiyEVekBB3xkUP6FF+6Nns4QBvRrcTqFyzS sVWw== X-Gm-Message-State: AOJu0YwLSWFA6UCQ0q8WJhChYT+/dRy9wz3MG+lqvKI2DCmDdtiboBp4 sU31jAb+4nQsWC5Gz864FIswIxzcUTZItBECZ/qnfjolsZ7QpY81BFFNQdzNrqE9IlFtYgi6Vyf 5Px0vspErk8wwHcNhB1nO0P0e5VS9T2LRhZgLLzu6VB41vjiVRUeIEYyI0/15i/QldgxIyKvpL+ 8OY5lbT4mAqadpSGc5shag4NKNNAqfb+A= X-Google-Smtp-Source: AGHT+IGPl1ui3iu2yz3ihwGNjEmcbH4KPJZzCk+HNaUs3Z8kNZkjHTsWasPxgPZjIxcGbFSG3u4ZCw== X-Received: by 2002:a05:6a00:2e07:b0:71e:6743:7599 with SMTP id d2e1a72fcca58-72062fa19b0mr9615039b3a.7.1730049103730; Sun, 27 Oct 2024 10:11:43 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:42 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Peter Spreadborough , stable@dpdk.org, Kishore Padmanabha Subject: [PATCH v2 02/13] net/bnxt: fix bad action offset in Tx bd Date: Sun, 27 Oct 2024 10:11:17 -0700 Message-Id: <20241027171128.50221-3-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147414 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 582A745BF5; Sun, 27 Oct 2024 18:11:59 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E763E40652; Sun, 27 Oct 2024 18:11:50 +0100 (CET) Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by mails.dpdk.org (Postfix) with ESMTP id E14614064C for ; Sun, 27 Oct 2024 18:11:46 +0100 (CET) Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-71e5a1c9071so2660628b3a.0 for ; Sun, 27 Oct 2024 10:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049105; x=1730653905; 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=OD0z5dNvkZLJIiH/rO5+n2URg5bsFMQZrn3NF/T/PEtkXGY5OVMx7IUJKhQ/qwlmMK W2ZVibkngPSi0ZuTnQdtCC16nzS7mCVU9rgXfC2IWYV22gvZvKGJieeejNMttUnMwpFL ZVqQmLQ31VG4McntIU+kTHO7NUTnSz13ps0uI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049105; x=1730653905; 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=ZLx7hwyJEYIPUmYH1JNLQDygbGZz1HGAnEiJeuZ1VU9W8ypRbO3OP4vjTslRai3RIU 3qqZ6I3hJmWoMV2L8SrfLFBY5aOkpw0hjlQ/BkM3buoMLPBpaQNoIU6wib1UrW8NDsU4 0upx+tobyQzVrScYgfggeyz7+qvtyN4ywwZWmvcRZaC00hwBq75XM8GYAF3D7/mZHDvh KI3X7phl+kkqxGZZrpdPngkYFqmic7GehAN5YALOY89DjLqS+Ho+m1rb7UcZqqc7dTHY oAwYrFFHj+sVdhKLiI2z46hMdQmD6NdTUPaGiEEJ+5l5IpuV2zs+O1AZjXWgKZoQrgiF xe9w== X-Gm-Message-State: AOJu0YzNPcuD7e139LQjwax/uLWFSjc5xrOZYgGGTnxy3971/p3yCkJ+ 5wlxftPBFaRys6NNk9eC6DTBVDgwQP1nCySm0nqRtiFiTwQKIXQlv5Wj448MBJTWQp7jIBk3wA+ bRuNGsjcGmkIpOAVsrBP49+SdUbt1djnwoSz7k6RZUQ8oOdYH5LXVSAtvHeIFZPhNZ3lvUMKcNo Hf+9AlRnj5lRgwIcF/yL1yI80tZka2Uk8= X-Google-Smtp-Source: AGHT+IFaLkINKow/ewBUYBV1hwIK9ygxV1dncj8aWDpo3PO2Txp1yY5hoODyeCgYJHpSwO0SCrBazw== X-Received: by 2002:a05:6a20:db0d:b0:1d9:97c3:da60 with SMTP id adf61e73a8af0-1d9a842cf4amr7473482637.11.1730049105351; Sun, 27 Oct 2024 10:11:45 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:44 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP , Somnath Kotur Subject: [PATCH v2 03/13] net/bnxt: add check to validate TSO segment size Date: Sun, 27 Oct 2024 10:11:18 -0700 Message-Id: <20241027171128.50221-4-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147415 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 2071745BF5; Sun, 27 Oct 2024 18:12:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 08B224065E; Sun, 27 Oct 2024 18:11:52 +0100 (CET) Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by mails.dpdk.org (Postfix) with ESMTP id 54F5F4064C for ; Sun, 27 Oct 2024 18:11:48 +0100 (CET) Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-71e74900866so2642894b3a.1 for ; Sun, 27 Oct 2024 10:11:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049107; x=1730653907; 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=Erlx9tpywkDUDy84162iJHD1p6USfwyQvzXPdjFz2xvAxTbHSSoBWgUqQVy0ucykiN RxQG6lPRXFrVvMD4rRkfJqHYOe0WuhlwSPzv0D5eBXXWlvT/8ywwR9AYhh3CmEAIHoNZ pxt6HFaBTOFc+pEjKI9fQtkoSuHwKYDyDnYis= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049107; x=1730653907; 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=H/w9g9ArgRSulUAsFzNUCEubOpd2UJJ1hOrnrC/7mYSbPw2iEIs0s/DajdfikbJ/W+ Bh9+oWyHHyxS/6OnNXtYahQ+VhPz1cjB+liHny203CK+TPmnB+5DaMHNDkAKxw1bC8M1 dW8FAn8hOtrJT4kWSWZv7flh8VqV3XR8o+aUa0dZI+4Ay7N4HV4urpglwbsEi3ZaAgQi 6pe55Y4kQW74AKt+Nn4W6ZsC32/FXnfrleHZdNpJSmB7+nsB0UQIm1nrpjeH1Ly+hrU0 /Bksn/S/GduBMexgrC88A58A5IpCwDI4iYkmpbtPTkbunHywD2HEOjDb+CkRaSGQOoVB km/g== X-Gm-Message-State: AOJu0YyODOsHoQqIFBK1PpRZvz35SuVOTVbkj86L0iR4UqNKL+ngcal0 9HveFDKvLlOLSyCb4PPTn3mh/nSYKfb6TBcPSu/z0QHTHD8s1Oo/gxk0vmpyPbguoAIKe608qcd 6/AL0lUjHUEN0DowLtHsOtkrrbmXtnEHOz2iMacEHMC9aqZGUg1Y543aJBmjmwPbbtixD8sz9hs 1yPErYPWkpLfgXkj5frE5EvGSWQmM57PA= X-Google-Smtp-Source: AGHT+IHVI/4fRmZbY20x4LiLqAMRwQ+I+4rHoL44HjJNMdWi6meUKiGKGVnk2PX0XW5vlbhbn9/Ecg== X-Received: by 2002:a05:6a00:3d0d:b0:71d:ee1b:c851 with SMTP id d2e1a72fcca58-72062f13bd9mr9713899b3a.7.1730049107043; Sun, 27 Oct 2024 10:11:47 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:45 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Somnath Kotur Subject: [PATCH v2 04/13] net/bnxt: add check for number of segs Date: Sun, 27 Oct 2024 10:11:19 -0700 Message-Id: <20241027171128.50221-5-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147416 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 94ADE45BF5; Sun, 27 Oct 2024 18:12:09 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2476240662; Sun, 27 Oct 2024 18:11:53 +0100 (CET) Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by mails.dpdk.org (Postfix) with ESMTP id 0EBBF40650 for ; Sun, 27 Oct 2024 18:11:50 +0100 (CET) Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-7205b6f51f3so1488025b3a.1 for ; Sun, 27 Oct 2024 10:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049109; x=1730653909; 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=DAiq+bktrKby4Hfsxo3O6OpbcLUx8WTewJIg1boZ9CJOqF5x5dJIU/Hb3eruZQDdIA FMNN071FbbO4mnXm3aP3oWS9mHIBV06X2QAdFr5gfYGUdhpDOKaiQWQzYpjeLzoPaITf j0BU28ZJysemqpH6nKnNkOzXnSyfukDYWn16Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049109; x=1730653909; 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=nOtzWewSjZ9jzeu9hLOtX5sljbD5WZK7IpphNY/v7ERVsUzgAJJbgKjCAh76KlCanj 7GNnP9D2ZdRWbSzrrig3TWLqPKXP43TtUt7TE4TFqorvXdtkpH7E81OtZGVpIRENpafE HtECTJt3UmtHLheOh+xxv3zH7RJBHQpO79ufAJmGxxkM9z6DfFpJbjzXn3xnaoWdVv49 eCbKHB34dN8cnsW/mMDQ0oZ0e2HNerQelrJjp6D0XHhMExUkKMkAUflNGcxOUOCe/rai wk7YTnMZ0nTqxGAdzl7DEjDpW4nJYzovHH1y+iecKWe5qp1pzy3tymdJA1u4wZKujAhG k0rQ== X-Gm-Message-State: AOJu0Ywc0OZ5ib4wF1tvSVkJZ1UxvaGsDPkzgDiVs+mEbAQvi8Alj7vh fi+VbO+5R+p8FVBmDjc8FrSx7SPI9IOEN+ef6XU1vBnUiYF45Ua9InG1vqTR5/N2+F+OJ3E60w4 p8QiCPJO3+0LKdP+zUOu3gBj3uhyXlWXOLoT0LohE8FP33nH5tIGwPR5Nk08WHPdal509aHeoqX GLQNYlo/s7WAlpkaeBuUjspqSJSXF7GdI= X-Google-Smtp-Source: AGHT+IHARKzl3cYbmy1BQKGTumXP11x6DM5QGCFWTAARexNogIcogm+cgUGsSnKcCSqsz7dt02HZMw== X-Received: by 2002:a05:6a00:3d0e:b0:714:1d96:e6bd with SMTP id d2e1a72fcca58-72062fb3da8mr9393147b3a.13.1730049108460; Sun, 27 Oct 2024 10:11:48 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:47 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP , Somnath Kotur Subject: [PATCH v2 05/13] net/bnxt: add check for invalid mbuf passed by application Date: Sun, 27 Oct 2024 10:11:20 -0700 Message-Id: <20241027171128.50221-6-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147417 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 5004A45BF5; Sun, 27 Oct 2024 18:12:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9FDA840666; Sun, 27 Oct 2024 18:11:59 +0100 (CET) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mails.dpdk.org (Postfix) with ESMTP id F12554065C for ; Sun, 27 Oct 2024 18:11:51 +0100 (CET) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-7ea8c4ce232so2879031a12.0 for ; Sun, 27 Oct 2024 10:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049110; x=1730653910; 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=YWkpGCzFZjkf3rOa48vjKlXV7Jb8QNFJsuVbkQ/iBgI=; b=HOhLGEzlO1wJI7knKtNv2E6hyiHcCXEO9I9jAsMx6DLp6ub3iLUeKF1r880LiGqcja oIK/fZzQ2CXD+uJORxBQickSZ+IddkGlaIqH939eT7+WCCXfdDTVQ83ZIoAr1VT2+Ptf Qc3R53oeoH5kcSTTE8beOpFypUD28P3sizmvA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049110; x=1730653910; 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=YWkpGCzFZjkf3rOa48vjKlXV7Jb8QNFJsuVbkQ/iBgI=; b=uZUMiXkEKf9q0+mR4tlmZ3nVrOPjjV++H1qWC9FV8DoNvfh0Ixv9Nfi/MOLz0ebspH Pzcy5c3hDF1Q38ziZN8SkRwNzOH/QsHmur51KM0PP63YVLeNwssr11GDSx8nkJNZiA0d 1OnciF6rVObb/I/lfUlWisinXsGJ+i5HGARamYmMdpNOlX6iUYta8DZiBtC771BrLQTL OhHmHhjMaJ6tAR1pL105tveDTMem7gYhJ5d38geyZqLhviI4Ps7FOZzK3lkXFGbXR8UF Iwzb747jC3nBgu+bZj1KVszb5BQJ20CejpFQDB5+vK4Az47xNxduxM4ATOEKAmEt3u95 L7Gw== X-Gm-Message-State: AOJu0YzExAMHAIo5T1eq2zZ9skE+o9+g3aq2ftOIT0d18tPnsxUefYTf 5tpVm09QQlVVXJ+Gt6HDgJCmpr8rhr+i5Blfvy677P/Kg4KIjVN7wJKdGkEHpl+qrBQghfAtTx7 nh+bAkcF7Po9GxApeKzbmnT92DpQuAw78KQZYs84J3gvVBb90T10v1r0i7uJE5pnjI76tZ4yWZz E+Mfyc4lF2gk6mdFiH2Erzj8yoXMwXKfE= X-Google-Smtp-Source: AGHT+IEMs1R9p3whgT9lnCH7zh5Mh7v2Z7uPCgc3AsbHij8Y3SDcr2I5+Q5DJK+kTmfLiWbWsvNGDQ== X-Received: by 2002:a05:6a20:e347:b0:1d9:1377:c1a3 with SMTP id adf61e73a8af0-1d9a84d71dfmr7899361637.40.1730049110201; Sun, 27 Oct 2024 10:11:50 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:48 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP Subject: [PATCH v2 06/13] net/bnxt: free and account a bad Tx mbuf Date: Sun, 27 Oct 2024 10:11:21 -0700 Message-Id: <20241027171128.50221-7-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 | 9 +++++ drivers/net/bnxt/bnxt_txq.h | 1 + drivers/net/bnxt/bnxt_txr.c | 65 +++++++++++++++++++++++++---------- 3 files changed, 57 insertions(+), 18 deletions(-) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index 5e59afe79f..9d7cdf925d 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -746,6 +746,9 @@ 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_atomic_load_explicit(&txq->tx_mbuf_drop, + rte_memory_order_relaxed); } return rc; @@ -792,6 +795,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]; + + txq->tx_mbuf_drop = 0; + } + 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..69652bbaaa 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_ATOMIC(uint64_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..f88e214790 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,14 @@ 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_atomic_fetch_add_explicit(&txq->tx_mbuf_drop, 1, + rte_memory_order_relaxed); + dropped++; + } break; + } } if (likely(nb_tx_pkts)) { @@ -670,6 +698,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 Sun Oct 27 17:11:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147418 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 6994745BF5; Sun, 27 Oct 2024 18:12:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AA32240672; Sun, 27 Oct 2024 18:12:00 +0100 (CET) Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by mails.dpdk.org (Postfix) with ESMTP id A1ADA40658 for ; Sun, 27 Oct 2024 18:11:53 +0100 (CET) Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-71ea2643545so2877706b3a.3 for ; Sun, 27 Oct 2024 10:11:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049112; x=1730653912; 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=PHMedVK9DLpzYFbWzfFlMI/gcRlzJbKAI5m9zjfKMHs=; b=NeayO//Af/bWbpd5jtHIfn+CDsiIyjFyaXEZ/NXafbgRMiY77cDfjM/g7cxqcGeE6b TWNphHgK4jjFQr9fkBmJHONkULHnJnjJNcyHVQ1u3Y014Dt06VHNUlAnwM8ENMWXIigp dbtLvomai45gKHAEccAqpb99x2Hbi3n53JHEI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049112; x=1730653912; 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=PHMedVK9DLpzYFbWzfFlMI/gcRlzJbKAI5m9zjfKMHs=; b=PGy3SMd86VfR+wbyBnCZMKwMwYyv1BqqkSr0BeNprnFRAFWz5F/LjzrX8ieIvVgWkZ I5A/49YK2mQ2ROIeKaVKuIGST0PUNk4nqi56PqTU8QzjvUNrtuDGWUE3VQMxo7ncztYq cdRoHf0JmSpcvUEvv4y+QIf0cTfmOunlF8H0o9wydqOqqQbhSJm2lcqTf16rZJDexryc DJcDt121SeqbNsbiOQ6aTmd6lYnGLHmutHIRQQ9MNDgSUOUcTMkbL+7Ib+M05PE9unLV yjS2nsrJ2ZoW8ms6YY6AEWPVDQkQ2dbj78QXgcGoC19FuqkXDnaPqpTWbg2bNoWsASde diGQ== X-Gm-Message-State: AOJu0YymJUxZ/z3GeuXlne0n9jZJwVXq0P1OC+BkNLalo+t71f8un1Sd sTBYf1OtSpSlJZ21OWS1boehOup35G7nQYDgQgplDCXhlBAr/20v0m5X6JjEo8Nd4slv06dtWx3 PUNyLC9ypIfWD7j5D9YaDjUCDW0t4R8ccJ9xzkPScm2LeqQwCWmZG+0qnqe5pBZnZ4+z6CNuWSS D2g3UrmR1UPJop7BoYA4AI9ZATMDq6Vqs= X-Google-Smtp-Source: AGHT+IHnrGiGPZL//5DmNcBM82tjmyUPIajb0/LR1v2uQuSDdrFYaD5azsT608UoMhooDZZ9RuEo2Q== X-Received: by 2002:a05:6a00:3929:b0:71e:2a0:b0d0 with SMTP id d2e1a72fcca58-72062fd4b4bmr9479987b3a.13.1730049112080; Sun, 27 Oct 2024 10:11:52 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:50 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Manish Kurup , Kalesh AP Subject: [PATCH v2 07/13] net/bnxt: register for and handle RSS change event Date: Sun, 27 Oct 2024 10:11:22 -0700 Message-Id: <20241027171128.50221-8-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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..ac1d537bc9 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 notification, 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 Sun Oct 27 17:11:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147419 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 3C0A945BF5; Sun, 27 Oct 2024 18:12:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 00FB64067B; Sun, 27 Oct 2024 18:12:02 +0100 (CET) Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by mails.dpdk.org (Postfix) with ESMTP id 41E8340655 for ; Sun, 27 Oct 2024 18:11:55 +0100 (CET) Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-7ea7ad1e01fso2365458a12.0 for ; Sun, 27 Oct 2024 10:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049114; x=1730653914; 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=LLCc2whokxzYtQjnK+glSp6ng4joYjcCwLBbLKdoQArLnJNVGCjTkKgqWjauTVeI2b f3zCesdX9PQF7mj1fLv8GETaJp9ziACeov4fekIr2ekw8z5xwFXxo6SyKBI40YEfOjh5 dEr3+POOS3IsS1/m7emmK5CkNDEmy90rGmoIc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049114; x=1730653914; 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=Kp71RGCsIQIIFA2gkiCb+KOZM9TLlQsLjzrtgH2wv4YB+adGI9iYkIvny+ZsiZcBEQ GTIJtnlXjPqtJGl+kcxMfbIDMvcb65RBWeUXFpWhORD22AAyRt7y6+mG15g8uG8qtZmZ Q5HdZfabAH8hunbCRN83A9xgAz4U0y2I0y0Aw9IlnnegK6J3oJKvVhuZqCYgh3Et5n38 kelclwgeEz511QSfGsZznjkZeK/Fy02Gof7QXY7BfgyERLLqvHe8Xws8XktRacB4eTMO hG2e4NSqsUceQNHxVk1ehsgHRoTDtfp98BuwMKfZY4jy+vk+SXBnBpDBSeaFzX5qIObs tPSQ== X-Gm-Message-State: AOJu0YwGhgrecmoY2Ga79ag0VMp7rHyUnHfjQwQz2A9nySANtxP6FwXj BZ/qMdnvjiDvP1lpemHtjr+HOdg5Kk8BuGBpGwA8empWtWuqV8bXXMBhqXgNaFAvQ8NZYCHmydV 6nQEG8cziysZd75LZw5r6bPbmKazQA9pHsaN1DpNnttmgHNJnp9mFtdmHvag5yubZVBIDSDpCnt cl4orEbAVljbR02o0h90sdnzW1XszAiio= X-Google-Smtp-Source: AGHT+IHmE0g6/Y4P0hkhwzelmAtpvb8yy9cYTXd2rUyH/mU0e5bQ/bigGxyY0s+hH1USl4JIV6B2uA== X-Received: by 2002:a05:6a21:e92:b0:1d9:9865:fd3b with SMTP id adf61e73a8af0-1d9a748e66bmr7745738637.1.1730049113793; Sun, 27 Oct 2024 10:11:53 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:52 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Vasuthevan Maheswaran Subject: [PATCH v2 08/13] net/bnxt: fix LRO offload capability Date: Sun, 27 Oct 2024 10:11:23 -0700 Message-Id: <20241027171128.50221-9-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147420 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 3BB6145BF5; Sun, 27 Oct 2024 18:12:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 230F440691; Sun, 27 Oct 2024 18:12:03 +0100 (CET) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by mails.dpdk.org (Postfix) with ESMTP id 236B740665 for ; Sun, 27 Oct 2024 18:11:57 +0100 (CET) Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-71e49ef3bb9so2354824b3a.1 for ; Sun, 27 Oct 2024 10:11:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049115; x=1730653915; 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=ATJuG47/trMZonJr3pLtlGUhmtbqaQqd9AfA8J6wlAU4Yd4OumEgOZ6RdIn/6IbpvE xCyikh29YlW//ZcVmY4XPnTgY+FhleBIHL9khF+1WancK6O1L11c/MA2Ik+EUBN7eKVo UxT8Bpee0Jd6KDa8KCHuZ0tKSwm5lI4L1p4HU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049115; x=1730653915; 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=OVnwDwH2tskx23iDSHh6xAEftt79pPiJLP77P8SW2h+4ZO/5623s41MtJEA4AKx0k1 gZOtGkS2BjliS+A3Y5k3iRO7qc7Vf9if/VW+bhxLbenW7TLBextVNEr8a0KdLdhpgSDu 5k/wqzZzKZMjj8GpSx4CnWA8/6HM8OVafjI8mHtpocB8kF13hwcGVzaKISswhsL1tOp1 L3aocAPFIuYt2aj+XYIJcCDTvZboKI7shQRg6X3kpE8rNuGJy5SSi0eVlOWrGqWHGD4/ c0YbaRTnSARo3ou6FG7ArKvK2PMD2Yl0zY2Svo59GhIAGlHAf+uwkSLXz6woIOZXuDRT EI1g== X-Gm-Message-State: AOJu0YxzZom83MsteaQb5PQAmnfnTBZHfbsssuK45jm2UujHxMxXQW04 V14ywvh5B9CF7sQR/tnFua6BCr1jxl7fd9bjB7W9wSUqISf+W53+L8dVPgWAAY0A32XBlSMLzg/ qbrkWgzLDuzIo0Kps0KCvEVPSl0eYzF0MiDFpvGoFUP3zBrI6WTZYuFdPnKn95PQ1stMG7dse9x N5WzEtq74N652VzbhsVhtBEhAw2WTd8y8= X-Google-Smtp-Source: AGHT+IE/MsCvYUglPwBHyZSc0KaLd/objwIIsEQWsg0uIBQiChQ6NgZOQWuzh7PbQ/ixQIYrp/vV0A== X-Received: by 2002:a62:ab0c:0:b0:71e:591d:cb4c with SMTP id d2e1a72fcca58-720452076d6mr15833877b3a.1.1730049115374; Sun, 27 Oct 2024 10:11:55 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:54 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kishore Padmanabha , Mike Baucom Subject: [PATCH v2 09/13] net/bnxt: disable VLAN filter when TF is enabled Date: Sun, 27 Oct 2024 10:11:24 -0700 Message-Id: <20241027171128.50221-10-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 147421 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 2989745BF5; Sun, 27 Oct 2024 18:12:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 51D3940698; Sun, 27 Oct 2024 18:12:04 +0100 (CET) Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by mails.dpdk.org (Postfix) with ESMTP id ED4D540665 for ; Sun, 27 Oct 2024 18:11:58 +0100 (CET) Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-7ea12e0dc7aso2439964a12.3 for ; Sun, 27 Oct 2024 10:11:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049117; x=1730653917; 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=eEV2RrYCoYixOxUZepbWVadtL0TvHWP4uEv4Fw/fypU=; b=UGRZZgbArSaKAe74P3/6yGciEogkQPN0sGGYqbgMHI1/uGGdNzRZGoc5FJSM9J2k0G UMS1gnjXwPXm/I6hIRnMM9N3rB5/SxP8fBbAQLMIOrr5n8DhKwaltF9A8Uv53jbdq/4u De1poqjE6Cqgn7bluexqR4pC7mihPXMQIObpI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049117; x=1730653917; 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=eEV2RrYCoYixOxUZepbWVadtL0TvHWP4uEv4Fw/fypU=; b=OqfHLyfwqtgV1hJx84uwrf6dhr/yAs0SpcWqyr3bBFplE6TRAQQyQX4e9TFjkBozc2 AkzwnSjb9YMsYzenH4Ljuw2HNtp9Fu/ywgb3QBvyl6HumiCQOCv+JBY/lCK6Z8aMtcHQ /f78AZsV7Br4rEYgE0bpQE0XnhLwdcrfLWEyilWsIEA0gO+KbAFIya/9rIawQrJF/9QM 0SGqxFDD8Rxgehm3lPJKcpz+u5GU8RR6PhtiN0ZR/O9LAo5DLrwG2rwB7WL6SKicpm7z D9RfaAFK6R5s+27SrR4zH46kChNoXdsNVSu25aloAp9FsZr0dmmo4tL7SGRNqHD99sxt Ntjw== X-Gm-Message-State: AOJu0YxXELjNZlZs7WKLEtkLFTkz3H1gRG919JLWcMu8ixwKBitqAUWd wgSwe3p0XP2qxOvYrpAVDosMYLufDJe5XFOa7/agCJsA0xJ+Sz536fwQQXxGZzoS/ubAIwDHdEX aeq6pMooFJo8dOahEglvmd6GNsBPHCVzjE531ePTifqcg2KXS2bHKwAAZn5tW+LWplNuQ+OoMDi 8FSDGyYkXufJXnaa2kldxzNu+SUnKepKU= X-Google-Smtp-Source: AGHT+IHe9P/nZGLQKEzCtbnN1XmLe+QOvMjNRQHcj8yqOmQ7jmaNNLyUAD9BDYsQlNu/IYwiAGSHtQ== X-Received: by 2002:a05:6a21:8cc1:b0:1d7:11af:6a with SMTP id adf61e73a8af0-1d9a84b8d37mr6973495637.37.1730049117393; Sun, 27 Oct 2024 10:11:57 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:55 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kishore Padmanabha , Shahaji Bhosle Subject: [PATCH v2 10/13] net/bnxt: remove the VNIC async event handler Date: Sun, 27 Oct 2024 10:11:25 -0700 Message-Id: <20241027171128.50221-11-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 ac1d537bc9..c6606e19a8 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 Sun Oct 27 17:11: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: 147422 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 418DD45BF5; Sun, 27 Oct 2024 18:12:43 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C9EE406B6; Sun, 27 Oct 2024 18:12:05 +0100 (CET) Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by mails.dpdk.org (Postfix) with ESMTP id 98403402E5 for ; Sun, 27 Oct 2024 18:11:59 +0100 (CET) Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-7205b6f51f3so1488063b3a.1 for ; Sun, 27 Oct 2024 10:11:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049118; x=1730653918; 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=RkqRFnEj6ol9T83ZcCqdfLqxhyaqT74GRtov1abSiWSrotfOwhkJn5M7rmm0SXkn13 djbrtRItoPMdHTirxbKt9RX5VHGYpkJehldxXH5lhMfmsua0hLLwgreB8PMvEJcK1EmN MYiTpK+QeXYOlfbJJU6Qw/DHpf+/VM2k9EO4k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049118; x=1730653918; 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=TfYdm6b9YnePjfelLP0MGbx5zddXVPBT7GIDoGs3cRMXE7ruLoVyl4JcHjRMRws4S6 NTPGtSKyy6NYpyuD1JDGW1ceYryWAtchT7LefdC2jiGkXGHG0hvOL5Mxo/wTQmJ5gG3f U2uYGvAm2yiMC06qvrfTyWc05QtcQR42DBw9MJOjGk/nwyZlIZN59vIBAoRhx74LiVkM sxo2nFyJtGglf6AE2LsbNMsYXrAkxYrm/VYGV84jAMGLhcildlmdgxZUQeguxJL7dN5+ lCyMNFEb6rmDLCYRspuYI5b//OHH6lXWbc2lrfvOqZxZTv4vh8KJMc2HchcinPPNeslk QmzA== X-Gm-Message-State: AOJu0Yxujn53XftD3hFFoQayJXmjVJHXocCg/X16qDmZFf/XUn8nwBkw /5ruvVX+o5gjEItHCACATYAOidsHqbZNNDz7kipkrlFNlCqr+dbqBnWDv7AUh8XcJsy0uRtn6kY IKWmxC1s4WZ5bCHV8+tTkLlSo8eGNYgNbsw4tQjC3itJulC+EBpPQUZSA8Dpb1NlhUO8hd7pkLJ bJN/FIIEubSuILTVwDiuSJ7vbvLOzqtD0= X-Google-Smtp-Source: AGHT+IGx5e/cjKteR0edwBajBYknTZ99wP/MJi+OT2MIdx1xHiZHugkYaaXkQpRR0ECZxvuuGqpm1w== X-Received: by 2002:a05:6a00:1304:b0:71d:f4ef:6b57 with SMTP id d2e1a72fcca58-7206303a3c9mr9425742b3a.18.1730049118174; Sun, 27 Oct 2024 10:11:58 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:57 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Subject: [PATCH v2 11/13] net/bnxt: remove some unnecessary logs Date: Sun, 27 Oct 2024 10:11:26 -0700 Message-Id: <20241027171128.50221-12-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11: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: 147423 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 F242E45BF5; Sun, 27 Oct 2024 18:12:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 95E24406BA; Sun, 27 Oct 2024 18:12:06 +0100 (CET) Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by mails.dpdk.org (Postfix) with ESMTP id 871C14067B for ; Sun, 27 Oct 2024 18:12:01 +0100 (CET) Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-7eda47b7343so2227463a12.0 for ; Sun, 27 Oct 2024 10:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049120; x=1730653920; 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=R6Gw466zzO/CZrzbEXz3nz5Nyg0tZ3MyhZwwyGAm8DFt0Tq5Iw+Vn4HkidvdCg7KZ9 4jwsWfLaS0Q7VSo1rijH+1a3H45eH9CUiCiFUSSJRl1x8O0G2xTtAf8AHPGo3sU46ec4 Un5dAePR2cySLheizI0ZQ1GebkNdniVdpfppw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049120; x=1730653920; 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=mf9suoIyEChhC/W5G/mWkt+C0iZrAzvI6lUgoqa724wxksZqojAtFGbyd/mIH46co5 H+Wk/y5CivoMQqwjYNirmCOenMKUwPCHxLiWpIKqQjaR5LxHY2nt7mcdsQUMEpnteYEc +dPrYuPQXLF5noZF48rzLgCpmU7rA+06w7yoRrsK9Z0x/vPfB4ME8epVXsQhV8IUEjXy l5iIpxPwqhOYdnX4MTTs5ajnSaYbXcXeV24hV12bIuA+emGcfCtW4R0xP2THNgVpnjhv EvyQWylEiPXeHwW3YqVXafmj+8ABInW0RyIiI1fM3/1bbBh/+4SamhZJjrzSrKkwjJXE Ajzw== X-Gm-Message-State: AOJu0YyJPV5HnxC6npzXW1Umt9e5BCKbbRBKyXxynWXAeSHi6D4lX2Oo j6J2ZUyQkpOTfm3R7Jf3xDBE275j2ywgiZ3byrfpos64Hc97Y5/k7w5PD8QJU1gCoMcbtcIgXQL i/BaBbo9iHIAD9rm3FOyMcrToQLRkGCTc6O0tIbgk/OENNYsAkwchs2xBIv88tXQq14QccVScpA 5nmUjy1kOL3MhpKHfaa9yNiPaTzjhqkIE= X-Google-Smtp-Source: AGHT+IHYWVERUsrVbUZSKX3q0D3aQqOoHmjB8PTs2IbEm5CSh1nbcT8/d+Y1DsC2VciCPddQwVzUNQ== X-Received: by 2002:a05:6a21:e90:b0:1d8:a9d4:e59a with SMTP id adf61e73a8af0-1d9a84d999cmr8146523637.40.1730049119827; Sun, 27 Oct 2024 10:11:59 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.11.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:11:58 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Subject: [PATCH v2 12/13] net/bnxt: add support for buffer split Rx offload Date: Sun, 27 Oct 2024 10:11:27 -0700 Message-Id: <20241027171128.50221-13-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 Sun Oct 27 17:11: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: 147424 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 CCB6045BF5; Sun, 27 Oct 2024 18:12:54 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B217E40658; Sun, 27 Oct 2024 18:12:12 +0100 (CET) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mails.dpdk.org (Postfix) with ESMTP id 499FF40693 for ; Sun, 27 Oct 2024 18:12:03 +0100 (CET) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-7ede6803585so399562a12.0 for ; Sun, 27 Oct 2024 10:12:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1730049122; x=1730653922; 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=yuhH8z6aiE35EZhXbomTdj54L05KTNidG6QSlzZjXPU=; b=d0pzPXAkruFO5H2jpbn8V5/KdERvtW0ng0eamq1Wxjv+1Qs6QdR1zKhHV59LGox1Kx /xE4ktFONoMlidEmYmZSxWJAzgVZOb8dC+Ji3kn86Ln9IlzsjnkOTzQSqXDkV0ImOM1E r6BQgbDGUxqxLJFkXEDLycD+jL01faZ2Vbwus= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730049122; x=1730653922; 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=yuhH8z6aiE35EZhXbomTdj54L05KTNidG6QSlzZjXPU=; b=CHKNfBNFGKzqqzv2tFbsowRhuwkFCKjPwFg7F4IzlOr66xFi19mANBF7qvRCQyHJDH MME0YA8aaIKfHZq1lYtTX53QTYgrWht9y9ZEbdWE4/OKiA+pXRPHICcRccoAHp7cFFeX XjGfzhpucC3vtNjhFak52jLk97h4dGdndJcx+5uhhm5XM0u1Ja0dWDXr4OgBkf88hmt6 KRZMraMk8a7ggkpElVSGETWAOA7SUKN22R3NLVneann0VQtkZmn7R3yN7O3sYT6zAKs9 wMfMsFBCAvd/xko9pjaD3yy2Fo0K6BZOOFrr/Nke/aNq5dp7FaFs0zo5nV1en9TRSInh 3e/Q== X-Gm-Message-State: AOJu0YylGAdvAmiH751RQn0LCRuEyP5BpgQMjiHM2/7DlRxsjUZId+HP /q+sC00WWdBcQeIKAtMavzUtoa6ZotKAfVkvmq522XYv8cMhgs5u3q9sil9VGVVGqtGrLho8+tj g4gKrX8/kv6twIMvLd+SdzppdCmOFSCSvl92ND0SDeuE4jmWjpWhqLFrZTKIz/2QY4KugL3aBz3 v2+3PwNw/NVcMlMEgcZ69eXT8355OAfp4= X-Google-Smtp-Source: AGHT+IG3OK7eprzD0yS/BMd/6N0Jddexlk7TRJb93rCJGTydAteXZj894n48dMwGU432ZShLyFetlQ== X-Received: by 2002:a05:6300:4041:b0:1d9:167a:7890 with SMTP id adf61e73a8af0-1d9a7545651mr8438739637.11.1730049121758; Sun, 27 Oct 2024 10:12:01 -0700 (PDT) Received: from localhost.localdomain ([136.52.21.78]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72057a21ccesm4269158b3a.167.2024.10.27.10.12.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 10:12:00 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Subject: [PATCH v2 13/13] net/bnxt: remove unnecessary ifdef Date: Sun, 27 Oct 2024 10:11:28 -0700 Message-Id: <20241027171128.50221-14-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20241027171128.50221-1-ajit.khaparde@broadcom.com> References: <20241027171128.50221-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 unnecessary 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);