Intel 10GBase-LR Ethernet card detected as 10GBase-SR

From: <sthaug_at_nethelp.no>
Date: Thu, 13 Jan 2011 15:16:52 +0100 (CET)
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
_at__at_ -421,7 +421,7 _at__at_
 			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 :
Received on Thu Jan 13 2011 - 13:43:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:10 UTC