Difference between revisions of "Neutron/OFAgent/ComparisonWithOVS"
Line 8: | Line 8: | ||
|- | |- | ||
| Advantages | | Advantages | ||
− | | | + | | Possibly can achieve better performance using Open vSwitch(OVS) specific advanced features like Nicira Extensions (NX) and patch ports. |
| More portable to switches other than OVS. Easier to handle asynchronous messages because it's a full featured OpenFlow controller. | | More portable to switches other than OVS. Easier to handle asynchronous messages because it's a full featured OpenFlow controller. | ||
|- | |- | ||
| OpenFlow version | | OpenFlow version | ||
− | | OpenFlow 1.0 + | + | | OpenFlow 1.0 + NX |
| OpenFlow 1.3 without vendor extensions | | OpenFlow 1.3 without vendor extensions | ||
|- | |- | ||
Line 24: | Line 24: | ||
|- | |- | ||
| Supported switches | | Supported switches | ||
− | | OVS only | + | | OVS only |
| OpenFlow 1.3 switches including OVS ([https://wiki.openstack.org/wiki/Neutron/OFAgent/Todo planned]) | | OpenFlow 1.3 switches including OVS ([https://wiki.openstack.org/wiki/Neutron/OFAgent/Todo planned]) | ||
|- | |- |
Revision as of 07:01, 25 April 2014
Two neutron agents, openvswitch and ofagent, implement mostly same functionalities in different ways. The following is a summary of the differences.
openvswitch | ofagent | |
Advantages | Possibly can achieve better performance using Open vSwitch(OVS) specific advanced features like Nicira Extensions (NX) and patch ports. | More portable to switches other than OVS. Easier to handle asynchronous messages because it's a full featured OpenFlow controller. |
OpenFlow version | OpenFlow 1.0 + NX | OpenFlow 1.3 without vendor extensions |
How to compose flows? | ovs-ofctl command line arguments (plain texts) | Use Ryu ofproto library (python objects) |
How to install flows into a switch? | Invoke ovs-ofctl command | An OpenFlow controller embedded in the agent sends messages to the switch |
Supported switches | OVS only | OpenFlow 1.3 switches including OVS (planned) |
Neutron plugin | openvswitch plugin (planned to be deprecated) or ML2 plugin | ML2 plugin |
Port monitoring | Periodic poll of ovsdb via ovs-vsctl command | OpenFlow port statistics and notification (planned) |
Device ID | Neutron port ID (UUID) stored in ovsdb | Port name as linuxbridge (planned) |
"internal" VLAN | 802.1q tagged VLAN | OpenFlow metadata (planned) |
Local ARP responder | Install NX flows for each FDB entries (planned) | The embedded OpenFlow controller handles packet-ins and sends back ARP responses (planned) |