SONiC: Software for Open Networking in the Cloud Lihua Yuan - - PowerPoint PPT Presentation

sonic software for open networking in the cloud
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

SONiC: Software for Open Networking in the Cloud

Lihua Yuan Microsoft Azure Network Team for the SONiC Community

slide-2
SLIDE 2

SONiC Community @ OCP Mar 2018

SONiC [Software For Open Networking in the Cloud] SAI [Switch Abstraction Interface] Silicon/ASIC Switch Platform Application & Management

slide-3
SLIDE 3

Microsoft Cloud Network - 15 Billion Dollar Bet

slide-4
SLIDE 4

SONiC Is Powering Microsoft Cloud At Scale

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

slide-5
SLIDE 5

Goals of SONiC

Faster Technology Evolution Reduce Operational Burden Open & Modular Software Choices of Vendors & Platforms

Disaggregation with SONiC

slide-6
SLIDE 6

SONiC: Software for Open Networking in the Cloud

  • Switch Abstraction Interface (SAI)
  • Cross-ASIC portability
  • Modular Design with Switch State Service (SwSS)
  • Decoupling software components
  • Consistent application development model
  • Containerization of SONiC
  • Serviceability
  • Cross-platform portability
  • SONiC Operational Scenarios
  • Hitless upgrade
  • Network emulation with CrystalNet
slide-7
SLIDE 7

ابحرم 你好

Aloha

Bonjour

Hola Hello Network Applications

Simple, consistent, and stable network application stack Helps consume the underlying complex, heterogeneous hardware easily and faster

Switch Abstraction Interface (SAI)

Network Applications

Switch Abstraction Interface Network Applications

नम सॎते

slide-8
SLIDE 8

Switch Abstraction Interface

  • CRUD operation over extensible

Entity/Attribute/Value data model

  • Reference data-plane behavior model

supports various devices

  • Significant feature/partner growth since

announcement in 2015

  • https://github.com/opencomputeproject/SAI
slide-9
SLIDE 9

SAI Function Calls & Pipelines in SONiC

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

  • Register SAI APIs to achieve specific functions and control logging separately
  • Construct the right order to execute SAI function calls
  • Refer to SAI Pipelines to create the right packet action flow
slide-10
SLIDE 10

SONiC: Software for Open Networking in the Cloud

  • Switch Abstraction Interface (SAI)
  • Cross-ASIC portability
  • Modular Design with Switch State Service (SwSS)
  • Decoupling software components
  • Consistent application development model
  • Containerization of SONiC
  • Serviceability
  • Cross-platform portability
  • SONiC Operational Scenarios
  • Hitless upgrade
  • Network emulation with CrystalNet
slide-11
SLIDE 11

SONiC High Level Architecture

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

slide-12
SLIDE 12

Switch State Service (SwSS)

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

slide-13
SLIDE 13

How SAI Objects are Stored in SAI Database

  • APP DB:
  • Application oriented
  • Human readable
  • SAI DB:
  • SAI oriented
  • Query-able and machine parse-able
  • Snapshot of the current SAI state
  • APIs:
  • sai_create_api
  • sai_set_api
  • sai_get_api*
  • sai_remove_api

*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

slide-14
SLIDE 14

How Routing Works in SONiC

APP DB SAI DB SyncD Orchestration Agent

ASIC Transceivers

Host Intf netdev

BGP Neighbor

Zebra BGPd socket SAI Route SAI Redis fpmsyncd

slide-15
SLIDE 15

APP DB SAI DB SyncD Orchestration Agent

ASIC Transceivers

Host Intf netdev

LACP Neighbor

teamD socket SAI lag

How LAG Works in SONiC

teamD netdev SAI Redis teamsyncd

slide-16
SLIDE 16

SONiC Containerization

  • TEAMD
  • LLDP
  • BGP: Quagga or FRR
  • SNMP: Net-SNMP + SNMP subagent
  • DHCP Relay: isc dhcp
  • Platform: sensors
  • SWSS: switch state service
  • DB: Redis
  • Syncd: sairedis + syncd agent

LLDP SNMP BGP DHCP TEAMD SYNCD SWSS Utility Platform SONiC Base Image Database

slide-17
SLIDE 17

SONiC Containerization

Container Strength

  • Clean isolation
  • Easy deployment
  • Transactional
  • Run universal

SONiC iC Benefit its

  • Serviceability
  • Extensibility
  • Development agility
  • Cross-platform
slide-18
SLIDE 18

SONiC Containerization

Routing LLDP SNMP DHCP TEAMD SYNCD SWSS Utility Platform SONiC Base Image Databa se Quagga FRR GoBGP

Arista BGP

  • Components developed in

different environments

  • Source code may not be

available

  • Enables choices on a per-

component basis

slide-19
SLIDE 19

Hitless Upgrade Through Docker

SPINE SPINE SPINE LEAF

SONiC

TOR TOR TOR Server: SWARM

…… ……

1 2 1 6 1 2 1 6

  • Cloud users demand

zero-down time, but

  • Security patches, bug

fixes need to be rolled

  • ut in hours
  • New features need to be

rolled out in days

slide-20
SLIDE 20
slide-21
SLIDE 21

Before they fly the space shuttle ….

slide-22
SLIDE 22

They practice all activities and test all equipment extensively in a high-fidelity simulators

slide-23
SLIDE 23

25

SONiC Container Soft Switch

CrystalNet: A high-fidelity, cloud-scale network emulator

slide-24
SLIDE 24
  • Inviting contributions in all areas
  • New ideas on white/open network devices
  • New features, applications and tools
  • Download it, Test, Deploy!

Website: https://azure.github.io/SONiC/ Mailing list: sonicproject@googlegroups.com GitHub: https://github.com/Azure/SONiC Wiki: https://github.com/Azure/SONiC/wiki/

Open Invitation

slide-25
SLIDE 25