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. Thanks >