OpenStack’s networking-vpp

Slides:



Advertisements
Similar presentations
© 2012 IBM Corporation Architecture of Quantum Folsom Release Yong Sheng Gong ( 龚永生 ) gongysh #openstack-dev Quantum Core developer.
Advertisements

Bringing Together Linux-based Switches and Neutron
DOT – Distributed OpenFlow Testbed
Introduction to DBA.
VMware Virtualization Last Update Copyright Kenneth M. Chipps Ph.D.
Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS PRIMERGY Servers and Windows Server® 2008 R2 Benefit from an efficient, high performance and flexible platform.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Virtualization for Cloud Computing
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
VirtualBox What you need to know to build a Virtual Machine.
CON Software-Defined Networking in a Hybrid, Open Data Center Krishna Srinivasan Senior Principal Product Strategy Manager Oracle Virtual Networking.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Vignesh Ravindran Sankarbala Manoharan. Infrastructure As A Service (IAAS) is a model that is used to deliver a platform virtualization environment with.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Fd.io is the future Ed Warnicke fd.io Foundation1.
Co-ordination & Harmonisation of Advanced e-Infrastructures for Research and Education Data Sharing Grant.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Intro To Virtualization Mohammed Morsi
Considerations for Benchmarking Virtual Networks Samuel Kommu, Jacob Rapp, Ben Basler,
SDN Controller/ Orchestration/ FastDataStacks Joel Halpern (Ericsson) Frank Brockners (Cisco)
Honeycomb + fd.io Ed Warnicke. Fast Data Scope Fast Data Scope: IO Hardware/vHardware cores/threads Processing Classify Transform Prioritize Forward Terminate.
Introduction to Operating Systems Concepts
Virtualization of Infrastructure as a Service (IaaS): Redundancy Mechanism of the Controller Node in OpenStack Cloud Computing Platform BY Shahed murshed.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Shaopeng, Ho Architect of Chinac Group
/csit CSIT Readout to LF OPNFV Project 01 February 2017
OpenStack.
/csit CSIT Readout to FD.io Board 08 February 2017
Instructor Materials Chapter 7: Network Evolution
Virtualization for Cloud Computing
New Approach to OVS Datapath Performance
/csit CSIT Readout to FD.io Board 09 February 2017
BESS: A Virtual Switch Tailored for NFV
Operating System Structures
VPP overview Shwetha Bhandari
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Introduction to Distributed Platforms
Design Components are Code Components
Build a low-touch, highly scalable cloud with IBM SmartCloud Provisioning Academic Initiative © 2011 IBM Corporation.
Docker Birthday #3.
Open Source distributed document DB for an enterprise
Interoperability in Modern Clouds using DevOps
NSH_SFC Performance Report FD.io NSH_SFC and CSIT Team
OpenStack Ani Bicaku 18/04/ © (SG)² Konsortium.
Bin Hu, AT&T IPv6 Project Lead, OPNFV
Networking overview Sujata
Indigo Doyoung Lee Dept. of CSE, POSTECH
Software Defined Networking (SDN)
Get the best out of VPP and inter-VM communications.
Building Open Source-Based Cloud Solutions with OpenDaylight
HC Hyper-V Module GUI Portal VPS Templates Web Console
Woojoong Kim Dept. of CSE, POSTECH
Chapter 2: The Linux System Part 1
Virtio Keith Wiles July 11, 2016.
Sangfor Cloud Security Pool, The First-ever NSH Use Case
OVN: The future of Openvswitch
Design Components are Code Components
Cloud-Enabling Technology
Open Automation Software
SCONE: Secure Linux Containers Environments with Intel SGX
NetCloud Hong Kong 2017/12/11 NetCloud Hong Kong 2017/12/11 PA-Flow:
PerformanceBridge Application Suite and Practice 2.0 IT Specifications
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
DBOS DecisionBrain Optimization Server
Flow Processing for Fast Path & Inline Acceleration
Containers on Azure Peter Lasne Sr. Software Development Engineer
Openstack Summit November 2017
Presentation transcript:

OpenStack’s networking-vpp Jérôme Tollet

Agenda Goals Design principles Main components Performance benchmarks Supported features Next steps

Networking-vpp: Goals FD.io / VPP is a fast software dataplane that can be used to speed up communications for any kind of VM or VNF. VPP can speed-up both East-West and North-South communications Networking-vpp is a project aiming at providing a simple, robust, production grade integration of VPP in OpenStack using ml2 interface Goal is to make VPP a first class citizen component in OpenStack for NFV and Cloud applications

Networking-vpp: Design Principles Main design goals are: scalability, simplicity and availability Efficient management communications All communication are asynchronous All communications are REST based Availability All state information are maintained in a highly scalable KV store cluster (etcd) All modules are unit and system tested Code is small and easy to understand (no spaghetti/legacy code) Project plays with OpenStack rules Blueprint, code reviews, …

