Pre-3.15 userspace had trouble distinguishing different ports of a NIC on a single PCI bus/device/function. To solve this, a sysfs field `dev_port' was introduced quite a while ago (commit v3.14-rc3-739-g3f85944fe207), and some relevant device drivers were fixed to use it, but not in case of IPoIB.
The convention for some reason never got documented in the kernel, but was immediately adopted by userspace (notably udev[1][2], biosdevname[3]) 3/3 documents the sysfs field — that's why I'm CC-ing netdev. This series was tested on current LTS and 4.18. [1] https://lists.freedesktop.org/archives/systemd-devel/2014-June/020788.html [2] https://lists.freedesktop.org/archives/systemd-devel/2014-July/020804.html [3] https://github.com/CloudAutomationNTools/biosdevname/blob/c795d51dd93a5309652f0d635f12a3ecfabfaa72/src/eths.c#L38 Arseny Maslennikov (3): IB/ipoib: Use dev_port to expose network interface port numbers IB/ipoib: Stop using dev_id to expose port numbers Documentation/ABI: document /sys/class/net/*/dev_port Documentation/ABI/testing/sysfs-class-net | 10 ++++++++++ drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) -- 2.18.0