On Fri, 9 Oct 2026, Thomas Monjalon wrote:
> This is specific to networking devices, right?
> So it has to be linked with ethdev probably.
> But if it is not specific to any driver,
> we may consider moving it to separate library.
> I'm not sure which place is best.

Yes, these are the pluggable transceivers of network ports, but
nothing in the decoding is driver specific. Drivers only return
the raw EEPROM bytes through the get_module_eeprom op, and the
decoding follows the SFF specifications. The decoder (about 2700
lines) uses ethdev only for the RTE_ETH_MODULE_SFF_* type values
and the callback typedef.

So ethdev would keep linking it, the same way it depends on net
and meter: ethdev depends on the new library, not the other way.
rte_eth_dev_get_module_eeprom() and the telemetry command stay
in ethdev and call the library.

The decoder is also useful for ports which are not ethdev ports:
in our firewall, the kernel ports are read with the ethtool ioctls
and decoded with a copy of the same code. This already works with
rte_eth_module_eeprom_parse(), so a separate library is mostly
about keeping ethdev smaller, especially when CMIS is added,
which is about the size of the SFF-8636 decoder.

Keeping it in ethdev is fine with me too. If you prefer that,
I will add CMIS there.

Reply via email to