**Cumulus Linux** is a Linux-based network operating system designed to run on white-box switches, bringing Linux userspace and open source tooling to physical switching hardware. Originally fully open-source, Cumulus was acquired by NVIDIA in 2020 — now more commercial but still widely deployed. --- ### First Principle: A network switch is just a Linux computer with fast packet-forwarding ASICs. Treat it like one. Cumulus was the first major NOS to put a full Linux userspace on a switch — meaning operators could use `apt`, `systemd`, [[Ansible]], and standard Linux tooling to configure and manage switches. This dramatically lowered the barrier for software engineers to work on network infrastructure. --- ### Key Considerations - **NCLU/NVUE**: Cumulus provides a simplified CLI (NCLU, more recently NVUE) on top of standard Linux networking. Experienced users can also configure directly via `ifupdown2` and Linux networking. - **[[FRRouting (FRR)]] Native**: Cumulus ships FRR as its routing engine. BGP Unnumbered — Cumulus's signature feature — lets you build a full BGP fabric without IP address management on each link. - **[[Ansible]] Integration**: Cumulus maintains Ansible modules and roles for automated configuration. The Cldemo reference topology provides a complete Ansible-automated reference fabric. - **vs [[SONiC]]**: SONiC is more actively developed today and has broader hyperscaler adoption. Cumulus was the pioneer that proved the model. - **NVIDIA NetQ**: NVIDIA's telemetry tool for Cumulus networks — provides fabric-wide visibility but introduces vendor dependency. --- ### How It Fits ``` White-box switching hardware → Cumulus Linux (NOS, Linux userspace) → [[FRRouting (FRR)]] (BGP/OSPF routing) → [[Ansible]] (automated config management) ``` [[SONiC]] | [[FRRouting (FRR)]] | [[Ansible]] | [[Open Source Hyperscaler MoC]]