biosdevname icon indicating copy to clipboard operation
biosdevname copied to clipboard

udev rules: Add InfiniBand support

Open LenovoOpenLab opened this issue 8 years ago • 8 comments

ATTR{type} 1 means ARPHRD_ETHER, 32 means ARPHRD_INFINIBAND. InfiniBand is supported in BIOS name, so add udev rules support.

LenovoOpenLab avatar Feb 13 '17 04:02 LenovoOpenLab

@smlpan can you please take a look at this?

superm1 avatar Feb 13 '17 14:02 superm1

@superm1 @smlpan I tested with an Intel Omni-Path HFI Adapter. This is the biosdevname -d output.: $biosdevname -d BIOS device: p2p1 Kernel name: ib0 Permanent MAC: 80:00:00:02:FE:80 Assigned MAC : 80:00:00:02:FE:80 ifIndex: 7 Driver: ib_ipoib Driver version: 1.0.0 Firmware version: 0.0.0 Bus Info: 0000:5b:00.0 PCI name : 0000:5b:00.0 PCI Slot : 2 SMBIOS Label: Slot 2 Index in slot: 1

BIOS device is correct, so infiniband is supported by biosdevname. But the udev rule only support Ethernet. biosdevname_d.txt dmidecode_t_9_u.txt ip_link.txt lspci_t.txt Uploading lspci_vvv.txt…

LenovoOpenLab avatar Feb 14 '17 02:02 LenovoOpenLab

Thanks for the comments @LenovoOpenLab . @smlpan or @jharg will need to confirm, I was just trying to loop in the right people for reviewing it.

superm1 avatar Feb 14 '17 16:02 superm1

Do we need to rename InfiniBand device interfaces with Ethernet device interface names? i think it may confuse or break five tools by treating InfiniBand interface as Ethernet interface

prabhakarpujeri avatar Feb 16 '17 11:02 prabhakarpujeri

@prabhakarpujeri What tools may be effected?

LenovoOpenLab avatar Feb 17 '17 01:02 LenovoOpenLab

I found treating InfiniBand interface as Ethernet interface really causes problems with infiniband tools such as ibdev2netdev. So we need to rename infiniband card. Indeed, this problem has already existed on Converged Ethernet card. ibdev2netdev can't recognize 'p1p1' name style.

LenovoOpenLab avatar Feb 22 '17 01:02 LenovoOpenLab

even redhat certification tools try to run Ethernet tests on infiniband and its fails. primary intention of biosdevname is for ethernet interface

prabhakarpujeri avatar Mar 02 '17 03:03 prabhakarpujeri

What we see here is an Infiniband PCIe card and the naming looks fine (if that is what the expected output is). But all this was manual calls till now. Opening the gates of biosdevname through udev for Infiniband will break biosdevname itself. I already see that biosdevname in its current state is not capable of handling a mix of Onboard Ethernet and Onboard Infiniband.

My question boils down to two things:

  1. Should we allow biosdevname to name interfaces other than Ethernet interfaces? I was planning to send a patch to ignore non-ethernet interfaces for manual call yesterday, but we can have the discussion here. https://linux.dell.com/files/.../consistent_network_device_naming_in_linux.pdf talks about Ethernet devices only. Hence my question on the Infiniband support.
  2. If above point is a Yes, then we should analyze the impact first.

sujithshankar avatar Mar 02 '17 03:03 sujithshankar