[dpdk-dev] [PATCH 2/3] app/testpmd: fix the initial value when setting PFC
Ferruh Yigit
ferruh.yigit at intel.com
Tue Jan 28 12:21:13 CET 2020
On 1/21/2020 11:44 AM, Wei Hu (Xavier) wrote:
> From: "Wei Hu (Xavier)" <xavier.huwei at huawei.com>
>
> Currently, the initial values of the local structure variable named
> rx_tx_onoff_2_lfc_mode and rx_tx_onoff_2_pfc_mode are different in the
> similar part of these two following functions:
> cmd_link_flow_ctrl_set_parsed
> cmd_priority_flow_ctrl_set_parsed
> 1) The code snippset in cmd_link_flow_ctrl_set_parsed function:
> static enum rte_eth_fc_mode rx_tx_onoff_2_lfc_mode[2][2] = {
> {RTE_FC_NONE, RTE_FC_TX_PAUSE}, {RTE_FC_RX_PAUSE, RTE_FC_FULL}
> };
>
> if (!cmd || cmd == &cmd_link_flow_control_set_rx)
> rx_fc_en = (!strcmp(res->rx_lfc_mode, "on")) ? 1 : 0;
> if (!cmd || cmd == &cmd_link_flow_control_set_tx)
> tx_fc_en = (!strcmp(res->tx_lfc_mode, "on")) ? 1 : 0;
>
> fc_conf.mode = rx_tx_onoff_2_lfc_mode[rx_fc_en][tx_fc_en];
> <...>
> ret = rte_eth_dev_flow_ctrl_set(res->port_id, &fc_conf);
> <...>
> 2) The code snippset in cmd_priority_flow_ctrl_set_parsed function:
> static enum rte_eth_fc_mode rx_tx_onoff_2_pfc_mode[2][2] = {
> {RTE_FC_NONE, RTE_FC_RX_PAUSE}, {RTE_FC_TX_PAUSE, RTE_FC_FULL}
> };
>
> rx_fc_enable = (!strncmp(res->rx_pfc_mode, "on",2)) ? 1 : 0;
> tx_fc_enable = (!strncmp(res->tx_pfc_mode, "on",2)) ? 1 : 0;
> pfc_conf.fc.mode =
> rx_tx_onoff_2_pfc_mode[rx_fc_enable][tx_fc_enable];
> <...>
> ret = rte_eth_dev_priority_flow_ctrl_set(res->port_id, &pfc_conf);
> <...>
> The initial value of rx_tx_onoff_2_pfc_mode is wrong, it should be the
> same as rx_tx_onoff_2_lfc_mode.
>
> Fixes: 9b53e542e9e1 ("app/testpmd: add priority flow control")
> Cc: stable at dpdk.org
>
> Signed-off-by: Huisong Li <lihuisong at huawei.com>
> Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
> Signed-off-by: Xuan Li <lixuan47 at hisilicon.com>
Not tested but looks reasonable from the code, it would be nice if someone can
test it.
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
More information about the dev
mailing list