DPDK – What It Means for Network Operators

Total Page:16

File Type:pdf, Size:1020Kb

DPDK – What It Means for Network Operators DPDK – What it means for Network Operators Allan Houston Email: [email protected] What is DPDK? The Data Plane Development Kit (DPDK) is a set of data plane libraries and network interface controller drivers for fast packet processing. Originally developed by Intel , released under an open source BSD licence. DPDK gives hardware like speeds on software based appliances Brief History of Time PowerB and TILE-Gx added. DPDK.org RHEL, open source CentOS, Moved to Embryonic community Ubuntu Linux Development established support Foundation 2010 2013 2014 2015 2015 2017 Initial release First multi- ARM Support by Intel vendor CPU Hardware and NIC and Software support. accelerators Packaged in added Fedora & FreeBSD Silicon vs DPDK - Performance •Nexus •QFX5200- •7170-32C •ESXi 9316D-GX 32C •Throughput: VMXNET 32 •Throughput: •Throughput: 6.4 Tbps DPDK vCPU 6.4 Tbps 12.8 Tbps •Size: 1U •Throughput: •Size: 1U •Size: 1U ~40 Gbps Cisco Nexus Cisco Juniper QFX Juniper •Size: 2U Arista 7000 Series 7000 Arista Silicon vs DPDK Silicon DPDK • Very long R&D cycle • No requirement for • Slow uptake in kernel updates features • Two major releases • Once cast can’t be per year changed • Last month: 133 • R&D cost carried by authors pushed 842 the end user commits • 141,066 lines of code changed Projects and Products using DPDK 2010 2013 2014 2015 2015 2017 ARM uCPE – A New Hope Oct 26, 2015 – Patch 00/11 • DPDK adds armv8 architecture support ARM uCPE – A New Hope August 27, 2018 – VMWorld 2018 • VMware demonstrates ESXi on 64-bit ARM • Four logical processors, two network interfaces • VMware ESXi 6.8.2 build 16864140. ARM uCPE – A New Hope Raspberry Pi3 B+ Rockchip ROC- ODROID-XU4 • 1.4GHz 64-bit quad- RK3399-PC • Octa-core ARMv8 core ARMv8 CPU • Six-Core 64-Bit CPU • 1 GB RAM ARMv8 • 2 GB RAM • 802.11n Wireless • 4 GB RAM • GigabitEthernet LAN LAN • GigabitEthernet LAN • Price: $59 • 10/100Mbps Lan • PoE Support Speed • Price: $99 • Price: $40 ARM uCPE – A New Hope Example: FRR + VPP vRouter https://github.com/three6five-kzn/dpdk FRRouting (FRR) is an IP routing protocol suite for Linux and Unix platforms which includes protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. The VPP platform provides out-of-the-box production quality switch/router functionality. It is the open source version of Cisco's Vector Packet Processing (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs. Example: FRR + VPP vRouter https://github.com/three6five-kzn/dpdk Example: FRR + VPP vRouter https://github.com/three6five-kzn/dpdk FRR receiving a full routing table: frr-dpdk# show ip bgp summ IPv4 Unicast Summary: BGP router identifier 2.2.2.2, local AS number 65535 vrf-id 0 BGP table version 685423 RIB entries 1004563, using 153 MiB of memory Peers 1, using 21 KiB of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.10.100 4 65512 7629300 12676 0 0 255519 00:21:08 549508 Total number of neighbors 1 frr-dpdk# Example: FRR + VPP vRouter VMWare ESXi OVF Exports http://dpdk.ahouston.net Considerations Move from dedicated hardware to shared server infrastructure • Split operational responsibility • Hardware resource management Considerations • Routing and Switching • Linux / FreeBSD systems • Python • {REST API} • Docker Network Engineer Full Stack Engineer Full Stack Engineer • Routing • Linux / FreeBSD • YANG • Switching • {REST API} • JSON • MPLS • Python • XML • QoS • Docker • Kubernetes • Ansible / SALT Thank you!.
Recommended publications
  • Test-Beds and Guidelines for Securing Iot Products and for Secure Set-Up Production Environments
    IoT4CPS – Trustworthy IoT for CPS FFG - ICT of the Future Project No. 863129 Deliverable D7.4 Test-beds and guidelines for securing IoT products and for secure set-up production environments The IoT4CPS Consortium: AIT – Austrian Institute of Technology GmbH AVL – AVL List GmbH DUK – Donau-Universit t Krems I!AT – In"neon Technologies Austria AG #KU – JK Universit t Lin$ / Institute for &ervasive 'om(uting #) – Joanneum )esearch !orschungsgesellschaft mbH *+KIA – No,ia -olutions an. Net/or,s 0sterreich GmbH *1& – *1& -emicon.uctors Austria GmbH -2A – -2A )esearch GmbH -)!G – -al$burg )esearch !orschungsgesellschaft -''H – -oft/are 'om(etence 'enter Hagenberg GmbH -AG0 – -iemens AG 0sterreich TTTech – TTTech 'om(utertechni, AG IAIK – TU Gra$ / Institute for A((lie. Information &rocessing an. 'ommunications ITI – TU Gra$ / Institute for Technical Informatics TU3 – TU 3ien / Institute of 'om(uter 4ngineering 1*4T – 1-Net -ervices GmbH © Copyright 2020, the Members of the IoT4CPS Consortium !or more information on this .ocument or the IoT5'&- (ro6ect, (lease contact8 9ario Drobics7 AIT Austrian Institute of Technology7 mario:.robics@ait:ac:at IoT4C&- – <=>?@A Test-be.s an. guidelines for securing IoT (ro.ucts an. for secure set-up (ro.uction environments Dissemination level8 &U2LI' Document Control Title8 Test-be.s an. gui.elines for securing IoT (ro.ucts an. for secure set-u( (ro.uction environments Ty(e8 &ublic 4.itorBsC8 Katharina Kloiber 4-mail8 ,,;D-net:at AuthorBsC8 Katharina Kloiber, Ni,olaus DEr,, -ilvio -tern )evie/erBsC8 -te(hanie von )E.en, Violeta Dam6anovic, Leo Ha((-2otler Doc ID8 DF:5 Amendment History Version Date Author Description/Comments VG:? ?>:G?:@G@G -ilvio -tern Technology Analysis VG:@ ?G:G>:@G@G -ilvio -tern &ossible )esearch !iel.s for the -2I--ystem VG:> >?:G<:@G@G Katharina Kloiber Initial version (re(are.
    [Show full text]
  • DPDK, VPP & Pfsense
    DPDK, VPP & pfSense 3.0 Jim Thompson DPDK Summit Userspace - Dublin- 2017 %whoami Co-founded company in 1992 Focused on network security Originally “Netgate” was name an open source firewall for SunOS 4 Ported to Solaris (2.3), Windows NT, BSDi Added IPsec (then quite new) Wrote CiscoSecure (TACACS+ / RADIUS server) Might know us best for DPDK in a Box DPDK in a Box Simple, easy intro to running DPDK Minnowboard “Turbot” w/ 4C E3845 Atom, 2GB RAM, 32GB M.2 SSD, 2 x i210 Ethernet CentOS + pre-complied / installed DPDK + source code + testpmd DPDK in a Box, next-gen %whoami Co-founded company in 1992 Originally “Netgate” was name an open source firewall for SunOS 4 Also ported to Solaris (2.3), Windows NT, BSDi Also wrote CiscoSecure (TACACS+ server) Might know us best for DPDK in a Box We are the company behind the pfSense project pfSense® software FreeBSD-based router/firewall distribution “Like a Cisco ASA” 100,000 lines of PHP Orchestration + WebGUI Started in 2004 First release 4 October 2006 2.4 release 2 October 2017 1.375 million current installs 960,000+ on 64-bit Intel 8,000 32-bit ARM ARM64 underway October 2014 pfSense under strain after 10 years Increasing use of 10Gbps and higher Ethernet Increasing packet rate requirements No central ‘status’ db, so most config changes require restarting stack No API — makes automated test & interfacing to orchestration difficult Offsite meeting in 2014 Simple goals 10Gbps IP4/IP6 forwarding tinygrams, with ACLs 10Gbps IPsec (large frames) Eliminate PHP Add API Project named Pennybacker Experiments
    [Show full text]
  • Rethinking BGP Programmability
    λBGP: Rethinking BGP programmability Nicholas Hart, Charalampos Rotsos, Vasileios Giotsas, Nicholas Race, David Hutchison School of Computing and Communications, Lancaster University Abstract—BGP has long been the de-facto control plane pro- or supplement the information transmitted to adjacent ASes. tocol for inter-network connectivity. Although initially designed Configuration is stateless and programmability is typically to provide best-effort routing between ASes, the evolution of limited to simple arithmetic and logical expressions. As a Internet services has created a demand for more complex control functionalities using the protocol. At the heart of this challenge result, network managers must maintain large and complex lies the static nature of current BGP policy specification and en- configuration files in order to achieve the required policy forcement, and the limited programmability of production BGP effects, requiring regular updates in order to support changing policy frameworks. Meanwhile, in other contexts, the SDN model network conditions. Misconfiguration errors are a major cause has demonstrated that open and generic network control APIs of BGP problems [2], and connectivity outages and route leaks can greatly improve network functionality and seamlessly enable greater flexibility in network management. In this paper, we at a global or national level are not uncommon [3], [4]. argue that BGP speaking systems can and should provide an open Second, the BGP path selection process in current BGP control API and a richer policy language, in order to address routers is proactive, and its scope is limited to protocol modern era network control requirements. Towards this goal, we information and static configuration data. Many measurement present λBGP, a modular and extensible BGP stack written in studies have highlighted the fact that BGP could improve the Haskell.
    [Show full text]
  • Vector Packet Processor Documentation Release 0.1
    Vector Packet Processor Documentation Release 0.1 John DeNisco Aug 10, 2018 Contents 1 Overview 3 1.1 What is VPP?...............................................3 1.2 Features..................................................5 1.3 Performance............................................... 10 1.4 Architectures and Operating Systems.................................. 12 2 Getting Started 13 2.1 Users................................................... 13 2.2 Developers................................................ 51 2.3 Writing VPP Documentation....................................... 77 3 Use Cases 99 3.1 FD.io VPP with Containers....................................... 99 3.2 FD.io VPP with Virtual Machines.................................... 106 3.3 Using VPP as a Home Gateway..................................... 114 3.4 vSwitch/vRouter............................................. 118 4 Troubleshooting 119 4.1 How to Report an Issue......................................... 119 4.2 CPU Load/Usage............................................. 122 5 User Guides 125 5.1 Progressive VPP Tutorial......................................... 125 5.2 API User Guides............................................. 149 6 Events 151 6.1 Conferences............................................... 151 6.2 Summits................................................. 153 6.3 Meetings................................................. 163 6.4 Calls................................................... 165 6.5 Fd.io Training Event..........................................
    [Show full text]
  • Linux Networking 101
    The Gorilla ® Guide to… Linux Networking 101 Inside this Guide: • Discover how Linux continues its march toward world domination • Learn basic Linux administration tips • See how easy it can be to build your entire network on a Linux foundation • Find out how Cumulus Linux is your ticket to networking freedom David M. Davis ActualTech Media Helping You Navigate The Technology Jungle! In Partnership With www.actualtechmedia.com The Gorilla Guide To… Linux Networking 101 Author David M. Davis, ActualTech Media Editors Hilary Kirchner, Dream Write Creative, LLC Christina Guthrie, Guthrie Writing & Editorial, LLC Madison Emery, Cumulus Networks Layout and Design Scott D. Lowe, ActualTech Media Copyright © 2017 by ActualTech Media. All rights reserved. No portion of this book may be reproduced or used in any manner without the express written permission of the publisher except for the use of brief quotations. The information provided within this eBook is for general informational purposes only. While we try to keep the information up- to-date and correct, there are no representations or warranties, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the information, products, services, or related graphics contained in this book for any purpose. Any use of this information is at your own risk. ActualTech Media Okatie Village Ste 103-157 Bluffton, SC 29909 www.actualtechmedia.com Entering the Jungle Introduction: Six Reasons You Need to Learn Linux ....................................................... 7 1. Linux is the future ........................................................................ 9 2. Linux is on everything .................................................................. 9 3. Linux is adaptable ....................................................................... 10 4. Linux has a strong community and ecosystem ........................... 10 5.
    [Show full text]
  • Segment Routing: a Comprehensive Survey of Research Activities, Standardization Efforts and Implementation Results
    SUBMITTED TO IEEE COMMUNICATIONS SURVEYS & TUTORIALS 1 Segment Routing: a Comprehensive Survey of Research Activities, Standardization Efforts and Implementation Results Pier Luigi Ventre, Stefano Salsano, Marco Polverini, Antonio Cianfrani, Ahmed Abdelsalam, Clarence Filsfils, Pablo Camarillo, Francois Clad Revision R2 - June 2020 Abstract—Fixed and mobile telecom operators, enterprise net- APIs, Northbound APIs, Open Source, Software Defined Net- work operators and cloud providers strive to face the challenging working, SDN, Service Function Chaining, SFC, Standards demands coming from the evolution of IP networks (e.g. huge bandwidth requirements, integration of billions of devices and millions of services in the cloud). Proposed in the early 2010s, I. INTRODUCTION Segment Routing (SR) architecture helps face these challenging demands, and it is currently being adopted and deployed. SR Egment Routing (SR) is based on the loose Source architecture is based on the concept of source routing and S Routing concept. A node can include an ordered list of has interesting scalability properties, as it dramatically reduces instructions in the packet headers. These instructions steer the the amount of state information to be configured in the core forwarding and the processing of the packet along its path in nodes to support complex services. SR architecture was first implemented with the MPLS dataplane and then, quite recently, the network. with the IPv6 dataplane (SRv6). IPv6 SR architecture (SRv6) The single instructions are called segments, a sequence of has been extended from the simple steering of packets across instructions can be referred to as a segment list or as an SR nodes to a general network programming approach, making it Policy.
    [Show full text]
  • Protecting Routing with RPKI Mark Kosters, ARIN CTO
    Protecting Routing with RPKI Mark Kosters, ARIN CTO @TeamARIN Agenda •Routing, a short •Using ARIN’s RPKI primer components •Operational routing •RPKI Statistics challenges •IRR Status •Do we have a solution? @TeamARIN 1 Core Internet Functions: Routing & DNS •The Internet relies on two critical resources • DNS: Translates domain names to IP addresses and IP addresses to domain names • Routing: Tells us how to get to an IP address •These critical resources are not secure •DNSSEC and RPKI secure these critical resources @TeamARIN 2 Routing – A Primer @TeamARIN 3 Routing Architecture •The Internet uses a two level routing hierarchy: • Interior Gateway (Routing) Protocol - IGP • Exterior Gateway (Routing) Protocol - EGP @TeamARIN 4 Routing Architecture - IGP • Interior Routing Protocols, used by each network to determine how to reach all destinations that lie within the network • Interior Routing protocols maintain the current topology of the network @TeamARIN 5 Routing Architecture - EGP • Exterior Routing Protocol, used to link each component network together into a single whole • Exterior protocols assume that each network is fully interconnected internally @TeamARIN 6 Exterior Routing: BGP •BGP is a large set of bilateral (1:1) routing sessions • A tells B all the destinations (prefixes) that A is capable of reaching • B tells A all the destinations that B is capable of reaching 10.0.0.0/24 192.2.200.0/24 10.1.0.0/16 10.2.0.0/18 A B @TeamARIN 7 Operational Routing Challenges @TeamARIN 8 Focus on Interconnections • Started out as informal
    [Show full text]
  • One Year of Frrouting
    One year of FRRouting Martin Winter NetDEF / OpenSourceRouting 1 1 Year ago at RIPE 74: What is FRR ? (for the not so technical People) ‣ Open Source (GPLv2+) Routing Stack ‣ Implements RIP, RIPng, OSPF (v2&v3), ISIS, BGP, PIM, LDP ‣ Fork of Quagga ‣ Works on Linux and most BSD based systems ‣ For use in many Clouds as virtual routers, white box vendors and network providers (full routing stack) 2 1 Year ago at RIPE 74: FRR - Why a new fork? Community Led and Driven Fast & Open Development Open Community Model 3 1 Year ago at RIPE 74: FRR - What’s different? ‣ Methodical vetting of submissions ‣ Extensive automated testing of contributions ‣ Git Pull Requests ‣ Github centered development ‣ Elected Maintainers & Steering Committee ‣ Common Assets held in trust by Linux Foundation 4 What happened since the fork? Code size doubled - 11,310 10,000 8000 Commits to FRR since the first public release a year ago 6000 Commits to FRR in fork before the first release 4000 2000 Commits in Quagga from 2002 until the time where the fork began 0 FRRouting fork 500st 1000st 1500st announced Pull Req Pull Req Pull Req submitted submitted submitted Now Apr 2017 Aug Oct Jan 2018 Mar April (May) soon FRR 2.0 FRR 3.0 FRR 4.0 FRR 5.0 LDP IPv4/v6, BGP Add- BGP Large Comm, BGP BGP RPKI, BGP EVPN Type Policy-Based Routing Path, Nexthop tracking, partial EVPN RT-5, LDP 2/3, BGP v4 labeled Daemon, ISIS 3way JSON output, Linux VRF Capabilities, ISIS SPF unicast, ISIS Multitopo, Handshake, BGP VRF lite, OSPF unnumbered, Backoff, PIM SM, PIM EIGRP, BABEL, OSPFv2 with
    [Show full text]
  • ISP Design – Using a Full Table RR to Improve Ebgp Performance with Mikrotik Routers
    www.iparchitechs.com ISP Design – Using a full table RR to improve eBGP performance with MikroTik routers PRESENTED BY: KEVIN MYERS, NETWORK ARCHITECT Profile: About Kevin Myers Background: • 20+ years in Networking • Designed/Built Networks on 6 continents • MikroTik Certified Trainer • MikroTik, Cisco and Microsoft Certified Community Involvement: Packet Pushers (Podcast Guest / Blogger) Group Contributor (RouterOS / WISP Talk and others) Delegate/Roundtable contributor (NFD14) MT Forum (Forum Veteran – Member since 2012) Network Collective (Podcast Guest) Profile: About IP ArchiTechs Expert Networking Whitebox | ISP | Data Center | Enterprise ✓ Global Consulting ✓ Managed Networks ✓ Monitoring Locations in: US | Canada | South America ✓ Load Testing Call us at: +1 855-645-7684 E-mail: [email protected] ✓ Development Web: www.iparchitechs.com Profile: About IP ArchiTechs Now in Europe! IPA Opened an office in Nis, Serbia in 2018 Design: Why use a route reflector for full tables Goal of this presentation: When the presentation is finished, hopefully you will have walked away with a few key concepts: • Performance limitations of using full mesh peering between BGP border routers • How to leverage open source software to create a high performance BGP RR for MikroTik border routers • Design benefits of using a BGP full table RR Design: CHR vs. Hardware for full tables? • Which platform is better? • Throughput capabilities? • x86 CPU vs. ARM/Tilera? vs. Design: CHR vs. Tilera/ARM for BGP Border? Platform CPU x86 Tilera ARM MPLS router CPU Better for heavy Optimized for packet In between x86 and requirements computational work. transfer. Designed to be Tilera for performance. depend on load and Higher power draw.
    [Show full text]
  • Exploring the Routing Message Impact of BGP Communities
    Keep your Communities Clean: Exploring the Routing Message Impact of BGP Communities Thomas Krenc Robert Beverly Georgios Smaragdakis Naval Postgraduate School Naval Postgraduate School TU Berlin [email protected] [email protected] [email protected] ABSTRACT BGP communities [10, 26] are one such example of an optional BGP communities are widely used to tag prefix aggregates for policy, attribute that adds new meta-information to routing messages. traffic engineering, and inter-AS signaling. Because individual ASes Communities are used to conveniently tag (an aggregate of) pre- define their own community semantics, many ASes blindly propa- fixes to enable particular actions or policies. However, community gate communities they do not recognize. Prior research has shown values and semantics are not standardized – the meaning of a spe- the potential security vulnerabilities when communities are not cific community value is defined by individual autonomous systems filtered. This work sheds light on a second unintended side-effect of (ASes). Benoit et al. first defined a taxonomy where, broadly speak- communities and permissive propagation: an increase in unneces- ing, communities are used to tag received prefixes to aid an AS’s sary BGP routing messages. Due to its transitive property, a change internal routing decisions, or added to outbound announcements in the community attribute induces update messages throughout as a convenient signaling mechanism [10]. Today, communities established routes, just updating communities. We ground our work are known to encode location identifiers [15, 17] express policy by characterizing the handling of updates with communities, in- preferences upstream [18], enable selective advertisement in In- cluding when filtered, on multiple real-world BGP implementations ternet Exchange Points (IXPs) [19, 34], and as a DDoS mitigation in controlled laboratory experiments.
    [Show full text]
  • Linux Networking
    Networking Software The Linux Kernel, Ecosystem, and Community for Open Switch Hardware Roopa Prabhu, Director Engineering, Cumulus Networks This talk is about... ● Open Switch Hardware and Linux Networking NETWORKING ● Disaggregated hardware and software stacks ● Journey of Open Switch Hardware in the Linux kernel and Community ■ Linux Switch Hardware Offload ■ Linux networking features for the Datacenter Fabric ● Leveraging Linux ecosystem for Open Switch Hardware ● Building Open Data center networking fabrics with Linux and Open Switch Hardware Open Switch hardware and Linux: Revolution or Evolution ? Open Compute Hardware and Linux networking ● Disaggregated Hardware and Software Stacks Apps ● Linux hardware offload Model: Software protocols management accelerated by hardware (Network, memory, Linux kernel disk) ● Virtual hardware models: provide ability to test networking CPU memory IO without HW Drivers OCP server Hardware (Nic, NPU) Open Networking Switch Hardware and Linux networking ● Disaggregated Hardware and Software Stacks control manage Apps telemetry ● Linux hardware acceleration Model: protocols ment Software networking accelerated by Hardware Linux kernel ● Linux network forwarding plane is networking mem CPU the Model (forwarding db) ory IO ● Virtual Linux forwarding model: Drivers provides ability to test networking without HW OCP Hardware: Network ASIC It’s a natural Evolution.. ● Unified Architectures for all Open Hardware ● Unified deployment and operational models ■ Ability to simulate and test workflows with Linux
    [Show full text]
  • Vyos Platform | DATASHEET HOW YOU CAN USE Vyos
    VyOS Platform the power of your environment VyOS is a network operating system which supports most of modern routing protocols and network security features. VyOS runs equally well on bare metal hardware and inside virtual machines, including common cloud platforms. OVERVIEW VyOS is a GNU/ Linux-based operating system which ties many popular open source applications under a single, unified command line interface. VyOS offers features that are inherent to the traditional hardware routers: commit and rollback functionality, built-in configuration versioning and archiving, scripting APIs. At the same time it provides VPN and firewalls options. One of the most popular use cases for VyOS is connecting an existing enterprise network to the cloud infrastructure or connecting networks that hosted at different cloud platform vendors to each other: Benefits: - Open and community-driven nature of development - Enterprise- and service provider networks oriented - Adaptable for any network - from a small office to a data center rack - Arise from the abandoned Vyatta Core system so you can upgrade old Vyatta Core systems to VyOS without reinstallation - Continues to be actively developed and improved by the community. Services offered: - Commercial support - Development services on demand - Private deployments design and configuration for small and medium-sized businesses (ISPs, MSPs and Enterprise users) - Trainings and workshops KEY FEATURES - Wide range of supported VPN technologies: GRE, IPSec, IPSec VTI, OpenVPN, WireGuard - API for working with configuration from shell, Python, and Perl scripts - Physical and virtual hardware supported equally - Command line interface in the style of JunOS - Wide range of COTS hardware and virtual platforms supported - One-step image build process: any users can build custom images for their needs - Support BGP, OSPF routing protocols - QoS for traffic prioritization and shaping - Safe and easy image-based upgrades.
    [Show full text]