> -----Original Message----- > From: Martin Weiser [mailto:martin.wei...@allegro-packets.com] > Sent: Tuesday, April 9, 2019 7:21 PM > To: Xing, Beilei <beilei.x...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>; > dev@dpdk.org > Subject: Re: [dpdk-dev] i40e rte_eth_link_get_nowait() on X722 returns > wrong link_speed value 20000 instead of 10000 > > Hi, > > just bumping this since there has been no reply at all for a long time. > Would it be better if I opened a bug for this?
Thanks for reporting. Yes, you can open a bug on bugzilla, and we will check it if the bug exists. > > Best, > Martin > > > Am 22.01.19 um 16:07 schrieb Martin Weiser: > > Hi, > > > > We are using a Xeon D with an integrated X722 NIC that provides two > > ports of 8086:37d2 and two ports of 8086:37d0. All four ports show the > > same behavior: they return a link speed value of 20000 for a 10Gbps link. > > > > This only seems to happen when internally the update_link_reg() > > function in i40e_ethdev.c is used. This requires the application to > > use the > > rte_eth_link_get_nowait() function and not use link status change > > interrupts. > > If you use e.g. testpmd with the option --no-lsc-interrupt you can > > reproduce the behavior since it will suddenly show a link speed of > > 20000 Mbps instead of 10000 Mbps. > > > > > > Here are two examples of the register values read by update_link_reg(): > > > > A 10Gbps link which produces the wrong link speed value: > > > > I40E_PRTMAC_LINKSTA: 0x60000080 > > I40E_PRTMAC_MACC: 0x3d00 > > > > > > A 1Gbps link which produces the correct link speed value: > > > > I40E_PRTMAC_LINKSTA: 0x48000081 > > I40E_PRTMAC_MACC: 0x3d00 > > > > > > Best regards, > > Martin > > > >