Complete Bring-Up Flow — Whitebox Switch
🧭 Complete Bring-Up Flow — Whitebox Switch (Example: UfiSpace S9600-32X with SONiC)
⚙️ Stage 1 – Power-On & BMC Initialization
-
BMC powers up first.
-
It’s an independent microcontroller (running its own Linux).
-
Controls fans, PSU, sensors, LEDs.
-
You can access it via the OOB Ethernet port before the host boots.
-
-
You can use IPMI commands:
So even if the NOS crashes, BMC stays alive.
🧩 Stage 2 – ONIE Bootloader
ONIE = Open Network Install Environment (like PXE + grub for switches).
-
The x86 CPU loads ONIE from flash.
-
ONIE brings up the management interface (usually
eth0orma1). -
It does a DHCP request with:
-
Option 60 (“onie_vendor”)
-
Option 61 (serial or MAC)
-
-
DHCP server responds with:
-
IP address for ONIE
-
Optional URL of NOS image (
onie-installer)
-
-
ONIE downloads and installs the NOS image (e.g., SONiC
.bin).
So you’ll see something like:
🐚 Stage 3 – NOS (SONiC) Boot
-
After installation, ONIE reboots → SONiC starts.
-
SONiC is a Linux-based NOS built from containers:
-
Host OS (Debian)
-
Docker containers:
-
bgp(FRR) -
syncd(ASIC driver) -
swss(Switch state service) -
lldp,snmp,teamd,database…
-
-
🔧 Stage 4 – ASIC SDK & SAI Initialization
-
SONiC loads the vendor SDK (from Broadcom, Marvell, etc.).
-
The SDK exposes low-level APIs through SAI (Switch Abstraction Interface).
-
syncduses SAI to configure the ASIC:
So at this stage, the data plane hardware is ready to forward packets.
📡 Stage 5 – Control Plane Setup
-
swssanddatabasecontainers populate Redis with config info. -
bgp(FRR) reads from Redis → starts routing daemons. -
LLDP, DHCP relay, SNMP, etc. start in their respective containers.
-
The switch now has:
-
Management IP on
eth0/ma1 -
ASIC ports up and linked
-
Routing/bridging protocols active
-
🌐 Stage 6 – In Operation
Now you can:
-
SSH to the management IP (via in-band or OOB)
-
Use
show interfaces status(reads ASIC counters via SAI) -
Control via gNMI, SNMP, or RESTCONF
The BMC continues to run independently — you can power-cycle, check temps, or do a serial-over-LAN session without touching SONiC.
🧱 Overall Architecture Summary
| Layer | Component | Purpose |
|---|---|---|
| Hardware | ASIC (Q2C, Trident, Tofino etc.) | High-speed packet forwarding |
| SDK + SAI | Vendor library + SAI interface | Bridge between NOS and ASIC |
| NOS | SONiC containers | Network features, routing, mgmt |
| Bootloader | ONIE | NOS installation & recovery |
| OOB Controller | BMC (IPMI) | Power, sensors, remote access |
Comments
Post a Comment