[PATCH net-next v2 0/2] ethtool: Add support for writing firmware

From: Danielle Ratson
Date: Tue Sep 10 2024 - 05:03:38 EST


In the CMIS specification for pluggable modules, LPL (Local Payload) and
EPL (Extended Payload) are two types of data payloads used for managing
various functions and features of the module.

EPL payloads are used for more complex and extensive management functions
that require a larger amount of data, so writing firmware blocks using EPL
is much more efficient.

Currently, only LPL payload is supported for writing firmware blocks to
the module.

Add support for writing firmware block using EPL payload, both to support
modules that support only EPL write mechanism, and to optimize the flashing
process of modules that support LPL and EPL.

Running the flashing command on the same sample module using EPL vs. LPL
showed an improvement of 84%.

Patchset overview:
Patch #1: preparations
Patch #2: Add EPL support

v2:
* Fix the commit meassges to align the cover letter about the
right meaning of LPL and EPL.
Patch #2:
* Initialize the variable 'bytes_written' before the first
iteration.

Danielle Ratson (2):
net: ethtool: Add new parameters and a function to support EPL
net: ethtool: Add support for writing firmware blocks using EPL
payload

net/ethtool/cmis.h | 16 ++++--
net/ethtool/cmis_cdb.c | 94 +++++++++++++++++++++++++-----
net/ethtool/cmis_fw_update.c | 108 +++++++++++++++++++++++++++++------
3 files changed, 184 insertions(+), 34 deletions(-)

--
2.45.0