Intel 10GBase-LR Ethernet card detected as 10GBase-SR
sthaug at nethelp.no
sthaug at nethelp.no
Thu Jan 13 14:43:34 UTC 2011
I have a server with an Intel X520-LR1 Ethernet card, which is a
10GBase-LR card:
http://ark.intel.com/Product.aspx?id=41164
The card contains the Intel 82599ES controller:
http://ark.intel.com/Product.aspx?id=41282
pciconf -lv shows:
ix0 at pci0:28:0:0: class=0x020000 card=0x00068086 chip=0x10fb8086 rev=0x01 hdr=0x00
vendor = 'Intel Corporation'
class = network
subclass = ethernet
where /sys/dev/ixgbe/ixgbe_type.h has the PCI ID definition:
#define IXGBE_DEV_ID_82599_SFP 0x10FB
The problem is that this card is shown by ifconfig as a 10GBase-SR card:
% ifconfig ix0
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1b:21:7c:7b:94
media: Ethernet autoselect (10Gbase-SR <full-duplex>)
status: active
I believe this is due to the following code in /sys/dev/ixgbe/ixgbe.c
line 423, routine ixgbe_attach():
case IXGBE_DEV_ID_82599_SFP:
adapter->optics = IFM_10G_SR;
I'm looking at version 1.17.2.12.2.1, from 8.2-RC1, but I see this code
is the same in version 1.45, from HEAD:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/ixgbe/ixgbe.c?rev=1.45;content-type=text/plain
I made a 1-line patch to the 8.2-RC1 code, enclosed below, and now have
ifconfig showing the expected value:
y% ifconfig ix0
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1b:21:7c:7b:94
media: Ethernet autoselect (10Gbase-LR <full-duplex>)
status: active
Steinar Haug, Nethelp consulting, sthaug at nethelp.no
----------------------------------------------------------------------
--- ixgbe.c.orig 2010-12-21 18:09:25.000000000 +0100
+++ ixgbe.c 2011-01-13 14:31:14.000000000 +0100
@@ -421,7 +421,7 @@
adapter->optics = IFM_10G_LR;
break;
case IXGBE_DEV_ID_82599_SFP:
- adapter->optics = IFM_10G_SR;
+ adapter->optics = IFM_10G_LR;
ixgbe_num_segs = IXGBE_82599_SCATTER;
break;
case IXGBE_DEV_ID_82598_DA_DUAL_PORT :
More information about the freebsd-current
mailing list