From patchwork Fri Dec 22 21:56:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 135542 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 2DF8A43762; Fri, 22 Dec 2023 22:58:43 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C4D8642EA7; Fri, 22 Dec 2023 22:57:25 +0100 (CET) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id C30C742E53 for ; Fri, 22 Dec 2023 22:57:22 +0100 (CET) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1d3dee5f534so23981395ad.1 for ; Fri, 22 Dec 2023 13:57:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1703282241; x=1703887041; 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=ofeVuUf5Lsv70By8ZS18lQnIA1YPMUY9H/k4iXbfhvQ=; b=S5JzG8++bNeK9nfIZRWs/ODvkz+JEXiKERybGa5Qpc7YbE8CTSVhjIpNdh/PgJLyZw 48VGGjJzHd9NbCUCgGZghfnRZ9ogMOAEAOILr0YKorxtfxJ6GMKY3NvwLkQ1F73lThdO y5kly7lw8VwQ2c7lm1ODKtq1Gi5hjCp94o0rc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703282241; x=1703887041; 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=ofeVuUf5Lsv70By8ZS18lQnIA1YPMUY9H/k4iXbfhvQ=; b=CqEEPphXbaayQuyq/WeVpiPGy2IkZJv2ez2jC+AA0xHh7E3+4Z4RKXp8HFoCdqfmig uMhG9PtTPAxQRfojog3T6v5RsJGUs03esqyNJH9QEwrAma9Y5Mf2eqC6r+bZ0qU7/hFS BplXq/qNVPb57Yom+svtL7IxgHlD99I0MwAURA7P7or0V6/MEzjiZW76vTM0B5j1+kyE XMXYkuopqkrs1aOYqFzv19OzN8OY/u8bJcOxzMC90TOKNJimsaDt4j8lLj8hk0CJSX4H Y5qEDEraK+9wTHNizEO8hwHTZ18OX1XKHVNk5B95D/rDg+nxxPuWR/YYZK+JhDpvbcpK 276g== X-Gm-Message-State: AOJu0YyRCIRjGZMkB+eHitUH2WMmsZx5ZLFAdx5TaULl8TasY1siRukb FNPnxa3mbA05hoJidXa7O6FOJKwD8rUhcOKXy4CZ1qPhBFIMn4U0iUYl9cs2lFrEkBIPhwKen89 4pwbuV6EwFZqKI36ZLuQ9+LjTNc9gMFAhfL3O5JbHcdU6HI54yjya730tyD5AjElZ2M1gu34En/ E= X-Google-Smtp-Source: AGHT+IHuclmvmlJE6xqNAb7KOBjEY74dRDZr49NUZ28Ag5N4GNO6qAkio71H12BaUesDA/BWk9XDow== X-Received: by 2002:a17:90a:cb08:b0:28c:1739:ac with SMTP id z8-20020a17090acb0800b0028c173900acmr1278376pjt.12.1703282241465; Fri, 22 Dec 2023 13:57:21 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id sr5-20020a17090b4e8500b0028afd8b1e0bsm3540700pjb.57.2023.12.22.13.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Dec 2023 13:57:21 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: Damodharam Ammepalli Subject: [PATCH v2 12/18] net/bnxt: set allmulti mode if multicast filter fails Date: Fri, 22 Dec 2023 13:56:53 -0800 Message-Id: <20231222215659.64993-13-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20231222215659.64993-1-ajit.khaparde@broadcom.com> References: <20231222215659.64993-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