From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Weiser Subject: Re: i40e: disabling flow control makes XL710 NIC discard all packets Date: Thu, 5 Nov 2015 11:14:55 +0100 Message-ID: <563B2C1F.1070908@allegro-packets.com> References: <5639DB34.2070500@allegro-packets.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable To: "Zhang, Helin" , "dev@dpdk.org" Return-path: Received: from smtprelay02.ispgateway.de (smtprelay02.ispgateway.de [80.67.31.36]) by dpdk.org (Postfix) with ESMTP id 3C8575A6B for ; Thu, 5 Nov 2015 11:14:57 +0100 (CET) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 =3D 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 =3D RTE_FC_NONE; fc_conf.low_water =3D 0; fc_conf.high_water =3D 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 pack= ets >> >> Hi Helin, >> >> I have been doing some tests with the current DPDK master to see if th= e issues >> we had with performance and statistics have improved. >> In our own applications we usually disable flow control using the foll= owing code: >> >> struct rte_eth_fc_conf fc_conf =3D { .mode =3D RTE_FC_NONE }; int ret = =3D >> 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 t= he current >> master the NIC will not receive any packets and they are all counted i= n ierrors and >> imissed. >> The return value of rte_eth_dev_flow_ctrl_set does not indicate an err= or so it >> seems like something is going wrong here. >> Regards, >> Martin