US 12,450,046 B2
Signed SWI containing signed extensions for dynamic installation
James Samuel Brinkley, Santa Clara, CA (US); Eudean Michael Sun, Santa Clara, CA (US); Baptiste Elie Franck Covolato, Vancouver (CA); Ethan Barnett Rahn, Santa Clara, CA (US); and Julien André Alexis Gomes, Vancouver (CA)
Assigned to Arista Networks, Inc., Santa Clara, CA (US)
Filed by Arista Networks, Inc., Santa Clara, CA (US)
Filed on Sep. 13, 2023, as Appl. No. 18/466,089.
Prior Publication US 2025/0085950 A1, Mar. 13, 2025
Int. Cl. G06F 8/61 (2018.01)
CPC G06F 8/61 (2013.01) 20 Claims
OG exemplary drawing
 
1. A method for dynamic installation of extensible network operating system (ENOS) extensions, the method comprising:
receiving, by a network device, a command to download a full software image (SWI) from an install source, the full SWI having a signature and a directory containing software packages for ENOS extensions, the network device having a nonvolatile memory;
while the full SWI is being downloaded from the install source to the nonvolatile memory, modifying, by the network device, the full SWI on the fly, the modifying comprising:
reading and removing the software packages from the directory;
as each respective software package is read from the directory, determining whether to process the respective software package; and
for each respective software package that is to be processed:
extracting an ENOS extension and a corresponding signature from the respective software package; and
storing the ENOS extension with the corresponding signature on the nonvolatile memory;
wherein the modifying results in a modified SWI containing the signature without the software packages; and
wherein, after download is complete, the nonvolatile memory stores a subset of the ENOS extensions with corresponding signatures;
verifying, by the network device using the corresponding signatures, the subset of the ENOS extensions so as to determine valid ENOS extensions for inclusion in an overlay filesystem which becomes a root filesystem for the network device; and
verifying, by the network device, the signature of the modified SWI before booting the network device into the modified SWI.