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?
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 >