On 1/14/19 4:50 PM, Jakub Kicinski wrote: > 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.
I does not seem realistic to expect people to agree on that indeed :) Took a quick look and this is pretty sensible thanks Jakub! > > 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(+) > -- Florian