2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW...

86
NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun Zhang, Yuta Tokusashi University of Cambridge July 24 – July 28, 2017 http://NetFPGA.org

Transcript of 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW...

Page 1: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

NetFPGA SummerCourse

Presented by: Andrew W Moore, Noa Zilberman, Gianni AntichiStephen Ibanez, Marcin Wojcik, Jong Hun Han,

Salvator Galea, Murali Ramanujam, Jingyun Zhang, Yuta Tokusashi

University of CambridgeJuly 24 – July 28, 2017

http://NetFPGA.org

Page 2: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ThepowerofOpenSource:buildyourownproofofconcept!

GianniAntichi

ComputerLaboratoryUniversityofCambridge

[email protected]://www.cl.cam.ac.uk/~ga288

Page 3: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

FPGA

Memory

PCI-Express

CPU Memory

NetFPGA Driver

Networking Software

10GbE

10GbE

10GbE

10GbE

10GbE

10GbE

10GbE

10GbE

EDA Tools(Xilinx,

Mentor, etc.)

VerilogmodulesinterconnectedbyFIFOinterfaces

NetFPGA:NetworkedFPGA

My Design

(10GE MAC is soft/replaceable)

Page 4: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

BlueSwitch:AMultiTableOpenFlowSwitch

Yourdesigncanlookcompletelydifferent!

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

Page 5: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

• Opensource,RISCbasedSoC architectures• RISC-V– RISC-VISAsoftprocessor,LinuxOS• CHERI– 64bitMIPSsoftprocessor,BSDOS

NetSoc:NetFPGA +OpenSourceProcessors

PrototypingRISCBased,ReconfigurableNetworkingApplicationsinOpenSource,HanJ.H.,Zilberman N.,Zeeb B.A,Fiessler A.andMoore A.W.,TechnicalReport,CoRR abs/1612.05547,2016

Page 6: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

pciebench:anopensourcetoolforbenchmarkingPCIExpress

thereisalimitedunderstandingofPCIe functionality,northetrade-offsthatmustbemadetogetbest-performancefromPCIe systems

• pciebench toolopensourceavailable• ItbuildsonNetFPGA andNetronome boards

400

500

600

700 800 900

1000 1100 1200 1300 1400 1500 1600 1700

8 16 32 64 128 256 512 1024 2048

Late

ncy

(ns)

Transfer Size (Bytes)

LAT_RD (NFP6000-HSW)LAT_RD (NetFPGA-HSW)

LAT_WRRD (NFP6000-HSW)LAT_WRRD (NetFPGA-HSW)

Page 7: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

PowerEfficientMAC• APlatformfor100Gb/spower-savingMACdesign(e.g.lights-outMAC)

• PortingMACdesigntoSUMEpermits:– Powermeasurements– Testingprotocol’sresponse– Reconsiderationofpower-savingmechanisms– Evaluatingsuitabilityforcomplexarchitecturesandsystems

Page 8: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

• Acceleratingnetworkingservices• Compiling.Net programs

– Tox86– Tosimulationenvironment– TomultipleFPGAtargets

Emu:RapidFPGAPrototypingofNetworkingServicesinC#

Emu:RapidPrototypingofNetworkingServices,SultanaN.,etal.,Usenix AnnualTechnicalConference(ATC),July2017

Page 9: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OpenSourceNetworkTester

• NetFPGAplatformenabledthefirstprototypeofOSNT.

• TheopennatureofNetFPGAecosystemrepresentsthebeststartingpointforopenHW/SWcommunity-orientedprojects.

• OSNTaimstobuildacommunityasNetFPGAdid.OSNT:OpenSourceNetworkTester,Antichi G.etal.,IEEENetworkMagazine,SpecialissueonOpenSourceforNetworking:ToolsandApplications,2014

Page 10: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Opensourcehardwareandsoftwareplatformfornetworkmonitoringandtesting.

https://osnt.orgLowcost,flexibletoupdate,scale-out,noCPUusage,nanosecondresolutionmeasurements

OSNT:OpenSourceNetworkTester

OSNT:OpenSourceNetworkTester,Antichi G.etal.,IEEENetworkMagazine,SpecialissueonOpenSourceforNetworking:ToolsandApplications,2014

Page 11: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

NetworkTesterComparison

Cost Flexibility Precision LineRate

DPDK,Moongen

Page 12: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OpenSourceNetworkTester§ OSNTisanopensourceHW/SWplatformfornetworktesting

OSNTHardware

OSKernelNetFPGAKernelDriver

