2 minute read
Considerations when selecting a network OS
When selecting a network device OS, Luxoft recommends that developers consider the following best practices:
Working with newer kernel/OS versions is desirable for better community support
The OS should be kept as close as possible to the vanilla/ upstream variant; this makes maintenance and upgrades easier
Having HW components with upstream OS support is highly desired
• Open Source – successor of the Open Network Linux
• FRR (Free Range Routing)
• HW resource usage is lightweight
• Feature set based on the Linux Kernel support and FRR
• Small deployments
• Only Marvell support for now
• No chassis support
• For applications such as IoT Gateways, OpenWRT may be a better choice
Recommended OS solutions:
Yocto custom OS distribution Buildroot custom OS distribution
ONL based OS distribution Debian based OS distribution
Consider the tradeoffs between ease of use/development and the degree of customization required to meet the network device requirements:
Ease of development
• Looks and feel like desktop Linux by default
• Has large rootfs
• Designed for embedded system
• Minimum size rootfs by default
Strategic commercial platforms
Configuration/ Update
• Is well-known by the community, and only requires a basic knowledge of Linux
• High learning curve, difficult for beginners
• Designed for embedded system
Desktop distribution Yocto Buildroot System
• Small rootfs
• Quick to get up and running, and easy to understand
When it comes to strategic commercial platforms, DentOS and Sonic have their strengths and weaknesses. DentOS is an excellent choice for organizations that require a high level of flexibility in their network operations. Its compatibility with a wide range of hardware platforms makes it suitable for organizations that use diverse networking devices. Additionally, DentOS is backed by a strong community of developers who provide support and continuously improve the operating system.
• Package managerruntime
• Partial manual build and deployment
On the other hand, Sonic is suitable for organizations that require a stable and secure network operating system. Sonic’s use of a Debian base provides a secure platform for network administrators, and its features are optimized for high-end networking devices. Additionally, Sonic is backed by a strong community of developers who continuously improve the operating system.
Component customization
• Distribution component is already prepackaged
• Image build is fast
• Sources incremental builds
• Sources build
• Full manual build and deployment Build
• Rebuild needed when change in package
Alignment with chip vendors
• Can create your own Debian package, but can be difficult to maintain as it’s not designed for it
• Apply patches on Yocto sources (Designed for it)
• Apply patches via Makefile
When choosing between DentOS and Sonic, it is essential to consider alignment with chip vendors such as Marvell or Broadcom. Both DentOS and Sonic support a broad range of hardware platforms, including those from Marvell and Broadcom. However, it is essential to ensure that the operating system is optimized for the specific hardware platform to ensure optimal performance.
Maintainability
• Maintenance is done by the desktop community
• Support and porting must be done manually if using custom packages
• Yocto Project has long-term support
• Layers may require some corrections and updates
• Designed for continuous integration
• Buildroot git version branches and _br2- external_mechanism
Other chip vendors
Apart from Marvell and Broadcom, there are other chip vendors in the market, including Intel and Qualcomm. Both DentOS and Sonic support hardware platforms from these vendors. When choosing between the two operating systems, it is essential to ensure that the hardware platform is compatible with the operating system.
Source: https://witekio.com/blog/yocto-vs-the-competition-which-is-the-best-build-system/