It’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.
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.
I then run the standard ifconfig Linux command to see the interface details.
‘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).
Now I download and install the Cumulus Linux firmware from the TFTP server running on my laptop as shown below.
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.
Shortly, you will get to a 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.
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.
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.
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).
Configuring the management IP address (edit the ‘/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.
You can see from the below, I have no problem pinging the gateway or ‘yahoo.com’ from the S6000 running Cumulus Linux.
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
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
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.
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/
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?
Was always a fan of Dell hardware, dunno why. Thanks for the tutorial man, greetings from Croatia!
How do I load cumulus software from a dell switch running FTOS?
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!
No problem Marko; thanks for the note. Would love to visit Croatia some day!
I have cumulus software running on my Dell switch. How do I load Dell software again?
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.
Hi Humair,
I found your blog after an exhaustive google search. I’m trying to login to a Dell S4810 and the default username/passwords are not working. I’ve set the enablepwdignore / stconfigignore variables to “true” and tried again but I still can’t log in. Do you have any ideas? (Cumulus Linux version 2.XX)
Thanks.
Pingback: cumulus linux default login – dataala
Do you have the link to download Cumulus Linux version 2.XX for DELL S4810-ON
Thanks