OSNTApplications

nf0 nf1 nf2 nf3

Generator Monitor

x8LanesPCIEGen3

Port0 Port1 Port2 Port3

§ WritteninC,Python§ OpenAPIandregisters

§ WritteninVerilogHDLusingstandardXilinxprotocols

§ Userscanaddandmodifythemodules

Page 13: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OpenSourceNetworkTester§ OSNTisanopensourceHW/SWplatformfornetworktesting

OSNTHardware

OSKernelNetFPGAKernelDriver

OSNTApplications

nf0 nf1 nf2 nf3

Generator Monitor

x8LanesPCIEGen3

Port0 Port1 Port2 Port3

§ WritteninC,Python§ OpenAPIandregisters

§ WritteninVerilogHDLusingstandardXilinxprotocols

§ Userscanaddandmodifythemodules

YOURApplications

YOURLogic

Page 14: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OpenSourceNetworkTesterOSNTcurrently is:

§ 4x10Gbpstrafficgenerator.§ Capturecardwithhighresolutiontimestamp(6.4nsec).§ GPS-readysynchronizedmeasurementkit.

Page 15: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OpenSourceNetworkTesterOSNTcurrently is:

§ 4x10Gbpstrafficgenerator.§ Capturecardwithhighresolutiontimestamp(6.4nsec).§ GPS-readysynchronizedmeasurementkit.

astartingpoint

Page 16: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTArchitecture

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

Page 17: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

OSNTmonitor

OSNTArchitecture

Page 18: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

OSNTmonitor OSNTgenerator

OSNTArchitecture

Page 19: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

OSNTmonitor OSNTgenerator

OSNTArchitecture

Page 20: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTRXinterface

MACPCS/PMASFPPacketin

§ TimestamptakenbeforeRXqueuestoreduceFIFO-inducedjitter

Page 21: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTRXinterface

MACPCS/PMASFPPacketin

§ TimestamptakenbeforeRXqueuestoreduceFIFO-inducedjitter§ Timestampoverwritespacketdataataconfigurableoffset

Page 22: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

OSNTmonitor OSNTgenerator

OSNTArchitecture

Page 23: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTXinterface

MACPCS/PMA

SFP Packetout

§ TimestamptakenafterTXqueuestoreduceFIFO-inducedjitter

Page 24: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTXinterface

MACPCS/PMA

SFP Packetout

§ TimestamptakenafterTXqueuestoreduceFIFO-inducedjitter§ Timestampoverwritespacketdataataconfigurableoffset

Page 25: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTXinterface

MACPCS/PMA

SFP Packetout

§ TimestamptakenafterTXqueuestoreduceFIFO-inducedjitter§ Timestampoverwritespacketdataataconfigurableoffset§ Ifenabled,itwilloverwrite128bitdata:

Dst MAC ... signature pkt count tx timestamp ...

32 bit 32 bit 64 bit

Page 26: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ Freerunningcounter?

§ Wecouldusea64-bitcounterdrivenbythe156.25MHzsystemclock(naïvesolution)

Page 27: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ Freerunningcounter?

§ Wecouldusea64-bitcounterdrivenbythe156.25MHzsystemclock(naïvesolution)

– providesnomeansbywhichtocorrectoscillatorfrequencydrift

Page 28: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ Freerunningcounter?

§ Wecouldusea64-bitcounterdrivenbythe156.25MHzsystemclock(naïvesolution)

– providesnomeansbywhichtocorrectoscillatorfrequencydrift– producestimestampsexpressedinunitof6.4ns

Page 29: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ Freerunningcounter?

§ Wecouldusea64-bitcounterdrivenbythe156.25MHzsystemclock(naïvesolution)

– providesnomeansbywhichtocorrectoscillatorfrequencydrift– producestimestampsexpressedinunitof6.4ns– fixed-pointrepresentationoftimeinsecondsmoreusefultohost

Page 30: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ DirectDigitalSynthesis(DDS)isthesolution!!

§ DDSisatechniquebywhicharbitraryvariablefrequenciescanbegenerated

Page 31: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ DirectDigitalSynthesis(DDS)isthesolution!!

§ DDSisatechniquebywhicharbitraryvariablefrequenciescanbegenerated

– needatimereferencetocorrectDDSrate(theGPSprovideslong-termstability)

Page 32: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ DirectDigitalSynthesis(DDS)isthesolution!!

§ DDSisatechniquebywhicharbitraryvariablefrequenciescanbegenerated

– needatimereferencetocorrectDDSrate(theGPSprovideslong-termstability)

