Inocybe Opendaylight User manual

User Guide

User Guide
ii
User Guide

User Guide
iii
Table of Contents
I. Getting Started with Opendaylight .............................................................................. 1
1. OpenDaylight Controller Overview ...................................................................... 2
2. Using the OpenDaylight User Interface (DLUX) .................................................... 3
Getting Started with DLUX ............................................................................. 3
Logging In ...................................................................................................... 4
Working with DLUX ........................................................................................ 4
Viewing Network Statistics .............................................................................. 5
Viewing Network Topology ............................................................................. 5
Interacting with the Open Daylight Controller (ODL) ....................................... 6
3. Running XSQL Console Commands and Queries ................................................. 12
XSQL Overview .............................................................................................. 12
Installing XSQL .............................................................................................. 12
XSQL Console Commands .............................................................................. 12
XSQL Queries ................................................................................................ 13
4. Setting Up Clustering on an OpenDaylight Controller ......................................... 15
Clustering Overview ...................................................................................... 15
Single Node Clustering .................................................................................. 15
Multiple Node Clustering ............................................................................... 16
II. Addons ..................................................................................................................... 22
5. BGP LS PCEP ...................................................................................................... 23
BGP LS .......................................................................................................... 23
PCEP .............................................................................................................. 26
6. Defense4All ....................................................................................................... 30
Defense4All Overview ................................................................................... 30
Defense4All User Interface ............................................................................ 31
7. Group-Based Policy ............................................................................................ 36
Architecture and Model ................................................................................ 36
Tutorial ......................................................................................................... 36
Contact Information ...................................................................................... 46
8. L2Switch ............................................................................................................ 47
Running the L2Switch project ........................................................................ 47
Create a network using mininet .................................................................... 47
Generating network traffic using mininet ...................................................... 48
Checking Address Observations ..................................................................... 48
Checking Hosts .............................................................................................. 48
Checking STP status of each link .................................................................... 49
Miscellaneous mininet commands .................................................................. 50
Components of the L2Switch ......................................................................... 50
Configuration of L2Switch Components ......................................................... 51
9. ODL-SDNi .......................................................................................................... 56
10. Packet Cable MultiMedia (PCMM) Service ........................................................ 57
Overview ....................................................................................................... 57
Architecture .................................................................................................. 58
Features ........................................................................................................ 59
Support ......................................................................................................... 59
11. Plugin for OpenContrail ................................................................................... 60
12. TCP-MD5 ......................................................................................................... 61

User Guide
iv
List of Figures
2.1. DLUX Modules ......................................................................................................... 4
2.2. Topology Module ..................................................................................................... 6
2.3. Yang UI .................................................................................................................... 7
2.4. Yang API Specification .............................................................................................. 8
2.5. Yang UI API Specification ......................................................................................... 9
2.6. DLUX Yang Topology ............................................................................................. 10
2.7. DLUX List Warnings ................................................................................................ 11
2.8. DLUX List Button1 .................................................................................................. 11
6.1. Defense4All Overview ............................................................................................. 30
8.1. Address Observations ............................................................................................. 48
8.2. Hosts ...................................................................................................................... 49
8.3. STP status ............................................................................................................... 50
10.1. Architecture Overview .......................................................................................... 58

PartI.Getting Started with Opendaylight
This first part of the user guide covers the basic user operations of the OpenDaylight Release using the
generic base functionality.

