From: Martin Weiser <martin.weiser@allegro-packets.com>
To: "Zhang, Helin" <helin.zhang@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] i40e: disabling flow control makes XL710 NIC discard all packets
Date: Thu, 5 Nov 2015 11:14:55 +0100 [thread overview]
Message-ID: <563B2C1F.1070908@allegro-packets.com> (raw)
In-Reply-To: <F35DEAC7BCE34641BA9FAC6BCA4A12E70A9354F7@SHSMSX104.ccr.corp.intel.com>
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@allegro-packets.com]
>> Sent: Wednesday, November 4, 2015 6:17 PM
>> To: Zhang, Helin; dev@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
prev parent reply other threads:[~2015-11-05 10:14 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 10:17 Martin Weiser
2015-11-04 14:32 ` Zhang, Helin
2015-11-05 10:14 ` Martin Weiser [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=563B2C1F.1070908@allegro-packets.com \
--to=martin.weiser@allegro-packets.com \
--cc=dev@dpdk.org \
--cc=helin.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).