– allow64bitvalueinfixed-pointrepresentation

Page 33: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTTimestamp

§ DirectDigitalSynthesis(DDS)isthesolution!!

§ DDSisatechniquebywhicharbitraryvariablefrequenciescanbegenerated

– needatimereferencetocorrectDDSrate(theGPSprovideslong-termstability)

– allow64bitvalueinfixed-pointrepresentation– how Endace DAGcardworks!

Page 34: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

OSNTmonitor OSNTgenerator

OSNTArchitecture

Page 35: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTGenerator

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

PCAPReplayEngine

QDRController

QDRController

DDR3Controller

DDR3Controller

PCIeDMA

To/FromQDR

Memory

To/FromQDR

Memory

To/FromDDR3

Memory

To/FromDDR3

Memory

DM:DelayModule

RL:RateLimiter

TS:Timestamp

InputArbiter

To/FromHostPC

Page 36: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTGenerator

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

PCAPReplayEngine

QDRController

QDRController

DDR3Controller

DDR3Controller

PCIeDMA

To/FromQDR

Memory

To/FromQDR

Memory

To/FromDDR3

Memory

To/FromDDR3

Memory

DM:DelayModule

RL:RateLimiter

TS:Timestamp

InputArbiter

To/FromHostPC

§ 4x10GPCAPreplayengine

§ SRAM:27MB§ DRAM:8GB

Page 37: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTGenerator

§ 4x10GPCAPreplayengine

§ SRAM:27MB§ DRAM:8GB

§ DelaymoduleRL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

PCAPReplayEngine

QDRController

QDRController

DDR3Controller

DDR3Controller

PCIeDMA

To/FromQDR

Memory

To/FromQDR

Memory

To/FromDDR3

Memory

To/FromDDR3

Memory

DM:DelayModule

RL:RateLimiter

TS:Timestamp

InputArbiter

To/FromHostPC

Page 38: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ 4x10GPCAPreplayengine

§ SRAM:27MB§ DRAM:8GB

§ Delaymodule§ Ratelimiter

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

PCAPReplayEngine

QDRController

QDRController

DDR3Controller

DDR3Controller

PCIeDMA

To/FromQDR

Memory

To/FromQDR

Memory

To/FromDDR3

Memory

To/FromDDR3

Memory

DM:DelayModule

RL:RateLimiter

TS:Timestamp

InputArbiter

To/FromHostPC

OSNTGenerator

Page 39: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ 4x10GPCAPreplayengine

§ SRAM:27MB§ DRAM:8GB

§ Delaymodule§ Ratelimiter§ TXtimestamping

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

RL

DM

TS

10GTx

PCAPReplayEngine

QDRController

QDRController

DDR3Controller

DDR3Controller

PCIeDMA

To/FromQDR

Memory

To/FromQDR

Memory

To/FromDDR3

Memory

To/FromDDR3

Memory

DM:DelayModule

RL:RateLimiter

TS:Timestamp

InputArbiter

To/FromHostPC

OSNTGenerator

Page 40: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

InputArbiter Monitor Generator Output

Queues

HOST

PCIe

OSNTmonitor OSNTgenerator

OSNTArchiteture

Page 41: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

OSNTMonitor

Page 42: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

packetenteringtheboard

OSNTMonitor

Page 43: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ RXtimestamp

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

OSNTMonitor

Page 44: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ RXtimestamp

§ Statscollector

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

OSNTMonitor

Page 45: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ RXtimestamp

§ Statscollector

§ TCAM-basedPacketFilter(5-tuple)

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

OSNTMonitor

Page 46: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ RXtimestamp

§ Statscollector

§ TCAM-basedPacketFilter(5-tuple)

§ Cut-Hashfunction

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

OSNTMonitor

Page 47: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

§ RXtimestamp

§ Statscollector

§ TCAM-basedPacketFilter(5-tuple)

§ Cut-Hashfunction

10GRx

10GRx

10GRx

10GRx

RxQ RxQ RxQ RxQ

StatisticsCollector

HeaderExtractor

TCAM

DecisionModule

PacketsFIFO

Cut/Hash

TimeStamp

InputArbiter

Aggregatestatisticstohostsoftware

TCAMrulemanager

Cut/Hashsettingfromhost

Hostanalysissoftware

CoreMonitoring

FilteringStage

PCIe DMA

OSNTMonitor

Page 48: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTGUI§ OSNTGUI– ExtensibleGeneratorandMonitorGUIinPython.§ Command-Line-Interfaceisalsoavailable.

