ALL LINUX
  • Linux 4 Network Engineers
  • Introduction
    • Untitled
  • LINUX - "HOW-TO-DO"
    • SYSADMIN
      • MONITORING
        • Stress Testing Linux
      • DEBIAN APT
      • DISK
        • Directory Share - NFS,CIFS
        • LOGICAL VOLUME MANAGEMENT (LVM)
        • FILE SYSTEMS
          • ZFS
      • FIND & DU
      • SECURITY
        • SSH Open Format
      • USERS
        • Accounts, Groups etc
        • Assess User Activity
    • SCRIPTING & TEXT EDIT
      • BASH SCRIPTING & PROJECTS
        • 1) How to Build a Bash Script
        • 2) Variables & Shell Expansions
        • 3) Processing Command Lines
        • 4) Requesting User Input
      • VIM Editor
        • Vim Tips
      • GREP, EGREP & REGEX
        • REGEX
        • REGEX2
        • NINJA-REGEX
      • SED and AWK
  • Containers
    • MULTIPASS
    • LXD LXC
    • KUBERNETES (K8's)
  • FOSS
    • CUMULUS LINUX
      • Fundamentals
        • Cumulus Linux Introduction
        • Cumulus Linux Architecture
        • Cumulus VX
        • Initial Setup
      • NCLU
  • Linux Prof Inst Cert [LPIC-1]
    • LPIC 1
      • CH1-Linux Command-Line Tools
        • Work on the Command Line
        • Streams, Pipes and Redirects
          • Text Streams Using Filters
        • Search Text Files - Regular Expressions
        • Basic File Editing
      • CH2-Managing software and Processes
      • Ch3-Configuring Hardware
      • Ch4-Managing Files
      • Ch5-Booting, Initialising and Virtualising Linux
Powered by GitBook
On this page
  • How is Cumulus Linux Built?
  • What Do You Get When you Download Cumulus Linux?
  • Software Partners
  • Cumulus Linux Architecture

Was this helpful?

  1. FOSS
  2. CUMULUS LINUX
  3. Fundamentals

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 Debian

  • In 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

PreviousCumulus Linux IntroductionNextCumulus VX

Last updated 4 years ago

Was this helpful?

As an example, Cumulus Linux supports Quagga to run BGP, OSPF etc. In April 2017, (FRR) forked from Quagga aiming for a more open and faster development

FRRouting