ofagent-flow-based-tunneling
Change-Id: I183c2933ddd8581ca8cc28f12cbb3f0ec696669a
This commit is contained in:
parent
cd75a5ded6
commit
8dc327c15d
163
specs/kilo/ofagent-flow-based-tunneling.rst
Normal file
163
specs/kilo/ofagent-flow-based-tunneling.rst
Normal file
@ -0,0 +1,163 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=============================
|
||||
OFAgent: Flow-based tunneling
|
||||
=============================
|
||||
|
||||
https://blueprints.launchpad.net/neutron/+spec/ofagent-flow-based-tunneling
|
||||
|
||||
make ofagent use flow-based tunneling rather than
|
||||
the current port-based tunneling.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
ofagent creates tunnel ports for each peer nodes.
|
||||
It's unscalable and complex.
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
use flow-based tunneling, using tun_ipv4_src/tun_ipv4_dst NXMs.
|
||||
(in addition to tun_id OXM, which is currently used by ofagent)
|
||||
|
||||
Note: while the use of NXMs contradicts to the one of goals of
|
||||
ofagent, i.e. being portable to other switch implementations,
|
||||
it isn't a problem right now because:
|
||||
|
||||
- the tunneling support is OVS-dependent anyway
|
||||
|
||||
- i've heard that the future versions of OpenFlow aims to the same direction.
|
||||
there seems to be no publically available reference for this, though.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
none
|
||||
|
||||
Data Model Impact
|
||||
-----------------
|
||||
|
||||
none
|
||||
|
||||
REST API Impact
|
||||
---------------
|
||||
|
||||
none
|
||||
|
||||
Security Impact
|
||||
---------------
|
||||
|
||||
none
|
||||
|
||||
Notifications Impact
|
||||
--------------------
|
||||
|
||||
none
|
||||
|
||||
Other End User Impact
|
||||
---------------------
|
||||
|
||||
none
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
none
|
||||
|
||||
IPv6 Impact
|
||||
-----------
|
||||
|
||||
none
|
||||
|
||||
Other Deployer Impact
|
||||
---------------------
|
||||
|
||||
none
|
||||
|
||||
Developer Impact
|
||||
----------------
|
||||
|
||||
code would get simpler and easier to maintain.
|
||||
|
||||
Community Impact
|
||||
----------------
|
||||
|
||||
none
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
yamamoto
|
||||
|
||||
Other contributors:
|
||||
kakuma
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* tweak L2populationRpcCallBackTunnelMixin api so that it can handle
|
||||
the "a single tunnel port for many networks" situation more naturally
|
||||
|
||||
* tweak how ofagent sets up tunnel ports
|
||||
|
||||
* tweak ofagent flows accordingly
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
none
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Tempest Tests
|
||||
-------------
|
||||
|
||||
ideally multi-node testing is necessary.
|
||||
however i don't plan to cover it by this blueprint.
|
||||
|
||||
Functional Tests
|
||||
----------------
|
||||
|
||||
none
|
||||
|
||||
API Tests
|
||||
---------
|
||||
|
||||
no api change thus no additional tests.
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
User Documentation
|
||||
------------------
|
||||
|
||||
should document new requirement (ryu>=3.15) for relevant NXMs support
|
||||
|
||||
Developer Documentation
|
||||
-----------------------
|
||||
|
||||
none
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
the current implementation of this blueprint:
|
||||
|
||||
- https://review.openstack.org/#/c/130676/
|
||||
- https://review.openstack.org/#/c/130677/
|
||||
|
||||
as far as i know, NXMs are only documentated in Open vSwitch
|
||||
source code:
|
||||
|
||||
- https://github.com/openvswitch/ovs/blob/e9bbe84b6b51eb9671451504b79c7b79b7250c3b/lib/meta-flow.h#L335
|
||||
- https://github.com/openvswitch/ovs/blob/e9bbe84b6b51eb9671451504b79c7b79b7250c3b/lib/meta-flow.h#L353
|
Loading…
Reference in New Issue
Block a user