sonic - programmability, extensibility and beyond...•sonic is an integral element of our cloud sdn...

17

Upload: others

Post on 20-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering
Page 2: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

S O N i C -P r o g r a m m a b i l i t y , E x t e n s i b i l i t y

a n d B e y o n d

David A. Maltz

Distinguished Engineer

Microsoft Azure Networking

Page 3: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

Application & Management tools

SONiC [Software For Open Networking in the Cloud]

SAI [Switch Abstraction Interface]

Sil

ico

n/A

SIC

Sw

itch

Page 4: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

SONiC Recap – Containerized Open Source NOS

Reliability

Velocity

Platform Agnostic

Page 5: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

What Is New -

• SONiC supports Open Optical Monitoring (OOM)

• Richer features, thanks to• Alibaba: Vlan Trunk, TACACS, etc. and leading streaming telemetry work

• LinkedIn: leading FRR integration, BGP convergence and Open 19

• Tencent: leading VRF work

• Mellanox: leading RDMA work

• Richer classes of devices• Arista: modular chassis

• Marvell: ARM-based switch

• Richer scenarios via programmability

• SONiC Network Virtualization

Page 6: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

New Challenges from Broad Spectrum of Workload

software software

software software

management

management

Page 7: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

Case Study - VNET Peering in Legacy Network

Traditional Implementation

• VNET represented by VRF

• VNET1 peering with VNET2 implies copy routes from VNET1 to VNET2 and vice versa

• 1K VMs and 100 VNETs will require up to 10M routes !!! K- VMs per VNET 0 – VNETs VMs

1.1 VMs

1.1 VMs

1.1 VMs 2.1

VNET 1

VMs

1.1 VMs

1.1 VMs

1.1 VMs 1.1

VNET 3

VMs

1.1 VMs

1.1 VMs

1.1 VMs 3.1

Pe

erin

g

Pe

erin

g

VNET 2

ToR

VRF 1 router

VNET1 routers

VRF 2 router

VNET2 routers

VNET2 routers

VNET1 routers

VNET3 routers

VRF 3 router

VNET3 routers

VNET2 routers

Scalable Port 2

Port 1

Port 3

1K VMs and 100 VNETs will

require up to 10M routes !!!

Service A

Service B

Service C

Page 8: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

VNET Peering in Programmable Network

SONiC Implementation • Two match action tables

• Port to VNET • Key: Port

• Action Set metadata • Where metadata = VNET ID

• VNET routing • Key: metadata, prefix• Where metadata vector of VNET

peers

• Action: next hop

• VNET1 peering with VNET2 -> turn on VNET1 VNET ID in VNET routing metadata of all routes originated by VNET2• A single route per VM

• VM update requires a single route update

VMs

1.1 VMs

1.1 VMs

1.1 2.2.2.2

VNET 1

VMs

1.1 VMs

1.1 VMs

1.1 1.1.1.1

VNET 3

VMs

1.1 VMs

1.1 VMs

1.1 3.3.3.3

Pe

erin

g

Pe

erin

g

VNET 2

SONIC ToR

Service B

Service C

Port 2

Service A Port 1

Port 3

key action

port Set metadata

VNET ID

1 0x1

2 0x2

3 0x4

key action

Allowed

VNET ID

Prefix Next hop

0x1 1.1.1.1 VM ..

0x2 2.2.2.2 VM …

0x4 3.3.3.3 VM ..

key action

Allowed

VNET ID

Prefix Next hop

0x3 1.1.1.1 VM ..

0x7 2.2.2.2 VM …

0x6 3.3.3.3 VM ..

1K VMs and 100 VNETs need only

100k routes

Page 9: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

SAI Part: Programmable SAI API

P4 S

AI C

om

pile

r

SAI pipeline

Application SandBox

SAI host adapter

Auto generated SAI objects

Pa

rse

r

po

rt

Fle

x1

Bri

dge

Fle

x2

rou

ter

fle

x3

tun

ne

l

de

pa

rse

rTunnel.p4

User programs

HW RO blocks flex M&A flex parser flex de-parser

NOS

tunnel app

• Multiple switching SW options, develop apps

• SAIFlexAPI – uniform API for all programing language

FLEX

Page 10: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

SONIC Part: Supporting VNET

SONiC Switch

SONiC Stack

RestAPI

ServerQuagga ARP

SWSS

SAI with tunnel extension

ASIC

Orchagent

• RestAPI: Provide RestAPI for external

• Allow external control to config the switch

• Provides real-time data path counters and resource monitoring

• Use OpenAPI specification (swagger)

• SWSS/Orchestration Agent

• Use SAI with tunnel extension API

• Provide tunnel support to upper applications

Page 11: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

Linux Server

SONiC Switch

SONiC Stack

RestAPI

ServerQuagga ARP

SWSS

SAI - ASICSAI – DPDK

ASICCPU

VXLAN

Encap

DPDK

Orchagent

SONiC Part: Achieving Scalability via DPDK

• SWSS/Orchestration agent: manage multiple SAI

instances

• Manage tunnel entry cache between DPDK and

ASIC

• Server: data plane scalability and programmability

• 16M tunnels

• 40G/100G line rate

• 25 ~ 30 us forwarding latency

• ASIC: High port density and rich data plane

functionality

• Tunnel entry cache

• Underlay routing

• Traffic policing/shaping

• ACL

• Mirroring

Page 12: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

Demo: SONiC for Network Virtualization

Demo setup

BM1

VM 1 192.168.3.1

Po

rt 2

Po

rt 3

Port 1Port 4

SONIC-BMToR

VM 2 192.168.3.2

VM 3 192.168.3.3

Page 13: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

Demo: SONiC on Chassis Switch

Page 14: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

Moving Forward: Enabling WAN Scenarios

• Global network is growing exponentially, requires

• Agility for fast Time to Market feature release and defect remediation

• To minimize hardware dependencies

• To scale and grow the WAN efficiently while controlling costs

• Sonic is an integral element of our cloud SDN solutions for intelligent traffic management

• Two major roles

• Edge Peering Router

• Backbone Router

Page 15: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

More Demos in Microsoft (A11) and Partner BoothsPizza box and Chassis

Programmability

Rich Hardware Platform Supported

Virtualization

New ASIC Supported

Page 16: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering

• OCP SONiC/SAI workshop on 3/22

• Inviting contributions in all areas

• SONiC/SAI

• Hardware platform

• New features, applications and tools

• Download it, test it and use it!

Website: https://azure.github.io/SONiC/

Mailing list: [email protected]

Source code: https://github.com/Azure/SONiC/blob/gh-pages/sourcecode.md

Wiki: https://github.com/Azure/SONiC/wiki/

Open Invitation

Page 17: SONiC - Programmability, Extensibility and Beyond...•Sonic is an integral element of our cloud SDN solutions for intelligent traffic management •Two major roles •Edge Peering