Subject: Re: [PATCH v4 05/23] ice: Add devlink params support

From: Jason Gunthorpe <[email-masked]>
Date: Wed, 7 Apr 2021 19:46:31 -0300

On Wed, Apr 07, 2021 at 08:58:25PM +0000, Saleem, Shiraz wrote:
> > Subject: Re: [PATCH v4 05/23] ice: Add devlink params support
> > 
> > On Tue, Apr 06, 2021 at 04:01:07PM -0500, Shiraz Saleem wrote:
> > > Add a new generic runtime devlink parameter 'rdma_protocol'
> > > and use it in ice PCI driver. Configuration changes result in
> > > unplugging the auxiliary RDMA device and re-plugging it with updated
> > > values for irdma auxiiary driver to consume at
> > > drv.probe()
> > >
> > > Signed-off-by: Shiraz Saleem <[email-masked]>
> > >  .../networking/devlink/devlink-params.rst          |  6 ++
> > >  Documentation/networking/devlink/ice.rst           | 13 +++
> > >  drivers/net/ethernet/intel/ice/ice_devlink.c       | 92 +++++++++++++++++++++-
> > >  drivers/net/ethernet/intel/ice/ice_devlink.h       |  5 ++
> > >  drivers/net/ethernet/intel/ice/ice_main.c          |  2 +
> > >  include/net/devlink.h                              |  4 +
> > >  net/core/devlink.c                                 |  5 ++
> > >  7 files changed, 125 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Documentation/networking/devlink/devlink-params.rst
> > > b/Documentation/networking/devlink/devlink-params.rst
> > > index 54c9f10..0b454c3 100644
> > > +++ b/Documentation/networking/devlink/devlink-params.rst
> > > @@ -114,3 +114,9 @@ own name.
> > >         will NACK any attempt of other host to reset the device. This parameter
> > >         is useful for setups where a device is shared by different hosts, such
> > >         as multi-host setup.
> > > +   * - ``rdma_protocol``
> > > +     - string
> > > +     - Selects the RDMA protocol selected for multi-protocol devices.
> > > +        - ``iwarp`` iWARP
> > > +	- ``roce`` RoCE
> > > +	- ``ib`` Infiniband
> > 
> > I'm still not sure this belongs in devlink.
> 
> I believe you suggested we use devlink for protocol switch.

Yes, devlink is the right place, but selecting a *single* protocol
doesn't seem right, or general enough.

Parav is talking about generic ways to customize the aux devices
created and that would seem to serve the same function as this.

> > I know Parav is looking at the general problem of how to customize what aux
> > devices are created, that may be a better fit for this.
> > 
> > Can you remove the devlink parts to make progress?
> 
> It is important since otherwise the customer will have no way to use RoCEv2 on this device.

I'm not saying to not having it eventually, I'm just getting tired of
looking at 23 patches. You can argue it out after

I'm also half thinking of applying this under driver/staging or
CONFIG_BROKEN or something just because I am getting sick of looking
at it.

Jason