SONiC Systems Engineering
Open-Source SONiC, Enterprise SONiC, ASICs, SAI, and Modern Switch Forwarding
A course for an experienced, CCNP-level network engineer. It does not re-teach BGP, VLANs, or EVPN/VXLAN — it shows how those familiar concepts are implemented differently in SONiC, from the operating-system layer down to the physical ASIC.
- Total time
- ~40 h
- Modules
- 5
- Lecture / lab
- 15–17 / 20–22 h
- Lessons · labs
- 30 · 27
Hybrid labs: a VMware/vCenter virtual environment (the simulator) plus optional dedicated physical SONiC switches (the real aircraft).
The complete SONiC stack
Intent enters at the top and must travel all the way to the ASIC to move a packet. The whole course is about following it down — and finding where it stops.
Course principle #1
Do not stop at asking what is configured. Determine how far the intended state traveled through the system.
Course principle #2
A healthy control plane does not guarantee correct forwarding.
What you will be able to do
Read SONiC as a distributed system: databases, containers, and state flow.
Trace a BGP route from FRR through SAI to ASIC-facing state and forwarding.
Reason about the switching pipeline, SAI objects, and hardware resource limits.
Build, trace, and break EVPN/VXLAN across all its layers.
Evaluate open-source vs enterprise SONiC for a real organization.
Run failure-injection labs in a safe virtual environment, then validate on hardware.
Five modules, ~8 hours each
SONiC Architecture & Operating Model
Stop seeing a monolith. Start seeing a distributed system in one switch.
Open module
Control Plane, FRR & Route Lifecycle
How familiar routing protocols integrate into SONiC's service and database model.
Open module
ASICs, Switching Pipelines, SAI & Forwarding
How a logical route, MAC, ACL, or tunnel becomes real behavior in silicon.
Open module
EVPN/VXLAN in SONiC
Your EVPN/VXLAN knowledge, meet SONiC's implementation model.
Open module
Open-Source SONiC vs Enterprise SONiC
How upstream SONiC differs from supported vendor distributions — and how to choose.
Open module