Software Techniques for Programmable Data Plane Virtualization

Size: px
Start display at page:

Download "Software Techniques for Programmable Data Plane Virtualization"

Transcription

1 Software Techniques for Programmable Data Plane Virtualization David Hancock 1

2 Overview Motivation Approach Controller ( Control Plane Hypervisor ) HyPer4.p4 ( Data Plane Hypervisor ) Demo Wrap-up / Questions 2

3 Motivation Programmable data planes How dynamic are they? Can we insert functionality on demand without disrupting important flows? Multi-tenant environments Virtualization Isolation Abstraction Composition Introspection Standard functionality 3

4 Approach Software approach to expanding PDP device feature set HyPer4.p4: Data Plane Hypervisor Controller: Control Plane Hypervisor Slice definition / provisioning Slice management Compiler Loader Rule interpreter Composer 4

5 HyPer4 func.on defini.on func1.p4 func2.p4 func3.p4 func.on configura.on func1 rules func2 rules func3 rules controller HP4 defini.on HyPer4.p4 compiler HP4 configura.on rule interpreter HyPer4 table HyPer4 table entries rules composer P4 device HyPer4 M-A table M-A table... M-A table parser deparser 5

6 P4 P4 device 6

7 P4 func.on defini.on func.p4 P4 device func M-A table M-A table... M-A table parser deparser 7

8 P4 func.on defini.on func.p4 func.on configura.on func table entries func table entries func table rules M-A table M-A table... P4 device M-A table func parser deparser 8

9 HyPer4 HP4 defini.on HyPer4.p4 M-A table M-A table... P4 device M-A table HyPer4 parser deparser 9

10 HyPer4 func.on defini.on func1.p4 func2.p4 func3.p4 HP4 defini.on HyPer4.p4 compiler HP4 configura.on HyPer4 table HyPer4 table entries rules P4 device HyPer4 M-A table M-A table... M-A table parser deparser 10

11 HyPer4 func.on defini.on func1.p4 func2.p4 func3.p4 func.on configura.on func1 rules func2 rules func3 rules HP4 defini.on HyPer4.p4 compiler HP4 configura.on rule interpreter HyPer4 table HyPer4 table entries rules P4 device HyPer4 M-A table M-A table... M-A table parser deparser 11

12 HyPer4 func.on defini.on func1.p4 func2.p4 func3.p4 func.on configura.on func1 rules func2 rules func3 rules controller HP4 defini.on HyPer4.p4 compiler HP4 configura.on rule interpreter HyPer4 table HyPer4 table entries rules composer P4 device HyPer4 M-A table M-A table... M-A table parser deparser 12

