OFAgent: 合并 br-int 和 br-tun

https://blueprints.launchpad.net/neutron/+spec/ofagent-merge-bridges

合并 br-int 和 br-tun,并停止使用 OVS patch 端口功能。这涉及对流表进行大幅更改。

问题描述

ofagent 旨在在交换机实现之间具有可移植性。目前它使用一些 OVS 特定的功能。patch 端口就是其中之一。

提议的变更

将 br-int 和 br-tun 合并到一个桥中。

备选方案

  • 放弃并声明隧道支持仅适用于 OVS。这不是我们想要做的。

  • 使用 veth 对。这并非理想,因为它仍然需要多个逻辑桥功能。除此之外,它可能涉及一些性能损失,因为 patch 端口比 veth 对优化得更好。

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

由于 OVS patch 端口对快速路径几乎没有负面性能影响,因此预计此更改不会提高性能。

其他部署者影响

升级代理时,部署者可能希望删除 br-tun。

开发人员影响

实现

负责人

主要负责人

yamamoto

其他贡献者

kakuma

工作项

  • 设计流表。请参阅 flow_table 获取正在进行中的设计。

  • 在 ofagent neutron 代理中实现它

  • 记录升级过程

依赖项

严格来说,没有。但以下项目在之前会很好。

  • ofagent-l2pop 蓝图(我们的正在进行中的实现依赖于此)

  • matrohon 的 get_device_details-enhancement。或者其他获取设备 mac_address 的方法。(例如,让 l2pop 为条目提供 device-id。)我们希望将其用于数据包的节点本地路由。

测试

  • 单元测试

  • 现有的第三方测试

文档影响

  • 记录升级过程

参考资料