On Thu, Mar 14, 2019 at 02:34:34AM -0700, Ira Weiny wrote: > I know that we are moving toward a single driver supporting more device types > so having the driver name is probably not the right name but perhaps we should > just name the devices. Well, we aren't. That is the entire point. A single struct ib_device should be one protocol only. The hacky support for a roce/ib multi port just barely works and doing something crazy like iwarp/roce or ib/opa is pretty much hopeless/nonsense. So we will have single PCI devices with multiple ib_device's on them with different protocols. Thus we need a single master protocol for the struct ib_device to generate the name and tell the difference between 'iwarp device on slot X' and 'roce device on slot X' that exist concurrently. Having the kernel report the correct device level protocol seems like the right choice. The only place it doesn't work is mlx4 and mlx4 should really be fixed to not mix protocols. Jason