Difference between revisions of "Neutron/NEC OpenFlow Plugin"
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
- Created: Jun 21, 2012
- Blueprint: https://blueprints.launchpad.net/quantum/+spec/quantum-nec-openflow-plugin
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
- 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
[[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)