]> git.droids-corp.org - dpdk.git/commitdiff
net/bnxt: get maximum supported multicast filters count
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Tue, 4 Jan 2022 08:38:17 +0000 (14:08 +0530)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Wed, 12 Jan 2022 01:58:10 +0000 (02:58 +0100)
The HWRM_FUNC_QCAPS response indicates the maximum number
of multicast filters that can be supported by this function
on the RX side.

Fixed to use this value instead of the hard coded value 16.

Fixes: d69851df12b2 ("net/bnxt: support multicast filter and set MAC addr")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
drivers/net/bnxt/bnxt.h
drivers/net/bnxt/bnxt_hwrm.c

index 3df80f50db9bd06690848cf2c0eb5bc743d5dbf9..64866de319ae7a0a1915767cd96dd07f8907cd47 100644 (file)
@@ -889,10 +889,11 @@ struct bnxt {
        struct bnxt_ring_stats  *prev_rx_ring_stats;
        struct bnxt_ring_stats  *prev_tx_ring_stats;
 
-#define BNXT_MAX_MC_ADDRS      16
+#define BNXT_MAX_MC_ADDRS      ((bp)->max_mcast_addr)
        struct rte_ether_addr   *mcast_addr_list;
        rte_iova_t              mc_list_dma_addr;
        uint32_t                nb_mc_addr;
+       uint32_t                max_mcast_addr; /* maximum number of mcast filters supported */
 
        struct rte_eth_rss_conf rss_conf; /* RSS configuration. */
 };
index f90c22a9f7dcf91cb7b40817c4583eefb0c2add0..b8c0cf50ad1816eba93385d61bbf9e2b9723caf0 100644 (file)
@@ -914,6 +914,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
        PMD_DRV_LOG(DEBUG, "Max l2_cntxts is %d vnics is %d\n",
                    bp->max_l2_ctx, bp->max_vnics);
        bp->max_stat_ctx = rte_le_to_cpu_16(resp->max_stat_ctx);
+       bp->max_mcast_addr = rte_le_to_cpu_32(resp->max_mcast_filters);
+
        if (BNXT_PF(bp)) {
                bp->pf->total_vnics = rte_le_to_cpu_16(resp->max_vnics);
                if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_PTP_SUPPORTED) {