User Guide
2
1. OpenDaylight Controller Overview
The OpenDaylight controller is JVM software and can be run from any operating system
and hardware as long as it supports Java. The controller is an implementation of the
Software Defined Network (SDN) concept and makes use of the following tools:
•Maven: OpenDaylight uses Maven for easier build automation. Maven uses pom.xml
(Project Object Model) to script the dependencies between bundle and also to describe
what bundles to load and start.
•OSGi: This framework is the back-end of OpenDaylight as it allows dynamically
loading bundles and packages JAR files, and binding bundles together for exchanging
information.
•JAVA interfaces: Java interfaces are used for event listening, specifications, and forming
patterns. This is the main way in which specific bundles implement call-back functions for
events and also to indicate awareness of specific state.
•REST APIs: These are northbound APIs such as topology manager, host tracker, flow
programmer, static routing, and so on.
The controller exposes open northbound APIs which are used by applications. The OSGi
framework and bidirectional REST are supported for the northbound APIs. The OSGi
framework is used for applications that run in the same address space as the controller
while the REST (web-based) API is used for applications that do not run in the same address
space (or even the same system) as the controller. The business logic and algorithms reside
in the applications. These applications use the controller to gather network intelligence, run
its algorithm to do analytics, and then orchestrate the new rules throughout the network.
On the southbound, multiple protocols are supported as plugins, e.g. OpenFlow 1.0,
OpenFlow 1.3, BGP-LS, and so on. The OpenDaylight controller starts with an OpenFlow 1.0
southbound plugin. Other OpenDaylight contributors begin adding to the controller code.
These modules are linked dynamically into a Service Abstraction Layer (SAL).
The SAL exposes services to which the modules north of it are written. The SAL figures
out how to fulfill the requested service irrespective of the underlying protocol used
between the controller and the network devices. This provides investment protection to
the applications as OpenFlow and other protocols evolve over time. For the controller
to control devices in its domain, it needs to know about the devices, their capabilities,
reachability, and so on. This information is stored and managed by the Topology Manager.
The other components like ARP handler, Host Tracker, Device Manager, and Switch
Manager help in generating the topology database for the Topology Manager.
For a more detailed overview of the OpenDaylight controller, see the OpenDaylight
Developer Guide.

User Guide
3
2. Using the OpenDaylight User Interface
(DLUX)
Table of Contents
Getting Started with DLUX ............................................................................................. 3
Logging In ...................................................................................................................... 4
Working with DLUX ........................................................................................................ 4
Viewing Network Statistics .............................................................................................. 5
Viewing Network Topology ............................................................................................. 5
Interacting with the Open Daylight Controller (ODL) ....................................................... 6
This section introduces you to the OpenDaylight User Experience (DLUX) application. DLUX
is an openflow network management application for Opendaylight controller. For detailed
information about Opendaylight overview and architecture, see Opendaylight Overview,
Opendaylight Architecture.
OpendaylightController has two interfaces namely:
• AD-SAL
• MD-SAL
Controller receives information from the various interdependent modules through the SAL
services. For more information about the SAL services available, see SAL Services. DLUX also
uses the SAL services to obtain network related information and use it to provide network
management capabilities.
Getting Started with DLUX
You can either use DLUX as a stand-alone plug-in or integrate with the Opendaylight
controller.
To install DLUX as a standalone application see OpenDaylight DLUX:Setup and Run.
To integrate with Opendaylight Controller you must enable DLUX Karaf feature. You can
enable adsal, md sal and various other bundles within Karaf depending on the features you
would like to access using DLUX. Each feature can be enabled or disabled separately.
Important
Ensure that you have created a topology and enabled MD-SAL feature in the
Karaf distribution before you use DLUX for network management.
For more information about enabling the Karaf features for DLUX, see OpenDaylight
DLUX:DLUX Karaf Feature.

User Guide
4
Logging In
To log in to DLUX, after installing the application:
1. Open a browser and enter the login URL. If you have installed DLUX as a stand-
alone, then the login URL is http://localhost:9000/DLUX/index.html. However if you
have deployed DLUX with Karaf, then the login URL is http://\<your IP\>:8181/dlux/
index.html. NOTE: Ensure that you use the port applicable for the DLUX installation
type. local host is the IP address of the machine where the application us installed.
2. Login to the application with user ID and password credentials as admin. NOTE: admin is
the only user type available for DLUX in this release.
Working with DLUX
After you login to DLUX, you will see all the modules that are available for DLUX in the
left pane. However the modules disappear if the features are not enabled in the Karaf
distribution.
To get a complete DLUX feature list, install restconf, odl l2 switch, and switch while you
start the DLUX distribution. For more information about enabling features on DLUX, see
OpenDaylight DLUX:DLUX Karaf Feature.
Figure2.1.DLUX Modules
Modules that use the MD SAL based apis are :
• Nodes
• Yang UI
• Topology