Introducing Vector Packet Processor - VPP NC/Y REST ... VPP is a rapid packet processing development platform for highly performing network applications 14+ MPPS, single core Multimillion entry FIBs Runs on commodity CPUs and leverages DPDK Creates a vector of packet indices and processes them using a directed graph of nodes – resulting in a highly performant solution. Runs as a Linux user-space application Ships as part of both embedded & server products, in volume; Active development since 2002 See also: FD.IO (The Fast Data Project) Management Agent Packet Processing: VPP Network IO

Networking-vpp: Current Performances 16.09 Results Lossless 10Mpps per CPU 2 hyperthreads 5Mpps TX + 5Mpps RX (64B packets) Hardware / software testbed Intel E5-2643v3@3.4GHz Intel NIC 82599ES 2x10Gbps VPP 16.09 running on 1 core (2 threads) Qemu 2.7 Testpmd DPDK patched version (indirect buffer) VNF DPDK testpmd 5Mpps + 5Mpps VPP ** more detailed results at 4:25pm today ! **

Networking-vpp: Main Components networking-vpp ML2 driver Implements the Neutron ML2 mechanism driver APIs. runs on the controller node. VPP agent Runs on each compute node and programs the VPP data plane. etcd (version >= 3.0.x) stores agent state and enables communication between the driver and agents etcd instance(s) run wherever you want (controller node(s) or anywhere else)

Networking-vpp: Overall Architecture Neutron Server ML2 VPP Mechanical Driver journaling Compute Node Compute Node VM VM VM VM VM VM HTTP/json vhostuser ML2 Agent VPP vhostuser VPP ML2 Agent dpdk dpdk vlan / flat network

Networking-vpp: etcd KV store etcd is a distributed key value store Tolerate machine failure Applications can read and write data into etcd using REST / JSON Values can be watched etcdctl watch --recursive --forever / to see “behind the curtain”(e.g. ports added / deleted) Networking-vpp etcd data structure networking-vpp/nodes Subdirs are compute nodes networking-vpp/state/nodes/X/alive heartbeat back networking-vpp/state/nodes/X/ports return port state networking-vpp/state/nodes/X/physnets physnets present on the hypervisor

Networking-vpp: etcd sample JSON entry (1/2) Sample JSON node entries in etcd for a vhostuser port type created on a compute node named "server-2" { "action": "get" "node": { "key": "/networking-vpp/nodes", "dir": true, "nodes": [ { "key": "/networking-vpp/nodes/server-2", "dir": true, "key": "/networking-vpp/nodes/server-2/ports", "dir": true, "key": "/networking-vpp/nodes/server-2/ports/fd07aa8f-4572-4eba-af75-16c7c59e544c", "value": "{\"network_id\": \"04016a26-b571-458d-9f2e-524aee598a37\", \"segmentation_id\": 2070, \"mtu\": 1500, \"binding_type\": \"vhostuser\", \"mac_address\": \"fa:16:3e:bd:5d:c8\", \"network_type\": \"vlan\", \"physnet\": \"physnet1\"}", "modifiedIndex": 458419, "createdIndex": 458419 }, ], "modifiedIndex": 36, "createdIndex": 36 } ], "modifiedIndex": 36, "createdIndex": 36 } }

Networking-vpp: etcd sample JSON entry (2/2) JSON value under networking-vpp/nodes/server-2/ports/fd07aa8f-4572-4eba-af75-16c7c59e544c key value network_id 04016a26-b571-458d-9f2e-524aee598a37 segmentation_id 2070 mtu 1500 binding_type vhostuser mac_address fa:16:3e:bd:5d:c8 network_type vlan physnet physnet1

Networking-vpp: Supported Features Network Types: Flat, VLANs Port connectivity: vhostuser ports for Virtual Machines Tap port for ”service connectivity”: DHCP (q-dhcp), Router (q-router) DB Journaling Used for logging in the driver “pre_commit” phase. Based on the existing Neutron MariaDB Database to it 'to keep etcd in sync with Neutron's internal state in the face of intermittent problems' Supported HA scenario VPP agent restart resets VPP to a clean state fetches any existing port data from etcd and programs the VPP state. ml2 driver restart retrieves information from etcd uses the journal to push as yet unpublished data to etcd Public distro and Installers Redhat, TripleO, APEX (based on TripleO), DevStack

Networking-vpp: Draft Dev Roadmap Plan of Records (POR) Security Groups / Anti Spoofing Requires enhanced classifier in VPP MAC / IP restrictions, blocks gratuitous ARP, DHCP servers, … Tap-as-a-Service Requires enhanced port mirroring capability in VPP Enhanced automated testplan / testbed for unit testing Plan of Intents (POI) Integration with Telemetry systems Support for VXLan

Useful pointers networking-vpp OpenStack Repository https://git.openstack.org/cgit/openstack/networking-vpp/ networking-VPP Launchpad https://launchpad.net/networking-vpp Colorado automated testing https://build.opnfv.org/ci/job/apex-deploy-baremetal-os-nosdn-fdio-noha-colorado/

Questions ?