Programmable Overlays with VPP

Slides:



Advertisements
Similar presentations
11: IPv6 Routing Table and Static Routes
Advertisements

CSC458 Programming Assignment II: NAT Nov 7, 2014.
P4 demo: a basic L2/L3 switch in 170 LOC
Why do current IP semantics cause scaling issues? −Today, “addressing follows topology,” which limits route aggregation compactness −Overloaded IP address.
IP Forwarding Relates to Lab 3.
RIP V1 W.lilakiatsakun.
IETF 72 – July 2008 Vince Fuller, Darrel Lewis, Eliot Lear, Scott Brim, Dave Oran, Noel Chiappa, John Curran, Dino Farinacci, and David Meyer LISP Deployment.
Network Localized Mobility Management using DHCP
© 2009 Cisco Systems, Inc. All rights reserved. SWITCH v1.0—4-1 Implementing Inter-VLAN Routing Deploying Multilayer Switching with Cisco Express Forwarding.
Part IV: Multilayer Switching
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Internet In A Slice Andy Bavier CS461 Lecture.
An Overview of Software-Defined Network
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
An Overview of Software-Defined Network Presenter: Xitao Wen.
LISP, SDN, and OpenDaylight
Connecting Networks © 2004 Cisco Systems, Inc. All rights reserved. Exploring How Routing Works INTRO v2.0—4-1.
Petteri Sirén. Content Preface Locator/ID Separation Protocol (LISP) How LISP works Methods how LISP was studied Test cases Result Summary.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Router and Routing Basics
IP Forwarding.
RIPE Berlin – May, 2008 Vince Fuller (for Dino, Dave, Darrel, et al) LISP: Intro and Update
More on Internet Routing A large portion of this lecture material comes from BGP tutorial given by Philip Smith from Cisco (ftp://ftp- eng.cisco.com/pfs/seminars/APRICOT2004.
1 © OneCloud and/or its affiliates. All rights reserved. VXLAN Overview Module 4.
Chapter 19 Binding Protocol Addresses (ARP) A frame transmitted across a physical network must contain the hardware address of the destination. Before.
Basic Routing Principles V1.2. Objectives Understand the function of router Know the basic conception in routing Know the working principle of router.
IP Traffic Engineering RSP draft-shen-ip-te-rsp-01.txt Naiming Shen Albert Tian Jun Zhuang
Introduction to Mininet, Open vSwitch, and POX
Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,
Draft-maino-gpe-vpn F. Maino, V. Ermagan, J. Evans, H. Miclea IETF 95 – April 2016.
Author: Maros Marsalek (Honeycomb PTL)
Multi-protocol Label Switching (MPLS) RFC 3031 MPLS provides new capabilities: QoS support Traffic engineering VPN Multiprotocol support.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Cisco Routers Routers collectively provide the main feature of the network layer—the capability to forward packets end-to-end through a network. routers.
An open source user space fast path TCP/IP stack and more…
Honeycomb + fd.io Ed Warnicke. Fast Data Scope Fast Data Scope: IO Hardware/vHardware cores/threads Processing Classify Transform Prioritize Forward Terminate.
MPLS Virtual Private Networks (VPNs)
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Only Use FD.io VPP to Achieve high performance service function chaining Yi Intel.
Co-located Summit
LISP Control Plane for NVO3 <draft-maino-nvo3-lisp-cp-00>
CSC458 Programming Assignment II: NAT
Multi Node Label Routing – A layer 2.5 routing protocol
Scaling the Network Chapters 3-4 Part 2
Overlay Network Engine (ONE)
LISP Implementation Report
LISP Flow Mapping Service
MAC Address Tables on Connected Switches
OpenDaylight BGP Use-Cases
100% Exam Passing Guarantee & Money Back Assurance
Revisiting Ethernet: Plug-and-play made scalable and efficient
Network Data Plane Part 2
Multi Protocol Label Switching (MPLS)
Braindumps4IT Braindumps Ream Exam Questions Answers
SDN Overview for UCAR IT meeting 19-March-2014
Chapter 5 Network Layer: The Control Plane
CS 31006: Computer Networks – The Routers
Software Defined Networking
Design of a Diversified Router: November 2006 Demonstration Plans
Rick Graziani Cabrillo College
Top #1 in China Top #3 in the world
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
Networking and Network Protocols (Part2)
IP Forwarding Relates to Lab 3.
Chapter 5 Network Layer: The Control Plane
BGP VPN service for SRv6 Plus IETF 105, Montreal
Tim Strakh CEO, IEOFIT CCIE RS, CCIE Sec CCIE Voice, CCIE DC
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Programmable Overlays with VPP LinuxCon 2016, Toronto Florin Coras, Vina Ermagan Cisco Systems

Overlay Network Engine Objective Enable programmable, software defined, overlays Data driven control-plane protocol Rich set of forwarding policies Various overlay address families and encapsulation technologies SDN controller driven LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features Overlay Control Plane Mapping System VPP VPP overlay underlay overlay LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features Mapping System Retrieve destination mapping VPP VPP LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features Mapping System b->B VPP VPP B b Encapsulate and forward packets over underlay LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features Mapping System b->{B1, B2} VPP VPP B1 B2 b Use multiple paths if possible LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features Mapping System VPP VPP B1 B2 Decap and forward to destination LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features SDN Controller External trigger Mapping System Reprogram forwarding VPP LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features SDN Controller Mapping System b->[C, B] VPP C B b LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features SDN Controller External trigger Mapping System Reprogram forwarding VPP C B b x LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Overlay Features SDN Controller Mapping System b->[C, B] [x, b]->B VPP C B b only if sourced by x x LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 APIs Controller NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 APIs Controller configuration NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 APIs Controller dynamic updating of forwarding NETCONF (Honeycomb) CLI Binary API CP Protocol APIs VPP LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Tunneling protocols in VPP GRE MPLS-GRE L2TP VXLAN VXLAN-GPE ILA IPSEC-GRE (code just in) LinuxCon North America 2016 8/24/16

Overlay Network Engine (ONE) Project definition SDN controller: OpenDaylight control plane: LISP data plane: starting with Generic Protocol Encapsulation (LISP-GPE) ODL LispFlowMapping NETCONF LISP LISP NETCONF GPE Other GPE Other VPP VPP LinuxCon North America 2016 8/24/16

Overlay Network Engine (ONE) Features Any of IP4, IP6 and L2 overlays on top of IP4 and/or IP6 underlays Multihoming/load balancing between underlay attachment points Multitenancy/EID virtualization Overlays spanning disjoint underlays with re-encapsulating routers CLI, binary API and VAT (test API) Soon: NETCONF support (Honeycomb) and src/dst control plane support LinuxCon North America 2016 8/24/16

Overlay Network Engine (ONE) Programmability External trigger ODL LispFlowMapping ODL tracks mappings subscribers and pushes notifications when changes occur. VPP LinuxCon North America 2016 8/24/16

Create overlay: use-case multihoming Router config lisp enable lisp locator-set add ls1 iface <ifname1> p 1 w 1 iface <ifname2> p 1 w 1 lisp eid-table add eid <ip-prefix> locator-set ls1 lisp map-resolver add <mr-ip> Mapping System b->{B1, B2} VPP ODL config B1 Use RESTCONF to add two mappings, one per router B2 b LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 VPP node graph (simplified) dpdk-input eth-input ipX-rewrite iface_output iface_tx ipX-input ipX-lookup ipX-local ipX-udp-lookup LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - dp dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - dp Attach lgpe-ipX-lookup as possible next_hop to ipX-lookup when lisp-gpe interface is switched on. dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup src matching lispX ipX-input ipX-lookup dst matching lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - dp dpdk-input Add one lispX interface per table_id (vrf) and have the tx function do the lisp encap iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup output features lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - dp If all goes right in lookup, send to lisp-gpe-output_node (output features like IPsec can be executed here) and subsequently to lisp-gpe-tx_node where packets are lisp-gpe encapsulated dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup output features lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - dp dpdk-input iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup Register lisp-gpe-ipX-input as handler of UDP port 4341 packets lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - cp dpdk-input lisp-cp-lookup iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - cp dpdk-input Add default route that points to lisp-cp-lookup. lisp-cp-lookup iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input 4341 ipX-local ipX-udp-lookup lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init - cp dpdk-input lisp-cp-lookup iface eth-input lgpe-ipX-lookup lisp-gpe-tx recirculate via ipX-lookup lispX ipX-input ipX-lookup lisp-gpe-ipX-input Register lisp-cp-input as handler of UDP port 4342 packets 4341 ipX-local ipX-udp-lookup lisp-cp-input 4342 data-plane control-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init – L2 dp dpdk-input iface eth-input l2-lispX lisp-gpe-tx recirculate via ipX-lookup ipX-input l2-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init – L2 dp dpdk-input Add one l2_lispX interface per bridge domain and have the tx function do the lisp encap iface eth-input l2-lispX lisp-gpe-tx recirculate via ipX-lookup ipX-input l2-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup data-plane LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE node graph init – L2 cp dpdk-input Flood packets with unknown destinations are sent to lisp-cp-lookup lisp-cp-lookup iface eth-input l2-lispX lisp-gpe-tx recirculate via ipX-lookup ipX-input l2-input ipX-lookup lisp-gpe-ipX-input ipX-local ipX-udp-lookup data-plane lisp-cp-input LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 ONE control plane gid-dictionary lisp_fwd_cache CRD mappings CRD fwd entries lisp-gpe router logic lisp-cp-lookup lisp-dp-api lisp-cp-input egress map-request ingress map-request map-reply fwd entry request add/del fwd entry lisp-gpe data plane vpp LinuxCon North America 2016 8/24/16

Demo Mapping System Map-Cache b->B VPP VPP B b IP6 over IP4 overlay

LinuxCon North America 2016 Demo Mapping System Map-Cache b->B VPP VPP IPv4 RTR IPv6 Buy faster/cheaper transit or transition part of the core to IPv6 LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Demo Switch to RTR path Mapping System Map-Cache b->RTR Reprogram forwarding VPP VPP IPv4 RTR IPv6 LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Demo Switch to RTR path Mapping System Map-Cache b->RTR VPP VPP IPv4 RTR IPv6 LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Next steps – Get involved Get the Code, Build the Code, Run the Code Read/Watch the Tutorials Read/Watch VPP Tutorials Join the Mailing Lists LinuxCon North America 2016 8/24/16

LinuxCon North America 2016 Thank you! ? LinuxCon North America 2016 8/24/16