Open NX-OS Linux
This chapter will introduce some of the Linux capabilities of Open NX-OS including:
- Kernel 3.4: At the core of Cisco's Open NX-OS is a 64-bit Linux kernel based on version 3.4. This kernel provides a balance of features, maturity, and stability; and serves as a solid foundation for programmability and Linux-based management of a Cisco Nexus switch.
- Kernel Stack: Cisco Open NX-OS leverages the native Linux networking stack, instead of a custom-built userspace stack (NetStack) that was used in prior versions of NX-OS. Nexus switch interfaces, including physical, port-channel, vPC, VLAN and other logical interfaces, are mapped to the kernel as standard Linux netdevs. VRFs on the switch map to standard Linux namespaces.
- Open Package Management: Open NX-OS leverages standard package management tools, such as RPM and yum for software management. The same tools can be used for Open NX-OS process-patching or installing external or custom-developed programs onto the switch.
- Container Support: Open NX-OS supports running Linux Containers (LXCs) directly on the platform, and provide access to Centos 7 based Guest Shell. This allows customers and third-party application developers to add custom functionality directly on the device in a secure, isolated environment.
In addition, Open NX-OS continues to uphold some of the Linux best practice capabilities that have always been part of NX-OS:
- Modularity: Modules are loaded into the kernel only when needed. Modules can be loaded and unloaded on demand.
- Fault Isolation: Provides complete process isolation for NX-OS features, services and user application processes.
- Resiliency: Graceful restart or initializion of processes following unexpected exit conditions (segfault, panic).
Open NX-OS is based on Wind River Linux 5. By leveraging a standard and unmodified Linux foundation, it is possible to run any standard Linux-based application without changes or wrapper libraries. Users can leverage their standard Linux server management tools and workflows to install their custom-developed Linux-based applications, or other standard open source programs, and have them function "out of the box" on the Nexus switch. It is straightfoward to integrate common third-party configuration management agents like Puppet, Chef, and telemetry applications such as ganglia, splunk, collector, nagios on the switch.