Cumulus Linux Architecture
How is Cumulus Linux Built?
Built from Debian Wheezy
Cumulus Linux is a NATIVE Linux Distribution
Not like Cisco Nexus where you use the CLI and then can drop down into the bash shell, Cumulus Linux IS Linux!
To configure Cumulus Linux, you use vi or nano
However - we should be using NCLU (Network Command Line Utility)
The only difference between Linux on a server and Cumulus Linux on a switch is that on Cumulus Linux on a switch, you get HARDWARE ACCELERATION
You CAN use a Raspberry Pi running Open Flow enabled SDN - buit wont get the line rate or hardware acceleration on the ASICS :)
What Do You Get When you Download Cumulus Linux?
A single binary package (v2.5.3) and once installed it will contain roughly 250 packages with about 10 Cumulus Linux specific packages to provide features and functionality not available with normal Linux packages.
Cumulus packages are pulled from main repository
repo.cumulusnetworks.com -
fully supported by DebianIn addition there is a repository for 3rd party eg.
Addons Repository
Puppet agents
Chef
collectd
netshow
Testing
CL release experimental features for you to test and try-out before they are released
Cumulus Linux has support but what is called "Reasonable Support"
As well as directly from the Debian Community Page
Applications by others such as Bandwidth Monitoring etc, but these are not supported by Debian
Software Partners
For AUTOMATION , CL uses Puppet, Ansible, CFEngine, Chef and Salt Stack. With Ansible you use it to configure your servers, but you can also get it to configure your switches, thus automating your network
Cumulus Linux Architecture
Of the Cumulus Linux Architecture, the ONLY piece of proprietary software is the switchd
which provides the HARDWARE ABSTRACTION which programs the ASICS on the switch (see later)
There are 3 parts to the architecture:
Kernel Space - operating systems operate the kernel in 'protected and restricted memory' that is called kernel space and this is to prevent other applications (through various reasons) to interfere with the kernel and to cause it to 'panic' (crash)
User Space - When a user runs an application or tool, its executed in user space. This is critical in keeping these applications or tools away from kernel space. All applications, even system deamon processes make a "system call" to the kernel in kernel space in order to access system resources (memory, cpu network etc). So for example a user configures a static route in user space, this is then programmed into the linux kernel'
Hardware Abstraction - (switchd). In a normal Linux installation, this staic route that was created in user space and programmed into the kernel. With Cumulus Linux this is ALSO programmed into Hardware via the NET LINK message from the kernel to the physical switch ASIC's
Last updated
Was this helpful?