Chapter 16. The EOS Extension System

EOS is the Extensible Operating System, so let’s have some fun and extend it!

OK, so my idea of fun is installing extensions into a networking switch. What can I say? I’m living the dream.

Extensions are nothing more than one or more RPMs zipped up with a manifest file. These extensions have the filename extension .swix, for SoftWare Image eXtension. For those who are not familiar with Linux, RPM stands for RPM Package Manager. If that makes you twitch because your fifth-grade teacher wouldn’t let you use the word being defined within the definition, you’re not alone. RPM originally stood for Red Hat Package Manager, which is far less likely to offend a fifth-grade teacher’s sensibilities. The reason for the change is that RPMs are used in many more operating systems these days, even if the recursive name gives me hives.

RPMs are packages that usually contain compiled code. Using an RPM is just like downloading a program from the internet that needs to be unpacked and installed. On a Windows machine, you might download an Installer, whereas on a Mac, you might download a DMG image that contains a PKG package file. The idea is the same. RPMs are just the way Linux handles packages. Because EOS is running on Linux, it’s only natural to use RPMs to add extensions. If you’re familiar with Linux, you probably know about repositories that allow you to do things like add packages and all of the required dependencies with ease. Arista disables access ...

Get Arista Warrior, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.