[dpdk-dev] i40e: disabling flow control makes XL710 NIC discard all packets

Martin Weiser martin.weiser at allegro-packets.com
Thu Nov 5 11:14:55 CET 2015


Hi Helin,

I did some more testing and it seems like the issue is triggered when
the 'high_water' and 'low_water' fields of the 'rte_eth_fc_conf'
structure are set to 0 (like in my initial code example).
The following example does not trigger the issue:

struct rte_eth_fc_conf fc_conf;
rte_eth_dev_flow_ctrl_get(pi, &fc_conf);
fc_conf.mode = RTE_FC_NONE;
rte_eth_dev_flow_ctrl_set(pi, &fc_conf);

But when using the following code all packets will be discarded although
the call to rte_eth_dev_flow_ctrl_set does not return an error:

struct rte_eth_fc_conf fc_conf;
rte_eth_dev_flow_ctrl_get(pi, &fc_conf);
fc_conf.mode = RTE_FC_NONE;
fc_conf.low_water = 0;
fc_conf.high_water = 0;
rte_eth_dev_flow_ctrl_set(pi, &fc_conf);

I think the rest of the structure's values should not have any effect as
long as flow control is completely disabled by setting the mode to
RTE_FC_NONE. At least it did not with DPDK 2.1 or for other NIC types.

Regards,
Martin


On 04.11.15 15:32, Zhang, Helin wrote:
> Hi Martin
>
> Thank you very much for reporting the issue!
> Could you help to add more detailed steps and other information?
> We will try to reproduce what have seen in our lab, and then debug.
>
> Regards,
> Helin
>
>> -----Original Message-----
>> From: Martin Weiser [mailto:martin.weiser at allegro-packets.com]
>> Sent: Wednesday, November 4, 2015 6:17 PM
>> To: Zhang, Helin; dev at dpdk.org
>> Subject: i40e: disabling flow control makes XL710 NIC discard all packets
>>
>> Hi Helin,
>>
>> I have been doing some tests with the current DPDK master to see if the issues
>> we had with performance and statistics have improved.
>> In our own applications we usually disable flow control using the following code:
>>
>> struct rte_eth_fc_conf fc_conf = { .mode = RTE_FC_NONE }; int ret =
>> rte_eth_dev_flow_ctrl_set(port_id, &fc_conf);
>>
>> In DPDK 2.1 this did not cause any problems with XL710 NICs but with the current
>> master the NIC will not receive any packets and they are all counted in ierrors and
>> imissed.
>> The return value of rte_eth_dev_flow_ctrl_set does not indicate an error so it
>> seems like something is going wrong here.
>> Regards,
>> Martin



More information about the dev mailing list