On Mon, Aug 13, 2018 at 03:40:20PM +0300, Yuval Shaia wrote: > On Mon, Aug 13, 2018 at 02:42:23PM +0300, Arseny Maslennikov wrote: > > Some InfiniBand network devices have multiple ports on the same PCI > > function. Prior to this the kernel erroneously used the `dev_id' sysfs > > field of those network interfaces to convey the port number to userspace. > > > > `dev_id' is currently reserved for distinguishing stacked ifaces > > (e.g: VLANs) with the same hardware address as their parent device. > > > > Similar fixes to net/mlx4_en and many other drivers, which started > > exporting this information through `dev_id' before 3.15, were accepted > > into the kernel 4 years ago. > > See 76a066f2a2a0268b565459c417b59724b5a3197b, commit message: > > `net/mlx4_en: Expose port number through sysfs'. > > > > I would be OK with this commit not being backported to stable, since > > it might break admin-supplied udev rules and the likes. > > > > Signed-off-by: Arseny Maslennikov <ar@xxxxxxxxx> > > --- > > drivers/infiniband/ulp/ipoib/ipoib_main.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c > > index 6eb0594fffec..f64535038147 100644 > > --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c > > +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c > > @@ -2252,7 +2252,6 @@ static struct net_device *ipoib_add_port(const char *format, > > } > > > > SET_NETDEV_DEV(priv->dev, hca->dev.parent); > > - priv->dev->dev_id = port - 1; > > Correct me if i'm wrong here but besides some changes in commit message > looks like patch 1/3 is the same as 2/3, isn't it? > > Yuval > 1/3 has an extra line, 2/3 removes a different line. (a) If you apply both 1/3 and 2/3, the port number can be seen at /sys/class/net/*/dev_port and not at .../dev_id. (b) If you apply only 1/3, the port number can be seen at _both_ .../dev_port and .../dev_id (to preserve backward compatibility with e.g. existing udev rules that rely on "ATTR{dev_id}") By splitting those up we have both options (a) and (b) available, so the maintainers are free to decide which one is wiser. > > priv->dev->dev_port = port - 1; > > > > result = ib_query_port(hca, port, &attr); > > -- > > 2.18.0 > >
Attachment:
signature.asc
Description: PGP signature