Software Techniques for Programmable Data Plane Virtualization
|
|
- Jasmin Shepherd
- 5 years ago
- Views:
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 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 informationIntroduc)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 informationPISCES: 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 informationExperiences 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 informationP4 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 informationP4 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 informationTutorial 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 informationOpenFlow 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 informationProgrammable 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 informationP4 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 informationlecture 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 informationP4 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 informationProgrammable 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 informationData 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 informationThe 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 informationManaging 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 informationCS 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 informationP4 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 informationSoftware-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 informationCSC 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 informationFastReact. 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 informationPVPP: 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 informationP4FPGA 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 informationSoftware 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 informationSDN-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 informationLinux 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 informationPISCES:'A'Programmable,'Protocol4 Independent'So8ware'Switch' [SIGCOMM'2016]'
PISCES:AProgrammable,Protocol4 IndependentSo8wareSwitch [SIGCOMM2016] Sean%Choi% SlideCreditsto ProfessorNickMcKeownandMuhammadShahbaz Outline MoLvaLonsandhistoryofSDN UsecasesofSDN SDNandthechangeinthenetworkingstack
More informationConfiguring 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 informationProgrammable 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 informationProgramming 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 informationOPENFLOW & 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 informationProgramming 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 informationBe 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 informationBuilding 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 informationEE 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 informationIn 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 informationNetwork 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 informationUNIVERSITY 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 informationConfiguring 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 informationELEC / 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 informationChapter 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 informationProgrammable 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 informationSoftware 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 informationPrinciples. 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 informationWhat 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 informationHigher 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 informationThe 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 informationProduction 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 informationCloud 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 informationProblems 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 informationp4v 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 informationCOMP211 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 informationNamed 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 informationCloud 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 informationSWP-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 informationHigh-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 informationBuilding 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 informationSDN 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 informationInternet 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 informationChapter 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 informationHP 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 informationT4P4S: 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 informationMIB 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 informationNetwork 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 informationThe 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 informationChapter 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 informationTHE 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 informationLesson 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 informationConfiguring 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 informationTechnical 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 informationQuiz. 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 informationQuality 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 informationCisco 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 informationChapter 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 informationSoftware 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 informationZone-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 informationStateless 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 informationCMPE 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 informationFine-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 informationNetJury 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 informationCSC 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 informationInterpreting 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 informationHands-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 informationCompiling 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 informationP4-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 informationExercise 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 informationHP 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 informationCSEP 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 informationANIC 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 informationCCN. 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 informationWhite 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 information7010INT 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 informationEnd 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 informationP51: 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 informationEC441 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 informationHPE 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 informationSections 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 informationIP - 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 informationExtending 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 informationUM 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