What is ONIE (Open Network Install Environment)?


On 16-July-2014, I attended a webinar hosted by Curt Brune of Cumulus Networks on ONIE. This post is a distillation of some key points from that webinar.

What is the Open Network Install Environment (ONIE)?

onie-logoConceptually, ONIE (pronounced oh-nee) is a network OS installer used by several whitebox switching vendors to load a network operating system onto their switch. Practically, ONIE is a small operating system based on Linux that boots on a switch, discovers network installer images available on the local network, transfers an appropriate image to the switch, and then provides an environment so that the installer can load the network OS onto the switch. ONIE is used today by several different vendors and is gaining broad acceptance in the whitebox switching community.

Hardware vendors supporting ONIE include Agema, Broadcom, Dell, Edge-Core, Penguin Computing, Interface Masters, Mellanox, and Quanta. Network OS vendors supporting ONIE include Big Switch, Broadcom, Cumulus, and Mellanox.

As of June 2014, ONIE has been fully adopted by the Open Compute Project.

Why is ONIE important?

Part of the whitebox switching promise is choice. That is to say, consumers of whitebox switches are attracted to the platform in part because they can run any compatible network OS they choose without having to change the switch itself. ONIE makes the task of loading a network OS of choice, and subsequently changing to a different network OS later, trivial.

Another reason ONIE is important is that it allows switch & network OS vendors to focus on switches and operating systems, and not be distracted by the minutiae of loading a network OS onto a specific switching platform. The business of creating switches and network operating systems and ensuring interoperability is challenging enough.

The end result is that ONIE is an arbiter of openness in the whitebox switching world.

Does ONIE have a role outside of whitebox switching?

At this time, ONIE is solving a problem specific to whitebox switching. Cisco, Juniper and other incumbents who have their own methods for loading an OS have no immediate reason to jump on the ONIE bandwagon. That said, I predict that we’ll see ONIE support from established vendors who port a flavor of their network OS to whitebox platforms. Am I predicting an Open IOS or Open Junos? I’m hearing enough rumors to know such things are at the very least being discussed.

Established vendors who already have their network OS running on merchant silicon based switches could sell an “open” flavor of their network OS to cash in on the whitebox movement. There is significant long-term financial value to Cisco, Juniper, etc. in separating their hardware and software; this is a path forward. Assuming my logic holds up, I believe ONIE could well catch on industry-wide.

How does ONIE work?

Here are the basics.

  1. The first time the network switch is powered up, ONIE boots onto the local switch CPU. Note that ONIE doesn’t know anything about switch ASICs. Remember, ONIE’s purpose is to load the network OS installer, and not be the network OS.
  2. ONIE finds the switch management Ethernet interface (the interface used to manage the switch, not the interfaces used for data center traffic) and configures it.
  3. With a connection to the management network established, ONIE looks for an available network OS installer from a local USB drive or out on the network via HTTP, FTP or TFTP. The source for ONIE to query is typically served to ONIE via a DHCP option. But for those environments where making a change to a DHCP server in onerous, ONIE will query canned IP addresses & strings based on the switch architecture or vendor name, working through a series of potential filenames from most to least specific. This is known as the “waterfall method.” For PXE shops, ONIE is compatible.
  4. Once discovered, the network OS installer is transferred to the switch, and ONIE executes it.
  5. The installer runs, and the network OS is installed onto the switch.
  6. Subsequent power-ups of the switch result in the network OS loading, and not ONIE. ONIE is still available, but is not used unless called upon by the switch consumer to uninstall a network OS or install a different network OS.

Can folks test ONIE without owning a compatible whitebox switch?

Yes. An ONIE VM can be compiled for KVM environments. To do this, you need to visit the source code repository to get the code, and follow the instructions here.

Where is there more information about ONIE?

About the author

Ethan Banks

Most people know me because I write & podcast about IT on the Packet Pushers network. I also co-authored "Computer Networks Problems & Solutions" with Russ White.

Find out more on my about page.

1 comment


Most people know me because I write & podcast about IT on the Packet Pushers network. I also co-authored "Computer Networks Problems & Solutions" with Russ White.

Find out more on my about page.

Subscribe via Email

Receive complete, ad-free posts in your inbox as I publish them here.