13 HyPer4.p4: Packet Tagging action a_set_context(vdev_id, vingress) { modify_field(meta.vdev_id, vdev_id); } modify_field(meta.vingress, vingress); table tset_context { } reads { standard_metadata.ingress_port : exact; } actions { a_set_context; } control setup { if (meta.vdev_id == 0) { } apply(tset_context); // 13

14 HyPer4 func.on defini.on func1.p4 func2.p4 func3.p4 func.on configura.on func1 rules func2 rules func3 rules controller HP4 defini.on HyPer4.p4 compiler HP4 configura.on rule interpreter HyPer4 table HyPer4 table entries rules composer P4 device HyPer4 M-A table M-A table... M-A table parser deparser 14

15 HyPer4 Controller 15

16 Northbound API Administrator create_device <dev name> <ip_addr> <port> \ create_slice grant_lease list_devices list_slices reset_device revoke_lease <dev_type> <# entries> <ports> <slice name> <slice name> <dev name> <entry limit> <ports> <dev name> <slice name> <dev name> 16

17 Northbound API Slice Manager create_virtual_device <p4 path> <vdev name> destroy_virtual_device <vdev name> interpret <vdev name> <API style> <command> interpret_file <vdev name> <API style> <command> \ <file> lease insert append remove replace <vdev name> [args] list_devs list_vdev list_vdevs 17

18 Southbound API Device class defines interface send_command do_table_add do_table_modify do_table_delete various multicast-related methods Device subclasses implement Bmv2-SSwitch Agilio 18

19 Compiler/Interpreter Task: P4 programs à object-code-like HyPer4 rulesets à rule interpreter guidance Subtasks: metadata field addressing All metadata fields consolidated into HyPer4.p4 s meta.data field Reads/writes done with bitmasks and bitshifts applied to meta.data parsing matching actions control flow 19

20 Compiler/Interpreter Subtasks: Parsing parser start { extract(ethernet); return select(ethernet.ethertype) { 0x0806: parse_arp; default : ingress; } } parser parse_arp { extract(arp); return ingress; } second pass default: extract 20 B parser parse_control import_pr valid_headers: 0b11 or 0b10 [ethernet][arp] ingress M+A default first pass parse_select: or 42 B imported pipeline_config 0x0806 in PR[12-13]: extract 42 B 20

21 Compiler/Interpreter Subtasks: Matching 21

22 HyPer4.p4: Matching Exact matching vs arbitrary fields: Use ternary matching rules include mask Strategy: apply mask to pr.data to isolate relevant bits 22

23 HyPer4.p4: Actions match result: set match id, primitive code set_primitive_metadata invoke table specific to primitive & param types triggered action executes primitive update state more primitives? to next match 23

24 Loader Object code : tset_pipeline_config a_set_pipeline :[vdev ID] 1: [STDMETA_INGRESS_PORT_EXACT] 0x80[9x00s] 0 t_mod_41 mod_stdmeta_egressspec_stdmeta_ingressport : [vdev ID] &&&0:[MAX PRIORITY] 24

25 Loader Object code : virtualized table (end of setup ) ac@on func@on ID parse_state tset_pipeline_config a_set_pipeline :[vdev ID] 1: [STDMETA_INGRESS_PORT_EXACT] 0x80[9x00s] 0 egress handling mode ID of 1 st match table valid headers bitmap (0b1000 : ethernet only) t_mod_41 mod_stdmeta_egressspec_stdmeta_ingressport : [vdev ID] &&&0:[MAX PRIORITY] 25

26 Loader Object code : tset_pipeline_config a_set_pipeline :[vdev ID] 1: [STDMETA_INGRESS_PORT_EXACT] 0x80[9x00s] 0 table (modify_field) ac@on t_mod_41 mod_stdmeta_egressspec_stdmeta_ingressport : [vdev ID] &&&0:[LOWEST PRIORITY] virtualized prim ac@on ID match ID ternary match func@on ID subtype priority 26

27 Loader Object code : tset_pipeline_config a_set_pipeline :[vdev ID] 1: [STDMETA_INGRESS_PORT_EXACT] 0x80[9x00s] 0 t_mod_41 mod_stdmeta_egressspec_stdmeta_ingressport : [vdev ID] &&&0:[MAX PRIORITY] 27

28 Loader Bmv2-SS API Commands: table_add tset_pipeline_config a_set_pipeline 1 1 => 5 0x table_add t_mod_41 mod_stdmeta_egressspec_stdmeta_ingressport &&&0 =>

29 HyPer4.p4: Composition Support End of ingress Match on vegress Virtual forwarding? Set egress to ingress port, set virt forwarding flag Egress Virt forwarding flag set? Match on vegress Set next vdev_id, vingress Recirculate with field list that includes key fields 29

30 Composition Abstractions virtual network: vdev chains: f 1 f 2 f 1 f 1 physical interfaces hp4 f 3 f 2 f 3 f 2 f 3 Very flexible Complicated to implement and manage Flexible Simpler to implement and manage 30

31 Chains ChainLease.chain ChainLease.interfaces setup f 1 f 2 f phys ingress (vdev, virt ingress) 1: f 1 (n-1) (packet, state) virt egress 2: virt egress vdev 1: f n (packet, state) virt egress 2: virt egress phys egress 31

32 Egress Conflict Resolution Types of Forwarding Abstractions return-to-sender: single port bump-in-the-wire [+ return-to-sender]: two ports switch: (packet, state) à egress: two+ ports VDev sequence results in (sometimes unintentional) egress overrides Resolution: Enforce switch at the end Slice manager indicates preferences with respect to egress modifications for each vdev via controller command option: always write to egress_spec conditionally write to egress_spec (if void) never write to egress_spec 32

33 Possibilities Migration Cloning Maintain rulesets separately, attach to compatible vdevs ondemand Automatically evolving functions Linked functions (change to one begets [a]symmetrical change to another across the network) 33

34 HyPer4.p4: Clean up Handle virtual networking Egress filtering (avoid broadcast storms) Handle checksum (e.g., IPv4) Resize parsed representation (in case of add_header / remove_header) Write pr.data back to parsed representation 34

35 HyPer4.p4: Code Generation P4 compiler / target restriction: ONE reference per table Want: arbitrary functionality at arbitrary points in the pipeline Strategy: many functionally redundant copies, differing in name only Want: configurable support for specified # stages, specified # primitives / stage Strategy: define.p4 for single stage, single primitive, add tokens directing processing tool to produce desired configuration 35

36 HyPer4.p4: Code Generation [+ sloop +] control stage[+x+] { match_[+x+](); // match.p4 } [+ nif +] if(meta_ctrl.stage_state!= COMPLETE) { switch_primitivetype_[+x+][+y+](); apply(tstg[+x+][+y+]_update_state); [+ endnif +] [+ endsloop +] control stage1 { match_1(); if(meta_ctrl.stage_state!= COMPLETE) { switch_primitivetype_11(); apply(tstg11_update_state); if(meta_ctrl.stage_state!= COMPLETE) { switch_primitivetype_12(); apply(tstg12_update_state); // } control stage2 { match_2(); if(meta_ctrl.stage_state!= COMPLETE) { 36

37 HyPer4.p4: Objections, Rebuttals Performance Concerns May be addressed with custom targets May be addressed with more sensible default parsing behavior and streamlined match-action pipeline May be addressed by using programmable parser + fixed pipeline, or fixed parser + programmable pipeline Should not get in the way of exploring high level abstractions made possible by vpdps 37

38 Demo 38

39 Wrap-up Motivation Approach Controller ( Control Plane Hypervisor ) HyPer4.p4 ( Data Plane Hypervisor ) git@gitlab.flux.utah.edu:dhankook/hp4-src.git README.md provides commit used for CoNEXT 2016 paper Demo 39

40 Questions Questions? 40

41 HyPer4.p4: Parsing // not shown: header_type definitions header a_t a; header b_t b; parser start { extract(a); return select(a.field_3) { 0x01 : parse_b; default : ingress; } } parser parse_b { extract(b); } return ingress; a_type header b_type field_1 field_2 field_3 field_4 field_5 field_1 field_2 field_3 field_4 payload P4 source includes references to named fields parsed representation: a a, b 41

42 HyPer4.p4: Parsing Strategy: - generic 8-bit header type - ext[100]: array of such headers ext[0] ext[1] ext[2] ext[3] ext[4] ext[5] ext[6] ext[7] ext[8] ext[9] ext[10] ext[11] payload 42

43 HyPer4.p4: Parsing Strategy: - generic 8-bit header type - ext[100]: array of such headers - metadata fields: #bytes, parse_state ext[0] ext[1] ext[2] ext[3] ext[4] ext[5] ext[6] ext[7] ext[8] ext[9] ext[10] ext[11] payload 43

44 HyPer4.p4: Parsing Strategy: - generic 8-bit header type - ext[100]: array of such headers - metadata fields: #bytes, parse_state - Parser: extract default -> 100 bytes - #bytes guides parser ext[0] ext[1] ext[2] ext[3] ext[4] ext[5] ext[6] ext[7] ext[8] ext[9] ext[10] ext[11] payload 44

45 HyPer4.p4: Parsing Strategy: - generic 8-bit header type - ext[100]: array of such headers - metadata fields: #bytes, parse_state - Parser: extract default -> 100 bytes - #bytes guides parser - Complex parsing logic moved to Ingress: parse_state may trigger update of #bytes + resubmit ext[0] ext[1] ext[2] ext[3] ext[4] ext[5] ext[6] ext[7] ext[8] ext[9] ext[10] ext[11] payload 45

46 HyPer4.p4: Parsing Strategy: - generic 8-bit header type - ext[100]: array of such headers - metadata fields: #bytes, parse_state - Parser: extract default -> 100 bytes - #bytes guides parser - Complex parsing logic moved to Ingress: parse_state may trigger update of #bytes + resubmit ext[0] ext[1] ext[2] ext[3] ext[4] ext[5] ext[6] ext[7] ext[8] ext[9] ext[10] ext[11] payload parsed representation: all valid elements of ext - Inconvenient to work with; copy to single very wide metadata field 46

47 HyPer4.p4: Parsing packet parser ingress parse 20 47

48 HyPer4.p4: Parsing packet parser ingress parse 20 #bytes > 20 48

49 HyPer4.p4: Parsing packet parser ingress parse 20 #bytes parse _state > 20 parse more 49

50 HyPer4.p4: Parsing packet parser ingress parse 20 #bytes > 20 parse more parse _state not shown: inspect PR 50

51 HyPer4.p4: Parsing packet parser ingress update #bytes, resubmit parse 20 #bytes parse _state not shown: inspect PR > 20 parse more 51

Lab 2: P4 Runtime. Copyright 2018 P4.org

Lab 2: P4 Runtime. Copyright 2018 P4.org Lab 2: P4 Runtime 1 P4 Software Tools 2 Makefile: under the hood simple_switch_cli Program-independent CLI and Client test.p4 Program-independent Control Server Packet generator L o g Ingress TM Egress

More information

Introduc)on to P4 Programming Protocol-Independent Packets Processors. Ronald van der Pol SURFnet

Introduc)on to P4 Programming Protocol-Independent Packets Processors. Ronald van der Pol SURFnet Introduc)on to P4 Programming Protocol-Independent Packets Processors Ronald van der Pol SURFnet (Ronald.vanderPol@rvdp.org) Programmable Dataplanes Two emerging important concepts: Disaggrega)on De-coupling

