Introduction to OpenDaylight 
and its Helium release 
Srini Seetharaman 
srini.seetharaman@gmail.com 
Oct 2014
Problem in Today’s Ossified Network 
2 
Routing, management, mobility management, 
access control, VPNs, … 
Million of lines 
of source code 
6000+ RFCs Barrier to entry 
Feature Feature 
Operating 
System 
Specialized Packet Billions of gates Bloated Power Hungry 
Forwarding Hardware 
Many complex functions baked into the infrastructure 
OSPF, BGP, multicast, differentiated services, 
Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
Solution: “Software-defined Network” 
3 
Simple Packet 
Forwarding 
Hardware 
Simple Packet 
Forwarding 
Hardware Simple Packet 
Simple Packet 
Forwarding 
Hardware 
Simple Packet 
Forwarding 
Hardware 
Forwarding 
Hardware 
Network Operating System 
OpenFlow or 
other API 
North-bound 
interface API 
Unchanged mgmt API 
LB 
service 
FW 
service 
IP routing 
service 
Legacy Router 
This is the purist view 
with clear separation 
of data and control
Expanded View of SDN in OpenDaylight 
Hybrid approaches supported 
1. FIB programmable through OpenFlow, 
irrespective of whether there is an 
onboard control plane 
2. Programmable exclusively through 
embedded control plane: e.g., Yang 
modeled NetConf, OpFlex 
3. Programming both embedded control 
plane and FIB: e.g., Open vSwitch 
Mgmt plane 
Orchestration 
Extnl. Control plane 
Intl. Control 
plane 
Data 
plane 
Hybrid control 
plane where the 
hardware contains 
a more open 
platform for 
adding logic
SDN Killer App #1: Network Virtualization 
SDN-based Virtualized Network Platform 
Dynamic, Programmable, Automated 
5 
Computing Infrastructure
SDN Killer App #2: Service Function Chaining 
6 
Internet Internet 
NFV
Business Potential of SDN 
Business potential How? 
Reduced time to revenue Speed up of service provisioning 
New revenue Through new business models centered around 
7 
on-demand usage 
Improved policy compliance Ensure that cloud workload is compliant with 
enterprise policies (e.g., access control) 
OpEx saving Automated operations and easier management 
of resources 
Reduced OpEx during upgrades Introduce new functions and service by 
replacing just software stack
8
OpenDaylight Consortium 
► Heavy industry involvement and backing 
► Focused on having an open framework for building 
upon SDN/NFV innovations 
 Not limited to OpenFlow innovations, but in fact decoupled 
from it allowing the two to evolve independently 
9
Hydrogen Release 
10 
Base Network Service Functions 
Management 
GUI/CLI 
Controller Platform 
Southbound Interfaces 
& Protocol Plugins 
DDoS 
Protection 
OpenDaylight APIs (REST) 
OpenStack Service 
DOVE Mgr 
Data Plane Elements 
(Virtual Switches, 
Physical Device 
Interfaces) 
Network 
Config 
Service Abstraction Layer (SAL) 
(plug-in mgr., capability abstractions, flow programming, inventory, …) 
OpenFlow 
1.0 1.3 
LISP 
Topology 
Mgr 
Stats 
Mgr 
Switch 
Mgr 
Host 
Tracker 
Shortest 
Path 
Forwarding 
VTN 
Coordinator 
Affinity 
Service 
Network Applications 
Orchestration & Services 
OpenStack 
Neutron 
VTN 
Manager 
VTN: Virtual Tenant Network 
DOVE: Distributed Overlay Virtual Ethernet 
DDoS: Distributed Denial Of Service 
LISP: Locator/Identifier Separation Protocol 
OVSDB: Open vSwitch DataBase Protocol 
BGP: Border Gateway Protocol 
PCEP: Path Computation Element Communication Protocol 
SNMP: Simple Network Management Protocol 
LISP 
Service 
NETCONF SNMP BGP-LS 
OVSDB PCEP 
OpenFlow Enabled 
Devices 
Main difference from other OpenFlow-centric 
controller platforms 
Devices with Proprietary 
control plane 
OVSDB enabled devices
Helium Release 
11 
Dlux UI 
Base Network Service Functions 
Controller 
Platform 
Southbound 
Interfaces 
& Protocol Plugins 
OpenDaylight APIs (REST) 
Data Plane Elements 
(Virtual Switches, 
Physical Device 
Interfaces) 
OpenStack Service 
Service Abstraction Layer (SAL) 
(plug-in mgr., capability abstractions, flow programming, inventory, …) 
OpenFlow 
1.0 1.3 
LISP 
Topology 
Mgr 
Stats 
Mgr 
Switch 
Mgr 
Host 
Tracker 
Flow Rules 
Mgr 
VTN 
Coordinator 
AAA 
Network Applications 
Orchestration & 
Services 
OpenStack 
Neutron 
OVSDB PCEP 
OpenFlow Enabled 
Devices 
VTN: Virtual Tenant Network 
DDoS: Distributed Denial Of Service 
LISP: Locator/Identifier Separation Protocol 
OVSDB: Open vSwitch DataBase Protocol 
BGP: Border Gateway Protocol 
PCEP: Path Computation Element Communication Protocol 
PCMM: Packet Cable MultiMedia 
SNMP: Simple Network Management Protocol 
LISP 
Service 
NETCONF BGP-LS 
Devices with Proprietary 
control plane 
SNMP 
DDoS 
Protection 
OVSDB enabled devices 
Main difference from other OpenFlow-centric 
controller platforms 
SDNi 
Wrapper 
GBP 
Service 
SFC 
TTP 
SNBI 
PCMM/ 
COPS 
OPEN 
CONTRAIL 
GBP 
renderer 
OVSDB 
Neutron 
VTN 
Mgr 
Open 
Contrail 
L2 
switch 
SNBI 
service 
DOCSIS 
SDNI 
aggreg 
AAA – AuthN filter
Java, Interface, Maven, OSGi, Karaf 
► Java chosen as an enterprise-grade, 
cross-platform compatible language 
► Java Interfaces are used for event listening, 
specifications and forming patterns 
► Maven – build system for Java 
► OSGi: 
 Allows dynamically loading bundles 
 Allows registering dependencies and 
