Hi.

I'm currently working on fwupd plugin for devlink. I have somehow
working version tested with netdevsim and mlx5. I'm curious if you would
be interested into supporting your nics as well. Here's the code:
https://github.com/jpirko/fwupd/tree/wip_devlink_rfc1

In plugins/devlink/tests/example/ you can find how to build cab file for
netdevsim. To flash it, get the device id from command:
$ sudo ./build/src/fwupdtool get-devices
and flash it using:
$ sudo ./build/src/fwupdtool install plugins/devlink/tests/example/firmware.cab 
fa645832a32a760dc0d20ec0cac7dcd13ca3d104

for mlx5 cx6dx nic I'm using following example xml:
$ cat cx6dx-22_45_1020.firmware.metainfo.xml
<?xml version="1.0" encoding="UTF-8"?>
<component type="firmware">
  <id>com.nvidia.ConnectX6dx.firmware</id>
  <name>ConnectX6dx Test Firmware</name>
  <summary>Test firmware for ConnectX6dx device</summary>
  <description>
    <p>Test firmware package for ConnectX6dx device</p>
  </description>
  <provides>
    <firmware type="flashed">f7f61adf-77b6-5e21-bb80-0112a70ab91c</firmware>
  </provides>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-2.0+</project_license>
  <developer_name>Test Developer</developer_name>
  <releases>
    <release urgency="high" version="22.45.1020" date="2025-07-01">
      <description>
        <p>Test firmware release for ConnectX6dx device</p>
      </description>
    </release>
  </releases>
  <requires>
    <firmware compare="ge" version="0.0.1"/>
  </requires>
  <custom>
    <value key="LVFS::UpdateProtocol">org.kernel.devlink</value>
    <value key="LVFS::DeviceFlags">omit-component-name,needs-activation</value>
  </custom>
</component>

You need to change the GUID hash be whatever is generated for your
device.

Also, note the flags. That may be different for you, idk. You may not
need omit-component-name, as I think for ice you support flashing with
component name.

Let me know if I can do anything to assist you.

Thanks!

Jiri

Reply via email to