mbox series

[ethtool-next,0/4] Add ability to flash modules' firmware

Message ID 20240716131112.2634572-1-danieller@nvidia.com (mailing list archive)
Headers show
Series Add ability to flash modules' firmware | expand

Message

Danielle Ratson July 16, 2024, 1:11 p.m. UTC
CMIS compliant modules such as QSFP-DD might be running a firmware that
can be updated in a vendor-neutral way by exchanging messages between
the host and the module as described in section 7.2.2 of revision
4.0 of the CMIS standard.

Add ability to flash transceiver modules' firmware over netlink.

Example output:

 # ethtool --flash-module-firmware eth0 file test.img

Transceiver module firmware flashing started for device swp23
Transceiver module firmware flashing in progress for device swp23
Progress: 99%
Transceiver module firmware flashing completed for device swp23

In addition, add some firmware and CDB messaging information to
ethtool's output for observability.

Patchset overview:
Patches #1-#2: adds firmware info to ethtool's output.
Patch #3: updates headers.
Patch #4: adds ability to flash modules' firmware.

Danielle Ratson (2):
  Update UAPI header copies
  ethtool: Add ability to flash transceiver modules' firmware

Ido Schimmel (2):
  cmis: Print active and inactive firmware versions
  cmis: Print CDB messaging support advertisement

 cmis.c                        | 125 +++++++++++++++++++++++
 cmis.h                        |  19 ++++
 ethtool.8.in                  |  29 ++++++
 ethtool.c                     |   7 ++
 netlink/desc-ethtool.c        |  13 +++
 netlink/extapi.h              |   2 +
 netlink/module.c              | 183 ++++++++++++++++++++++++++++++++++
 netlink/netlink.h             |  16 +++
 netlink/prettymsg.c           |   5 +
 netlink/prettymsg.h           |   2 +
 shell-completion/bash/ethtool |  27 +++++
 uapi/linux/ethtool.h          |  18 ++++
 uapi/linux/ethtool_netlink.h  |  19 ++++
 13 files changed, 465 insertions(+)

Comments

Danielle Ratson July 30, 2024, 10:52 a.m. UTC | #1
Hi,

I haven’t gotten any comment on this patchset yet, could you please take a look at it?

Thanks,
Danielle

> -----Original Message-----
> From: Danielle Ratson <danieller@nvidia.com>
> Sent: Tuesday, 16 July 2024 16:11
> To: netdev@vger.kernel.org
> Cc: mkubecek@suse.cz; mlxsw <mlxsw@nvidia.com>; Danielle Ratson
> <danieller@nvidia.com>
> Subject: [PATCH ethtool-next 0/4] Add ability to flash modules' firmware
> 
> CMIS compliant modules such as QSFP-DD might be running a firmware that
> can be updated in a vendor-neutral way by exchanging messages between the
> host and the module as described in section 7.2.2 of revision
> 4.0 of the CMIS standard.
> 
> Add ability to flash transceiver modules' firmware over netlink.
> 
> Example output:
> 
>  # ethtool --flash-module-firmware eth0 file test.img
> 
> Transceiver module firmware flashing started for device swp23 Transceiver
> module firmware flashing in progress for device swp23
> Progress: 99%
> Transceiver module firmware flashing completed for device swp23
> 
> In addition, add some firmware and CDB messaging information to ethtool's
> output for observability.
> 
> Patchset overview:
> Patches #1-#2: adds firmware info to ethtool's output.
> Patch #3: updates headers.
> Patch #4: adds ability to flash modules' firmware.
> 
> Danielle Ratson (2):
>   Update UAPI header copies
>   ethtool: Add ability to flash transceiver modules' firmware
> 
> Ido Schimmel (2):
>   cmis: Print active and inactive firmware versions
>   cmis: Print CDB messaging support advertisement
> 
>  cmis.c                        | 125 +++++++++++++++++++++++
>  cmis.h                        |  19 ++++
>  ethtool.8.in                  |  29 ++++++
>  ethtool.c                     |   7 ++
>  netlink/desc-ethtool.c        |  13 +++
>  netlink/extapi.h              |   2 +
>  netlink/module.c              | 183 ++++++++++++++++++++++++++++++++++
>  netlink/netlink.h             |  16 +++
>  netlink/prettymsg.c           |   5 +
>  netlink/prettymsg.h           |   2 +
>  shell-completion/bash/ethtool |  27 +++++
>  uapi/linux/ethtool.h          |  18 ++++
>  uapi/linux/ethtool_netlink.h  |  19 ++++
>  13 files changed, 465 insertions(+)
> 
> --
> 2.45.0
Michal Kubecek Aug. 9, 2024, 11:06 p.m. UTC | #2
On Tue, Jul 16, 2024 at 04:11:08PM +0300, Danielle Ratson wrote:
> CMIS compliant modules such as QSFP-DD might be running a firmware that
> can be updated in a vendor-neutral way by exchanging messages between
> the host and the module as described in section 7.2.2 of revision
> 4.0 of the CMIS standard.
> 
> Add ability to flash transceiver modules' firmware over netlink.
> 
> Example output:
> 
>  # ethtool --flash-module-firmware eth0 file test.img
> 
> Transceiver module firmware flashing started for device swp23
> Transceiver module firmware flashing in progress for device swp23
> Progress: 99%
> Transceiver module firmware flashing completed for device swp23
> 
> In addition, add some firmware and CDB messaging information to
> ethtool's output for observability.
> 
> Patchset overview:
> Patches #1-#2: adds firmware info to ethtool's output.
> Patch #3: updates headers.
> Patch #4: adds ability to flash modules' firmware.

