Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(SAI)
SAI Contributors
Momentum, Timeline
• Supporting Companies (Dell, Mellanox, Microsoft, Broadcom, Facebook, Intel)
V0.9.0 • 1st proposal
December 2014
• August SIGCOMM
• 7 Contributors
2nd Demo • Extended functionality like QoS, ACL, etc.
▪~ 3 releases a year
IS NOT
Software
IS SONiC Switch State
Networking
Components Service
Fully Open Sourced switching platform - Increased choices for OCP end users
What Is SONiC
Easy portability
Fast evolution
Object Library
Various
OCP
Chassis Switch Hardware
Supplier
ASIC Fan/Power/LED Transceiver ASIC
Supplier
Linux
Switch State Service (SSS)
Object Library w/
SyncD: sync SAI objects between software and
Redis Backend
hardware Orchestration Agent
SyncD
Key Goal: Evolve components independently
SAI
ASIC
How Routing Works in SONiC
APP
DB
Orchestration Agent
socket
Transceivers
How LAG Works in SONiC
LACP
teamD teamsyncd
Neighbor
APP
DB
Orchestration Agent
socket
SAI Redis SAI DB
teamD
netdev
Host Intf SyncD
netdev
Transceivers
SONiC Platform Support
▪ PAS is implemented as daemon (PAS daemon)
▪ monitor system device health and raises failure events
Object Library API
▪ detects insertion/removal events (fan, PSU’s, transceivers)
PAS Daemon
▪ detects over-temperature events
▪ allows applications to control system devices (get/set) SDI API
User Space
▪ fan speed: fan controller driver used to set/get fan speed (through I2C ioctl calls or sysfs calls, HW Peripheral drivers
depending on fan controller device implementation)
▪ Implementation details of how “fan device entity” attributes are accessed is encapsulated by
SDI API
▪ SDI library implementation can use either sysfs/kernel drivers or user space
drivers
SONiC Platform Applications
Thermal Control
(Cooling)
▪ Platform Applications
Transceiver
▪ use the PAS Object Library API to control Status and Control
(set/get) system devices
LED Control
▪ register for events published by PAS daemon
▪ Device Insertion / removal
▪ Other events (e.g. over-temperature events, device Object Library API
failures)
PAS Daemon
SDI API
For instance, a thermal control (cooling) application User Space
can register for “over-temperature Device
events and increase (set) fan speed values Drivers
sysfs
HW Peripheral drivers
Demo: SONiC Walk Through
EEPROM
Port Status
TCPDump
Redis
Neighbor
▪ How is this achieved?
1. Neighbor supports graceful restart
2. DUT request OA to freeze FIB
3. DUT uninstalls Quagga
4. DUT installs GoBGP DUT
AALF
AALF BBLF
BBLF CCLF
CCLF DDLF
DDLF EELF
EELF EELF
EELF
Protocol
Protocol Protocol
Protocol Protocol
Protocol Protocol
Protocol Protocol
Protocol Protocol
Protocol
Stack
Stack Stack
Stack Stack
Stack Stack
Stack Stack
Stack Stack
Stack
SAI
SAI SAI
SAI SAI
SAI SAI
SAI SAI
SAI SAI
SAI
.17
.17 .21
.1
.1 .17
.17 .17
.21
.1
.1 .5
.5 .5
.5 .9
.9 .9
.9 .13
.13 .13
.13
.17
.18
.2
.2 .6
.6 .10
.10 .14
.14 .2
.2 .6
.6 .10
.10 .14
.14
.22
.22 .22
.18
.18
01ToR
01ToR 02ToR
02ToR
Protocol
Protocol Protocol
Protocol
Stack
Stack 10.10.1.0 ((/30s
10.10.1.0 /30s)) Stack
Stack
SAI
SAI 10.10.2.0 ((/30s
10.10.2.0 /30s)) SAI
SAI
10.20.1/24 10.20.2/24
VLAN 851 VLAN 852
Host_C
Host_A
mgmt: mgmt:
mgmt:
192.168.200.10 192.168.200.11
192.168.200.42
lo0: 100.0.0.1 lo0: 100.0.0.2
mgmt:
192.168.200.40
Python Test Framework Demo
participation FANOUT
DELL S6100
▪ Use it!