Modify the logic of set promisc mode, add the check logic of
capacity.

Signed-off-by: Chaoyong He <chaoyong...@corigine.com>
Reviewed-by: Peng Zhang <peng.zh...@corigine.com>
Reviewed-by: Long Wu <long...@corigine.com>
---
 drivers/net/nfp/nfp_net_common.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c
index 79ce1dd837..12b62c1958 100644
--- a/drivers/net/nfp/nfp_net_common.c
+++ b/drivers/net/nfp/nfp_net_common.c
@@ -592,6 +592,11 @@ nfp_net_promisc_disable(struct rte_eth_dev *dev)
        net_hw = nfp_net_get_hw(dev);
        hw = &net_hw->super;
 
+       if ((hw->cap & NFP_NET_CFG_CTRL_PROMISC) == 0) {
+               PMD_DRV_LOG(ERR, "Promiscuous mode not supported");
+               return -ENOTSUP;
+       }
+
        if ((hw->ctrl & NFP_NET_CFG_CTRL_PROMISC) == 0) {
                PMD_DRV_LOG(INFO, "Promiscuous mode already disabled");
                return 0;
-- 
2.39.1

Reply via email to