Jakub Kicinski
76726ccb7f
devlink: add flash update command
...
Add devlink flash update command. Advanced NICs have firmware
stored in flash and often cryptographically secured. Updating
that flash is handled by management firmware. Ethtool has a
flash update command which served us well, however, it has two
shortcomings:
- it takes rtnl_lock unnecessarily - really flash update has
nothing to do with networking, so using a networking device
as a handle is suboptimal, which leads us to the second one:
- it requires a functioning netdev - in case device enters an
error state and can't spawn a netdev (e.g. communication
with the device fails) there is no netdev to use as a handle
for flashing.
Devlink already has the ability to report the firmware versions,
now with the ability to update the firmware/flash we will be
able to recover devices in bad state.
To enable updates of sub-components of the FW allow passing
component name. This name should correspond to one of the
versions reported in devlink info.
v1: - replace target id with component name (Jiri).
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com >
Acked-by: Jiri Pirko <jiri@mellanox.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2019-02-17 15:27:38 -08:00
..
2018-09-08 01:39:47 +09:00
2018-10-14 10:25:47 +02:00
2018-01-19 14:02:12 -05:00
2018-09-26 09:56:07 -07:00
2019-02-08 15:00:17 -08:00
2019-01-28 19:38:33 -08:00
2018-09-18 19:55:01 -07:00
2018-05-16 07:24:30 +02:00
2019-01-30 00:44:08 -08:00
2019-02-10 09:28:43 -08:00
2017-04-12 22:02:36 +02:00
2019-02-10 09:28:43 -08:00
2019-02-13 18:27:55 -08:00
2018-07-13 12:18:18 -04:00
2019-01-15 21:33:36 -08:00
2018-10-31 12:37:12 -07:00
2018-08-07 12:39:13 -07:00
2017-11-02 11:10:55 +01:00
2018-01-15 14:53:43 -05:00
2017-11-02 11:10:55 +01:00
2019-01-23 11:18:00 -08:00
2018-04-19 16:11:11 -04:00
2019-01-24 22:18:48 -08:00
2017-05-27 18:51:41 -04:00
2018-09-26 20:22:19 -07:00
2018-07-30 09:10:25 -07:00
2017-07-04 22:35:16 +01:00
2019-02-01 11:53:15 +01:00
2016-07-08 12:20:57 +02:00
2019-01-03 18:57:57 -08:00
2017-07-04 01:29:04 -07:00
2016-06-25 12:19:35 -04:00
2018-04-02 20:16:17 +02:00
2017-11-02 11:10:55 +01:00
2018-07-27 13:17:50 -07:00
2019-02-17 15:27:38 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-18 12:39:36 +01:00
2017-11-30 09:54:25 -05:00
2017-11-04 09:26:51 +09:00
2019-01-17 11:31:24 -08:00
2017-11-02 11:10:55 +01:00
2018-03-05 12:52:45 -05:00
2017-11-04 09:26:51 +09:00
2017-11-02 11:10:55 +01:00
2018-10-17 21:51:13 -07:00
2018-05-20 18:31:42 -04:00
2017-11-02 11:10:55 +01:00
2018-02-28 11:43:28 -05:00
2018-05-28 22:59:54 -04:00
2017-11-01 11:50:43 +09:00
2018-04-23 10:21:24 -04:00
2017-11-02 11:10:55 +01:00
2018-11-30 13:21:52 -08:00
2019-02-13 21:07:47 -08:00
2018-11-30 17:12:39 -08:00
2017-11-02 11:10:55 +01:00
2017-10-30 21:09:24 +09:00
2017-10-11 09:49:34 +02:00
2017-11-02 11:10:55 +01:00
2018-11-17 21:37:29 -08:00
2018-08-29 19:42:52 -07:00
2018-11-07 23:00:23 -08:00
2018-12-10 15:53:04 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-11 14:10:06 -05:00
2017-11-02 11:10:55 +01:00
2018-11-08 17:13:08 -08:00
2018-09-05 10:08:25 +02:00
2018-11-02 23:54:56 -07:00
2018-04-22 21:12:00 -04:00
2017-01-18 13:04:28 -05:00
2018-11-07 16:12:38 -08:00
2018-12-15 13:23:02 -08:00
2019-01-27 13:29:43 -08:00
2018-10-17 17:45:07 -07:00
2019-01-25 21:37:11 -08:00
2018-12-24 15:27:56 -08:00
2018-11-07 16:12:38 -08:00
2018-06-05 10:45:24 -04:00
2019-02-08 21:50:15 -08:00
2018-10-19 11:03:06 -07:00
2018-10-16 00:13:12 -07:00
2018-11-08 17:13:08 -08:00
2019-01-15 13:33:44 -08:00
2019-01-26 09:43:03 -08:00
2019-01-28 11:15:58 +01:00
2018-11-07 16:23:05 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-01-25 21:37:11 -08:00
2018-11-07 16:23:05 -08:00
2017-11-02 11:10:55 +01:00
2018-03-27 09:51:23 +02:00
2016-08-17 19:36:23 -04:00
2019-01-30 22:13:34 -08:00
2018-07-11 23:10:19 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-25 12:06:25 +09:00
2018-04-22 14:55:03 -04:00
2018-09-13 09:04:58 -07:00
2019-02-13 18:27:55 -08:00
2019-02-01 12:11:13 +01:00
2016-07-08 13:23:12 +02:00
2017-11-02 11:10:55 +01:00
2017-04-01 20:21:44 -07:00
2016-10-03 02:00:22 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-12-19 13:37:34 -08:00
2018-05-28 22:59:54 -04:00
2019-01-25 01:50:03 +01:00
2017-11-02 11:10:55 +01:00
2018-08-01 09:52:30 -07:00
2017-07-01 07:39:09 -07:00
2019-02-01 11:06:55 +01:00
2018-05-16 07:23:35 +02:00
2018-04-07 22:32:31 -04:00
2016-07-08 12:20:57 +02:00
2017-11-08 16:12:33 +09:00
2017-11-02 11:10:55 +01:00
2018-05-24 18:36:15 -07:00
2018-05-16 07:23:35 +02:00
2019-02-12 13:41:33 -05:00
2018-09-25 20:17:35 -07:00
2017-11-02 11:10:55 +01:00
2018-11-08 17:13:08 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-11-07 16:12:39 -08:00
2017-11-02 11:10:55 +01:00
2017-12-05 14:37:13 -05:00
2018-08-28 11:11:47 +02:00
2017-10-20 13:21:36 +01:00
2018-05-16 07:23:35 +02:00
2018-09-26 20:30:55 -07:00
2018-03-13 18:37:02 +02:00
2018-11-06 15:00:45 -08:00
2019-02-12 13:41:33 -05:00
2018-07-21 10:43:12 -05:00
2017-11-02 11:10:55 +01:00
2018-06-22 13:43:27 +09:00
2018-07-31 09:22:48 +02:00
2018-12-20 16:56:04 -08:00
2018-04-11 10:33:46 -04:00
2018-06-30 20:42:25 +09:00
2018-08-11 01:58:46 +02:00
2019-02-15 12:38:38 -08:00
2018-03-01 21:21:36 -05:00
2017-11-02 11:10:55 +01:00
2018-06-06 14:07:53 -04:00
2019-02-06 14:17:03 -08:00
2018-02-21 15:06:05 -05:00
2019-01-25 22:41:08 -08:00
2018-05-08 00:02:41 -04:00
2019-02-01 15:05:07 -08:00
2018-07-07 10:58:49 +09:00
2017-11-02 11:10:55 +01:00
2017-08-29 15:16:52 -07:00
2018-12-03 14:15:26 -08:00
2018-11-08 17:13:08 -08:00
2018-02-16 15:57:42 -05:00
2019-01-17 15:18:47 -08:00
2018-01-24 19:13:45 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-01-25 01:50:03 +01:00
2018-08-29 12:25:53 -07:00
2018-12-20 11:53:36 -08:00