GeneratorGUI

MonitorGUI

Page 49: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

49

OSNTcommandline§ Command-Line-Interfaceisavailabletocreateascriptautomatingthetestprocess.

Page 50: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNTinaction

Enablingnetworkinnovationwithaccuratenetworkingsystemscharacterization

Page 51: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Forwardinglatencymeasurement§ Unloadedswitchesbaselinelatencynocrosstraffic

TS-Tx

OSNT

OSKernel

Application

TS-Rx

deviceundertest

Page 52: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Forwardinglatencymeasurement

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

Page 53: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

SDNTestingSuite

• SDNenablesunprecedentedflexibleandextensiblenetworkcontrol

• OpenFlow specificationslackperformancesemantics– Whatdoesabarrierreplysignifies?

• OpenFlow performanceaspectsareyettobeexplored– HowdoyoucomparetwoOpenFlow switches?

• OpenFlow flexibilityisnotalwaysportableonswitchASIC

Page 54: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OpenFlow toolstack X-Ray

Page 55: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControlApplicationComplexity

OpenFlow toolstack X-Ray

Page 56: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControlApplicationComplexity

ControlChannelCapacity

OpenFlow toolstack X-Ray

Page 57: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControlApplicationComplexity

ControlChannelCapacity

Scarceco-processorresourcesSwitchOSschedulingisnontrivial

OpenFlow toolstack X-Ray

Page 58: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControlApplicationComplexity

ControlChannelCapacity

Scarceco-processorresourcesSwitchOSschedulingisnontrivial

ASICdriver->policyconfiguration

OpenFlow toolstack X-Ray

Page 59: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControlApplicationComplexity

ControlChannelCapacity

Scarceco-processorresourcesSwitchOSschedulingisnontrivial

ASICdriver->policyconfiguration

OpenFlow toolstack X-Ray

Page 60: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

SDNController

SDNnetworksperformances

THEPROACTIVECASE

01.Barrierrequest02.Setofnewrules

Page 61: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

SDNController

THEPROACTIVECASE

Barrierreply01.Barrierrequest02.Setofnewrules

SDNnetworksperformances

Page 62: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

SDNController

THEPROACTIVECASE

Barrierreply01.Barrierrequest02.Setofnewrules

HWdatapathSWcontroller

SDNnetworksperformances

Page 63: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

SDNController

THEPROACTIVECASE

Barrierreply01.Barrierrequest02.Setofnewrules

HWdatapath

SWcontroller?

SDNnetworksperformances

Page 64: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Control/DataplaneconsistencyConsistentpolicyupdateaffectssecurityinSDN.

SW0Untrusted

Port1

Untrusted

SW1

SW2

Trusted

Port2

U->SW1T->SW2

SwitchController

Targetstateneededtoupdate

T->SW1U->SW2

Page 65: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNT

OSKernel

Application

NIC

0 1 2 3

ControlChannel

Control/Dataplaneconsistency

Page 66: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNT

OSKernel

Application

NIC

0 1 2 3

ControlChannel

1.Initialrule:0® 1

2.Ruleupdate :0® 2

(asasetofdifferentIPrules)

Control/Dataplaneconsistency

Page 67: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNT

OSKernel

Application

NIC

0 1 2 3

ControlChannel

1.Initialrule:0® 1

2.Ruleupdate :0® 2

(asasetofdifferentIPrules)

Wegenerateanaggregate2Gbpswith150Bpackets

Control/Dataplaneconsistency

Page 68: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

Control/Dataplaneconsistency

Page 69: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

TCAM+RAM

Control/Dataplaneconsistency

Page 70: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

RAM

Control/Dataplaneconsistency

Page 71: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

Control/Dataplaneconsistency

Page 72: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

Control/Dataplaneconsistency

Aflowmodificationrequiresonlytochangethe“action”intheRAM.TheflowisalreadypresentintheTCAM.

Page 73: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Blueswitch:Enablingprovablyconsistentconfigurationofnetworkswitches,HanJ.H.,Mundkur P.,Rotsos C.,Antichi G.,DaveN.,MooreA.W.,NeumannP.G.,ACM/IEEEANCS,Oakland,CA,USA,7-8May,2015

Control/Dataplaneconsistency

AflowinsertionrequiresalsotowritethematchingfieldsintheTCAM.

Page 74: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Dataplane performances

0

5

10

15

20

0 200 400 600 800 1000

inse

rtio

n d

ela

y (s

ec)

number of flows

