On 9/14/2018 4:46 PM, Jason Gunthorpe wrote: > On Fri, Sep 14, 2018 at 04:37:21PM -0500, Steve Wise wrote: >> >> >> On 9/14/2018 2:35 PM, Jason Gunthorpe wrote: >>> On Fri, Sep 14, 2018 at 01:45:05PM -0500, Steve Wise wrote: >>> >>>>>> Since the rdma core currently assigned device name strings, I'm thinking >>>>>> to just follow that scheme. This leads to slightly different command >>>>>> syntax: >>>>>> >>>>>> rdma link add TYPE dev DEV >>>>>> >>>>>> EG: rdma link add rxe dev eth0 >>>>>> >>>>>> Then the kernel would return the resulting ib_device name and index. >>>>> >>>>> I would rather we specify the ib_device name from userspace from the >>>>> start.. >>>>> >>>> >>>> Why? This is not current practice for rdma devices: the core names them. >>> >>> That is a bad practice.. Leon has been working on device renaming like >>> netdev has, so it would make no sense to have no name here and have >>> renaming down the road. >>> >>> Jason >>> >> >> This causes a slit kink in arbitrarily naming rxe rdma devices. From >> providers/rxe/rxe.c: >> >> static const struct verbs_match_ent hca_table[] = { >> /* FIXME: rxe needs a more reliable way to detect the rxe device */ >> VERBS_NAME_MATCH("rxe", NULL), >> {}, >> }; >> >> >> So when I add a new rxe device named "foo0", it gets added fine in the >> kernel, but the user space side skips it. It doesn't show up in >> ibv_devices or ibv_devinfo for example. But the sysfs entries are there... > > Yes, this needs fixing too :( > > I was hoping we'd get to netlink discovery before this became an > issue.. The right solution is to use the new driver id number, I > think. > > Jason > Do you mean the rdma_driver_id enum? That would I methinks...