User Guide
5
Modules that use the AD SAL based apis are:
• Connection manager
• Container
• Network
• Flows
Note
DLUX enables only those modules, whose APIs are responding. If you enable
just the MD-SAL in beginning and then start dlux, only MD-SAL related tabs will
be visible. While using the GUI if you enable AD-SAL karaf features, those tabs
will appear automatically.
To view features that are enabled:
1. Right click on the DLUX page.
2. Select Inspect Element and then click Network. A table that contains the list of features
and if they are available in the DLUX distribution. The features that are not enabled is
highlighted with red font and has status 404 Not Found.
Viewing Network Statistics
The Nodes module on the left pane enables you to view the network statistics and port
information for the switches in the network.
To use the Nodes module:
1. Select Nodes on the left pane. The right pane displays atable that lists all the nodes,
node connectors and the statistics.
2. Enter a node ID in the Search Nodes tab to search by node connectors.
3. Click on the Node Connector number to view details such as port ID, port name, number
of ports per switch, MAC Address, and so on.
4. Click Flows in the Statistics column to view Flow Table Statistics for the particular node
like table ID, packet match, active flows and so on.
5. Click Node Connectors to view Node Connector Statistics for the particular node ID.
Viewing Network Topology
The Topology tab displays a graphical representation of network topology created.

User Guide
6
Note
DLUX UI does not provide ability to add topology information. The Topology
should be created using an open flow plugin. Controller stores this information
in the database and displays on the DLUX page, when the you connect to the
controller using openflow.
To view network topology:
1. Select Topology on the left pane. You will view the graphical representation on the right
pane. In the diagram blue boxes represent the switches, the black represents the hosts
available, and lines represents how switches are connected.
2. Hover your mouse on hosts,links, or switches to view source and destination ports.
3. Zoom in and zoom out using mouse scroll to verify topology for huge topologies.
Figure2.2.Topology Module
Interacting with the Open Daylight Controller
(ODL)
The Yang UI module enables you to interact with the ODL. For more information about
Yang Tools, see https://wiki.opendaylight.org/view/YANG_Tools:Main [YANG_Tools].

User Guide
7
Figure2.3.Yang UI
To use Yang UI:
1. Select Yang UI on the left pane. The right pane is divided in two parts.
2. The top part displays a tree of APIs and subAPIs and buttons to call possible functions
(GET, POST, PUT, DELETE, …). Not every subAPIs can call every function. For example,
subAPIs “operational” have GET functionality only. Inputs can be filled from ODL when
existing data from ODL is displayed or can be filled by user on the page and sent to ODL.
Buttons under the API tree are variable. It depends on subAPI specifications. Common
buttons are:
• GET to get data from ODL,
• PUT and POST for sending data to ODL for saving
• DELETE for sending data to ODL for deleting. You must specify the xpath for all these
operations. This path is displayed in the same row before buttons and it can include
text inputs for specific path elements identifiers.

User Guide
8
Figure2.4.Yang API Specification
3. The bottom part of the right pane displays inputs according to the chosen subAPI. Every
subAPI is represented by list elements of list statement. It is possible to have a many list
elements of one list. + For example, a device can store multiple flows. In this case “flow”
is name of the list and every list element is different by a key value. List element of list
can obtain other lists. Every list element has a list name, a key name and its value, and a
button for removing this list element. Usually the key of the list statement obtains an ID.
Inputs can be filled from ODL using GET button from xpath part, or can be filled by user
on the page and sent to ODL.

