OFAgent: 基于流的隧道

https://blueprints.launchpad.net/neutron/+spec/ofagent-flow-based-tunneling

让 ofagent 使用基于流的隧道,而不是当前基于端口的隧道。

问题描述

ofagent 为每个对等节点创建隧道端口。这不可扩展且复杂。

提议的变更

使用基于流的隧道,使用 tun_ipv4_src/tun_ipv4_dst NXMs。(除了 ofagent 当前使用的 tun_id OXM)

注意:虽然使用 NXMs 与 ofagent 的一个目标相矛盾,即能够移植到其他交换机实现,但这目前不是问题,因为

  • 隧道支持无论如何都依赖于 OVS

  • 我听说 OpenFlow 的未来版本正朝着相同的方向发展。虽然,目前没有公开可用的参考资料。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

IPv6 影响

其他部署者影响

开发人员影响

代码会更简单,更容易维护。

社区影响

实现

负责人

主要负责人

yamamoto

其他贡献者

kakuma

工作项

  • 调整 L2populationRpcCallBackTunnelMixin api,使其能够更自然地处理“一个隧道端口用于多个网络”的情况

  • 调整 ofagent 设置隧道端口的方式

  • 相应地调整 ofagent 流程

依赖项

测试

Tempest 测试

理想情况下,需要多节点测试。但是,我没有计划通过此蓝图覆盖它。

功能测试

API 测试

没有 API 变更,因此不需要额外的测试。

文档影响

用户文档

应该记录相关 NXMs 支持的新要求 (ryu>=3.15)

开发人员文档

参考资料

此蓝图的当前实现

据我所知,NXMs 仅在 Open vSwitch 源代码中记录