Hello,

this series seems to be based on slightly different version of the kernel
counterpart than what was merged into mainline. One difference I noticed is
that this series uses ETHTOOL_A_MODULE_FW_FLASH_PASS while kernel headers
use ETHTOOL_A_MODULE_FW_FLASH_PASSWORD; but I'm not sure if it's the only
difference.

Could you please check it and update what is needed?

Michal
Danielle Ratson Aug. 11, 2024, 8:22 a.m. UTC | #3
> From: Michal Kubecek <mkubecek@suse.cz>
> Sent: Saturday, 10 August 2024 2:07
> To: Danielle Ratson <danieller@nvidia.com>
> Cc: netdev@vger.kernel.org; mlxsw <mlxsw@nvidia.com>
> Subject: Re: [PATCH ethtool-next 0/4] Add ability to flash modules' firmware
> 
> On Tue, Jul 16, 2024 at 04:11:08PM +0300, Danielle Ratson wrote:
> > CMIS compliant modules such as QSFP-DD might be running a firmware
> > that can be updated in a vendor-neutral way by exchanging messages
> > between the host and the module as described in section 7.2.2 of
> > revision
> > 4.0 of the CMIS standard.
> >
> > Add ability to flash transceiver modules' firmware over netlink.
> >
> > Example output:
> >
> >  # ethtool --flash-module-firmware eth0 file test.img
> >
> > Transceiver module firmware flashing started for device swp23
> > Transceiver module firmware flashing in progress for device swp23
> > Progress: 99%
> > Transceiver module firmware flashing completed for device swp23
> >
> > In addition, add some firmware and CDB messaging information to
> > ethtool's output for observability.
> >
> > Patchset overview:
> > Patches #1-#2: adds firmware info to ethtool's output.
> > Patch #3: updates headers.
> > Patch #4: adds ability to flash modules' firmware.
> 
> Hello,
> 
> this series seems to be based on slightly different version of the kernel
> counterpart than what was merged into mainline. One difference I noticed is
> that this series uses ETHTOOL_A_MODULE_FW_FLASH_PASS while kernel
> headers use ETHTOOL_A_MODULE_FW_FLASH_PASSWORD; but I'm not sure
> if it's the only difference.
> 
> Could you please check it and update what is needed?
> 
> Michal

Hi Michal,

Thank you for your feedback.

Ill fix it in a new version, there is no other difference between the versions that I could find.

Thanks,
Danielle