services exported 
 For exchanging information across bundles 
Feature 
Feature 
A B … 
SAL 
Karaf 
OSGi Framework 
► Karaf: Light-weight Runtime for loading modules/bundles 
 OSGi based. Primary distribution mechanism for Helium 
12 
(Equinox)
Active projects based on phone calls  
OpenFlowPlugin 
MD-SAL 
LISP Flow Mapping 
OVSDB 
Documentation 
SNBI 
Integration, SFC 
► OVSDB – Southbound plugin and OpenStack Neutron integration 
► SNBI – Secure Network Bootstrapping Infrastructure 
► GBP – Group Based Policy 
► SFC – Service Function Chaining (NSH) 
► Dlux – OpenDaylight UI 
Security analysis 
AAA, Dlux 
GBP 
OpFlex 
PacketCable 
Full project list here: https://wiki.opendaylight.org/view/Main_Page#Projects
Helium: Full List of Projects 
opflex OpFlex protocol 
ovsdb OVSDB protocol and OpenStack integration 
packetcable PacketCable PCMM/COPS 
plugin2oc Southbound plugin to the OpenContrail platform 
reservation Dynamic Resource Reservation project 
sdninterfaceapp SDNi Cross-controller interface 
sfc Service Function Chaining 
snbi Secure Network Bootstrap Infrastructure 
snmp4sdn SNMP4SDN Plugin 
tcpmd5 TCP-MD5 Support library 
toolkit Quickstart Toolkit 
ttp TTP Project 
vtn VTN (Virtual Tenant Network) 
yangtools YANG Tools 
Project keyword Description 
aaa AAA Project 
bgpcep BGP/PCEP protocol library 
controller OpenDaylight Controller 
defense4all Radware Defense4All 
discovery Discovery Service 
dlux OpenDaylight UI 
docs Documentation Project 
groupbasedpolicy Group Based Policy Plugin 
integration Integration Framework 
l2switch Separate Layer 2 switching 
lispflowmapping LISP Mapping Service 
openflowjava OpenFlow Protocol Library 
openflowplugin OpenFlow Plugin
Helium: Feature Dependency Chart
Helium: Running Karaf distribution 
$ wget 
http://nexus.opendaylight.org/content/groups/public/org/op 
endaylight/integration/distribution-karaf/0.2.0- 
Helium/distribution-karaf-0.2.0-Helium.zip 
$ unzip distribution-karaf-0.2.0-Helium.zip 
$ cd distribution-karaf-0.2.0-Helium 
$ ./bin/karaf 
opendaylight-user@root> feature:list (get all apps available) 
opendaylight-user@root> feature:install odl-dlux-core 
opendaylight-user@root> feature:install odl-openflowplugin-all 
opendaylight-user@root> feature:install odl-l2switch-all 
opendaylight-user@root> bundle:list | grep Active 
Now your controller is ready to connect to switches and 
handle incoming flows.
Helium: REST APIs 
► Using REST APIs are much easier with 
Helium 
► Restconf allows for checking config 
and operational state 
 feature:install odl-restconf 
 http://localhost:8181/restconf/.... 
► List of exposed Northbound APIs are 
autogenerated using swagger. 
 feature:install odl-mdsal-apidocs 
 http://localhost:8181/apidoc/explorer
