openflow plugin

10
www.opendaylight .org OpenFlow Plugin Experimenter Framework Ericsson AB

Upload: aretha-rivera

Post on 03-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

OpenFlow Plugin. Experimenter Framework Ericsson AB. Background. Openflow specification defines Experimenter a s the way of allowing vendor defined extensions to action and match fields. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OpenFlow Plugin

www.opendaylight.org

OpenFlow Plugin

Experimenter Framework

Ericsson AB

Page 2: OpenFlow Plugin

www.opendaylight.org

Openflow specification defines Experimenter as the way of allowing vendor defined extensions to action and match fields.

OpenDaylight needs a experimenter framework defined, which will allow end user to plugin there extension seamlessly.

The framework should be flexible enough and not mandate the end user to submit the code back as per ODL licensing T & C.

This framework will span across MD-SAL, Openflowplugin and Openflowjava modules.

Background

2

Page 3: OpenFlow Plugin

www.opendaylight.org

MD-SAL : Yang Model

Experimenter Support

3

Page 4: OpenFlow Plugin

www.opendaylight.org

Yang model needs to be augmented to support vendor defined experimenter action and matches.

Pushed couple of review for sample action augmentation https://git.opendaylight.org/gerrit/#/c/7976/

This gerrit needs to be pushed in. This will allow augmentation to existing action types.

https://git.opendaylight.org/gerrit/#/c/7978/ This gerrit will give an example on how to augment the

action. This gerrit will not be pushed into ODL.

Yang augmentation

4

Page 5: OpenFlow Plugin

www.opendaylight.org

Augmenting the YANG model

5

Page 6: OpenFlow Plugin

www.opendaylight.org

YANG : Action Augmentation Example

6

module opendaylight-action-types {

container action-types { uses action-list; } grouping action-list { list action { key "order"; leaf order { type int32; } uses action; } }

grouping action { choice action { case output-action-case { container output-action { leaf output-node-connector { type inet:uri; } leaf max-length { type uint16; } } } }}

}

module experimenter-action-types {

namespace "urn:ericsson:experimenter:action:types";

prefix experimenter-action-type;

import opendaylight-action-types {prefix ofaction;revision-date "2013-11-12";}

import yang-ext {prefix ext; revision-date "2013-07-09";}

revision "2014-02-28" {

description "Initial revision of experimenter action

types augments";

}

grouping new-action-group {

leaf eth-type {

type uint16;

}

}

augment "/ofaction:action-types/ofaction:action/ofaction:action" {

ext:augment-identifier "experimenter-action-type";

case experimenter-action-type {

choice action-type {

case new-xyz-action {

uses new-action-group;

}

}

}

}

Page 7: OpenFlow Plugin

www.opendaylight.org

OpenFlow Plugin

Experimenter Support

7

Page 8: OpenFlow Plugin

www.opendaylight.org

Plugin needs experimentation support in 2 use cases Messages sent from North to south like Add/Delete/update flow/groups/meters etc. While processing messages coming from Switch like Statistics replies.

So converters and translators in plugin need to be extended to support experimenter messages.

But these experimenter messages processing should happen outside plugin bundle(say “PluginExperimenter”) since

Vendors can handle extensions without breaking the ODL license. No overhead of maintenance over period of time like merging the code in future since we do not accept

Vendors to submit back there extensions to ODL community. If Vendors embed there code in plugin than maintenance will be overhead.

So in plugin converter and translator code whenever plugin hits the message type ”experimenter” plugin makes a function call outside the plugin bundle(PluginExperimenter) to process / decode the experimenter message. This would be normal function call.

Once the experimenter code is processed the converter and translator code will take the usual path again.

So plugin will have reference to external bundle (pluginExperimenter).

Overview

8

Page 9: OpenFlow Plugin

www.opendaylight.org

Plugin: Experimenter Support

9

Experimenter BundleOpenflow Plugin Bundle

Flow Convertor

Group Convertor

Match Convertor

Action Convertor

Experimenter Match Convertor

Experimenter Action Convertor

Page 10: OpenFlow Plugin

www.opendaylight.org

Thanks

Manohar SLGaurav BhagwaniSrikar RPrasanna Huddar