OpenDaylight Overview

Download Report

Transcript OpenDaylight Overview

OpenDaylight Update
November 2013
Jan Medved, Reinaldo Penno
Created by Jan Medved
www.opendaylight.org
Agenda

Intro to Opendaylight
 Hydrogen Release
 Major Feature: Model Driven Service Abstraction Layer
(SAL)
 Asks from Netconf and Yang
Created by Jan Medved
www.opendaylight.org
2
What is OpenDaylight

An OpenSource Project to build an ecosystem of
OpenSource SDN software

Multi-project

Multi-vendor
Created by Jan Medved
www.opendaylight.org
3
OpenDaylight Project Goals

Code: To create a robust, extensible, open source code base that
covers the major common components required to build an SDN
solution

Acceptance: To get broad industry acceptance amongst vendors
and users

Community: To have a thriving and growing technical community
contributing to the code base, using the code in commercial products,
and adding value above, below and around.
Created by Jan Medved
www.opendaylight.org
4
Broad Industry Support for
OpenDaylight
Created by Jan Medved
www.opendaylight.org
5
Created by Jan Medved
www.opendaylight.org
6
Moving to Model-Driven SAL
REST API
NB Plugin 1
REST API
…
NB Plugin 2
REST API
SB Model
SB Model
NB Plugin 2
NB Model
NB Model
Java NB Model API
Java abstract NB API
Java plugin NB API
REST API
Adaptation Plugin
NB Plugin 1
Provides
Contains
routing info
AD-SAL
Java plugin SB API
SB-Plugin
1
…
SB Model
Data
Adaptation
Request Routing
SB-Plugin
2
Provides
NB Model
Data
Java SB Model API
SB Model
Controller
SB-Plugin
1
Module sal-flow {
namespace "urn:opendaylight:flow:service";
prefix flow;
import yang-ext {prefix ext;}
importopendaylight-inventory {prefix inv;}
...
SAL: Service Abstraction Layer
typedef flow-table-ref {
type instance-identifier;
}
•
•
grouping node-flow {
leaf node {
ext:context-reference "inv:node-context";
type inv:node-ref;
}
leaf flow-table {
type flow-table-ref;
}
uses types:flow;
}
AD-SAL: “API-Driven” SAL
MD-SAL: “Model-Driven” SAL
rpc add-flow {
input {
uses node-flow;
}
}
rpc update-flow { ... }
Created by Jan... Medved Model
}
…
MD-SAL
Provides
SB Model
SB-Plugin
2
Controller
API
Yang Tools
Plugin
www.opendaylight.org
8
Plugin
Moving to Model-Driven SAL
Applications
Internal
Plugin
NB REST API
NB REST API
NB REST API
NB API
NB API
Transformer/
Adapter
Platform
Service Plugin
Network
Service Plugin
NETCONF
RESTCONF
JAVA SAL APIs (Generated)
Network
Topology
…
NE
Tunnels
Links
Nodes EndPoints
NE
Flows
…
…Table
Table
…
Config
Table
…
Flow
Stats
…
Flow Flow
NE
System
Table
Config Stats
Table
Paths
NE
Flow
MD-SAL
Flow Flow
JAVA SAL APIs (Generated)
BGP-LS
…
PCEP
OF x.y
OfConfig / OVSDB
NETCONF
RESTCONF
Network Elements
Created by Jan Medved
www.opendaylight.org
Yang Models used in ODL

Yang Extensions
 Common Base Types:


Services:


IETF (ietf-types, inet-types), Common base flow types, l2
types, IEEE754 floating point types
Topology, Inventory, Flow Programming Services, Affinity
Service
Protocols:

OpenFlow, BGP/BGP-LS, PCEP
https://wiki.opendaylight.org/view/YANG_Tools:Available_Models
Created by Jan Medved
www.opendaylight.org
11
Standardization Asks

Controller’s NB API:
 Address Space: the whole network as opposed to an NE
 Policies (access, address space remaps, views, request
routing)

Application requirements:
 I2RS (defining requirements)

NETCONF:
 RESTConf
 Efficient binary encoding (e.g. draft-varga-netconf-exicapability)
 JSON encoding
 Query language
Created by Jan Medved
www.opendaylight.org
12
Standardization Asks (Yang)

Yang ODL extensions (e.g. request routing, Java API
generation)

Yang programming language bindings (Java, Python, ...)

Standard Service Models:


Example: VPNs, DDoS, QoS, Topology, ...
Standard Device Models:

Example: IP, ACL, RIB,

WADL/RSDL for RESTCONF clients

Yang as IDL
Created by Jan Medved
www.opendaylight.org
13
Thank you
Created by Jan Medved
www.opendaylight.org
14
Resources

More information and to join:
 wiki.opendaylight.org
 Keep informed and join the conversation


IRC: #opendaylight on Freenone
Open mailing lists: lists.opendaylight.org

@openDaylightSDN
 #OpenDaylight
Created by Jan Medved
www.opendaylight.org
15