OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content from: David Meyer, Neela Jaques, and Kevin Woods
Outline Introduc)on to SDN to OpenDaylight New in Lithium Plans for Beryllium
Traditional SDN (OpenFlow) The separation of the and data planes Modern switches Control/data plane both on switch Data plane: fast, reads tables Control plane: slow, writes tables Control Plane CPU Switch Chip Ports, 1-6
Traditional SDN (OpenFlow) The separation of the and data planes Modern switches Control/data plane both on switch Data plane: fast, reads tables Control plane: slow, writes tables SDN Decouple /data planes Data plane on the switch Control plane elsewhere, e.g., an x86 server, can do fancier things Most features go here This gets smaller, turns into ler to switch chip translator SDN Controller Control Plane CPU Switch Chip Ports, 1-6
Modern, Inclusive SDN Vendor A Vendor B Vendor C mgmt mgmt mgmt
Modern, Inclusive SDN Vendor A Vendor B Vendor C mgmt mgmt mgmt mgmt mgmt mgmt Vendor A Vendor B Vendor C
Modern, Inclusive SDN Vendor A mgmt Vendor B mgmt Vendor C mgmt Logically Centralized SDN Controller Northbound API Industry Standard Control/Management Protocols Standard Modeling Language Vendor A Vendor B Vendor C
What is OpenDaylight OpenDaylight is an Open Source So8ware project under the Linux Founda=on with the goal of furthering the adop)on and innova)on of So8ware Defined Networking (SDN) through the crea)on of a common industry supported plaporm. Code Acceptance Community To create a robust, extensible, open source code base that covers the major common components required to build an SDN solu)on To get broad industry acceptance amongst vendors and users: Using it directly or through vendor products Vendors using OpenDaylight in commercial products To have a thriving and growing technical community contribu)ng to the code base, using the code in commercial products, and adding value above, below and around.
OpenDaylight Releases Hydrogen (first release) February 2014 13 projects, 1.3m lines of code Helium (second release) October 2014 25 projects, 2.1m lines of code Lithium (latest release) June 2015 40+ projects, 2.3m lines of code
Core Architecture App/Service App/Service Model- Driven Service Abstrac)on Layer (MD- SAL) No)fica)ons RPCs Data Plugin Plugin
Core Architecture Controllers in a Cluster App/Service App/Service Model- Driven Service Abstrac)on Layer (MD- SAL) No)fica)ons RPCs Data Plugin Plugin
Core Architecture App/Service App/Service Model- Driven Service Abstrac)on Layer (MD- SAL) No)fica)ons RPCs Data Plugin Plugin YANG Models
Core Architecture App/Service App/Service Plugin Plugin Model- Driven Service Abstrac)on Layer (MD- SAL) No)fica)ons RPCs Data
OpenDaylight Lithium VTN Coordinator SDNi Wrapper DLUX Web-based GUI OpenStack (via Neutron) Application and Orchestration Services Custom Basic AuthN Filter AAA AuthN Filter Neutron AuthN AD-SAL REST APIs MD-SAL RESTCONF (REST) APIs Neutron APIs Authentication Northbound/REST APIs stats Base Network Services flow-based programming host tracking topology processing DOCSIS ALTO SDNi Aggregator LISP Service L2 Switch TSDR DIDM Group Policy Netwk. Intent Service Func. Chaining Persistence Reservation VPN Svc OpenStack Neutron Service VTN Group Policy OVSDB LISP Controller Platform and Services API-Driven Service Abstraction Layer (AD-SAL) clustering shared data models RPCs and notifications Model-Driven Service Abstraction Layer (MD-SAL) Abstraction Layers OpenFlow LACP PCEP SNBI SXP ALTO PCMM /COPS BGP NETCONF SNMP USC CoAP OpenFlow 1.0 TCPMD5 TCPMD5 1.0 1.3 TTP OVSDB CAPWAP LISP OpFlex Southbound Interfaces and Protocol Plugins
Source: https://www.openhub.net/p/opendaylight OpenDaylight Community Like any Open Source Project, OpenDaylight primarily consists of those who show up to do the work. Running around 250 commits per week over 12 months, trending up 30 Days: ~625 commits, ~100 contributors (7/13/15 8/12/15) Spikes to ~2x this near releases 12 Months: ~13,250 commits, ~365 contributors (8/12/14 8/12/15) Strong integra)on and tes)ng community This stuff really magers
OpenDaylight Community
New in Lithium
Focus in Lithium Features OpenStack/Neutron Integra)on Significant closing feature gaps More implementa)ons OVSDB, GBP, VPN Svc, VTN, LISP Service chaining/nfv Part of OPNFV s first release More on policy NIC as a vendor- neutral layer Big push on SFC+GBP ~20 new projects Meta Security Formal process defined Handled many issues/fixes Release process refinement Beger documenta)on process Beger integra)on/test process Offsets for coordina)on Depreca)on of the AD- SAL S3P: Security, Stability, Scalability, and Performance
OpenDaylight with OpenStack Single OpenStack Neutron service proxy Handles most of the bookkeeping Custom Basic AuthN Filter AAA AuthN Filter Neutron AuthN AD-SAL REST APIs MD-SAL RESTCONF (REST) APIs Neutron APIs Choose your implementa)on Base Network Services Group- based flow-based host Policy topology stats programming tracking processing ALTO LISP OVSDB VPN Service (only for VPNaaS) VTN API-Driven Service Abstraction Layer (AD-SAL) VTN Coordinator clustering DOCSIS shared data models SDNi Aggregator LISP Service RPCs and notifications SDNi Wrapper L2 Switch Check it out (see the links for instruc)ons) DLUX Web-based GUI Model-Driven Service Abstraction Layer (MD-SAL) OpenFlow SXP PCMM BGP OpenFlow LACP PCEP SNBI ALTO NETCONF SNMP USC CoAP 1.0 TCPMD5 /COPS TCPMD5 1.0 1.3 TTP http://www.flaviof.com/blog/work/how-to-odl-with-openstack-part1.html http://www.flaviof.com/blog/work/how-to-odl-with-openstack-part2.html http://www.flaviof.com/blog/work/how-to-odl-with-openstack-part3.html http://go.linuxfoundation.org/l/6342/2015-06-29/2lgcdr/6342/128166/openstack_20150629.pdf TSDR DIDM Group Policy Netwk. Intent Service Func. Chaining Persistence Reservation VPN Svc OpenStack Neutron Service VTN OVSDB OpenStack (via Neutron) Group Policy CAPWAP OVSDB LISP LISP OpFlex Application and Orchestration Services Authentication Northbound/REST APIs Controller Platform and Services Abstraction Layers Southbound Interfaces and Protocol Plugins
New Projects in Lithium Apps Applica)on Layer Traffic Op)miza)on (ALTO) Network Intent Composi)on Neutron Northbound Drivers CAPWAP- Support Distributed LLDP with Auto Agach Capability Link Aggrega)on Control Protocol Internet of Things Data Management (IoTDM) SNMP Plugin Source Group Tag exchange Protocol (SXP) Unified Secure Channel Meta Release Engineering - autorelease Release Engineering - Builder Controller Core Func)onality Tutorials Services Persistence Device Iden)fica)on and Driver Management Discovery Time Series Data Repository Topology Processing Framework VPN Service
S3P: Security, Stability, Scalability, Performance Focus on the bedrock of OpenDaylight OpenFlow, OVSDB, NETCONF, MD- SAL, etc. Significant progress on OpenFlow in Lithium See following slides Broader progress planned in Beryllium
OpenFlow performance and scale hgps://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin- csit- 1node- cbench- performance- only- stable- lithium/plot/ hgps://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin- csit- 1node- periodic- scalability- daily- only- stable- lithium/plot/inventory%20scalability/
Beryllium Plans
Beryllium Release Focus on S3P, Documenta)on, Migra)on, and HA/clustering Tries to balance maturity (the above) with feature velocity Some projects will be mature Some of the Karaf features in mature projects will be stable Stable features will have S3P, Migra)on, and HA/clustering requirements Stable and normal distribu)on; stable only has stable features Driving appropriate projects/features to mature/stable Offset 0: Controller, MD- SAL, NETCONF, AAA, YANG Tools, odlparent Release Plan: hgps://wiki.opendaylight.org/view/simultaneous_release:beryllium_release_plan
Conclusions OpenDaylight is a vibrant community building a versa)le network ler Plethora of southbound protocols Extensible, take- what- you- want approach Strong focus in current key areas NFV Network Virtualiza)on Download it and try it out: hgps://www.opendaylight.org/downloads