DPDK patches and discussions
 help / color / mirror / Atom feed
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

      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).