Presentation is loading. Please wait.

Presentation is loading. Please wait.

Experimenter Framework Ericsson AB

Similar presentations


Presentation on theme: "Experimenter Framework Ericsson AB"— Presentation transcript:

1 Experimenter Framework Ericsson AB
OpenFlow Plugin Experimenter Framework Ericsson AB

2 Background 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.

3 MD-SAL : Yang Model Experimenter Support

4 Yang augmentation Yang model needs to be augmented to support vendor defined experimenter action and matches. Pushed couple of review for sample action augmentation This gerrit needs to be pushed in. This will allow augmentation to existing action types. This gerrit will give an example on how to augment the action. This gerrit will not be pushed into ODL.

5 Augmenting the YANG model
OF Table1 Flow1 Actions Action1 Action2 OF Table1 Flow1 Actions Action1 Action2 Augmented New Action

6 YANG : Action Augmentation Example
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 " ";} import yang-ext {prefix ext; revision-date " ";} revision " " { 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;

7 OpenFlow Plugin Experimenter Support

8 Overview 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).

9 Plugin: Experimenter Support
Experimenter Bundle Openflow Plugin Bundle Flow Convertor Group Convertor Match Convertor Action Convertor Experimenter Match Convertor Experimenter Action Convertor

10 Manohar SL Gaurav Bhagwani Srikar R Prasanna Huddar
Thanks Manohar SL Gaurav Bhagwani Srikar R Prasanna Huddar


Download ppt "Experimenter Framework Ericsson AB"

Similar presentations


Ads by Google