The Dell S-4048T-ON
This system is a baremetal switch that in our case came preinstalled with Dell OS9 and ONIE.
On this hardware, several Network Operating Systems from different vendors can be installed, for example:
- Cumulus Linux
- Big Switch Networks Switch Light OS
- Dell OS9
- Dell OS10 (in the future)
The switch itself is a low latency 48 X 10GbE + 6 X 40 GbE platform, aiming primarily at datacenter use cases.
When we started the switch up, its boot process did not differ from any vendor provided traditional closed system, and the switch drops you to a standard prompt as you would expect.
bmp BMP commands
cd Change current directory
clear Reset functions
clock Manage the system clock
configure Configuring from terminal
crypto Crypto Commands
copy Copy from one file to another
debug Debug functions
Here you will find all the features expected by a modern switch of this type, just to name a few:
- VRF-lite to share the network infrastructure
- VXLAN gateway
- 1:4 local mirroring, Remote Port Mirroring
- Jumbo frames
- 128 link aggregation groups
- VLAN Tagging and double Tagging
One can see that Dell's OS9 covers everything that traditional vendors cover in their devices.
This changes when we reboot the switch. At one point, it will display the following screen, and pressing escape brings us the options to access the bootloader environment:
ONIE is a part of the Open Compute Project, and provides a standardized install environment for the different Network OS products that can run on this platform. It is an open source project lead by the OCP that was started by Cumulus Networks. We will describe ONIE more in detail later.
This is the screen presented after esc was pressed.
The interesting part for us at this point is the ONIE option, selecting this presents us with the different functions ONIE provides
This menu allows us now to fully control and install / uninstall the NOS on the switch. It also allows to update ONIE itself, and this is where the flexibility of this device comes into play.
The different options represent the following behavior:
Install OS: start the firmware discovery process
Reinstall: Remove currently installed OS and return to the “out of box” provisioning state Uninstall: Completely wipe out everything, except ONIE
Rescue: Reboot box into ONIE for repair, debug and forensics
Update: Install a new ONIE version
Diag: Run HW Vendor’s diag (optional)
ONIE provides several ways to install a new OS, which are tried one after another by a discovery process. It also allows to update itself, and a CLI to control the behavior.
The install process is standardized, and in a nutshell works this way:
Step one is trying to configure the network connection:
- Tries to configure the network interface:
- First method is through a static configuration
- Then DHCP is tried to acquire an address
- Last method is using an link local / APIPA address (169.254.0.0)
- Configures DNS and hostname
Step two is trying to find the location of an installer executable
- Examines local file systems, e.g. USB flash drives
- Uses DHCP options, DNS Service Discovery, Multicast DNS and IPv6 Neighbors to locate the firmware file on the network
- The supported DHCP options for passing the location of the installer image to the switch are:
- 60 – Vendor Class Identifier
- 77 User Class
- 125 Vendor-Identifying Vendor-Specific Information
- 55 Parameter Request List
If one of these methods is successful, ONIE start to install the image
- The image first is downloaded onto the device
- ONIE passes various environment variables to installer
- Then the installer is executed, and takes over from there
This is the theory how things work, in our next blog post we will go step by step through the process of installing a new NOS onto this hardware platform.