Jump to: navigation, search

Difference between revisions of "Neutron/NEC OpenFlow Plugin"

 
R (talk)
Line 23: Line 23:
 
== Requirements ==
 
== Requirements ==
  
* [[OpenFlow]] Controller: Trema with Sliceable Switch (distributed under Apache License version 2.0), or an [[OpenFlow]] Controller that has the same functionalities and REST API available at https://github.com/trema/apps/wiki/Sliceable-Network-Management-API.
+
* [[OpenFlow]] Controller: Trema with Sliceable Switch (distributed under Apache License version 2.0), or an [[OpenFlow]] Controller that has the same functionalities and REST API available at https://github.com/trema/apps/wiki/Sliceable-Network-Management-API .
  
 
== Design ==
 
== Design ==
Line 34: Line 34:
 
communicate with the plugin and will conform to the convention for
 
communicate with the plugin and will conform to the convention for
 
scalable-agent-comms. The current implemetation of the plugin supports Essex
 
scalable-agent-comms. The current implemetation of the plugin supports Essex
and is available at https://github.com/nec-openstack/quantum-openflow-plugin.
+
and is available at https://github.com/nec-openstack/quantum-openflow-plugin .
 
The topic name for RPC will be set to "quantum.plugin" as proposed in the blueprint scalable-agent-comms.
 
The topic name for RPC will be set to "quantum.plugin" as proposed in the blueprint scalable-agent-comms.
  
Line 41: Line 41:
 
There are no need for additional features in Nova.
 
There are no need for additional features in Nova.
 
This implemetation utilizes a current libvirt VIF driver and linux-net interface driver.
 
This implemetation utilizes a current libvirt VIF driver and linux-net interface driver.
 +
 +
== How to run this plugin ==
 +
 +
Devstack for this plugin is available at https://github.com/r-mibu/devstack/tree/quantum-nec-plugin .
 +
[[QuickStart]] Installer is available at https://github.com/nec-openstack/quantum-openflow-plugin/tree/folsom/quickstart . This installs Tream Sliceable Switch
 +
(OSS [[OpenFlow]] Controller) and run devstack for this plugin.
  
 
== References ==
 
== References ==
  
 
Essex version of Quantum NEC [[OpenFlow]] plugin is available at
 
Essex version of Quantum NEC [[OpenFlow]] plugin is available at
https://github.com/nec-openstack/quantum-openflow-plugin.
+
https://github.com/nec-openstack/quantum-openflow-plugin .
 
Note that the implemetation of Essex version uses a dedicated VIF driver to
 
Note that the implemetation of Essex version uses a dedicated VIF driver to
 
gather a mapping beween a VIF and a switch port from local Open vSwitch.
 
gather a mapping beween a VIF and a switch port from local Open vSwitch.

Revision as of 10:35, 15 August 2012

Quantum NEC OpenFlow Plugin

<<TableOfContents()>>

Abstract

The proposal is to implement a Quantum plugin that talks to OpenFlow Controller. Each Quantum network would be mapped to an virtual layer-2 network slice on an OpenFlow enabled network. The interface between the Quantum plugin and OpenFlow Controller is RESTful API. This API is supported by two implementations:Tream Sliceable Switch (OSS) and NEC ProgrammableFlow Controller (NEC Commercial Product).

This plugin consists of two components: "Plugin" and "Agent".

  • Plugin: It processes Quantum API calls and controls OpenFlow controller to handle logical networks on OpenFlow enabled network.
  • agent: It runs on each compute node. It gathers a mapping beween a VIF and a switch port from local Open vSwitch and reports it to the plugin.

Requirements

Design

[[Media:quantum-nec-openflow-plugin-design.png|alt|Quantum NEC OpenFlow] Plugin Design| width=800}}

Communication between plugin and agent

This plugin uses "common-rpc" in openstack-common for the agents to communicate with the plugin and will conform to the convention for scalable-agent-comms. The current implemetation of the plugin supports Essex and is available at https://github.com/nec-openstack/quantum-openflow-plugin . The topic name for RPC will be set to "quantum.plugin" as proposed in the blueprint scalable-agent-comms.

Integration with Nova

There are no need for additional features in Nova. This implemetation utilizes a current libvirt VIF driver and linux-net interface driver.

How to run this plugin

Devstack for this plugin is available at https://github.com/r-mibu/devstack/tree/quantum-nec-plugin . QuickStart Installer is available at https://github.com/nec-openstack/quantum-openflow-plugin/tree/folsom/quickstart . This installs Tream Sliceable Switch (OSS OpenFlow Controller) and run devstack for this plugin.

References

Essex version of Quantum NEC OpenFlow plugin is available at https://github.com/nec-openstack/quantum-openflow-plugin . Note that the implemetation of Essex version uses a dedicated VIF driver to gather a mapping beween a VIF and a switch port from local Open vSwitch. The proposed version of this plugin uses the agent for this purpose.

(Contact: Ryota Mibu, Akihiro Motoki, NEC)