Pica8 OVSPica8 L2/L3

Force10

Flowadditiondelay

OFLOPS-Turbo:TestingtheNext-GenerationOpenFlow Switch,Rostos C.,Antichi G.,Bruyere M.,OwezarskiP.,MooreA.W.,IEEEICC,London,UK,8-12June,2015

Page 75: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Dataplane performances

0

5

10

15

20

0 200 400 600 800 1000

inse

rtio

n d

ela

y (s

ec)

number of flows

Pica8 OVSPica8 L2/L3

Force10

Flowadditiondelay

OFLOPS-Turbo:TestingtheNext-GenerationOpenFlow Switch,Rostos C.,Antichi G.,Bruyere M.,OwezarskiP.,MooreA.W.,IEEEICC,London,UK,8-12June,2015

Page 76: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

0

0.5

1

1.5

2

2.5

3

0 200 400 600 800 1000

inse

rtio

n d

ela

y (s

ec)

number of flows

Pica8 OVSPica8 L2/L3

Force10

Dataplane performancesFlowmodificationdelay

OFLOPS-Turbo:TestingtheNext-GenerationOpenFlow Switch,Rostos C.,Antichi G.,Bruyere M.,OwezarskiP.,MooreA.W.,IEEEICC,London,UK,8-12June,2015

Page 77: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

0

0.5

1

1.5

2

2.5

3

0 200 400 600 800 1000

inse

rtio

n d

ela

y (s

ec)

number of flows

Pica8 OVSPica8 L2/L3

Force10

Dataplane performancesFlowmodificationdelay

OFLOPS-Turbo:TestingtheNext-GenerationOpenFlow Switch,Rostos C.,Antichi G.,Bruyere M.,OwezarskiP.,MooreA.W.,IEEEICC,London,UK,8-12June,2015

Page 78: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

SDNnetworksperformances

THEREACTIVECASE

SDNController

packet

Page 79: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

THEREACTIVECASE

SDNController

packet

SDNnetworksperformances

Page 80: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

THEREACTIVECASE

SDNController

packet

SDNnetworksperformances

Page 81: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

THEREACTIVECASE

SDNController

packet modifiedpacket

SDNnetworksperformances

Page 82: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControllerperformancesinSDNnetworks

Controlchannel

DataTrafficLink

OSNT

OSKernel

OFController OFSwitch

OFControllers

Page 83: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

ControllerperformancesinSDNnetworks

Page 84: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

OSNT-SUME-liveGithub§ OSNT-SUME-liveispubliclyavailable.

Page 85: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Nick McKeown, Glen Gibb, Jad Naous, David Erickson, G. Adam Covington, John W. Lockwood, Jianying Luo, Brandon Heller, Paul Hartke, Neda Beheshti, Sara Bolouki, James Zeng,

Jonathan Ellithorpe, Sachidanandan Sambandan, Eric Lo, Stephen Gabriel Ibanez

Acknowledgments(I)

NetFPGA Team at Stanford University (Past and Present):

NetFPGA Team at University of Cambridge (Past and Present):Andrew Moore, David Miller, Muhammad Shahbaz, Martin Zadnik, Matthew Grosvenor, Yury

Audzevich, Neelakandan Manihatty-Bojan, Georgina Kalogeridou, Jong Hun Han, Noa Zilberman, Gianni Antichi, Charalampos Rotsos, Hwanju Kim, Marco Forconesi, Jinyun Zhang,

Bjoern Zeeb, Robert Watson, Salvator Galea, Marcin Wojcik, Diana Andreea Popescu, Murali Ramanujam

All Community members (including but not limited to):Paul Rodman, Kumar Sanghvi, Wojciech A. Koszek, Yahsar Ganjali, Martin Labrecque, Jeff

Shafer, Eric Keller, Tatsuya Yabe, Bilal Anwer, Yashar Ganjali, Martin Labrecque, Lisa Donatini, Sergio Lopez-Buedo , Andreas Fiessler, Robert Soule, Pietro Bressana, Yuta Tokusashi

Patrick Lysaght, Kees Vissers, Michaela Blott, Shep Siegel, Cathal McCabe

Steve Wang, Erik Cengar, Michael Alexander, Sam Bobrowicz, Garrett Aufdemberg,Patrick Kane, Tom Weldon

Page 86: 2017 Summer Camp day5 part1 - University of Cambridge€¦ · §OSNT is an open source HW/SW platform for network testing OSNT Hardware NetFPGA OS Kernel Kernel Driver OSNT Applications

Acknowledgements (II)