Subject: Re: [PATCH net-next 00/11] mlxsw: extend line card model by devices and info

From: Jakub Kicinski <[email-masked]>
Date: Tue, 24 May 2022 11:00:57 -0700

On Tue, 24 May 2022 16:31:45 +0200 Jiri Pirko wrote:
> >Sure. I considered that. The thing is, even if you put the lc component
> >names to output of "devlink dev info", you would need to provide lc
> >objects as well (somehow) - to contain the versions.
> >
> >But the component name is related to lc object listed in "devlink lc",
> >so "devlink lc info" sounds line the correct place to put it.
> >
> >If you are concern about "devlink dev flash" using component name from
> >"devlink lc info", I would rather introduce "devlink lc flash" so you
> >have a match. But from what I see, I don't really see the necessity for
> >this match. Do you?  
> 
> Okay, we can eventually avoid using component name at all for now,
> considering one flash object per linecard (with possibility to extend by
> component later on). This would look like:
> 
> $ devlink lc info pci/0000:01:00.0 lc 8
> pci/0000:01:00.0:
>   lc 8
>     versions:
>         fixed:
>           hw.revision 0
> 	  fw.psid MT_0000000749
>         running:
>           ini.version 4
>           fw 19.2010.1310
> 
> $ devlink lc flash pci/0000:01:00.0 lc 8 file mellanox/fw-AGB-rel-19_2010_1312-022-EVB.mfa2
> 
> I have to admit I like this.
> We would reuse the existing DEVLINK_CMD_FLASH_UPDATE cmd and when
> DEVLINK_ATTR_LINECARD_INDEX attribute is present, we call the lc-flash
> op. How does this sound?

We talked about this earlier in the thread, I think. If you need both
info and flash per LC just make them a separate devlink instance and
let them have all the objects they need. Then just put the instance
name under lc info.