User Guide
9
Figure2.5.Yang UI API Specification
4. Click Show Preview button under API tree to display request that will be sent to ODL. A
pane is displayed on the right side with text of request when some input is filled.
Displaying Topology on the Yang UI
To display topology:
1. Select subAPI network-topology <topology revision number> → operational → network-
topology.
2. Get data from ODL by clicking on the “GET” button.
3. Click Display Topology.

User Guide
10
Figure2.6.DLUX Yang Topology
Configuring List Elements on the Yang UI
The list is displayed like tree structure with possibility to expand or collapse by the arrow
before name of the list. To configure list elements on the Yang UI:
1. To add a new list element with empty inputs use the plus icon-button + that is provided
after list name. When some list element is added, button with his name and key value is
displayed.
2. To remove several list elements, use the X button that is provided after every list
element.
DLUX List Elements.image::dlux-yang-list elements.png[DLUX list
elements,width=500]
3. Key of list is one or more inputs, which are used like identifier of list element. All list
elements in one list must have different key values. If some elements has the same key
values, the new warning icon ! is displayed near their name buttons.

User Guide
11
Figure2.7.DLUX List Warnings
4. When the list obtains at least one list element, after + icon is icon for selecting the list
element displayed. You can choose one of them by clicking the icon. The name button
of the list element and name buttons of its neighbours will be displayed in the row list.
You can can forward or backward row list of list elements name buttons by clicking on
the arrow button on the end of row.
Figure2.8.DLUX List Button1

User Guide
12
3. Running XSQL Console Commands and
Queries
Table of Contents
XSQL Overview ............................................................................................................. 12
Installing XSQL .............................................................................................................. 12
XSQL Console Commands .............................................................................................. 12
XSQL Queries ................................................................................................................ 13
XSQL Overview
XSQL is an XML-based query language that describes simple stored procedures which parse
XML data, query or update database tables, and compose XML output. It allows you to
query tree models as if they were a sequential database. For example, you could run a
query that lists all of the ports configured on a particular module and their attributes.
The following sections will cover the XSQL installation process, supported XSQL commands,
and the proper way to structure queries.
Installing XSQL
Before you can run commands from the XSQL console, you must first install XSQL onto your
system:
1. Navigate to the directory in which you unzipped the OpenDaylight source files.
2. Start Karaf: ./karaf
3. Install XSQL: feature:install odl-mdsal-xsql
XSQL Console Commands
When entering a command in the XSQL console, structure it as follows: odl:xsql <XSQL
command>
The following table describes the commands supported in the OpenDaylight Helium
release.
Table3.1.Supported XSQL Console Commands
Command Description
rRepeats the last command you executed.
list vtables Lists the schema node containers that are currently
installed. Whenever an OpenDaylight module is installed,
its YANG model is placed in the Schema Context. At that

User Guide
13
point, the XSQL receives a notification, confirms that the
module’s YANG model resides in the Schema Context, and
then maps the model to XSQL by setting up the necessary
vtables and vfields. This command is useful when you need
to determine vtable information for a query.
list vfields <vtable name> Lists the vfields present in a specific vtable. This command
is useful when you need to determine vfields information
for a query.
jdbc <ip address> When the ODL server is behind a firewall, and the
JDBC client cannot connect to the JDBC server, run this
command to start the client as if it was a server and
establish a connection.
exit Closes the console.
tocsv Enables/disables the forwarding of query output as a .csv
file.
filename <filename> Specifies the .tocsv file to which query data is exported. If
you do not specify a value for this option when the toccsv
option is enabled, the filename for the query data file is
generated automatically.
XSQL Queries
Using the information provided by the list vtables and list vfields <vtable name>
commands, you can run a query to extract information that meets the criteria you specify.
Any query you run should be structured as follows:
select <vfields you want to search for, separated by a comma and a space> from <vtables
you want to search in, separated by a comma and a space> where <criteria> ’<criteria
operator>’;
For example, say you want to search the nodes/node.ID field in the nodes/node-connector
table and find every instance of the Hardware-Address object that contains BA in its text
string. To do so, you would enter the following query: Select nodes/node.ID from nodes/
node-connector where Hardware-Address like ’%BA%’;
The following criteria operators are supported:
Table3.2.Supported XSQL Query Criteria Operators
Criteria Operators Description
=Lists results that equal the value you specify.
!= Lists results that do not equal the value you specify.
like Lists results that contain the substring you specify. For
example, if you specify like %BC%, every string that
contains that particular substring is displayed.
<Lists results that are less than the value you specify.
>Lists results that are more than the value you specify.
and Lists results that match both values you specify.
or Lists results that match either of the two values you
specify.
>= Lists results that are more than or equal to the value you
specify.
⇐Lists results that are less than or equal to the value you
specify.

