Bug 1020509 - Apparent regression in support for Emulex OneConnect (be2net driver) in 3.11 kernel [NEEDINFO]
Apparent regression in support for Emulex OneConnect (be2net driver) in 3.11 ...
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
x86_64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2013-10-17 15:34 EDT by Matt Wagner
Modified: 2014-08-17 18:27 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2014-03-10 10:42:57 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
michele: needinfo? (matt.wagner)
michele: needinfo? (matt.wagner)

Attachments (Terms of Use)

  None (edit)
Description Matt Wagner 2013-10-17 15:34:16 EDT
Description of problem:
I use some HP blades, Proliant BL465c G7, which use an Emulex OneConnect card onboard for network connectivity.

Networking works fine out-of-the-box in F19 under a 3.9 kernel. Updating to 3.11.x as yum update gives me, the cards continue to appear, but do not function. If I try to bring the interfaces up, they fail to obtain a DHCP lease. It appears that packets never actually make it to the network. If I reboot the system into the existing 3.9 kernel, network functionality is restored.

I am unsure how to troubleshoot further.

Version-Release number of selected component (if applicable):
3.11.4-201.fc19.x86_64 (bad)
3.9.5-301.fc19.x86_64 (good)

How reproducible:
100% for me

Steps to Reproduce:
1. Install F19 from DVD, giving 3.9.x kernel. (System is fully functional.)
2. yum update, which includes a kernel update to 3.11.x
3. Reboot

Actual results:
Network interfaces appear, but do not function.

Expected results:
Network continues to work as in 3.9.x.

Additional info:

[root@virtblade16 ~]# ethtool enp4s0f0
Settings for enp4s0f0:
	Supported ports: [ ]
	Supported link modes:   Not reported
	Supported pause frame use: Symmetric
	Supports auto-negotiation: No
	Advertised link modes:  Not reported
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: No
	Speed: 1000Mb/s
	Duplex: Full
	Port: Other
	Transceiver: internal
	Auto-negotiation: off
	Supports Wake-on: g
	Wake-on: g
	Current message level: 0x00002000 (8192)
	Link detected: yes

[root@virtblade16 ~]# ethtool -i enp4s0f0
driver: be2net
firmware-version: 2.102.517.7
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

[root@virtblade16 ~]# lspci  | grep ^04
04:00.0 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02)
04:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02)
04:00.2 Mass storage controller: Emulex Corporation OneConnect 10Gb iSCSI Initiator (rev 02)
04:00.3 Mass storage controller: Emulex Corporation OneConnect 10Gb iSCSI Initiator (rev 02)

