Over the last few months, we have been doing testing of the SDN controllers Open Daylight Helium SR3 (mostly via the Brocade Vyatta Controller v1.2) and ONOS Cardinal v1.2. In this initial article we will start to compare the controllers, focusing on scale, specifically the number of switches that can be handled, by running both OpenFlow 1.0 and 1.3 switches emulated via IXIA and using physical via Pica8 switches.
Note: In the latest version of ONOS (Cardinal) v1.2, there is an issue ONOS handling emulated OpenFlow v1.3 from IXIA, so all scale testing in ONOS was done using OpenFlow 1.0. Also, in ONOS the term “node” references a copy of ONOS (we run two nodes in our tests) while in Open Daylight, the term “node” refers to a OpenFlow switch.
One of the main differences between the ONOS and Open Daylight/BVC is in the controls and information available directly from the Graphical User Interface (GUI).
The ONOS GUI has multiple panes including Summary, Node(s) and Controls.
The ONOS GUI displays end hosts in a well defined fashion, you can see them spanning out from the switches.
The default Open Daylight GUI is defined by the features installed and can include features such as a pane to display Nodes, a Yang UI and Yang Visualizer.
When attempting to display end hosts, the Open Daylight GUI is not as clean as ONOS as the hosts are interlaced with switches.
In the above screen capture of Open Daylight you can see both Nodes (Switches) and Hosts.
Brocade Vyatta Controller
The GUI for the Brocade Vyatta Controller (BVC) is cleaner than the default Open Daylight GUI and in this screen shot has extra modules for their Vyatta vRouter 5600 EMS and their “Path Explorer” application.
The current way of displaying Hosts and Switches in Open Daylight/BVC is not easy to work with nor does it scale well.
In scale testing, we started with 100 Switches and scaled up to 400 Switches, each switch holding 12 hosts. While Open Daylight (via BVC) was able to scale to 400 switches, ONOS stopped functioning before 400.
Here is BVC with 400 Switches, 800 links and multiple (96 out of 4800) hosts sending traffic to each other.
Here is ONOS when it has reached capacity and is no longer able to handle the number of switches/links/hosts that are being sent to it.
The above screen shot shows two ONOS nodes with 400 switches, 800 links and 0 hosts (we are attempting to send traffic between 48 hosts). While the devices (switches) are in the database, the hosts are not in the database and the GUI has become unstable and no longer shows any information.
Both ONOS and Open Daylight are solid products when acting as SDN controllers with multiple southbound and northbound interfaces. The testing done here only focuses on OpenFlow and specifically on scale. The Brocade version of Open Daylight is well packaged and has some nice extras such as the EMS application which ties in the Brocade Vyatta vRouter 5600. ONOS continues to focus on providing tools and information in their GUI and 300 switches is a perfectly reasonable amount and certainly more than anyone should put on one or two controllers.