If some user set mac_ctrl_frame_fwd to 1 from fc ops, then he do a port reset process of
testpmd> start testpmd> set flow_ctrl mac_ctrl_frame_fwd on 0 testpmd> stop testpmd> port stop 0 testpmd> port start 0 testpmd> start Then after this process, the mac_ctrl_frame_fwd has been change to "off", so we should delete "adapter->mac_ctrl_frame_fwd = 0;" from dev-stop. In addition, add a value to mac_ctrl_frame_fwd in the ixgbe_flow_ctrl_get () function. Fixes: a524f550da6e ("net/ixgbe: fix flow control mode setting") Cc: sta...@dpdk.org Signed-off-by: SunGuinan <guinanx....@intel.com> --- drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index f8a84c565..dd4023f01 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -2939,8 +2939,6 @@ ixgbe_dev_stop(struct rte_eth_dev *dev) adapter->rss_reta_updated = 0; - adapter->mac_ctrl_frame_fwd = 0; - hw->adapter_stopped = true; } @@ -4754,6 +4752,8 @@ ixgbe_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) * MFLCN register. */ mflcn_reg = IXGBE_READ_REG(hw, IXGBE_MFLCN); + fc_conf->mac_ctrl_frame_fwd = mflcn_reg; + if (mflcn_reg & (IXGBE_MFLCN_RPFCE | IXGBE_MFLCN_RFCE)) rx_pause = 1; else -- 2.17.1