Cumulus Linux on Dell Networking Switches


Dell Networking S6000 with Cumulus LinuxIt’s pretty cool that Dell allows its customers to install other network switch OSes on their networking switches; it’s the only major networking hardware vendor in the industry that allows for this. Other networking hardware vendors tie their proprietary network switch OS to the networking hardware they sell. Two Dell switches you can currently buy that support operating systems by other vendors are the Dell S6000-ON switch and the Dell S4810-ON switch. These Dell Networking switches come installed with the Open Network Install Environment (ONIE). ONIE is open source and defines an open “install environment” for bare metal network switches allowing customers to install their choice of OS.


Of course, Dell also has it’s own robust network switch operating system, Dell Networking Operating System (DNOS), known prior as FTOS. However, now, with ONIE, customers can also choose to run Dell Networking switches with Cumulus Linux. Big Switch’s Switch Light OS will also soon be available as an additional option. In this short blog, I’ll discuss some of the benefits of the Cumulus Linux OS and demonstrate how easy it is to get a supported Dell Networking switch loaded and configured with Cumulus Linux.


For this example, I’m using a Dell S6000-ON switch (Cumulus Linux 2.1.1) which is directly connected to my laptop via usb-to-serial console cable. I also have the S6000 management port directly connected to the 1 GbE Ethernet port on my laptop.


When you initially power-on the Dell S6000-ON switch, the ONIE Discovery Service is enabled, and you will see the console output shown below running in a loop; the management interface expects to get an IP address assigned by a DHCP server.

Console output on Dell S6000 w/ ONIE when powered-on

Console output on Dell S6000 w/ ONIE when powered-on


Since I’ll be configuring a static IP address on the management port, I hit the CTRL-D key and enter the onie-discovery-stop command as shown below.

Using the 'onie-discovery-stop' command to allow for manual configuration

Using the 'onie-discovery-stop' command to allow for manual configuration


I then run the standard ifconfig Linux command to see the interface details.

ONIE command prompt: 'ifconfig' command output

ONIE command prompt: 'ifconfig' command output


‘eth0′ is the only port that currently shows, and it represents the management port on the S6000 switch. I’ve connected the S6000′s management port directly to my laptop’s 1 GbE port which has an IP address of ’10.0.0.2/24′. My laptop has a TFTP server running where I have the Cumulus Linux firmware stored. I next configure a static IP address of ’10.0.0.1/24′ on the S6000 management interface and test connectivity by pinging my laptop’s IP address (10.0.0.2/24).

Configuring S6000 management interface and testing connectivity

Configuring S6000 management interface and testing connectivity


Now I download and install the Cumulus Linux firmware from the TFTP server running on my laptop as shown below.

Installing Cumulus Linux on the Dell S6000 switch

Installing Cumulus Linux on the Dell S6000 switch


As Cumulus Linux starts to come up, you will see several messages displaying actions performed and the respective status of each action. Don’t be alarmed if you see ‘failed!’ listed next to some items; this is because the Cumulus Linux license has not yet been applied. For example, you will see the ‘switchd’ daemon, as shown below, will not start until a valid Cumulus Linux license has been applied.

Cumulus Linux: 'switchd' daemon does not start until valid license is applied

Cumulus Linux: 'switchd' daemon does not start until valid license is applied


Shortly, you will get to a Cumulus Linux login prompt.

Cumulus Linux login prompt

Cumulus Linux login prompt


The default login credentials for Cumulus Linux 2.x.x are: Username: cumulus and Password: CumulusLinux!. The login credentials for different Cumulus Linux versions can be found on the Cumulus Linux site here. Once logged-in, you should see the below.

Cumulus Linux messages and prompt after login

Cumulus Linux messages and prompt after login


The nice thing about Cumulus Linux is that you can run your typical Linux commands that you’re used to running for also configuring and managing your network switches.

Cumulus Linux: output of typical Linux commands

Cumulus Linux: output of typical Linux commands


To install the Cumulus Linux license use the sudo cl-license -i command. Follow the instructions on the screens. You will be instructed to copy and paste the license information into the CLI and then hit CTRL-D. You will need to accept the license conditions. You will also be prompted to reboot the switch to have the changes take affect. It’s important to note that you must be a superuser to use the reboot command to reload the switch and for other configuration changes; you can use the sudo command as shown below for this purpose. Note, once the Cumulus Linux license is applied, you no longer see the ‘failed!’ status messages on switch boot-up that were seen prior to the license being applied.