(I don't fully understand how the networking works with these blades; it reports the 10Gb card but it has always manifested as two 1Gb interfaces. I do not make use of the iSCSI functionality, either.)
Comment 1 Michele Baldessari 2013-11-02 05:59:49 EDT
Hi Matt,

I guess the changes between those two kernels are moderately limited:
linux-stable$ git lg --no-merges v3.9.5..v3.11.4 drivers/net/ethernet/emulex/benet/ |wc -l

In the vanilla tree there are some fixes on that driver although nothing
is catching my eye atm:
linux$ git lg --no-merges v3.11..HEAD drivers/net/ethernet/emulex/benet/
* 0fb88d6 - (2013-10-18 16:32:31 -0400)  be2net: pass if_id for v1 and V2 versions of TX_CREATE cmd <Vasundhara Volam>
* a60b3a1 - (2013-09-27 17:11:49 -0400)  be2net: Fix to display the VLAN priority for a VF <Ajit Khaparde>
* b9fc0e53 - (2013-09-27 17:11:49 -0400)  be2net: Fix to configure VLAN priority for a VF interface. <Ajit Khaparde>
* 45c4597 - (2013-09-27 17:11:49 -0400)  be2net: Fix to allow VLAN configuration on VF interfaces. <Ajit Khaparde>
* 1aa9673 - (2013-09-27 17:11:49 -0400)  be2net: Fix number of VLANs supported in UMC mode for BE3-R. <Ajit Khaparde>
* d9d604f - (2013-09-27 17:11:49 -0400)  be2net: Fix VLAN promiscuous mode programming <Ajit Khaparde>
* d44517fd - (2013-09-27 17:11:49 -0400)  be2net: Fix the size of be_nic_res_desc structure <Ajit Khaparde>
* b54881f - (2013-09-27 17:11:48 -0400)  be2net: Fix to prevent Tx stall on SH-R when packet size < 32 <Ajit Khaparde>
* 922bbe8 - (2013-09-13 20:08:06 -0400)  be2net: missing variable initialization <Antonio Alecrim Jr>
* a77dcb8 - (2013-09-03 22:20:18 -0400)  be2net: set and query VEB/VEPA mode of the PF interface <Ajit Khaparde>
* ede23fa - (2013-08-29 21:55:23 -0400)  drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent <Joe Perches>
* 68d7bdc - (2013-08-27 15:57:05 -0400)  be2net: implement ethtool set/get_channel hooks <Sathya Perla>
* 7707133 - (2013-08-27 15:57:05 -0400)  be2net: refactor be_setup() to consolidate queue creation routines <Sathya Perla>
* bea5098 - (2013-08-27 15:57:05 -0400)  be2net: Fix be_cmd_if_create() to use MBOX if MCCQ is not created <Sathya Perla>
* 92bf14a - (2013-08-27 15:57:04 -0400)  be2net: refactor be_get_resources() code <Sathya Perla>
* 150d58c - (2013-08-27 15:57:04 -0400)  be2net: Fixup profile management routines <Vasundhara Volam>
* f2f781a - (2013-08-27 15:57:04 -0400)  be2net: use EQ_CREATEv2 for SH-R <Sathya Perla>
* 5721f94 - (2013-08-07 10:39:10 -0700)  be2net: update driver version <Sathya Perla>
* 117affe - (2013-08-07 10:39:09 -0700)  be2net: Initialize "status" in be_cmd_get_die_temperature() <Vasundhara Volam>
* 05ccaa2 - (2013-08-07 10:39:08 -0700)  be2net: fixup log msgs for async events <Vasundhara Volam>
* 68cb7e4 - (2013-08-07 10:39:06 -0700)  be2net: Fix displaying supported speeds for BE2 <Vasundhara Volam>
* fd8c7be - (2013-08-07 10:39:06 -0700)  be2net: don't limit max MAC and VLAN counts <Vasundhara Volam>
* d696b5e - (2013-08-07 10:39:05 -0700)  be2net: Do not call get_die_temperature cmd for VF <Vasundhara Volam>
* b971f84 - (2013-08-07 10:39:04 -0700)  be2net: Adding more speeds reported by get_settings <Vasundhara Volam>
* 4188e7d - (2013-08-05 11:05:23 -0700)  be2net: Staticize local functions <Jingoo Han>
* 4ce1fd6 - (2013-07-30 00:00:20 -0700)  be2net: don't use dev_err when AER enabling fails <Ivan Vecera>
* 2d17f40 - (2013-07-24 15:41:53 -0700)  be2net: delete primary MAC address while unloading <Sathya Perla>
* 3175d8c - (2013-07-24 15:41:52 -0700)  be2net: use SET/GET_MAC_LIST for SH-R <Sathya Perla>
* 95046b9 - (2013-07-24 15:41:52 -0700)  be2net: refactor MAC-addr setup code <Sathya Perla>
* b5bb977 - (2013-07-24 15:41:52 -0700)  be2net: fix pmac_id for BE3 VFs <Sathya Perla>
* 04a0602 - (2013-07-24 15:41:52 -0700)  be2net: allow VFs to program MAC and VLAN filters <Sathya Perla>
* 5a712c1 - (2013-07-24 15:41:52 -0700)  be2net: fix MAC address modification for VF <Sathya Perla>

The only issue I can think of is mentioned in the following commit in the net tree:

be2net: Warn users of possible broken functionality on BE2 cards with very old FW versions with latest driver

On very old FW versions < 4.0, the mailbox command to set interrupts
on the card succeeds even though it is not supported and should have
failed, leading to a scenario where interrupts do not work.
Hence warn users to upgrade to a suitable FW version to avoid seeing
broken functionality.

Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Matt, I'd try updating the firmware as I see it is 2.102.517.7 and the above commit suggests that at least 4.xyz is needed 
(at least in the future we will get a warning). Can you let me know how it goes?

Comment 2 Michele Baldessari 2013-12-25 13:13:10 EST
Hi Matt,

have you been able to try a later firmware version? (3.13 kernels will warn
against old firwmare now):
+       if (BE2_chip(adapter) && fw_major_num(adapter->fw_ver) < 4) {
+               dev_err(dev, "Firmware on card is old(%s), IRQs may not work.",
+                       adapter->fw_ver);
+               dev_err(dev, "Please upgrade firmware to version >= 4.0\n");
+       }

Comment 3 Justin M. Forbes 2014-03-10 10:42:57 EDT
*********** MASS BUG UPDATE **************

This bug has been in a needinfo state for more than 1 month and is being closed with insufficient data due to inactivity. If this is still an issue with Fedora 19, please feel free to reopen the bug and provide the additional information requested.

Note You need to log in before you can comment on or make changes to this bug.