Change-Id: I183c2933ddd8581ca8cc28f12cbb3f0ec696669a
2.8 KiB
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:
as far as i know, NXMs are only documentated in Open vSwitch source code: