OFAgent: Flow-based tunneling¶
make ofagent use flow-based tunneling rather than the current port-based tunneling.
ofagent creates tunnel ports for each peer nodes. It’s unscalable and complex.
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.
Data Model Impact¶
REST API Impact¶
Other End User Impact¶
Other Deployer Impact¶
code would get simpler and easier to maintain.
- Primary assignee:
- Other contributors:
- 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
ideally multi-node testing is necessary. however i don’t plan to cover it by this blueprint.
no api change thus no additional tests.
should document new requirement (ryu>=3.15) for relevant NXMs support
the current implementation of this blueprint:
as far as i know, NXMs are only documentated in Open vSwitch source code: