[SRU] Biosdevname does not provide interface naming information for ConnecX4 Devices

Bug #1535045 reported by Talat Batheesh
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
biosdevname (Ubuntu)
Fix Released
Wishlist
Gianfranco Costamagna
Xenial
Triaged
Undecided
Unassigned
Bionic
Triaged
Undecided
Unassigned

Bug Description

[ Impact ]
* People using ConnecX4 devices

[ Regression Potential ]
* really low, this is something that comes from upstream codebase and newer versions
* that if statement was for connectX3 devices, because they needed special handling. With version 4, there is a custom PCI function associtated with
each port, so the hacky workaround has to be dropped.
* the regression potential should be none, since the name is reserved, and the hack is now relegated only to the old version 3 and nothing upper

[Other info ]
Biosdevname is enabled by default for ubuntu14.04.4,
We see that the ConnectX3 interface name is pXpX and ConnectX4 interfaces is ethX
when biosdevname is enabled we should see all the interfaces like pxpX

As for biosdevname user manual :
when we ran #biosdevname -i <interface name> , it should return the interface biosdevname
the command exit code should return 0 for success
see it in the link :http://linux.die.net/man/1/biosdevname.

When we run biosdevname on ConnectX4 interface we get return status 2.

could you please add support for ConnectX4 devices ?

Exit Codes

Returns 0 on success, with BIOS-suggested name printed to stdout.
Returns 1 on provided device name lookup failure.
Returns 2 if system BIOS does not provide naming information. biosdevname requires system BIOS to provide naming information, either via SMBIOS or sysfs files.
Returns 3 if not run as root but requires root privileges.
Returns 4 if running in a virtual machine.

# dpkg --list |grep biosdevname
ii biosdevname 0.4.1-0ubuntu6.3 amd64 apply BIOS-given names to network devices
# uname -r
4.2.0-24-generic

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1535045

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: trusty
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
affects: linux (Ubuntu) → biosdevname (Ubuntu)
Revision history for this message
David Marchand (david-marchand) wrote : Re: Biosdevname does not provide interface naming information for ConnecX4 Devices

Quick and dirty fix that works for me :

Index: biosdevname-0.4.1/src/bios_device.c
===================================================================
--- biosdevname-0.4.1.orig/src/bios_device.c 2016-01-20 15:53:53.000000000 +0100
+++ biosdevname-0.4.1/src/bios_device.c 2016-01-20 16:27:15.211206243 +0100
@@ -215,7 +215,7 @@
 /* Check for Mellanox/Chelsio drivers */
 int ismultiport(const char *driver)
 {
- if (!strncmp(driver, "mlx", 3))
+ if (!strncmp(driver, "mlx4", 4))
                return 1;
        if (!strncmp(driver, "cxgb", 4))
                return 1;

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.4 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily

Changed in biosdevname (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Talat Batheesh (talat-b87) wrote :

Hi,

unfortunately, also with Kernel 4.4 xenial this issue not fixed.

# ethtool -i enp17s0f1
driver: mlx5_core
version: 3.0-1 (January 2015)
firmware-version: 14.14.1100
expansion-rom-version:
bus-info: 0000:11:00.1
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

# biosdevname -i enp17s0f1
<No output>

# dpkg --list |grep biosdevname
ii biosdevname 0.4.1-0ubuntu9 amd64 apply BIOS-given names to network devices

With ConnectX3 is working properly.

David, Thank you for pointing to fix, you are right, and this is a formal patch.
use this link
http://linux.dell.com/cgi-bin/cgit.cgi/biosdevname.git/commit/?id=22aa46663000304e5b9542273ec67d1b988ae3da

Thanks,
Talat

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for biosdevname (Ubuntu) because there has been no activity for 60 days.]

Changed in biosdevname (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Brian Fromme (brianfromme) wrote :

Brian to work on the SRU process.

Changed in biosdevname (Ubuntu):
assignee: nobody → Brian Fromme (brianfromme)
status: Expired → In Progress
Revision history for this message
Brian Fromme (brianfromme) wrote :

Validating path compatibility with Xenial.

Revision history for this message
Elias Abacioglu (raboo) wrote :

I'm also affected by this (Mellanox ConnectX-4).
Ubuntu 16.04.5 LTS
kernel 4.15.0-42-generic
biosdevname 0.4.1-0ubuntu9

Is there a packaged version of biosdevname with the patch?
Why does Xenial from 2016 have a biosdevname from 2012?

There are lot newer versions of biosdevname at http://linux.dell.com/files/biosdevname/

Jeff Lane  (bladernr)
Changed in biosdevname (Ubuntu):
assignee: Brian Fromme (brianfromme) → Ubuntu Foundations Bugs (foundations-bugs)
Revision history for this message
Jeff Lane  (bladernr) wrote :

Hi Talat. Have you built the current upstream version 0.7.3 and tried it to verify that has the CX4 support?

I'm working a bit on this to see if I can get this bug rolling again, but it would help to know for sure that the updated version does show the info you need it to show.

I'll also try to test this today (I "think" I have a CX4 card, but I'm not positive on that, I need to dig through our lab machines to see what the Mellanox cards actually are).

for notes: The upstream source for this is https://github.com/dell/biosdevname.git

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

biosdevname is no longer used in Ubuntu or installed by default. Doesn't this make this bug report a won't fix then?

Ditto, 14.04 is about to start ESM lifecycle, and updating this package is out of scope / too late there.

Changed in biosdevname (Ubuntu):
status: In Progress → Won't Fix
importance: Medium → Wishlist
assignee: Ubuntu Foundations Bugs (foundations-bugs) → nobody
Changed in biosdevname (Ubuntu):
status: Won't Fix → New
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Trusty is EOL, so we can't fix it anymore.
I fixed however eoan (in case we want to SRU), but I also asked to remove the package from the archive.

If you want, we can fix xenial and bionic packages.

Changed in biosdevname (Ubuntu):
assignee: nobody → Gianfranco Costamagna (costamagnagianfranco)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package biosdevname - 0.4.1-0ubuntu11

---------------
biosdevname (0.4.1-0ubuntu11) eoan; urgency=medium

  * debian/patches/22aa466630.patch:
    - cherry-pick upstream fix for ConnectX-4 based devices (LP: #1535045)

 -- Gianfranco Costamagna <email address hidden> Tue, 14 May 2019 14:42:56 +0200

Changed in biosdevname (Ubuntu):
status: New → Fix Released
Changed in biosdevname (Ubuntu Xenial):
status: New → In Progress
Changed in biosdevname (Ubuntu Bionic):
status: New → In Progress
summary: - Biosdevname does not provide interface naming information for ConnecX4
- Devices
+ [SRU] Biosdevname does not provide interface naming information for
+ ConnecX4 Devices
description: updated
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Trusty is EOL, so we can't fix it anymore.
I fixed however eoan (in case we want to SRU), but I also asked to remove the package from the archive.

tags: added: rls-x-notfixing
description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Even biosdevname is no longer used and might be removed in devel, it can still potentially have users in stable series. Let me take a look at the SRU in the queue.

Revision history for this message
Łukasz Zemczak (sil2100) wrote : Proposed package upload rejected

An upload of biosdevname to bionic-proposed has been rejected from the upload queue for the following reason: "What is the test case for the fixed bug? Please update the bug description. Also, since there's more than one series with 0.4.1-0ubuntu10, consider using the 0.4.1-0ubuntu10.18.04.1 versioning.".

Revision history for this message
Robie Basak (racb) wrote :

Any plans to fix and answer Lukasz's concerns and reupload to Bionic? If not, then Xenial cannot have the fix either and the Xenial upload will need to be rejected, since otherwise users will face a regression upgrading from Xenial to Bionic.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Sorry, but I don't own that hardware, so unless somebody can help, I prefer to not accept it.

Revision history for this message
Robie Basak (racb) wrote :

An upload of biosdevname to xenial-proposed has been rejected from the upload queue for the following reason: "No testers have come forward".

Revision history for this message
Robie Basak (racb) wrote :

These bug tasks are still valid but cannot make progress without someone to drive the necessary QA in Ubuntu stable releases.

Changed in biosdevname (Ubuntu Xenial):
status: In Progress → Triaged
Changed in biosdevname (Ubuntu Bionic):
status: In Progress → Triaged
Revision history for this message
Elias Abacioglu (raboo) wrote :

I have the hardware. What do I need to do in order for this to be accepted and pushed to the repositories?

And a side note is that this is fixed upstream, just upgrading to v0.7.2 will fix the problem.

Revision history for this message
Elias Abacioglu (raboo) wrote :

I also want add that I've tested a manually compiled biosdevname v0.7.2 on our oldest hardware, HP Proliant G6 and our newest Dell PE Gen 14. Intel, Mellanox and Broadcom cards. All works. It would be awesome if next Ubuntu release got biosdevname v0.7.2 instead of a patched v0.4.1.

Anyways, let me know what do do in order for this bug to be solved.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.