Cumulus Linux: rebooting the switch

Cumulus Linux: rebooting the switch


As I completed the Cumulus Linux install on the switch, I disconnected the switch from my laptop, racked it, and connected it to a larger network. Some basic configuration, you may want to setup is the switch hostname, management IP address, and perhaps DNS servers. Below are several screenshots showing how to configure these settings permanently. You can see configuration of the switch is done via common Linux commands.


Changing the hostname (edit the ‘/etc/hostname’ and ‘/etc/hosts files’) (requires switch reload)

The ‘/etc/hostname’ file should just contain one line with the hostname, in my case this is ‘S6K_Cumulus_1′. The ‘/etc/hosts’ file should also be updated to reflect this change; the edited ‘/ect/hosts’ file is shown below. I used vi to make the changes (ex: vi /etc/hosts).

Cumulus Linux: edited 'etc/hosts' file'

Cumulus Linux: edited 'etc/hosts' file'


Configuring the management IP address (edit the ‘/etc/network/interfaces’ file’)

Cumulus Linux: edited '/etc/network/interfaces' file

Cumulus Linux: edited '/etc/network/interfaces' file


If desired you can also configure DNS servers by editing the ‘/etc/resolv.conf’ file. Each name server should be on a separate line listed as ‘nameserver [IP address]‘.


Once this basic configuration is completed you need to restart the networking service as shown below.

Cumulus Linux: restarting the 'networking' service

Cumulus Linux: restarting the 'networking' service


You can see from the below, I have no problem pinging the gateway or ‘yahoo.com’ from the S6000 running Cumulus Linux.

Cumulus Linux: validating configuration via the 'ping' command

Cumulus Linux: validating configuration via the 'ping' command


As mentioned prior, one benefit of Cumulus Linux is that you can run your typical Linux commands that you’re used to running for also configuring and managing your network switches; no need to memorize a completely different CLI syntax/environment for the network switch OS. Another benefit is that you can leverage the many robust Linux applications and integrate easily with a Linux environment; this will appeal to developers (especially those in devops roles) as it will allow for new innovative approaches for automation, troubleshooting, and developing/deploying network applications/services.

Follow me on Twitter: @Humair_Ahmed

Twitt

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

10 Responses to “Cumulus Linux on Dell Networking Switches”

  1. Great article Humair. You should note the ifconfig command has been deprecated by the ip command set (part of the iproute2) package. I’d highly recommend you start using it, its far superior, particularly in your blog posts so your readers find out about it too. Cheers

  2. Humair says:

    Thanks for mentioning that Steven; good to know. By now, I think my brain is hardwired to use ‘ifconfig’, but I will definitely attempt to start using the ‘ip’ command set.

  3. You’re welcome, same for me really. I ended up blogging about it here, you might find this useful: http://packetpushers.net/linux-ip-command-ostensive-definition/

  4. Anthony Siano says:

    Any idea if an existing S4810 install base can leverage ONIE and some of the alternative OSs or do you have to order a S4810-ON part number to use this?

  5. Marko says:

    Was always a fan of Dell hardware, dunno why. Thanks for the tutorial man, greetings from Croatia!

  6. siddharth says:

    How do I load cumulus software from a dell switch running FTOS?

  7. Humair says:

    Hi Anthony, Siddharth,

    You need an ‘ON” Open Networking version of the switch. For example. ‘S4810-ON’ or ‘S6000-ON’. Open Networking switches can install Cumulus OS, Big Switch OS, Dell DNOS/FTOS 9.7 or after or any other supported OS going forward!

  8. Humair says:

    No problem Marko; thanks for the note. Would love to visit Croatia some day!

  9. Siddharth Khadke says:

    I have cumulus software running on my Dell switch. How do I load Dell software again?

  10. Humair says:

    Siddharth, you should be able to reboot to ONIE and reinstall a different OS. Check with Dell support; there should be an ONIE step-through doc/guide for this process if needed. If you have a ‘S4810-ON’ you will not be able to install the Dell OS, however, from ‘S4840-ON’ and ‘S6000-ON’ and after you should be able to.

Leave a Reply

*


1 − = zero