X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fnfb%2Fnfb_rxmode.c;h=2d0b613d21edcb039bd7f5013d43fc81d4432ef7;hb=972a1bf8120d971c04c065221c46c37c266b1f62;hp=17708c84c62d1913f32df5452e311503c7200a9f;hpb=9039c8125730adfd46b8c891e7f205eb4ac43c67;p=dpdk.git diff --git a/drivers/net/nfb/nfb_rxmode.c b/drivers/net/nfb/nfb_rxmode.c index 17708c84c6..2d0b613d21 100644 --- a/drivers/net/nfb/nfb_rxmode.c +++ b/drivers/net/nfb/nfb_rxmode.c @@ -54,12 +54,13 @@ nfb_eth_promiscuous_get(struct rte_eth_dev *dev) struct nc_rxmac_status status; status.mac_filter = RXMAC_MAC_FILTER_PROMISCUOUS; - nc_rxmac_read_status(internals->rxmac[0], &status); + if (internals->max_rxmac > 0) + nc_rxmac_read_status(internals->rxmac[0], &status); return (status.mac_filter == RXMAC_MAC_FILTER_PROMISCUOUS); } -void +int nfb_eth_allmulticast_enable(struct rte_eth_dev *dev) { struct pmd_internals *internals = (struct pmd_internals *) @@ -70,9 +71,11 @@ nfb_eth_allmulticast_enable(struct rte_eth_dev *dev) nc_rxmac_mac_filter_enable(internals->rxmac[i], RXMAC_MAC_FILTER_TABLE_BCAST_MCAST); } + + return 0; } -void +int nfb_eth_allmulticast_disable(struct rte_eth_dev *dev) { struct pmd_internals *internals = (struct pmd_internals *) @@ -82,12 +85,14 @@ nfb_eth_allmulticast_disable(struct rte_eth_dev *dev) /* if multicast is not enabled do nothing */ if (!nfb_eth_allmulticast_get(dev)) - return; + return 0; for (i = 0; i < internals->max_rxmac; ++i) { nc_rxmac_mac_filter_enable(internals->rxmac[i], internals->rx_filter_original); } + + return 0; } int @@ -98,7 +103,9 @@ nfb_eth_allmulticast_get(struct rte_eth_dev *dev) struct nc_rxmac_status status; status.mac_filter = RXMAC_MAC_FILTER_PROMISCUOUS; - nc_rxmac_read_status(internals->rxmac[0], &status); + + if (internals->max_rxmac > 0) + nc_rxmac_read_status(internals->rxmac[0], &status); return (status.mac_filter == RXMAC_MAC_FILTER_TABLE_BCAST_MCAST); }