Transcript
Page 1: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

1© 2018 Mellanox Technologies

7/2018

Switch programmability

Page 2: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

2© 2018 Mellanox Technologies

Switch Programmability

Old world Fully Programable

Hybrid

$$$ on legacy protocols

Best performance and stability

Low feature velocity

Write everything from scratch

Implement both standard and

new applications

Variant feature velocity

Legacy protocols don’t change

Application sand box for home grown needs

Extended HW longevity

High feature velocity

Vendor SDK

Page 3: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

3© 2018 Mellanox Technologies

Introduction to P4

v16v14

From the spec:

- Introducing P4 architecture description language

- “The P4 architecture can be thought of as a contract between the program and

the target”

Page 4: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

4© 2018 Mellanox Technologies

P4

Com

pile

r

Spetcum pipeline

Application SandBox

Mellanox SDK

Auto generated API

Pars

er

po

rt

Fle

x1

Brid

ge

Fle

x2

route

r

fle

x3

tun

ne

l

de

pa

rse

r

User programs

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

User.p4

NOS

User

app

Multiple switching SW options, develop apps not NOS

Programmability – Hybrid

SONiCSDK SDK

Page 5: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

5© 2018 Mellanox Technologies

Data Plane

P4 run time API

ToR.p4

fabric.p4

gNMI

Port configuration

telemetry

Pipeline load

Configuration

Control packets

Data Plane

P4 run time API gNMIData Plane

P4 run time API gNMI

Data Plane

P4 run time API gNMI

Fabric

ToRs

Hosts

Programmability - SDN• P4runtime = next gen Openflow• P4runtime API

• Define and configure the pipeline

• gNMI• gRPC network management

interface) • Port ,telemetry , QoS

• Uniform infrastructure for NIC and Switch

• True SDN • Controller define the pipeline • Uniform and flexible API• Flexible

Data Plane

P4 run time API gNMI

SDN controller

Page 6: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

6© 2018 Mellanox Technologies

7/2018

Demos

Page 7: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

7© 2018 Mellanox Technologies

Adding Bare Metal services to the Cloud7/2018

BMToR

Page 8: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

8© 2018 Mellanox Technologies

Tunnel encap cache

Tunnel decap

Underlay routing

Goal • Connect Bare Metal machine to cloud VMs

Challenges • Scalability

Solution• Programmable pipeline implementation for

encapsulation logic

Tunnel encap

VM

VM

VM

Bare Metal Host

SONIC

Adding Bare Metal services to the Cloud

Bare Metal Host

Page 9: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

9© 2018 Mellanox Technologies

VNET peering in Legacy network

▪ VNET-virtual network ▪ VNET peering -Peering

between virtual networks

Implementation: ▪ VNET -> VRF▪ VNET1 peering with VNET2 ->

copy route from VNET1 to VNET2 and vice versa

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

Peerin

g

VNET 2

SONIC-BMToR

BM B

BM C

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

BM A Port 1

Port 3

1K VMs and 100 VNETs will

require up to 10M routes !!!

Page 10: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

10© 2018 Mellanox Technologies

VNET peering in programmable network

▪ Two match action tables

▪ Port to VNET ▪ Key: Port ▪ Action Set metadata

▪ metadata = VNET ID

▪ VNET routing ▪ Key: metadata , prefix

▪ 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 ▪ Single update per VM route

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

VNET 2

SONIC-BMToR

BM B

BM C

Port 2

BM A Port 1

Port 3

key action

port matadata

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 ..

Pe

erin

g

Peerin

g

Page 11: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

11© 2018 Mellanox Technologies

P4

Com

pile

r

SAI pipeline

Application SandBox

Mellanox SDK

Auto generated API

Pars

er

po

rt BMToR

PipeLine

Brid

ge

rou

ter

tun

ne

l

de

pa

rse

r

User programs

HW RO blocks flex M&A flex parser

BMToR.p4

NOS

BMToR app

Programmability – adding BMToR

SONiC

Page 12: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

12© 2018 Mellanox Technologies

7/2018

P4Runtime demo with CORD/ONOS

Page 13: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

13© 2018 Mellanox Technologies

ONOS/CORD integration

▪ Jan 2018 – Integrated at ONL▪ Mellanox Spectrum driver added to ONOS release 1.13

▪ https://github.com/opennetworkinglab/onos/releases/tag/1.13.1

▪ Spectrum/P4 Runtime wiki instructions added to onosproject.org▪ https://wiki.onosproject.org/display/ONOS/Controlling+P4Runtime-enabled+Spectrum+switch+with+ONOS

▪ Spectrum demo at MWC Barcelona and ONS LA▪ Featured Spectrum as a fabric spine, next to Cavium spine and 2 BF leaves

Page 14: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

14© 2018 Mellanox Technologies

7/2018

Timed switch over

Page 15: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

15© 2018 Mellanox Technologies

Current Solution:

Why is timed switch needed?

▪ The endpoint need to make a ‘clean’ switch between different media streams▪ Clean = switch the stream at the frame

boundaries

▪ IGMP based implementation:▪ Use IGMP at the endpoint to join the new

flow while receiving the old one▪ Buffer both streams at the endpoint and

switch at the frame boundary to the new stream

▪ IGMP leave the old flow

▪ Down side▪ Endpoint link needs to reserve BW for

both old and new streams▪ Endpoint buffer need to have room for

both streams▪ Latency due to buffer size

Network

Controller

Multiview

er

Mix

Out

IP

Switch IGMP

Join/leave

Switch (S1,G1,Time>t1 -> S2,G2)

Page 16: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

16© 2018 Mellanox Technologies

Spectrum Programmable Pipeline Solution:

Why is timed switch needed?

▪ Timed switch implementation:▪ Match on RTP timestamp on received media

streams▪ All media flow time stamps are synchronized/

locked. All packets from the same frame carry the same stamp

▪ Switch between flows at the new timestamp value (exact match or regex)

▪ Advantages▪ Programmable hybrid pipeline: All the legacy

protocols (IGMP/ PTP/ PIM/…) are operational along the per flow timed switch implementation

▪ Network/endpoint links carries only relevant data i.e. link can be utilized to carry more streams

▪ Reduced frame buffer and latency at the endpoints

Network

Controller Multiview

er

Mix

Out

IP

Switch IGMP

Join/leave

Switch (S1,G1,Time>t1

-> S2,G2)

Page 17: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

17© 2018 Mellanox Technologies

Spectrum Programmable Hybrid Pipeline

P4

Com

pile

r

Data Plane

Application Containers

Spectrum SDK

Auto generated SDK objects

Pars

er+

RT

P

ch

ecks

Brid

ge

Matc

h a

ction

route

r

Matc

h a

ction

Buffer

de

pa

rse

r

User programs

HW RO blocks

• Hybrid – the integration between legacy (switch router) and programmable pipeline

• NOS (ONYX) and user applications run in parallel

SwitchTimed.p4

Switch timed

Bridge Router Policy

Engine

Sw

itch

tim

e

Page 18: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

18© 2018 Mellanox Technologies

P4 timed switch/ salvo program

Page 19: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

19© 2018 Mellanox Technologies

Switch between 2 streams on frame boundary, every 5 seconds

Timed Switch Demo

Page 20: Switch programmability · © 2018 Mellanox Technologies 2 Switch Programmability Old world Fully Programable Hybrid $$$ on legacy protocols Best performance and stability Low feature

20© 2018 Mellanox Technologies

Thank You


Recommended