OpenDaylight Hands-on Exploration 
► Tutorial at: http://sdnhub.org/tutorials/opendaylight 
► Dependency chart: 
18 
Legend: Blue = Feature, Green = Bundle
Sample project: OVSDB 
1) OVSDB southbound-plugin 
2) OpenStack integration for net-virt
Orchestration 
North-bound 
API 
Application 
Controller 
South-bound 
API 
Dataplane 
elements 
OpenStack Network Mgmt 
20 
Typical workflow 
1. Create a network 
2. Associate a subnet 
with the network 
3. Boot a VM and 
attach it to the 
network 
4. Delete the VM 
5. Delete any ports 
6. Delete the 
network 
ML2 Plugin 
ODL Mech driver 
Network Virtualization App 
SDN Controller 
OpenFlow OVSDB 
pSwitch 
pSwitch 
vSwitch 
vSwitch 
Neutron API

Introduction to the Helium release of OpenDaylight

  • 1.
    Introduction to OpenDaylight and its Helium release Srini Seetharaman srini.seetharaman@gmail.com Oct 2014
  • 2.
    Problem in Today’sOssified Network 2 Routing, management, mobility management, access control, VPNs, … Million of lines of source code 6000+ RFCs Barrier to entry Feature Feature Operating System Specialized Packet Billions of gates Bloated Power Hungry Forwarding Hardware Many complex functions baked into the infrastructure OSPF, BGP, multicast, differentiated services, Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
  • 3.
    Solution: “Software-defined Network” 3 Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Forwarding Hardware Network Operating System OpenFlow or other API North-bound interface API Unchanged mgmt API LB service FW service IP routing service Legacy Router This is the purist view with clear separation of data and control
  • 4.
    Expanded View ofSDN in OpenDaylight Hybrid approaches supported 1. FIB programmable through OpenFlow, irrespective of whether there is an onboard control plane 2. Programmable exclusively through embedded control plane: e.g., Yang modeled NetConf, OpFlex 3. Programming both embedded control plane and FIB: e.g., Open vSwitch Mgmt plane Orchestration Extnl. Control plane Intl. Control plane Data plane Hybrid control plane where the hardware contains a more open platform for adding logic
  • 5.
    SDN Killer App#1: Network Virtualization SDN-based Virtualized Network Platform Dynamic, Programmable, Automated 5 Computing Infrastructure
  • 6.
    SDN Killer App#2: Service Function Chaining 6 Internet Internet NFV
  • 7.
    Business Potential ofSDN Business potential How? Reduced time to revenue Speed up of service provisioning New revenue Through new business models centered around 7 on-demand usage Improved policy compliance Ensure that cloud workload is compliant with enterprise policies (e.g., access control) OpEx saving Automated operations and easier management of resources Reduced OpEx during upgrades Introduce new functions and service by replacing just software stack
  • 8.
  • 9.
    OpenDaylight Consortium ►Heavy industry involvement and backing ► Focused on having an open framework for building upon SDN/NFV innovations  Not limited to OpenFlow innovations, but in fact decoupled from it allowing the two to evolve independently 9
  • 10.
    Hydrogen Release 10 Base Network Service Functions Management GUI/CLI Controller Platform Southbound Interfaces & Protocol Plugins DDoS Protection OpenDaylight APIs (REST) OpenStack Service DOVE Mgr Data Plane Elements (Virtual Switches, Physical Device Interfaces) Network Config Service Abstraction Layer (SAL) (plug-in mgr., capability abstractions, flow programming, inventory, …) OpenFlow 1.0 1.3 LISP Topology Mgr Stats Mgr Switch Mgr Host Tracker Shortest Path Forwarding VTN Coordinator Affinity Service Network Applications Orchestration & Services OpenStack Neutron VTN Manager VTN: Virtual Tenant Network DOVE: Distributed Overlay Virtual Ethernet DDoS: Distributed Denial Of Service LISP: Locator/Identifier Separation Protocol OVSDB: Open vSwitch DataBase Protocol BGP: Border Gateway Protocol PCEP: Path Computation Element Communication Protocol SNMP: Simple Network Management Protocol LISP Service NETCONF SNMP BGP-LS OVSDB PCEP OpenFlow Enabled Devices Main difference from other OpenFlow-centric controller platforms Devices with Proprietary control plane OVSDB enabled devices
  • 11.
    Helium Release 11 Dlux UI Base Network Service Functions Controller Platform Southbound Interfaces & Protocol Plugins OpenDaylight APIs (REST) Data Plane Elements (Virtual Switches, Physical Device Interfaces) OpenStack Service Service Abstraction Layer (SAL) (plug-in mgr., capability abstractions, flow programming, inventory, …) OpenFlow 1.0 1.3 LISP Topology Mgr Stats Mgr Switch Mgr Host Tracker Flow Rules Mgr VTN Coordinator AAA Network Applications Orchestration & Services OpenStack Neutron OVSDB PCEP OpenFlow Enabled Devices VTN: Virtual Tenant Network DDoS: Distributed Denial Of Service LISP: Locator/Identifier Separation Protocol OVSDB: Open vSwitch DataBase Protocol BGP: Border Gateway Protocol PCEP: Path Computation Element Communication Protocol PCMM: Packet Cable MultiMedia SNMP: Simple Network Management Protocol LISP Service NETCONF BGP-LS Devices with Proprietary control plane SNMP DDoS Protection OVSDB enabled devices Main difference from other OpenFlow-centric controller platforms SDNi Wrapper GBP Service SFC TTP SNBI PCMM/ COPS OPEN CONTRAIL GBP renderer OVSDB Neutron VTN Mgr Open Contrail L2 switch SNBI service DOCSIS SDNI aggreg AAA – AuthN filter
  • 12.
    Java, Interface, Maven,OSGi, Karaf ► Java chosen as an enterprise-grade, cross-platform compatible language ► Java Interfaces are used for event listening, specifications and forming patterns ► Maven – build system for Java ► OSGi:  Allows dynamically loading bundles  Allows registering dependencies and services exported  For exchanging information across bundles Feature Feature A B … SAL Karaf OSGi Framework ► Karaf: Light-weight Runtime for loading modules/bundles  OSGi based. Primary distribution mechanism for Helium 12 (Equinox)
  • 13.
    Active projects basedon phone calls  OpenFlowPlugin MD-SAL LISP Flow Mapping OVSDB Documentation SNBI Integration, SFC ► OVSDB – Southbound plugin and OpenStack Neutron integration ► SNBI – Secure Network Bootstrapping Infrastructure ► GBP – Group Based Policy ► SFC – Service Function Chaining (NSH) ► Dlux – OpenDaylight UI Security analysis AAA, Dlux GBP OpFlex PacketCable Full project list here: https://wiki.opendaylight.org/view/Main_Page#Projects
  • 14.
    Helium: Full Listof Projects opflex OpFlex protocol ovsdb OVSDB protocol and OpenStack integration packetcable PacketCable PCMM/COPS plugin2oc Southbound plugin to the OpenContrail platform reservation Dynamic Resource Reservation project sdninterfaceapp SDNi Cross-controller interface sfc Service Function Chaining snbi Secure Network Bootstrap Infrastructure snmp4sdn SNMP4SDN Plugin tcpmd5 TCP-MD5 Support library toolkit Quickstart Toolkit ttp TTP Project vtn VTN (Virtual Tenant Network) yangtools YANG Tools Project keyword Description aaa AAA Project bgpcep BGP/PCEP protocol library controller OpenDaylight Controller defense4all Radware Defense4All discovery Discovery Service dlux OpenDaylight UI docs Documentation Project groupbasedpolicy Group Based Policy Plugin integration Integration Framework l2switch Separate Layer 2 switching lispflowmapping LISP Mapping Service openflowjava OpenFlow Protocol Library openflowplugin OpenFlow Plugin
  • 15.
  • 16.
    Helium: Running Karafdistribution $ wget http://nexus.opendaylight.org/content/groups/public/org/op endaylight/integration/distribution-karaf/0.2.0- Helium/distribution-karaf-0.2.0-Helium.zip $ unzip distribution-karaf-0.2.0-Helium.zip $ cd distribution-karaf-0.2.0-Helium $ ./bin/karaf opendaylight-user@root> feature:list (get all apps available) opendaylight-user@root> feature:install odl-dlux-core opendaylight-user@root> feature:install odl-openflowplugin-all opendaylight-user@root> feature:install odl-l2switch-all opendaylight-user@root> bundle:list | grep Active Now your controller is ready to connect to switches and handle incoming flows.
  • 17.
    Helium: REST APIs ► Using REST APIs are much easier with Helium ► Restconf allows for checking config and operational state  feature:install odl-restconf  http://localhost:8181/restconf/.... ► List of exposed Northbound APIs are autogenerated using swagger.  feature:install odl-mdsal-apidocs  http://localhost:8181/apidoc/explorer
  • 18.
    OpenDaylight Hands-on Exploration ► Tutorial at: http://sdnhub.org/tutorials/opendaylight ► Dependency chart: 18 Legend: Blue = Feature, Green = Bundle
  • 19.
    Sample project: OVSDB 1) OVSDB southbound-plugin 2) OpenStack integration for net-virt
  • 20.
    Orchestration North-bound API Application Controller South-bound API Dataplane elements OpenStack Network Mgmt 20 Typical workflow 1. Create a network 2. Associate a subnet with the network 3. Boot a VM and attach it to the network 4. Delete the VM 5. Delete any ports 6. Delete the network ML2 Plugin ODL Mech driver Network Virtualization App SDN Controller OpenFlow OVSDB pSwitch pSwitch vSwitch vSwitch Neutron API