Project

General

Profile

Bug #7763

IX driver - fails to recognize media type with SFP after link drop

Added by Clinton Cory 4 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Interfaces
Target version:
Start date:
08/09/2017
Due date:
% Done:

100%

Affected Version:
Affected Architecture:

Description

An issue was discovered by a customer running LAGG on ix0 and ix1 on the XG-2758. If a physical link to one of those interfaces dropped, the media type would come up as unknown.

I setup a XG-2758 with twinax connected from ix0 to ix1. If I remove the cable from ix0 or ix1, the media type will show as unknown when connected back in. It seems the longer it's unplugged, the more likely it is to fail. In some cases I was able to remove the cable and plug it back in without issue but the issue would eventually show itself. I also notice that the 10GBase-Twinax option under Speed and Duplex (Interfaces -> IX0) disappears when this issue happens. It's present in the drop-down prior to removing the link.

I tested this on pfSense 2.3.4_p1, 2.4, and FreeBSD 11-RELEASE.

It looks like FreeBSD is using Intel IX driver 3.1.13-k as the default IX driver. There was a bug reported back when 3.1.14 was the current driver similar to the issue we are seeing:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=150249

A similar report can be found here:
https://groups.google.com/forum/#!topic/muc.lists.freebsd.stable/waROA12uu4w

I downloaded the latest Intel IX driver (3.2.15) and compiled it in FreeBSD 11. I added if_ix_load="YES" to /boot/loader.conf and rebooted. I verified the updated driver was loaded and it appeared to resolve the issue. I copied the kernel module to pfSense 2.4 and it appeared to be resolved there as well.

I suggest we update the IX driver on 2.4 to resolve this issue. I suspect this is isolated to SFP/Fiber ports, not ethernet.

History

#1 Updated by Luiz Souza 4 months ago

  • Assignee set to Luiz Souza

#3 Updated by Luiz Souza 3 months ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 100

Seems like you have found a real bug in the driver.

It is fixed in pfSense 2.4-RC, please try the next snapshot.

It is now safe to insert the SFP module after the boot and bring it up correctly.

Thanks!

#4 Updated by Clinton Cory 3 months ago

Loaded the latest snapshot from today on a XG-2758. The interface media type displayed properly:
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=e400bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:08:a2:0b:1b:7f
hwaddr 00:08:a2:0b:1b:7f
inet6 fe80::208:a2ff:fe0b:1b7f%ix0 prefixlen 64 scopeid 0x1
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
status: active

When I unplugged the twinax (connected between ix0 and ix1) from ix0 and plugged it back in the media type changed to Unknown:
[2.4.0-RC][]/root: ifconfig ix0
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=e400bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:08:a2:0b:1b:7f
hwaddr 00:08:a2:0b:1b:7f
inet6 fe80::208:a2ff:fe0b:1b7f%ix0 prefixlen 64 scopeid 0x1
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
media: Ethernet autoselect (Unknown <rxpause,txpause>)
status: active

If I run ifconfig ix0 down and ifconfig ix0 up the media type displays properly.

#5 Updated by Renato Botelho 3 months ago

  • Status changed from Feedback to Assigned

#6 Updated by Luiz Souza 3 months ago

The actual bug reported in this ticket is already fixed.

There was a bug in the driver that would fail to add the correct media types for a SFP module inserted after the boot (or for modules removed and reinserted after the boot). This is fixed.

There is another issue in pfSense that is not related to this specific driver and affects all SFP cards in pfSense.

You have to go through a 'ifconfig XX down' -> 'ifconfig XX up' cycle after insert a SFP module to actually read the current media options from the module.

#7 Updated by Luiz Souza 3 months ago

  • Status changed from Assigned to Resolved

Closing this issue as the driver is working as intended.

The media options will not be detected until you restart the driver and a bug which could prevent the driver restart was fixed.

A new ticket should be opened to improve the overall situation in pfSense (and possibly on FreeBSD) after the 2.4 Release.

Also available in: Atom PDF