The white box switch pursues the open design of the white box, which requires the ability to break the vertical monopoly of suppliers and open fixed network functions. Therefore, in recent years, the research on the white box switch system has mainly focused on the principle of open equipment. The openness of equipment is an important principle of the open architecture design of white box switches, which can effectively break the vertical monopoly of suppliers. Traditional switches adopt an integrated design of software and hardware, and the underlying chips and upper-level systems are tightly bound together. In contrast, white-box switches use standardized chip interfaces to decouple the underlying chips and upper-layer applications, use an open boot system to decouple bare-metal hardware and operating systems, and use open-source operating systems to further promote the decoupling of hardware and software. It fully realizes the openness of equipment and breaks the vertical monopoly of suppliers.
Standardized chip interface
The standardization of the chip interface can decouple the underlying chip and the upper layer application, presently presenting a trend in two directions. One direction is to unify the chip interface, the interface standard is formulated by open organizations, and each hardware manufacturer is responsible for the realization of the specific SDK. For example, the SAI contributed by Microsoft to the OCP defines a set of abstract interfaces for Ethernet switch ASIC chips, and each hardware manufacturer provides SDKs for their respective chips to adapt, so that different manufacturers and different chips can be controlled in a unified way. With the development of the white box switch market and industrial ecology, the traditional switch chip giant Broadcom has also open sourced its own unified chip interface OpenNSL. Similar to SAI, OpenNSL is also a definition of a set of chip abstract interfaces, which requires the implementation support of a specific SDK, but OpenNSL currently only supports Broadcom’s ASIC chip architecture.
Another direction is to replace the chip interface, use the Linux kernel driver to directly control the underlying chip, and cancel the chip SDK with different interfaces. switchdev is a Linux kernel mode switching device driver model, which can equally abstract all underlying infrastructure, and assist in offloading the data plane forwarding to the switch ASIC chip, while allowing users to use the standardized API exposed by the Linux kernel to control the underlying chip, directly in the kernel mode The driver replaces the SDK in user mode.
Open guidance system
The openness of the boot system allows custom installation of the operating system and decoupling of the bare metal hardware and the operating system. The current white box switch adopts the unified and open guidance system ONIE launched by OCP. Traditional network devices integrating software and hardware directly use the bootloader to install the operating system, while ONIE runs between the two. When the device is started, the open ONIE guides the operating system installer to complete the installation of the corresponding system. ONIE provides an open installation environment for network devices, software and hardware are decoupled, and different operating systems can be installed on the same bare metal device.
Open source operating system
The open source of the operating system has greatly intensified the degree of openness of the device. On the one hand, the open source of the operating system itself gives it more choices, which promotes the decoupling of bare metal hardware and the operating system; on the other hand, the open source operating system introduces its own abstract chip interface, which promotes the standardization of chip interfaces and the underlying Decoupling of chips and upper-layer applications. The first milestone of operating system open source is ONL. ONL is a reference network operating system recommended by OCP, which provides the necessary software collection for operating white box switches. ONL has two characteristics: one is compatible with ONIE, which promotes the decoupling of bare-metal hardware and operating systems in the industry; the other is componentization, which can run independently or be used as components to build new operating systems.