Subject: RE: [PATCH 07/22] RDMA/irdma: Register an auxiliary driver and implement private channel OPs

From: "Saleem, Shiraz" <[email-masked]>
Date: Sat, 30 Jan 2021 01:19:15 +0000

> Subject: Re: [PATCH 07/22] RDMA/irdma: Register an auxiliary driver and
> implement private channel OPs
> 
> On Wed, Jan 27, 2021 at 12:42:09AM +0000, Saleem, Shiraz wrote:
> 
> > > It does, the PCI driver is not supposed to spawn any aux devices for
> > > RDMA at all if RDMA is disabled.
> > >
> > > For an iWarp driver I would consider ENABLE_ROCE to really be a
> > > general ENABLE_RDMA.
> >
> > Well the driver supports iWARP and RoCE for E810 device.
> > Are you saying that this generic enable_roce devlink param really is
> > an enable 'rdma' traffic or not param?
> 
> I've thought of it that way, that is what it was created for at least.
> 
> Overloading it to be a iwarp not roce switch feels wrong

OK.

> 
> > > Are you sure you need to implement this?
> >
> > What we are after is some mechanism for user to switch the protocols
> > iWARP vs RoCE [default the device comes up as an iWARP dev]. The
> > protocol info is really needed early-on in the RDMA driver.probe(). i.e. when the
> rdma admin queue is created.
> 
> This needs to be a pci devlink at least, some kind of mode switch seems
> appropriate
> 
> > The same goes with the other param resource_limits_selector. It's a
> > profile selector that a user can chose to different # of max QP, CQs,
> > MRs etc.
> 
> And it must be done at init time? Also seems like pci devlink

Yes.

> 
> Generally speaking anything that requires the rdma driver to be reloaded should
> remove/restore the aux device.
> 
> Mode switch from roce to/from iwarp should create aux devices of different names
> which naturally triggers the right kind of sequences in the driver core
> 

OK we will move devlink out of aux rdma driver to PCI driver.

About separate aux dev names for iWARP, RoCE, that sounds reasonable.