On Tue, 7 May 2019 18:51:02 +0000, Michael, Alice wrote: > > -----Original Message----- > > From: Jakub Kicinski [mailto:jakub.kicin...@netronome.com] > > Sent: Saturday, May 4, 2019 4:35 AM > > To: Kirsher, Jeffrey T <jeffrey.t.kirs...@intel.com>; Michael, Alice > > <alice.mich...@intel.com> > > Cc: da...@davemloft.net; netdev@vger.kernel.org; nhor...@redhat.com; > > sassm...@redhat.com; Marczak, Piotr <piotr.marc...@intel.com>; Buchholz, > > Donald <donald.buchh...@intel.com> > > Subject: Re: [net-next v2 11/11] i40e: Introduce recovery mode support > > > > On Fri, 3 May 2019 16:09:39 -0700, Jeff Kirsher wrote: > > > From: Alice Michael <alice.mich...@intel.com> > > > > > > This patch introduces "recovery mode" to the i40e driver. It is part > > > of a new Any2Any idea of upgrading the firmware. In this approach, it > > > is required for the driver to have support for "transition firmware", > > > that is used for migrating from structured to flat firmware image. In > > > this new, very basic mode, i40e driver must be able to handle > > > particular IOCTL calls from the NVM Update Tool and run a small set of > > > AQ commands. > > > > What's the "particular IOCTL" you speak of? This patch adds a fake netdev > > with > > a .set_eeprom callback. Are you wrapping the AQ commands in the set_eeprom > > now? Or is there some other IOCTL here? > > Yes. The NVMUpdate tool uses the ethtool IOCTL to call the > driver's .set_eeprom callback. This then triggers the firmware AQ > command. The fake netdev needs to have ethtool support to finish > upgrading the firmware using the eeprom interface.
To be clear - the .set_eeprom calls are used to carry some marshalled commands, not just the raw data to be written into flash? Right? Otherwise your tool wouldn't be necessary. > > Let me repeat my other question - can the netdev you spawn in > > i40e_init_recovery_mode() pass traffic? > > No, the device is not expected to pass traffic. This mode is to > allow the NVMUpdate to program the NVM. Creating this fake netdev which can't pass traffic is quite bad, and pointless given that devlink is capable of handling firmware updates.