On Thu, 29 Oct 2026 20:15:07 +0200
Roman Khromenok <[email protected]> wrote:

> This is the follow-up of the RFC, for 27.03.
> 
> The SFF module EEPROM decoders do not depend on any device or driver,
> and they are also useful for ports which are not ethdev ports, such as
> kernel ports read with the ethtool ioctls. This series moves them from
> ethdev to a new transceiver library with the rte_transceiver_decode()
> API. ethdev depends on the library for its telemetry command.
> 
> Changes since the RFC, as discussed with Thomas:
> - rte_eth_module_eeprom_parse(), added as experimental in 26.11,
>   is removed instead of being kept as a wrapper.
> - testpmd calls rte_transceiver_decode() directly.
> - The tests no longer depend on ethdev.
> - The ethdev guide links to the library guide instead of
>   duplicating the example.
> 
> The library name is still "transceiver", as it reads better than
> "xcvr". It can be renamed if preferred.
> 
> Release notes will be added when the 27.03 release notes exist.
> 
> The dpdk-proc-info module EEPROM decoding (series 39575) will be
> sent as a v2 on top of this series.
> 
> Tested with gcc, and clang with ASan and UBSan: every patch builds
> without warnings, transceiver_autotest passes, the documentation
> builds without warnings, and the testpmd command decodes a module.
> 
> RFC: https://mails.dpdk.org/archives/dev/2026-October/348542.html

Manual AI review:

Subject: Re: [PATCH 0/4] transceiver: module EEPROM decoding library

Patch 1/4 transceiver: introduce module EEPROM decoding library

Warning: no release note for the new library. Add a New Features
entry to the 27.03 release notes, for example:

  * **Added transceiver library.**

    Added the experimental transceiver library to decode pluggable
    module EEPROM data according to the SFF-8079, SFF-8472, SFF-8436
    and SFF-8636 specifications. ``rte_transceiver_decode()`` can
    decode data read with ``rte_eth_dev_get_module_eeprom()`` or
    obtained from any other source with the same layout, such as the
    Linux ethtool ``ETHTOOL_GMODULEEEPROM`` ioctl.

Info: lib/transceiver/meson.build sources are not in alphabetical
order; 'sff_8079.c', 'sff_8472.c', 'sff_8636.c' sort before
'sff_common.c'.


Patch 4/4 ethdev: remove module EEPROM decoding wrapper

Warning: rte_eth_module_eeprom_parse() ships in 26.11 and is removed
here without a release note. Add a Removed Items entry to the 27.03
release notes:

  * ethdev: Removed the experimental function
    ``rte_eth_module_eeprom_parse()``
    and the ``rte_eth_module_eeprom_field_cb`` type,
    replaced by ``rte_transceiver_decode()``
    from the transceiver library.

Reply via email to