flexible ethernet - open compute project

8
1 © 2018 Mellanox Technologies | Confidential Flexible Ethernet Old world New world? Real world $$$ 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

Upload: others

Post on 08-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

1© 2018 Mellanox Technologies | Confidential

Flexible Ethernet

Old world New world?

Real world

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

2© 2018 Mellanox Technologies | Confidential

SAI programmability

P4 S

AI C

om

pile

r

SAI pipeline

Application SandBox

SAI host adapter

Auto generated SAI objects

Pars

er

po

rt

Fle

x1

Brid

ge

Fle

x2

route

r

fle

x3

tun

ne

l

de

pa

rse

r

Tunnel.p4

User programs

HW RO blocks

telemetry.p4

flex M&A flex parser flex de-parser

nat.p4

NOS

tunnel

app

Telemetry

appNat app

SONiC

Multiple switching SW options, develop apps not NOS

SAIFlexAPI – uniform API for all programing language

EB

PF

SA

I Com

pile

r

Tunnel

nat.c

telemetry.c

3© 2018 Mellanox Technologies | Confidential

P4-16

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”

- “ Programmable blocks” i,.e. flexible blocks within a solid target

- “In general, P4 programs are not expected to be portable across different

architectures”

4© 2018 Mellanox Technologies | Confidential

SAI P4 model

SAI pipeline

Pars

er

po

rt

Fle

x1

Brid

ge

Fle

x2

route

r

fle

x3

tun

ne

l

de

pa

rse

r

SAI

Architecture

Model

p4 code

provided by

customer

p4 code

provided by

SAI BM

5© 2018 Mellanox Technologies | Confidential

SAI P4 Compiler Architecture –HW

• P4 version - P416,

• Front End – Relates only to the

language.

• Syntactic phase – BNF based. Last time we

read the source files. Output: Symbol tables.

• Semantic phase – Verifies the Symbol

tables. Extends the default semantic checks

with platform specific ones.

• Mid End

• SAI Code gen (PI) generate SAI objects

• Back End

• target code gen (PD) – vendor specific

• SAI p4 switch(Soft Switch)

Compiler Front End Syntactic Phase

Semantic Phase

Mid End

Back End Target PD CodeGen

SAI PI Coregent

P4 Source

Files P4 Files

By SAI

By The

Customer

Vendor SDK/FW/HW

ASIC

SoftSwitch

6© 2018 Mellanox Technologies | Confidential

Tunnel encap cache

Tunnel decap

Underlay routing

Goal • Connect Bare Metal machine to cloud VMs

Challenges• Non standard encapsulation logic

• 10M tunnels

Solution

• Programmable pipeline implementation for encapsulation logic across Mellanox ICs

• Uniform APIs (SAI) for the ConnectX-5 eSWITCH and Spectrum switch

• On top of legacy switching features

• Host/ Switch integrated pipe

• Switch role: cache for active recent flows

• Host role - scale

Tunnel encap

VM

VM

VM

Bare Metal Host

SONIC

Adding Bare Metal services to the Cloud

Bare Metal Host

7© 2018 Mellanox Technologies | Confidential

P4 S

AI C

om

pile

r

SAI pipeline

SAI host adapter

Auto generated SAI objects

BMToR

pipeline

Pars

er

po

rt

Brid

ge

route

r

de

pa

rse

r

BMToR.p4

User programs

SAI blocks Programmable Blocks

NOSBMToR

ApplicationSONiC

Multiple switching SW options, develop apps not NOS

SAIFlexAPI – uniform API for all programing language

SAI Programmability use case

8© 2018 Mellanox Technologies | Confidential

P4 Program Auto generated SAI .h fileP4 - SAI compilation