The newest capabilities of the open-source NOS Stratum are directed at optical transport support for ONF’s ODTN platform as exemplified by Cassini chassis.
ONF (Open Networking Foundation) is a driving force behind transforming network infrastructures and career business models. The organization serves as an umbrella for building open source software solutions by applying disaggregation, white box economics, and software-defined standards to powerfully alter the Telecom industry.
One year ago, ONF planted the seed of Stratum and PLVision – as an organization’s member – chose to contribute in the direction of optical transport support. This particular project is an open-source NOS enhancement to provide support WAN (wide area networks) optical links. As a result, ONF’s ODTN platform acquired a new capability.
We, at PLVision, have spent the past 12 years developing network operating systems (NOSes), integrating, porting, and extending both open source and proprietary systems, then landing them on various platforms based on major merchant silicons.
PLVision leveraged our advanced skills in open source NOS development and integration to bring Stratum into the ODTN platform as a solid foundation of the ONF stack. As a result, the project enabled an open-source NOS for an effective white-box model involving optical transport.
ODNT & Optical Networks
Our motivation behind ODTN (Open Disaggregated Transport Network) is that it is an ONF reference design focused on bringing a higher level of programmable control over components of an optical network by leveraging common open interfaces. The idea was to take the optical network, separate it into different parts and pieces, input open software, then add open and standard interfaces to control it.
ONF is pushing SDN principles out of the familiar data center environment to apply them to optical wide area networks (WAN). One of the use cases for this reference platform was the need to control a wide area link, connecting two data centers.
Optical network stacks between data centers are disaggregated into stand-alone components by injecting a set of common open APIs and data models (protocols like OpenConfig, gNMI, and Transport API). We approached ODTN from the edge of the optical network and, in particular, from transponders that are bridging the packet and optic worlds.
Where does Stratum fit?
The scheme below shows a simplified ODTN architecture with key software components and interfaces between them. The ONOS controller (a software piece) provides a TAPI interface to upper-level software and uses OpenConfig to control the network elements. Being ONF already had a network operating system in place, it was easy to extend its capabilities with control over optics, putting Stratum in charge of controlling the optical edge.
One of ODTN use cases was to bring an optical link between two DC (data center) links. There are two separate leaf-spine topologies on both sides. To connect the topologies, you need to attach a transponder to a leaf switch and put an optical link between them.
Adding a new type of device puts a new requirement on the controller, which leads to the implementation of a new northbound interface. Otherwise, the transponders would be simple black box links without flexible, automatic management and would require human efforts to operate them. The more convenient solution is to merge the leaf switch with a transponder, giving one box the ability to perform communication in both packet and optical networks.
This merge enabled us to obtain a single network element for operating and controlling, which resulted in fewer management interfaces and connections needed to handle the controller.
Enter the Cassini Platform
We needed a device that could fit into the ODTN puzzle. Edgecore’s Cassini box was introduced last year and became our solution to the missing piece. It is a whitebox switch contributed to OCP, which combines both packet and optical ports. It is based on Broadcom Tomahawk+ switching silicon and provides pluggable interfaces for optical transceivers.
However, there was still a lack of open software to complete the performance needs of this white box.
Extending Stratum in the Direction of Optics
Stratum was chosen as Cassini’s platform software. On the north-bound side, Stratum provides gRPC based interfaces: P4Runtime to deal with switching pipeline configuration and gNOI for port management. OpenConfig had defined data-models to work with optical lines configurations, so we had to enable appropriate paths for gNMI and implement handlers in Stratum. This included the operational mode of the port, frequency, output power, and other configurational attributes of optical ports.
On the south-bound side, we have a familiar SDKLT to work with switching silicon. It is an existing part of Stratum, designed to deal with the packet processing side.
TAI, another open initiative driven by the Telecom Infra Project (TIP), was used to control the optical ports. The key idea is to create a common denominator interface for different types of transponders so that you can control with the same set of functions, but different vendors. It is similar to SAI (Switch abstraction interface) in SONiC software.
We established well-defined interfaces above and below Stratum. However, we were still missing an extension of the Stratum software to enable control translations and communications between the gNMI and TAI.
API & Stratum Perspectives
If you review OpenConfig’s definitions for optical devices and transceivers, you will find tons of options and attributes. For this reason, we began with a minimal set of configuration attributes to cover ODTN version 1.0. The controller software on the ONOS side was close to completion by the ONF, so our part was to enable Stratum to work in this combination.
Once understanding the externals of Stratum, it’s important to define the internals. Stratum’s “glue layer” is central to this project. It is a high-level architecture with the highlighted components changed to enable the support of transponders: gNMI, SwitchInterface, Node/Chip and Chassis Manager, and TAI API.
In returning to the inter-DC ODTN use case, there was a link established between two leaf switches from different network fabrics. The endpoints of this link are controlled via the gNOI interface, which is the next step in completing an open-source stack for the ODTN reference design.
ONF and PLVision were able to extend Stratum by offering new types of ports and provide configuration for different networks in a single box. While the list of supported attributes is still limited, it is only a matter of time before the complete functionality will be available, providing more flexible optical networks to be enabled for ONOS and Stratum.
Disaggregation and separation are common words being tossed around. In practice, clear separation of responsibilities between the components is critical with each piece covering its own area. The interfaces should remain sharp and clean. This means we should avoid overloading specific layers with functions that don’t belong to them. By putting this combination of interfaces together (OpenConfig, TRPC, TAI) with Stratum between them, we have proven this can work and the separation can be completed effectively.
In this project, ONF and PLVision combined results from the multiple open-source initiatives and provided a foundation to build an ODTN platform based on open source technologies. By having the lightweight Stratum in the middle, we created a glue layer between the control plane and the underlying hardware. Our combination of OpenConfig + gNMI + Stratum + TAI components proved to be effective.
As a result, we provided a mixture of traditional Ethernet networking with wide-area optical transport in a single solution. Soon, we will implement the complete interfaces and bring more use-cases to life. Being an open source project, we welcome everyone to join and contribute to our work.
Come see the Stratum + TAI + ONOS demo at the OCP Global Summit on March 4-5 in San Jose. Visit the ONF booth – and discuss more open-source NOSes with PLVision’s team.
Latest posts by Leonid Khedyk (see all)
- The Best Open Network Operating System: SONiC, Stratum or DENT OS? - December 14, 2020
- Thin NOS Approach with Open vSwitch for New Hardware Products - October 21, 2020
- Switchdev: Unlocking the Power of Open Linux - May 6, 2020