On Sat, Sep 28, 2019 at 07:54:16PM +0300, Leon Romanovsky wrote: > On Thu, Sep 26, 2019 at 01:58:38PM -0400, Jonathan Toppins wrote: > > On 09/26/2019 08:34 AM, Jason Gunthorpe wrote: > > > On Thu, Sep 26, 2019 at 12:42:53PM +0300, Leon Romanovsky wrote: > > >> From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > >> > > >> Virtual devices like SIW or RXE don't set FW version because > > >> they don't have one, use that fact to rely on having empty > > >> fw_ver file to sense such virtual devices. > > > > > > Have you checked that every physical device does set fw version? > > > > > > Seems hacky > > > > agreed, how are tuntap devices handled, is there a similar handling that > > can be applied here? > > Unfortunately, we can't do the same, RDMA doesn't have notion of stacked devices. > > 1. > TUN devices are initialized with ARPHRD_NONE type. > https://elixir.bootlin.com/linux/latest/source/drivers/net/tun.c#L1396 > > It causes for systemd-udev to skip their rename. > https://github.com/systemd/systemd/blob/master/src/udev/udev-builtin-net_id.c#L781 > > 2. > TAP devices are skipped due to the fact that iflink != ifindex on such devices. > https://github.com/systemd/systemd/blob/master/src/udev/udev-builtin-net_id.c#L810 > > So, yes hacky, but the solution is tailored to RDMA subsystem where ALL > devices have FW and we can ensure that ALL future devices will report any > sort of string through fw_ver file. It still seems really hacky, why not add some device flag or something instead? Is this better because it works with old kernels? Jason