SONiC: Software for Open Networking in the Cloud
Lihua Yuan Microsoft Azure Network Team for the SONiC Community
SONiC: Software for Open Networking in the Cloud Lihua Yuan - - PowerPoint PPT Presentation
SONiC: Software for Open Networking in the Cloud Lihua Yuan Microsoft Azure Network Team for the SONiC Community SONiC Community @ OCP Mar 2018 Application & Management SONiC [Software For Open Networking in the Cloud] Switch Platform SAI
Lihua Yuan Microsoft Azure Network Team for the SONiC Community
SONiC Community @ OCP Mar 2018
SONiC [Software For Open Networking in the Cloud] SAI [Switch Abstraction Interface] Silicon/ASIC Switch Platform Application & Management
T2-1-1 T2-1-2 T2-1-8 T3-1 T3-2 T3-3 T3-4
Tier 1 – Row Leaf
T2-4-1 T2-4-2 T2-4-4
Tier 2 - Spine
T1-1 T1-8 T1-7
…
T1-2
… …
Tier 3 - Regional Spine
T1-1 T1-8 T1-7
T1-2 T1-1 T1-8 T1-7
T1-2
Tier 0 - Rack
…
T0-1 T0-2 T0-20
Servers
…
T0-1 T0-2 T0-20
…
T0-1 T0-2 T0-20 SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC SONIC
Servers Servers
Faster Technology Evolution Reduce Operational Burden Open & Modular Software Choices of Vendors & Platforms
Disaggregation with SONiC
ابحرم 你好
Aloha
Bonjour
Hola Hello Network Applications
Simple, consistent, and stable network application stack Helps consume the underlying complex, heterogeneous hardware easily and faster
Network Applications
नम सॎते
create_router_interface create_neighbor create_next_hop get_switch_attribute create_host_interface create_route Port Port RIF RIF Route Next Hop Neigh create_router_interface get_switch_attribute create_host_interface
Chassis Supplier ASIC Supplier Linux OCP Various
ASIC Switch Hardware Transceiver Fan/Power/LED Network Applications
ASIC SDK SAI
Kernel User Space
Switch State Service
Network device drivers netdev ASIC PCI driver HW Peripheral drivers PAL - sysfs Object Library
Linux
APP DB SAI DB Object Library w/ Redis Backend
ASIC
SAI Network Applications SyncD Orchestration Agent
SAI DB: persist SAI objects App DB: persist App objects DB backend: redis with object library SyncD: sync SAI objects between software and hardware Orchestration Agent: translation between apps and SAI objects, resolution of dependency and conflict Key Goal: Evolve components independently
*Used only when querying ASIC settings and configurations
SAI DB
13
KEY SAI_OBJECT_TYPE:SAI_OBJECT_ID
SAI_OBJECT_ATTR SAI_OBJECT_ATTR SAI_OBJECT_ATTR VALUE VALUE VALUE
SAI_OBJECT_TYPE_NEXT_HOP:00000001
SAI_NEXT_HOP_ATTR_IP SAI_NEXT_HOP_ATTR_TYPE 10.0.0.1 SAI_NEXT_HOP_IP
SAI DB
APP DB SAI DB SyncD Orchestration Agent
ASIC Transceivers
Host Intf netdev
BGP Neighbor
Zebra BGPd socket SAI Route SAI Redis fpmsyncd
APP DB SAI DB SyncD Orchestration Agent
ASIC Transceivers
Host Intf netdev
LACP Neighbor
teamD socket SAI lag
teamD netdev SAI Redis teamsyncd
LLDP SNMP BGP DHCP TEAMD SYNCD SWSS Utility Platform SONiC Base Image Database
Routing LLDP SNMP DHCP TEAMD SYNCD SWSS Utility Platform SONiC Base Image Databa se Quagga FRR GoBGP
Arista BGP
SPINE SPINE SPINE LEAF
SONiC
TOR TOR TOR Server: SWARM
1 2 1 6 1 2 1 6
Before they fly the space shuttle ….
They practice all activities and test all equipment extensively in a high-fidelity simulators
25