Hi!

For quite some time now the ethtool -i API has been showing its age.
The driver version field is generally considered obsolete these
days, and driver authors are encouraged to report the kernel version.
fw_version field does not suit modern needs with 31 characters being
quite limiting on more complex systems.  There is also no distinction
between the running and flashed versions of the firmware.

Since the driver information pertains to the entire device, rather
than a particular netdev, it seems wise to move it do devlink, at
the same time fixing the aforementioned issues.

The new API allows exposing the device serial number and versions
of the components of the card - both hardware, firmware (running
and flashed).  Driver authors can choose descriptive identifiers
for the version fields.  There is a potential for defining common
fields here, but given the general direction of the stack I don't
think people would like that.

Example:
$ devlink  info show
pci/0000:05:00.0:
  serial_number: 00:15:4d:12:20:7e
  versions:
    fixed:
      board.model carbon
      board.partno AMDA0099-0001
      board.revision 07
      board.vendor SMA
    running:
      fw.mgmt: 010156.010156.010156
      fw.cpld: 0x44
      fw.app: sriov-2.1.16
    stored:
      fw.mgmt: 010158.010158.010158
      fw.cpld: 0x44
      fw.app: sriov-2.1.20

Jakub Kicinski (6):
  devlink: add device information API
  devlink: add version reporting API
  nfp: devlink: report serial number
  nfp: devlink: report fixed versions
  nfp: nsp: add support for versions command
  nfp: devlink: report the running and flashed versions

 .../net/ethernet/netronome/nfp/nfp_devlink.c  | 154 +++++++++++++++
 .../ethernet/netronome/nfp/nfpcore/nfp_nsp.c  |  53 ++++++
 .../ethernet/netronome/nfp/nfpcore/nfp_nsp.h  |  14 ++
 include/net/devlink.h                         |  15 ++
 include/uapi/linux/devlink.h                  |  10 +
 net/core/devlink.c                            | 177 ++++++++++++++++++
 6 files changed, 423 insertions(+)

-- 
2.19.2

Reply via email to