From patchwork Thu Dec 21 18:05:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 135487 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 B862743752; Thu, 21 Dec 2023 19:07:16 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 522D342EE1; Thu, 21 Dec 2023 19:05:55 +0100 (CET) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mails.dpdk.org (Postfix) with ESMTP id 03FEA42EBA for ; Thu, 21 Dec 2023 19:05:52 +0100 (CET) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1d3ed1ca402so8901055ad.2 for ; Thu, 21 Dec 2023 10:05:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1703181951; x=1703786751; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=mryINGV4/88D49B2QHNYuy+Bv90bQq/wvlsgQjZZjQU=; b=fvidpP507LIiXY7I9Ce3R6UJHXWq1zBryLYWcqh1/sMVBFmnkKk/XvXyJtN6ltyou6 gSJexCPtiHhmS95GlxAGOSLvbNKOnAcl/O+gqmiISwGrQhm/k6RIAOtxoW/1GJeMfP0S ZohKZEmqj0mnoxh2QRKtZdhzgriBHcqjEdywY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703181951; x=1703786751; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mryINGV4/88D49B2QHNYuy+Bv90bQq/wvlsgQjZZjQU=; b=gG55EpZWqe8/iAU3Rcabcyc82EQJm3Xvlb68FwXEOxPb4TuhUBeHyEDDrBrXiJT7oa siHjOzfD3So1n9rMjaZmivdMR/Oh+R4yMi6lfukYmFuTZC7kvXo7Xsbo7W8To2Cgg1v0 J+crHI6DDsxjFEU795jjm3v+kwIfCnjPunSTPKYbI548or/CVG5nv+Upa2JajR7Jd2cz bpzYxOyie0vwik+qhDj0XBr4x217/7t4TzTaAZ4Vyc/9LH4Nxp59CiaGKr8wzvNSt+9G pXYJpy9+gTvOm7SxW8L6No8U8FOpn7Tx86YTyvUYTxxAZGFq7dr8zJkRHsf47chfjRLG b9Gg== X-Gm-Message-State: AOJu0Yx+pf//CX3nIJmgB/nyTwZDF3oMyyvt/yozm7n/pAqC5HkfSn+U NMSLqyeJ2TEWXnrBZ+RPds1D3bvc00KdteDdLtI2ZptDOTtHLTMqqzTCSOG5sqXz9J/1E5Wn812 CpAzxcysWFh863P3BSJUrRA0fkTCL40t9VWmFhPVLwhW/PBhm9KLQV1DiaHKiGtqyN8RH4TW7Nc 8= X-Google-Smtp-Source: AGHT+IE+xw9E6fzXot9EqKGEcpmtld5etbNi9D8NO6qArBZqNZ8i9HQt6O8IuryvvwNT40k+rdh4lQ== X-Received: by 2002:a17:902:e5c6:b0:1d4:1820:cdc9 with SMTP id u6-20020a170902e5c600b001d41820cdc9mr23594plf.66.1703181950778; Thu, 21 Dec 2023 10:05:50 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id j17-20020a170902da9100b001d3b3ac2d7bsm1916379plx.245.2023.12.21.10.05.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 10:05:49 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: Damodharam Ammepalli Subject: [PATCH 12/18] net/bnxt: set allmulti mode if multicast filter fails Date: Thu, 21 Dec 2023 10:05:23 -0800 Message-Id: <20231221180529.18687-13-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20231221180529.18687-1-ajit.khaparde@broadcom.com> References: <20231221180529.18687-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 Fallback to all multicast mode if FW rejects multicast filter programming. The firmware can reject the MC filter programming request if it is running low in resources when there is a large number of functions. The driver must be prepared to fallback to the all-multicast mode if the original MC filter programming request is rejected. Signed-off-by: Ajit Khaparde Reviewed-by: Damodharam Ammepalli --- drivers/net/bnxt/bnxt_ethdev.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 5b775e7716..7aed6d3ab6 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2947,7 +2947,17 @@ bnxt_dev_set_mc_addr_list_op(struct rte_eth_dev *eth_dev, vnic->flags &= ~BNXT_VNIC_INFO_MCAST; allmulti: - return bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL); + rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, vnic, 0, NULL); + if (rc == -ENOSPC && (vnic->flags & BNXT_VNIC_INFO_MCAST)) { + /* If MCAST addition failed because FW ran out of + * multicast filters, enable all multicast mode. + */ + vnic->flags &= ~BNXT_VNIC_INFO_MCAST; + vnic->flags |= BNXT_VNIC_INFO_ALLMULTI; + goto allmulti; + } + + return rc; } static int