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.

