net/hns3: fix flow control exception
authorHuisong Li <lihuisong@huawei.com>
Wed, 31 Mar 2021 10:01:39 +0000 (18:01 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 8 Apr 2021 16:57:09 +0000 (18:57 +0200)
In multi-TC scenarios, MAC pause is not supported. Otherwise, only
TC0 can trigger pause frames, and other TCs cannot trigger pause
frames. In this case, flow control does not meet the expectation.

Fixes: 62e3ccc2b94c ("net/hns3: support flow control")
Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_ethdev.c

index 56b3032..2fa0bfa 100644 (file)
@@ -5554,6 +5554,11 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
                return -EOPNOTSUPP;
        }
 
+       if (hw->num_tc > 1) {
+               hns3_err(hw, "in multi-TC scenarios, MAC pause is not supported.");
+               return -EOPNOTSUPP;
+       }
+
        hns3_get_fc_mode(hw, fc_conf->mode);
        if (hw->requested_mode == hw->current_mode &&
            pf->pause_time == fc_conf->pause_time)