More information

PISCES: A Programmable, Protocol-Independent Software Switch

PISCES: A Programmable, Protocol-Independent Software Switch PISCES: A Programmable, Protocol-Independent Software Switch Muhammad Shahbaz, Sean Choi, Ben Pfaff, Changhoon Kim, Nick Feamster, Nick McKeown, and Jennifer Rexford Fixed Set of Protocols Fixed-Function

More information

Experiences with Programmable Dataplanes

Experiences with Programmable Dataplanes Experiences with Programmable Dataplanes Ronald van der Pol SURFnet Overview MoLvaLon for Programmable Dataplanes OpenFlow and Pipelines Various Network Silicon Table Type PaQterns (TTPs) and P4 Summary

More information

P4 Introduction. Jaco Joubert SIGCOMM NETRONOME SYSTEMS, INC.

P4 Introduction. Jaco Joubert SIGCOMM NETRONOME SYSTEMS, INC. P4 Introduction Jaco Joubert SIGCOMM 2018 2018 NETRONOME SYSTEMS, INC. Agenda Introduction Learning Goals Agilio SmartNIC Process to Develop Code P4/C Examples P4 INT P4/C Stateful Firewall SmartNIC P4

More information

P4 Language Design Working Group. Gordon Brebner

P4 Language Design Working Group. Gordon Brebner P4 Language Design Working Group Gordon Brebner Language Design Working Group Responsibilities Defining the P4 language specification Managing the graceful evolution of the language Membership Co-chairs:

More information

Tutorial S TEPHEN IBANEZ

Tutorial S TEPHEN IBANEZ Tutorial S TEPHEN IBANEZ Outline P4 Motivation P4 for NetFPGA Overview P4->NetFPGA Workflow Overview Tutorial Assignments What is P4? Programming language to describe packet processing logic Used to implement

More information

OpenFlow Ronald van der Pol

OpenFlow Ronald van der Pol OpenFlow Ronald van der Pol Outline! Goal of this project! Why OpenFlow?! Basics of OpenFlow! Short Demo OpenFlow Overview! Initiative of Stanford University! Run network research experiments

More information

Programmable data planes, P4, and Trellis

Programmable data planes, P4, and Trellis Programmable data planes, P4, and Trellis Carmelo Cascone MTS, P4 Brigade Leader Open Networking Foundation October 20, 2017 1 Outline Introduction to P4 and P4 Runtime P4 support in ONOS Future plans

More information

P4 16 Portable Switch Architecture (PSA)

P4 16 Portable Switch Architecture (PSA) P4 16 Portable Switch Architecture (PSA) Version 1.0 The P4.org Architecture Working Group March 1, 2018 1 Abstract P4 is a language for expressing how packets are processed by the data plane of a programmable

More information

lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00

lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00 lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00 Network Virtualization in multi-tenant Datacenters Teemu Koponen.,

More information

P4 for an FPGA target

P4 for an FPGA target P4 for an FPGA target Gordon Brebner Xilinx Labs San José, USA P4 Workshop, Stanford University, 4 June 2015 What this talk is about FPGAs and packet processing languages Xilinx SDNet data plane builder

