Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jun 2010 22:59:17 -0400
From:      Alexander Sack <pisymbol@gmail.com>
To:        Juli Mallett <jmallett@freebsd.org>
Cc:        freebsd-net@freebsd.org, Jack Vogel <jfvogel@gmail.com>
Subject:   Re: Dual-rate transceivers with ixgbe?
Message-ID:  <AANLkTikZSG9RGvYBWFfZh6oT8pdXZ1pCxeSajKNhVuFv@mail.gmail.com>
In-Reply-To: <AANLkTikcQMXk8UebmaynOeeInGiwx8yr0NMGE1yJfm8u@mail.gmail.com>
References:  <AANLkTinO9NZ8F9TeS68I2ULQgdlMGzlXkinCsywWosAM@mail.gmail.com> <AANLkTinS607kd3wc3F2WWmA6Zk9KL4GhscxEHPtcvxA5@mail.gmail.com> <AANLkTimkxOn9h6SAkTPDqfUM9kl2CZiFrZC_BuNDfRyB@mail.gmail.com> <AANLkTikcQMXk8UebmaynOeeInGiwx8yr0NMGE1yJfm8u@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 9, 2010 at 10:56 PM, Alexander Sack <pisymbol@gmail.com> wrote:
> On Fri, May 28, 2010 at 5:12 PM, Juli Mallett <jmallett@freebsd.org> wrot=
e:
>> On Wed, May 19, 2010 at 00:26, Jack Vogel <jfvogel@gmail.com> wrote:
>>> Hmmm, this is odd, I'm sure that was tested by my validation engineer.
>>> Tell me what the hardware looks like, ie what the 1G link partner is
>>> and I'll have him check into it... it SHOULD work.
>>
>> It's plugged in to an Extreme Networks gigabit switch with Finisar SFP
>> transceivers. =A0The Intel NIC is populated with an Intel-branded
>> Finisar dual-rate SFP+ transceiver, model #FTLX8571D3BCV.
>>
>> Here's pciconf -lv:
>> ix0@pci0:8:0:0: class=3D0x020000 card=3D0x00038086 chip=3D0x10fb8086 rev=
=3D0x01 hdr=3D0x00
>> =A0 =A0vendor =A0 =A0 =3D 'Intel Corporation'
>> =A0 =A0class =A0 =A0 =A0=3D network
>> =A0 =A0subclass =A0 =3D ethernet
>> ix1@pci0:8:0:1: class=3D0x020000 card=3D0x00038086 chip=3D0x10fb8086 rev=
=3D0x01 hdr=3D0x00
>> =A0 =A0vendor =A0 =A0 =3D 'Intel Corporation'
>> =A0 =A0class =A0 =A0 =A0=3D network
>> =A0 =A0subclass =A0 =3D ethernet
>>
>> Is there anything it would help for me to instrument in the driver?
>>
>>> You could just ask me you know :)
>>
>> I think E-Mails from me are getting caught in your spam filter unless
>> they go through a list :(
>>
>> Thanks!
>> Juli.
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>>
>
> Jack:
>
> I am running into a slightly different issue after back porting ixgbe
> driver to 7.x (btw you are missing DEBUGOUT6 from your #ifdef and the
> build logic for the buf_ring's stuff is a little off I think).
>
> I am using a Finisar multi-mode transceiver connected to an IxIa 10G
> traffic generator (I don't know the model number, let me know if you
> absolutely need it) and everything seems to be working until =A0I hit
> this block of code:
>
> ixgbe_phy.c:
> 1125 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (!(enforce_sfp & IXGBE_DEVICE_CAP=
S_ALLOW_ANY_SFP)) {
> 1126 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* Make sure we're a=
 supported PHY type */
> 1127 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (hw->phy.type =3D=
=3D ixgbe_phy_sfp_intel) {
> 1128 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 stat=
us =3D IXGBE_SUCCESS;
> 1129 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 } else {
> 1130 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 DEBU=
GOUT("SFP+ module not supported\n");
> 1131 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hw->=
phy.type =3D ixgbe_phy_sfp_unsupported;
> 1132 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 stat=
us =3D IXGBE_ERR_SFP_NOT_SUPPORTED;
> 1133 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 }
> 1134 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 } else {
> 1135 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 status =3D IXGBE_SUC=
CESS;
> 1136 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 }
>
> Some more goodies:
>
> comp_codes_1g 0
> comp_codes_10g 20
> cable_tech 0
> sfp_type: 6
> vendor_oui: 906500
> device caps: 0xfffc
>
> What's interesting is that according to the datasheet, 0x2C of the
> EEPROM is software reserved (Intel black magic!). =A0Based on the logic,
> it seems if its an Intel SFP, its okay otherwise claim its not
> supported.
>
> If I #ifdef out this code, the driver comes up but does not
> autonegotiate on the first shot. =A0If I then do ifconfig ix0 up/down
> everything comes up and I can use it. =A0I noticed that there has been
> some churn in this area of recognizing SFPs between 7.x - CURRENT.
> (obviously Juli's issue might be related to this as well).
>
> $ ifconfig ix1
> ix1: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> =A0 =A0 =A0 =A0options=3D5bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_=
MTU,VLAN_HWCSUM,TSO4,LRO>
> =A0 =A0 =A0 =A0ether 00:1b:21:40:4b:2d
> =A0 =A0 =A0 =A0media: Ethernet autoselect
> =A0 =A0 =A0 =A0status: no carrier
> # ifconfig ix1 down
> # ifconfig ix1 up
> # ifconfig ix1
> ix1: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 15=
00
> =A0 =A0 =A0 =A0options=3D5bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_=
MTU,VLAN_HWCSUM,TSO4,LRO>
> =A0 =A0 =A0 =A0ether 00:1b:21:40:4b:2d
> =A0 =A0 =A0 =A0media: Ethernet autoselect (10Gbase-SR <full-duplex>)
> =A0 =A0 =A0 =A0status: active
>
> Jack, any idea on what's going on? =A0(and what the heck is 0x2C in the E=
EPROM?)

I apologize:

ix0@pci0:10:0:0:	class=3D0x020000 card=3D0x000c8086 chip=3D0x10fb8086
rev=3D0x01 hdr=3D0x00
    vendor     =3D 'Intel Corporation'
    class      =3D network
    subclass   =3D ethernet
ix1@pci0:10:0:1:	class=3D0x020000 card=3D0x000c8086 chip=3D0x10fb8086
rev=3D0x01 hdr=3D0x00
    vendor     =3D 'Intel Corporation'
    class      =3D network
    subclass   =3D ethernet

I am sure that would be helpful too.  Its a 7.2-amd64 + CURRENT driver
+ my little fixes to make it compile (minor nits).

-aps



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikZSG9RGvYBWFfZh6oT8pdXZ1pCxeSajKNhVuFv>