ofagent-l2pop
Change-Id: I215dd02c21afe499e238a66b168f15fd120454cb
This commit is contained in:
133
specs/juno/ofagent-l2pop.rst
Normal file
133
specs/juno/ofagent-l2pop.rst
Normal file
@@ -0,0 +1,133 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
==========================================
|
||||
ofagent l2pop support
|
||||
==========================================
|
||||
|
||||
https://blueprints.launchpad.net/neutron/+spec/ofagent-l2pop
|
||||
|
||||
implement l2pop support for ofagent agent.
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
* many packets sent to tunnels because of:
|
||||
* tenant unawareness; no need to forward a packet to nodes
|
||||
which doesn't run endpoints (typically VMs) belonging to the tenant.
|
||||
* broadcasts, namely arp requests
|
||||
|
||||
see `L2population_blueprint`_ for more discussions.
|
||||
|
||||
.. _L2population_blueprint: https://wiki.openstack.org/wiki/L2population_blueprint
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
* implement l2pop-based tunnel management as it's done in ovs
|
||||
|
||||
* implement local arp responder by handling packet-ins
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
local arp responder part can be implemented differently.
|
||||
for example, using nicira extensions as described in `Ovs-flow-logic`_.
|
||||
however it isn't a choice for ofagent as there's no way to implement such
|
||||
a flow-based arp responder without vendor extensions.
|
||||
|
||||
.. _Ovs-flow-logic: https://wiki.openstack.org/wiki/Ovs-flow-logic#OVS_flows_logic_with_local_ARP_responder
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
none
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
none
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
none
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
none
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
none
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
this would naturally improve performance.
|
||||
|
||||
see `L2population_blueprint`_ for more discussions.
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
none
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
none
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
yamamoto
|
||||
|
||||
Other contributors:
|
||||
kakuma
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* implement l2pop-based tunnel management as it's done in ovs.
|
||||
the following is working implementation of this.
|
||||
|
||||
https://review.openstack.org/#/c/87440/
|
||||
|
||||
* implement local arp respoder by handling packet-ins
|
||||
the following is working implementation of this.
|
||||
|
||||
https://review.openstack.org/#/c/94183/
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
none
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
ryu/ofagent third party testing would find regressions.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
none
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
* https://blueprints.launchpad.net/neutron/+spec/l2-population
|
||||
* https://wiki.openstack.org/wiki/L2population_blueprint
|
||||
* https://wiki.openstack.org/wiki/Neutron/OFAgent/Todo
|
||||
* https://wiki.openstack.org/wiki/Neutron/OFAgent/FlowTable
|
||||
* https://github.com/yamt/ryu/blob/arp-proxy/ryu/app/arp_proxy.py
|
||||
Reference in New Issue
Block a user