- Published at
DentOS Overview
An overview on the DentOS Open NOS. We explore it's background, the specific use-cases this NOS caters to, along with other relevant details.
What is DentOS
DentOS is an Open NOS initially released on Dec 12, 2020 (based on GitHub repo timeline), aimed at the Distributed Enterprise Edge use-case. One could argue the initial image was for pre-release testing only, and not production ready, but for all intents and purposes let’s go with this timeline.
Dent was originally developed to support Amazon’s retail store deployment needs. The primary intent appears to have been augmentation of their “Just Walk Out” offering, where several disparate endpoints are connected into store edge cabinets. As with many other organisations that have explored whitebox options (think Microsoft, NVIDIA, etc.), this has afforded options around large scale, vendor agnostic hardware acquisition for edge switching functionality.
Who contributes to DentOS?
Although this project was initiated by a collection of organisations deemed Premier Members, several additional have now joined the fray to contribute towards project direction, testing and NOS code. Current members, as of the v3.2 update, are as follows:
DentOS Components
DentOS leverages the SwitchDev framework to provide ASIC availability to the native Linux kernel. SwitchDev sits between the user space applications and hardware specific drivers, providing a standard communication method between each layer.
Refer to our SwitchDev Guide for a detailed breakdown on this topic.
Hardware Support
Based on the DentOS support matrix, there appears to be a limited number of chassis which are currently supported when compared to other NOS. At the time of writing, I’m counting a total of x9 supported chassis based on the support matrix.
That’s not to say this system is not worth looking into. The fact SAI integration is being worked on is very promising when it comes to future chassis support. Recent repo updates also speak volumes to integration of additional enterprise features over time. This NOS is lining up to be a strong contender in the aforementioned enterprise edge use-case!
Features
DentOS have made strides in providing features and protocols used commonly in the Distributed Enterprise Edge environments. Many of these leverage existing projects or packages to augment to solution, as is typically done with other open-source NOS. Key features, as of v3.2, include:
- FRR (Free-Range Routing)
- PoE (Power over Ethernet)
- 802.1Q tagging
- Port Isolation (via local IP flag)
- NAT-44 and PT (NAT on SVI and L3 interface)
- VRRP (Virtual Routing Redundancy Protocol)
- IPRoute2
- BRCTL (Bridge Control)
- LLDP (Link Layer Discovery Protocol)
- LACP (Link Aggregation Control Protocol)
- RSTP (Rapid Spanning Tree Protocol)
- MSTP (Multi Spanning Tree Protocol)
- 802.1X (Port-based Network Access Control)
- QoS (Quality of Service)
- IGMP Snooping (Multicast Group Management)
- Egress Traffic Policing (Port-based QoS)
- Data Plane Policing (BUM, data packets, control packets)
The following features were added into the most recent v3.2 (Cynthia) minor release:
- Hardened regression testing
- Image virtualisation support
- VRF feature enabled
- Additional hardware/chassis support (Delta Electronics)
Dent has also made some recent moves to integrate Switch Abstraction Interface (SAI) into the platform, as seen in their future roadmap. The addition of SAI support will only facilitate an enhanced rate of hardware support over time. A much needed boost to Dent’s hardware support.
SAI is an API abstraction layer for standardised access to specialised ASICs. The initiative was primarily pushed by Microsoft to support their SONIC NOS.
Missing or Pending Features
DentOS very much remains a work in progress when it comes to certain enterprise features. There remains quite some disparity when compared to larger, closed-source vendor solutions, though one could argue a majority of these lean heavily towards the Data Centre / Service provider space than enterprise edge.
Don’t expect to be rolling this out into production and have the same feature availability you would typically find in Cisco, Juniper, HPE, etc. hardware/NOS offerings.
Here are some heavy hitting, enterprise related items that are currently depicted on the DentOS roadmap:
- VXLAN/BGP-MP EVPN
- MPLS (Multi-Protocol Label Switching)
- PVST (Per-VLAN Spanning-Tree)
- MC-LAG (Multi-Chassis Link Aggregation)
- PoE LLDP Integration
- ZTP (Zero-Touch Provisioning)
- Multicast Routing
Other minor features include:
- Support of Dual Partitioning
- Open Config support
Note that not all of these are being actively worked on at this point in time. From my point of view, organisations contributing to the codebase will each have their own agenda in terms of feature, function, stability requirements, etc. These all play into viewed roadmap item priority, with the potential for each org to prioritise in differing directions.
Needless to say, closing out some of the mentioned roadmap feature set would make this quite a formidable player in the space. We’ll be keeping a close eye here around development progress and feature release.
Upcoming Articles
Upcoming technical articles will investigate the DentOS image build process, relevant tooling and efficiencies, feature deployment and highlight of any relevant caveats or issues found with the NOS.
Any updates will be retroactively mentioned as they are released.
Reference Links
All recent updates can be found at the Official Linux Foundation site. Anyone after more information around DentOS deployment guides, support and source code, can refer to the below links:
Offical DentOS Website | Open Network Linux | DentOS GitHub Repo | Future Roadmap