User Guide
14
is null Lists results for which no value is assigned.
not null Lists results for which any value is assigned.
skip Use this operator to list matching results from a child
node, even if its parent node does not meet the specified
criteria. See the following example for more information.
Example: skip Criteria Operator
Say you are looking at the following structure and want to determine all of the ports that
belong to a YY type module:
• Network Element 1
• Module 1, Type XX
• Module 1.1, Type YY
• Port 1
• Port 2
• Module 2, Type YY
• Port 1
• Port 2
If you specify Module.Type=’YY’ in your query criteria, the ports associated with
module 1.1 will not be returned since its parent module is type XX. Instead, enter
Module.Type=’YY’ or skip Module!=’YY’. This tells XSQL to disregard any parent module
data that does not meet the type YY criteria and collect results for any matching child
modules. In this example, you are instructing the query to skip module 1 and collect the
relevant data from module 1.1.

User Guide
15
4. Setting Up Clustering on an OpenDaylight
Controller
Table of Contents
Clustering Overview ...................................................................................................... 15
Single Node Clustering .................................................................................................. 15
Multiple Node Clustering ............................................................................................... 16
Clustering Overview
Clustering is a mechanism that enables multiple processes and programs to work together
as one entity. For example, when you go to google.com and search for something, it may
seem like your search request is processed by only one web server. In reality, your search
request is processed by thousands of web servers connected in a cluster. Similarly, you can
have multiple instances of the OpenDaylight controller working together as one entity.
There are a number of uses for clustering:
• Scaling: If you have multiple controllers running, you can potentially do more work with
or store more data on those controllers if they are clustered. You can also break up your
data into smaller chunks (known as shards) and either distribute that data across the
cluster or perform certain operations on certain members of the cluster.
• High Availability: If you have multiple controllers running and one of them crashes, you
would still have the other instances working and available.
• Data Persistence: You will not lose any data gathered by your controller after a manual
restart or a crash.
The following sections describe how to set up clustering on both individual and multiple
OpenDaylight controllers.
Single Node Clustering
To enable clustering on a single OpenDaylight controller, do the following:
1. Download and unzip a base controller distribution. You must use the new openflow
plugin, so download a distribution where the new openflow plugin is either the default
or can be enabled.
2. Navigate to the <Karaf-distribution-location>/bin directory.
3. Run Karaf: ./karaf
4. Install the clustering feature: feature:install odl-mdsal-clustering
5. If you are using the integration distribution of Karaf, you should also install the open
flow plugin flow services: feature:install odl-openflowplugin-flow-services
Table of contents
Popular Controllers manuals by other brands

Tsubaki
Tsubaki F Series manual

Smartgen
Smartgen HAT160 user manual

Becker
Becker Centronic Series Assembly and operating instructions

Armacost Lighting
Armacost Lighting ProLine 513020 quick start guide

Atmos
Atmos Multi Installation

Siemens
Siemens RWF40 Series Installation, use and maintenance instructions