mbox series

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

Message ID 20240910090217.3044324-1-danieller@nvidia.com (mailing list archive)
Headers show
Series ethtool: Add support for writing firmware | expand

Message

Danielle Ratson Sept. 10, 2024, 9:02 a.m. UTC
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(-)

Comments

Jakub Kicinski Sept. 15, 2024, 5:17 p.m. UTC | #1
On Tue, 10 Sep 2024 12:02:15 +0300 Danielle Ratson wrote:
> 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%.

this missed 6.12, sorry, I didn't get a clear enough signal form 
the discussion to merge it in time