All of lore.kernel.org
 help / color / mirror / Atom feed
* Exposing nvmem cells to userspace?
@ 2022-09-22 10:23 Miquel Raynal
  2022-09-22 21:33 ` Srinivas Kandagatla
  0 siblings, 1 reply; 3+ messages in thread
From: Miquel Raynal @ 2022-09-22 10:23 UTC (permalink / raw)
  To: Srinivas Kandagatla; +Cc: Robert Marko, Thomas Petazzoni, linux-kernel

Hello Srinivas,

I am currently looking at the Open Compute Project ONIE Tlv tables in
modern networking hardware. Thanks to the specification being available
for many years and rather easy to implement, those tables are already
present in many switches. Manufacturers just have to provide a small
storage medium exposing factory-related information (manufacturer, date,
serial#, mac addresses, etc) in Type-Length-Value fields, as well
as their own extensions if they want. These tables are common, but
there is currently no shared decoding logic, each provider maintaining
its own internally.

I am currently looking for upstreaming an nvmem layout driver for
exposing the standard nvmem cells. This way, Ethernet drivers might eg.
take the base MAC address from there. But I feel like there is
something missing, because the vendor name, the device version, the
serial number or any other information available in these tables might
also very well be used by the userspace rather than the kernel drivers
only.

Thus, I was wondering if there was some ongoing work to make these
cells available to userspace (in /sys maybe?) or if this had already
been discussed somewhere. Otherwise, would you be open to such a
contribution? I guess it would also be a useful debug tool anyway (and
might very well be moved somewhere else than in /sys).

Thanks for your time,
Miquèl

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Exposing nvmem cells to userspace?
  2022-09-22 10:23 Exposing nvmem cells to userspace? Miquel Raynal
@ 2022-09-22 21:33 ` Srinivas Kandagatla
  2022-09-23  8:33   ` Miquel Raynal
  0 siblings, 1 reply; 3+ messages in thread
From: Srinivas Kandagatla @ 2022-09-22 21:33 UTC (permalink / raw)
  To: Miquel Raynal; +Cc: Robert Marko, Thomas Petazzoni, linux-kernel



On 22/09/2022 11:23, Miquel Raynal wrote:
> Hello Srinivas,
> 
> I am currently looking at the Open Compute Project ONIE Tlv tables in
> modern networking hardware. Thanks to the specification being available
> for many years and rather easy to implement, those tables are already
> present in many switches. Manufacturers just have to provide a small
> storage medium exposing factory-related information (manufacturer, date,
> serial#, mac addresses, etc) in Type-Length-Value fields, as well
> as their own extensions if they want. These tables are common, but
> there is currently no shared decoding logic, each provider maintaining
> its own internally.
> 
> I am currently looking for upstreaming an nvmem layout driver for
> exposing the standard nvmem cells. This way, Ethernet drivers might eg.
> take the base MAC address from there. But I feel like there is
> something missing, because the vendor name, the device version, the
> serial number or any other information available in these tables might
> also very well be used by the userspace rather than the kernel drivers
> only.

Could you explain the userspace side use-case?

> 
> Thus, I was wondering if there was some ongoing work to make these
> cells available to userspace (in /sys maybe?) or if this had already
> been discussed somewhere. Otherwise, would you be open to such a

we had this discussed this in many instances and this is some thing we 
would desire to have but we never got it moving forward.

> contribution? I guess it would also be a useful debug tool anyway (and
> might very well be moved somewhere else than in /sys).

getting sysfs working correctly in sync with userspace might be tricky 
in this particular case as we will be creating cells after the provider 
driver is created.

debugfs on the other hand is more doable.

--srini
> 
> Thanks for your time,
> Miquèl

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Exposing nvmem cells to userspace?
  2022-09-22 21:33 ` Srinivas Kandagatla
@ 2022-09-23  8:33   ` Miquel Raynal
  0 siblings, 0 replies; 3+ messages in thread
From: Miquel Raynal @ 2022-09-23  8:33 UTC (permalink / raw)
  To: Srinivas Kandagatla; +Cc: Robert Marko, Thomas Petazzoni, linux-kernel

Hi Srinivas,

srinivas.kandagatla@linaro.org wrote on Thu, 22 Sep 2022 22:33:52 +0100:

> On 22/09/2022 11:23, Miquel Raynal wrote:
> > Hello Srinivas,
> > 
> > I am currently looking at the Open Compute Project ONIE Tlv tables in
> > modern networking hardware. Thanks to the specification being available
> > for many years and rather easy to implement, those tables are already
> > present in many switches. Manufacturers just have to provide a small
> > storage medium exposing factory-related information (manufacturer, date,
> > serial#, mac addresses, etc) in Type-Length-Value fields, as well
> > as their own extensions if they want. These tables are common, but
> > there is currently no shared decoding logic, each provider maintaining
> > its own internally.
> > 
> > I am currently looking for upstreaming an nvmem layout driver for
> > exposing the standard nvmem cells. This way, Ethernet drivers might eg.
> > take the base MAC address from there. But I feel like there is
> > something missing, because the vendor name, the device version, the
> > serial number or any other information available in these tables might
> > also very well be used by the userspace rather than the kernel drivers
> > only.  
> 
> Could you explain the userspace side use-case?

Right now I don't have any TBH. But in general, having access to a
serial number, a manufacturing date, a hardware batch or whatever other
per-device factory information is always useful.

> > Thus, I was wondering if there was some ongoing work to make these
> > cells available to userspace (in /sys maybe?) or if this had already
> > been discussed somewhere. Otherwise, would you be open to such a  
> 
> we had this discussed this in many instances and this is some thing we would desire to have but we never got it moving forward.

Ok.

> > contribution? I guess it would also be a useful debug tool anyway (and
> > might very well be moved somewhere else than in /sys).  
> 
> getting sysfs working correctly in sync with userspace might be tricky in this particular case as we will be creating cells after the provider driver is created.
> 
> debugfs on the other hand is more doable.

Ok, I might try something with debugfs then. I'll keep this in mind.

Thanks,
Miquèl

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-23  8:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-22 10:23 Exposing nvmem cells to userspace? Miquel Raynal
2022-09-22 21:33 ` Srinivas Kandagatla
2022-09-23  8:33   ` Miquel Raynal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.