Jump to: navigation, search

Difference between revisions of "Neutron/ModularL2Agent"

m
m
Line 18: Line 18:
 
== Related Design Sessions and Blueprints ==
 
== Related Design Sessions and Blueprints ==
  
* Support for mechanism driver specific extensions [https://blueprints.launchpad.net/neutron/+spec/neutron-ml2-mechanismdriver-extensions here]  
+
* Support for mechanism driver specific extensions: [https://etherpad.openstack.org/p/ML2_mechanismdriver_extensions_support design session] and [https://blueprints.launchpad.net/neutron/+spec/neutron-ml2-mechanismdriver-extensions blueprint]  
* DVR Progress Update session [https://etherpad.openstack.org/p/Distributed-Virtual-Router here]
+
* DVR Progress Update session: [https://etherpad.openstack.org/p/Distributed-Virtual-Router design session]  
* Support for multiple OVS switches, one for each feature/extension [http://summit.openstack.org/cfp/details/391 here]
+
* Support for multiple OVS switches, one for each feature/extension: [http://summit.openstack.org/cfp/details/391 here]
* OVS based security groups [http://summit.openstack.org/cfp/details/155 here]
+
* OVS based security groups: [http://summit.openstack.org/cfp/details/155 here]
* Configuration agents [http://summit.openstack.org/cfp/details/409 here]
+
* Configuration agents: [http://summit.openstack.org/cfp/details/409 here]
* Device agents [http://summit.openstack.org/cfp/details/395 here]
+
* Device agents: [http://summit.openstack.org/cfp/details/395 here]
  
 
== Comparison Chart ==
 
== Comparison Chart ==
Line 44: Line 44:
 
| Flows
 
| Flows
 
| ovs-ofctl
 
| ovs-ofctl
|  
+
| -
 
|  
 
|  
 
| Embedded OF controller
 
| Embedded OF controller
Line 51: Line 51:
 
| Local isolation
 
| Local isolation
 
| vlan tag
 
| vlan tag
|
+
| bridge/vlan
 
|
 
|
 
| Currently VLAN tag.  <br/> [https://blueprints.launchpad.net/neutron/+spec/ofagent-merge-bridges Planned: OF metadata]
 
| Currently VLAN tag.  <br/> [https://blueprints.launchpad.net/neutron/+spec/ofagent-merge-bridges Planned: OF metadata]

Revision as of 13:46, 6 May 2014

Here we are collecting information on possible directions wrt building a modular L2 agent.

Introduction

As the number of L2 agents increase and considering similarities between these agents, we are making an effort to identify possible strategies for building a unified L2 agent where we reduce the amount of redundant code currently used by L2 agents. This effort aims to design and develop a framework for reducing the cost of maintaining the agent code and reducing the effort required for building a new agent. Furthermore, we will look into possible opportunities in improving the performance and stability of agents.

While the focus of the effort will be on L2 agents we may look into establishing a framework for all Neutron agents.

Possible Directions

Agent Drivers

One of the possible directions is to model the L2 agent after how ML2 plugin is organized and provide support for "drivers."

Extension Drivers

Another direction is to separate the support for the core API and that for extensions being supported by the plugin. Right now security groups and l2pop use the L2 agent and with the proposal for supporting arbitrary number of extensions by the ML2 plugin and mechanism drivers, other extensions may require support from the L2 agent. One possible solution is having pluggable drivers for every extension. The outstanding issue to resolve is the coordination mechanism between these drivers.

Related Design Sessions and Blueprints

  • Support for mechanism driver specific extensions: design session and blueprint
  • DVR Progress Update session: design session
  • Support for multiple OVS switches, one for each feature/extension: here
  • OVS based security groups: here
  • Configuration agents: here
  • Device agents: here

Comparison Chart

openvswitch linuxbridge hyperv ofagent mlnx
Monitoring ovsdb OS Msvm Currently ovsdb.
Planned: OpenFlow
OS
Flows ovs-ofctl - Embedded OF controller
Local isolation vlan tag bridge/vlan Currently VLAN tag.
Planned: OF metadata
vlan tag
Security Groups Y Y Y Y N
L2pop Y Y N N N

Related documents

  • A summary of the differences between openvswitch and ofagent (current and planned) agents are listed here