More information

Programmable Data Plane at Terabit Speeds

Programmable Data Plane at Terabit Speeds AUGUST 2018 Programmable Data Plane at Terabit Speeds Milad Sharif SOFTWARE ENGINEER PISA: Protocol Independent Switch Architecture PISA Block Diagram Match+Action Stage Memory ALU Programmable Parser

More information

Data Center Configuration. 1. Configuring VXLAN

Data Center Configuration. 1. Configuring VXLAN Data Center Configuration 1. 1 1.1 Overview Virtual Extensible Local Area Network (VXLAN) is a virtual Ethernet based on the physical IP (overlay) network. It is a technology that encapsulates layer 2

More information

The P4 Language Specification

The P4 Language Specification The P4 Language Specification Version 1.0.4 May 24, 2017 The P4 Language Consortium 1 Introduction P4 is a declarative language for expressing how packets are processed by the pipeline of a network forwarding

More information

Managing and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals:

Managing and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals: Managing and Securing Computer Networks Guy Leduc Chapter 2: Software-Defined Networks (SDN) Mainly based on: Computer Networks and Internets, 6 th Edition Douglas E. Comer Pearson Education, 2015 (Chapter

More information

CS 4226: Internet Architecture

CS 4226: Internet Architecture Software Defined Networking Richard T. B. Ma School of Computing National University of Singapore Material from: Scott Shenker (UC Berkeley), Nick McKeown (Stanford), Jennifer Rexford (Princeton) CS 4226:

More information

P4 16 Portable Switch Architecture (PSA)

P4 16 Portable Switch Architecture (PSA) P4 16 Portable Switch Architecture (PSA) Version 1.1 The P4.org Architecture Working Group November 22, 2018 1 Abstract P4 is a language for expressing how packets are processed by the data plane of a

More information

Software-Defined Networking (SDN) Overview

Software-Defined Networking (SDN) Overview Reti di Telecomunicazione a.y. 2015-2016 Software-Defined Networking (SDN) Overview Ing. Luca Davoli Ph.D. Student Network Security (NetSec) Laboratory davoli@ce.unipr.it Luca Davoli davoli@ce.unipr.it

More information

CSC 4900 Computer Networks: Network Layer

CSC 4900 Computer Networks: Network Layer CSC 4900 Computer Networks: Network Layer Professor Henry Carter Fall 2017 Chapter 4: Network Layer 4. 1 Introduction 4.2 What s inside a router 4.3 IP: Internet Protocol Datagram format 4.4 Generalized

More information

FastReact. In-Network Control and Caching for Industrial Control Networks using Programmable Data Planes

FastReact. In-Network Control and Caching for Industrial Control Networks using Programmable Data Planes FastReact In-Network Control and Caching for Industrial Control Networks using Programmable Data Planes Authors: Jonathan Vestin Andreas Kassler Johan

More information

PVPP: A Programmable Vector Packet Processor. Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, Changhoon Kim

PVPP: A Programmable Vector Packet Processor. Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, Changhoon Kim PVPP: A Programmable Vector Packet Processor Sean Choi, Xiang Long, Muhammad Shahbaz, Skip Booth, Andy Keep, John Marshall, Changhoon Kim Fixed Set of Protocols Fixed-Function Switch Chip TCP IPv4 IPv6

More information

P4FPGA Expedition. Han Wang

P4FPGA Expedition. Han Wang P4FPGA Expedition Han Wang Ki Suh Lee, Vishal Shrivastav, Hakim Weatherspoon, Nate Foster, Robert Soule 1 Cornell University 1 Università della Svizzera italiana Networking and Programming Language Workshop

More information

Software Defined Networking

Software Defined Networking CSE343/443 Lehigh University Fall 2015 Software Defined Networking Presenter: Yinzhi Cao Lehigh University Acknowledgement Many materials are borrowed from the following links: https://www.cs.duke.edu/courses/spring13/compsc

More information

SDN-based Network Obfuscation. Roland Meier PhD Student ETH Zürich

SDN-based Network Obfuscation. Roland Meier PhD Student ETH Zürich SDN-based Network Obfuscation Roland Meier PhD Student ETH Zürich This Talk This thesis vs. existing solutions Alice Bob source: Alice destination: Bob Hi Bob, Hi Bob, Payload encryption ǾǼōĦ

More information

Linux Network Programming with P4. Linux Plumbers 2018 Fabian Ruffy, William Tu, Mihai Budiu VMware Inc. and University of British Columbia

Linux Network Programming with P4. Linux Plumbers 2018 Fabian Ruffy, William Tu, Mihai Budiu VMware Inc. and University of British Columbia Linux Network Programming with P4 Linux Plumbers 2018 Fabian Ruffy, William Tu, Mihai Budiu VMware Inc. and University of British Columbia Outline Introduction to P4 XDP and the P4 Compiler Testing Example

More information

PISCES:'A'Programmable,'Protocol4 Independent'So8ware'Switch' [SIGCOMM'2016]'

PISCES:'A'Programmable,'Protocol4 Independent'So8ware'Switch' [SIGCOMM'2016]' PISCES:AProgrammable,Protocol4 IndependentSo8wareSwitch [SIGCOMM2016] Sean%Choi% SlideCreditsto ProfessorNickMcKeownandMuhammadShahbaz Outline MoLvaLonsandhistoryofSDN UsecasesofSDN SDNandthechangeinthenetworkingstack

More information

Configuring OpenFlow 1

Configuring OpenFlow 1 Contents Configuring OpenFlow 1 Overview 1 OpenFlow switch 1 OpenFlow port 1 OpenFlow instance 2 OpenFlow flow table 3 Group table 5 Meter table 5 OpenFlow channel 6 Protocols and standards 7 Configuration

More information

Programmable Dataplane

Programmable Dataplane Programmable Dataplane THE NEXT STEP IN SDN? S I M O N J O U E T S I M O N. J O U E T @ G L A S G O W. A C. U K H T T P : / / N E T L A B. D C S.G L A. A C. U K GTS TECH+FUTURES WORKSHOP - SIMON JOUET

More information

Programming Network Data Planes

Programming Network Data Planes Advanced Topics in Communication Networks Programming Network Data Planes Laurent Vanbever nsg.ee.ethz.ch ETH Zürich Sep 27 2018 Materials inspired from Jennifer Rexford, Changhoon Kim, and p4.org Last

More information

OPENFLOW & SOFTWARE DEFINED NETWORKING. Greg Ferro EtherealMind.com and PacketPushers.net

OPENFLOW & SOFTWARE DEFINED NETWORKING. Greg Ferro EtherealMind.com and PacketPushers.net OPENFLOW & SOFTWARE DEFINED NETWORKING Greg Ferro EtherealMind.com and PacketPushers.net 1 HUH? OPENFLOW. What is OpenFlow? From the bottom up. With big words. How OpenFlow does stuff. Then WHY we want

More information

Programming NFP with P4 and C

Programming NFP with P4 and C WHITE PAPER Programming NFP with P4 and C THE NFP FAMILY OF FLOW PROCESSORS ARE SOPHISTICATED PROCESSORS SPECIALIZED TOWARDS HIGH-PERFORMANCE FLOW PROCESSING. CONTENTS INTRODUCTION...1 PROGRAMMING THE

More information

Be Fast, Cheap and in Control with SwitchKV. Xiaozhou Li

Be Fast, Cheap and in Control with SwitchKV. Xiaozhou Li Be Fast, Cheap and in Control with SwitchKV Xiaozhou Li Goal: fast and cost-efficient key-value store Store, retrieve, manage key-value objects Get(key)/Put(key,value)/Delete(key) Target: cluster-level

More information

Building Efficient and Reliable Software-Defined Networks. Naga Katta

Building Efficient and Reliable Software-Defined Networks. Naga Katta FPO Talk Building Efficient and Reliable Software-Defined Networks Naga Katta Jennifer Rexford (Advisor) Readers: Mike Freedman, David Walker Examiners: Nick Feamster, Aarti Gupta 1 Traditional Networking

More information

EE 122: Differentiated Services

EE 122: Differentiated Services What is the Problem? EE 122: Differentiated Services Ion Stoica Nov 18, 2002 Goal: provide support for wide variety of applications: - Interactive TV, IP telephony, on-line gamming (distributed simulations),

More information

In modern computers data is usually stored in files, that can be small or very, very large. One might assume that, when we transfer a file from one

In modern computers data is usually stored in files, that can be small or very, very large. One might assume that, when we transfer a file from one In modern computers data is usually stored in files, that can be small or very, very large. One might assume that, when we transfer a file from one computer to another, the whole file is sent as a continuous

More information

Network Interface Virtualization Proposal. Joe Pelissier new-dcb-pelissier-niv-proposal-1108

Network Interface Virtualization Proposal. Joe Pelissier new-dcb-pelissier-niv-proposal-1108 Network Interface Virtualization Proposal Joe Pelissier 1 Motivation As a general rule, we push complexity up into the components of which we have fewer (bridges), and attempt to simplify the components

More information

UNIVERSITY OF CAGLIARI

UNIVERSITY OF CAGLIARI UNIVERSITY OF CAGLIARI DIEE - Department of Electrical and Electronic Engineering Infrastrutture ed Applicazioni Avanzate nell Internet SDN: Control Plane ACK: content taken from Foundations of Modern

More information

Configuring Firewall Filters (J-Web Procedure)

Configuring Firewall Filters (J-Web Procedure) Configuring Firewall Filters (J-Web Procedure) You configure firewall filters on EX Series switches to control traffic that enters ports on the switch or enters and exits VLANs on the network and Layer

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Presentation 2 Security/Privacy Presentations Nov 3 rd, Nov 10 th, Nov 15 th Upload slides to Canvas by midnight

More information

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane Chapter 4 Network Layer: The Data Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see

More information

Programmable Data Plane at Terabit Speeds Vladimir Gurevich May 16, 2017

Programmable Data Plane at Terabit Speeds Vladimir Gurevich May 16, 2017 Programmable Data Plane at Terabit Speeds Vladimir Gurevich May 16, 2017 Programmable switches are 10-100x slower than fixed-function switches. They cost more and consume more power. Conventional wisdom

More information

Software Defined Networks and OpenFlow. Courtesy of: AT&T Tech Talks.

Software Defined Networks and OpenFlow. Courtesy of: AT&T Tech Talks. MOBILE COMMUNICATION AND INTERNET TECHNOLOGIES Software Defined Networks and Courtesy of: AT&T Tech Talks http://web.uettaxila.edu.pk/cms/2017/spr2017/temcitms/ MODULE OVERVIEW Motivation behind Software

More information

Principles. IP QoS DiffServ. Agenda. Principles. L74 - IP QoS Differentiated Services Model. L74 - IP QoS Differentiated Services Model

Principles. IP QoS DiffServ. Agenda. Principles. L74 - IP QoS Differentiated Services Model. L74 - IP QoS Differentiated Services Model Principles IP QoS DiffServ Differentiated Services Architecture DSCP, CAR Integrated Services Model does not scale well flow based traffic overhead (RSVP messages) routers must maintain state information

More information

What is an L3 Master Device?

What is an L3 Master Device? What is an L3 Master Device? David Ahern Cumulus Networks Mountain View, CA, USA dsa@cumulusnetworks.com Abstract The L3 Master Device (l3mdev) concept was introduced to the Linux networking stack in v4.4.

More information

Higher scalability to address more Layer 2 segments: up to 16 million VXLAN segments.

Higher scalability to address more Layer 2 segments: up to 16 million VXLAN segments. This chapter tells how to configure Virtual extensible LAN (VXLAN) interfaces. VXLANs act as Layer 2 virtual networks over Layer 3 physical networks to stretch Layer 2 networks. About VXLAN Encapsulation

More information

The architecture of the P4 16 compiler

The architecture of the P4 16 compiler The architecture of the P4 16 compiler May 17, 2017 - P4 workshop, Stanford Mihai Budiu, VMware Research Chris Doss, Barefoot Networks P4 16 Newest version of the P4 language (finalized yesterday!) https://github.com/p4lang/p4-

More information

Production OpenFlow Switches Now Available -Building CORD Using OpenFlow Switches CORD Build

Production OpenFlow Switches Now Available -Building CORD Using OpenFlow Switches CORD Build Production OpenFlow Switches Now Available -Building CORD Using OpenFlow Switches CORD Build November, 2017 1 Nothing That Lasts Is Built In A Day One doesn t know everything in the beginning Takes time

More information

Cloud e Datacenter Networking

Cloud e Datacenter Networking Cloud e Datacenter Networking Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione DIETI Laurea Magistrale in Ingegneria Informatica Prof.

More information

Problems with IntServ. EECS 122: Introduction to Computer Networks Differentiated Services (DiffServ) DiffServ (cont d)

Problems with IntServ. EECS 122: Introduction to Computer Networks Differentiated Services (DiffServ) DiffServ (cont d) Problems with IntServ EECS 122: Introduction to Computer Networks Differentiated Services (DiffServ) Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,

More information

p4v Practical Verification for Programmable Data Planes Jed Liu Bill Hallahan Cole Schlesinger Milad Sharif Jeongkeun Lee

p4v Practical Verification for Programmable Data Planes Jed Liu Bill Hallahan Cole Schlesinger Milad Sharif Jeongkeun Lee p4v Practical Verification for Programmable Data Planes Jed Liu Bill Hallahan Cole Schlesinger Milad Sharif Jeongkeun Lee Robert Soulé Han Wang Călin Caşcaval Nick McKeown Nate Foster Fixed-function routers...

More information

COMP211 Chapter 4 Network Layer: The Data Plane

COMP211 Chapter 4 Network Layer: The Data Plane COMP211 Chapter 4 Network Layer: The Data Plane All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross

More information

Named Data Networking with Programmable Switches

Named Data Networking with Programmable Switches IEEE ICNP 218 The 26th IEEE International Conference on Network Protocols Cambridge, UK, September 24-27, 218 1st P4 European Workshop (P4EU) Named Data Networking with Programmable Switches Rui Miguel

More information

Cloud e Datacenter Networking

Cloud e Datacenter Networking Cloud e Datacenter Networking Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione DIETI Laurea Magistrale in Ingegneria Informatica Prof.

More information

SWP-0208G, 8+2SFP. 8-Port Gigabit Web Smart Switch. User s Manual

SWP-0208G, 8+2SFP. 8-Port Gigabit Web Smart Switch. User s Manual SWP-0208G 1 SWP-0208G, 8+2SFP 8-Port Gigabit Web Smart Switch User s Manual Version: 3.4 April 1, 2008 2 TABLE OF CONTENT 1.0 INTRODUCTION...4 1.1 MAIN FEATURES...4 1.2 START TO MANAGE THIS SWITCH...6

More information

High-Throughput Publish/Subscribe in the Forwarding Plane

High-Throughput Publish/Subscribe in the Forwarding Plane 1 High-Throughput Publish/Subscribe in the Forwarding Plane Theo Jepsen, Masoud Moushref, Antonio Carzaniga, Nate Foster, Xiaozhou Li, Milad Sharif, Robert Soulé Università della Svizzera italiana (USI)

More information

Building a Custom Action with a C Sandbox in P4

Building a Custom Action with a C Sandbox in P4 Building a Custom Action with a C Sandbox in P4 In this lab you will be defining a C sandbox function to perform custom action processing on packets matching the same rule set utilized in previous labs.

More information

SDN AND NFV SECURITY DR. SANDRA SCOTT-HAYWARD, QUEEN S UNIVERSITY BELFAST COINS SUMMER SCHOOL, 23 JULY 2018

SDN AND NFV SECURITY DR. SANDRA SCOTT-HAYWARD, QUEEN S UNIVERSITY BELFAST COINS SUMMER SCHOOL, 23 JULY 2018 SDN AND NFV SECURITY DR. SANDRA SCOTT-HAYWARD, QUEEN S UNIVERSITY BELFAST COINS SUMMER SCHOOL, 23 JULY 2018 Queen s University Belfast Lanyon Building Est. 1845 Centre for Secure Information Technologies

More information

Internet Engineering Task Force (IETF) Request for Comments: 8014 Category: Informational. M. Lasserre Independent T. Narten IBM December 2016

Internet Engineering Task Force (IETF) Request for Comments: 8014 Category: Informational. M. Lasserre Independent T. Narten IBM December 2016 Internet Engineering Task Force (IETF) Request for Comments: 8014 Category: Informational ISSN: 2070-1721 D. Black Dell EMC J. Hudson L. Kreeger M. Lasserre Independent T. Narten IBM December 2016 An Architecture

More information

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane Chapter 4 Network Layer: The Data Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see

More information

HP 5920 & 5900 Switch Series FAQ

HP 5920 & 5900 Switch Series FAQ HP 5920 & 5900 Switch Series FAQ Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services

More information

T4P4S: When P4 meets DPDK. Sandor Laki DPDK Summit Userspace - Dublin- 2017

T4P4S: When P4 meets DPDK. Sandor Laki DPDK Summit Userspace - Dublin- 2017 T4P4S: When P4 meets DPDK Sandor Laki DPDK Summit Userspace - Dublin- 2017 What is P4? Domain specific language for programming any kind of data planes Flexible, protocol and target independent Re-configurable

More information

MIB BROADCAST STREAM SPECIFICATION

MIB BROADCAST STREAM SPECIFICATION MIB BROADCAST STREAM SPECIFICATION November 5, 2002, Version 1.0 This document contains a specification for the MIB broadcast stream. It will be specified in a language independent manner. It is intended

More information

Network Programming Languages. Nate Foster

Network Programming Languages. Nate Foster Network Programming Languages Nate Foster We are at the start of a revolution! Network architectures are being opened up giving programmers the freedom to tailor their behavior to suit applications!

More information

The NetRexx Interpreter

The NetRexx Interpreter The NetRexx Interpreter http://www2.hursley.ibm.com/netrexx/ RexxLA / WarpTech -- 26 May 2000 Mike Cowlishaw IBM Fellow mfc@uk.ibm.com netrexxi Overview Introduction to NetRexx Demo. -- compiling and interpreting

More information

Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer: The Data Plane Chapter 4 Network Layer: The Data Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see

More information

THE OPEN DATA CENTER FABRIC FOR THE CLOUD

THE OPEN DATA CENTER FABRIC FOR THE CLOUD Product overview THE OPEN DATA CENTER FABRIC FOR THE CLOUD The Open Data Center Fabric for the Cloud The Xsigo Data Center Fabric revolutionizes data center economics by creating an agile, highly efficient

More information

Lesson 9 OpenFlow. Objectives :

Lesson 9 OpenFlow. Objectives : 1 Lesson 9 Objectives : is new technology developed in 2004 which introduce Flow for D-plane. The Flow can be defined any combinations of Source/Destination MAC, VLAN Tag, IP address or port number etc.

More information

Configuring SPAN. About SPAN. SPAN Sources

Configuring SPAN. About SPAN. SPAN Sources This chapter describes how to configure an Ethernet switched port analyzer (SPAN) to analyze traffic between ports on Cisco NX-OS devices. This chapter contains the following sections: About SPAN, page

More information

Technical Specification MEF 1. Ethernet Services Model, Phase November 2003

Technical Specification MEF 1. Ethernet Services Model, Phase November 2003 Technical Specification Ethernet Services Model, Phase 1 10 November 2003 Disclaimer The information in this publication is freely available for reproduction and use by any recipient and is believed to

More information

Quiz. Segment structure and fields Flow control (rwnd) Timeout interval. Phases transition ssthresh setting Cwnd setting

Quiz. Segment structure and fields Flow control (rwnd) Timeout interval. Phases transition ssthresh setting Cwnd setting Quiz v 10/30/2013 (Wednesday), 20 mins v Midterm question (available on website) v TCP basics Segment structure and fields Flow control (rwnd) Timeout interval v TCP Congestion control Phases transition

More information

Quality of Service II

Quality of Service II Quality of Service II Patrick J. Stockreisser p.j.stockreisser@cs.cardiff.ac.uk Lecture Outline Common QoS Approaches Best Effort Integrated Services Differentiated Services Integrated Services Integrated

More information

Cisco Virtual Networking Solution for OpenStack

Cisco Virtual Networking Solution for OpenStack Data Sheet Cisco Virtual Networking Solution for OpenStack Product Overview Extend enterprise-class networking features to OpenStack cloud environments. A reliable virtual network infrastructure that provides

More information

Chapter 3 Part 2 Switching and Bridging. Networking CS 3470, Section 1

Chapter 3 Part 2 Switching and Bridging. Networking CS 3470, Section 1 Chapter 3 Part 2 Switching and Bridging Networking CS 3470, Section 1 Refresher We can use switching technologies to interconnect links to form a large network What is a hub? What is a switch? What is

More information

Software Defined Networks

Software Defined Networks Software Defined Networks A quick overview Based primarily on the presentations of Prof. Scott Shenker of UC Berkeley The Future of Networking, and the Past of Protocols Please watch the YouTube video

More information

Zone-Based Firewall Logging Export Using NetFlow

Zone-Based Firewall Logging Export Using NetFlow Zone-Based Firewall Logging Export Using NetFlow Zone-based firewalls support the logging of messages to an external collector using NetFlow Version 9 export format. NetFlow Version 9 export format uses

More information

Stateless ICN Forwarding with P4 towards Netronome NFP-based Implementation

Stateless ICN Forwarding with P4 towards Netronome NFP-based Implementation Stateless ICN Forwarding with P4 towards Netronome NFP-based Implementation Aytac Azgin, Ravishankar Ravindran, Guo-Qiang Wang aytac.azgin, ravi.ravindran, gq.wang@huawei.com Huawei Research Center, Santa

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12 1 Chapter 4: outline 4.1 introduction 4.2 virtual circuit and datagram networks 4.3 what

More information

Fine-Grained Interconnect Synthesis

Fine-Grained Interconnect Synthesis Fine-Grained Interconnect Synthesis Alex Rodionov, David Biancolin, Jonathan Rose Department of Electrical & Computer Engineering University of Toronto (1) Making Hardware Design Easier n Interconnect:

More information

NetJury Scripting Examples

NetJury Scripting Examples NetJury Scripting Examples The NetJury Scripting Language (NSL) is used to configure and execute test cases in scripting mode. For more information on other modes of operation, please refer to the Quick

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Network Layer IPv4, Format and Addressing,, IPv6 Prof. Lina Battestilli Fall 2017 Chapter 4 Outline Network Layer: Data Plane 4.1 Overview of Network layer

More information

Interpreting Languages for the Java Platform

Interpreting Languages for the Java Platform Interpreting Languages for the Java Platform http://www2.hursley.ibm.com/netrexx/ Mike Cowlishaw IBM Fellow mfc@uk.ibm.com netrexxi Overview A (very) brief introduction to NetRexx Demonstration -- compiling

More information

Hands-On Metro Ethernet Carrier Class Networks

Hands-On Metro Ethernet Carrier Class Networks Hands-On Carrier Class Networks Course Description Carriers have offered connectivity services based on traditional TDM, Frame Relay and ATM for many years. However customers now use Ethernet as the interface

More information

Compiling Path Queries

Compiling Path Queries Compiling Path Queries Princeton University Srinivas Narayana Mina Tahmasbi Jen Rexford David Walker Management = Measure + Control Network Controller Measure Control Software-Defined Networking (SDN)

More information

P4-based VNF and Micro-VNF chaining for servers with SmartNICs

P4-based VNF and Micro-VNF chaining for servers with SmartNICs P4-based VNF and Micro-VNF chaining for servers with SmartNICs David George david.george@netronome.com 1 Session Agenda Introduction Design overview A look under the hood P4, SandboxC and rules Run-through

More information

Exercise Sheet 4. Exercise 1 (Routers, Layer-3-Switches, Gateways)

Exercise Sheet 4. Exercise 1 (Routers, Layer-3-Switches, Gateways) Exercise Sheet 4 Exercise 1 (Routers, Layer-3-Switches, Gateways) 1. What is the purpose of Routers in computer networks? (Also explain the difference to Layer-3-Switches.) 2. What is the purpose of Layer-3-Switches

More information

HP FlexFabric 5700 Switch Series

HP FlexFabric 5700 Switch Series HP FlexFabric 5700 Switch Series FAQ Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and

More information

CSEP 561 Internetworking. David Wetherall

CSEP 561 Internetworking. David Wetherall CSEP 561 Internetworking David Wetherall djw@cs.washington.edu Internetworking t Focus: Joining multiple, different networks into one larger network Forwarding models Application Heterogeneity Transport

More information

ANIC Host CPU Offload Features Overview An Overview of Features and Functions Available with ANIC Adapters

ANIC Host CPU Offload Features Overview An Overview of Features and Functions Available with ANIC Adapters ANIC Host CPU Offload Features Overview An Overview of Features and Functions Available with ANIC Adapters ANIC Adapters Accolade s ANIC line of FPGA-based adapters/nics help accelerate security and networking

More information

CCN. CCNx 1.0 Changes from 0.x. Computer Science Laboratory Networking & Distributed Systems IETF 90 - July 2014

CCN. CCNx 1.0 Changes from 0.x. Computer Science Laboratory Networking & Distributed Systems IETF 90 - July 2014 CCN CCNx 1.0 Changes from 0.x Computer Science Laboratory Networking & Distributed Systems Ignacio.Solis@parc.com IETF 90 - July 2014 CCNx 1.0 - changes from 0.x Static header, optional header, message

More information

White Paper: Control Plane Implementation on Coordinated Shared Networks (CSN)

White Paper: Control Plane Implementation on Coordinated Shared Networks (CSN) Control Plane on Coordinated Shared Networks (CSN) 1 White Paper: Control Plane Implementation on Coordinated Shared Networks (CSN) Philippe Klein, PhD Broadcom Corporation philippe@broadcom.com V.01 Nov

More information

7010INT Data Communications Lecture 7 The Network Layer

7010INT Data Communications Lecture 7 The Network Layer Introduction 7010INT Data Communications Lecture 7 The Layer Internetworking & Devices Connecting LANs Routing Backbone networks Virtual LANs Addressing Application Presentation Session Data Link Physical

More information

End to End SLA for Enterprise Multi-Tenant Applications

End to End SLA for Enterprise Multi-Tenant Applications End to End SLA for Enterprise Multi-Tenant Applications Girish Moodalbail, Principal Engineer, Oracle Inc. Venugopal Iyer, Principal Engineer, Oracle Inc. The following is intended to outline our general

More information

P51: High Performance Networking

P51: High Performance Networking P51: High Performance Networking Lecture 6: Programmable network devices Dr Noa Zilberman noa.zilberman@cl.cam.ac.uk Lent 2017/18 High Throughput Interfaces Performance Limitations So far we discussed

More information

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane This presentation is adapted from slides produced by Jim Kurose and Keith Ross for their book, Computer Networking:

More information

HPE FlexNetwork 5510 HI Switch Series FAQ

HPE FlexNetwork 5510 HI Switch Series FAQ HPE FlexNetwork 5510 HI Switch Series FAQ Part number: 5200-0021a Document version: 6W101-20160429 The information in this document is subject to change without notice. Copyright 2016 Hewlett Packard Enterprise

More information

Sections Describing Standard Software Features

Sections Describing Standard Software Features 30 CHAPTER This chapter describes how to configure quality of service (QoS) by using automatic-qos (auto-qos) commands or by using standard QoS commands. With QoS, you can give preferential treatment to

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

Extending the range of P4 programmability

Extending the range of P4 programmability Extending the range of P4 programmability Gordon Brebner Xilinx Labs, San Jose, USA P4EU Keynote, Cambridge, UK 24 September 2018 What this talk is about P4 history and status Portable NIC Architecture

More information

UM Software user manual for SJA1105EL. Document information

UM Software user manual for SJA1105EL. Document information Software user manual for SJA1105EL Rev. 2 8 January 2019 User manual Document information Info Keywords Abstract Content SJA1105EL, Ethernet, software registers This user manual describes the configuration

More information