启用 Neutron 端口的 SR-IOV 物理功能分配

https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port

依赖于 sriov-physical-function-passthrough 规范 [1],该规范描述了 Nova 中 SR-IOV 物理功能直通的支持;本规范将解决将 SR-IOV 物理功能与 Neutron 端口关联的需求。

问题描述

当前物理功能 (PF) 直通的实现缺乏任何网络感知能力。它将物理硬件暴露给实例,而没有与 Neutron 的集成,这与 SR-IOV 虚拟功能 (VFs) 的实现方式不同。

物理功能只能作为 libvirt 的 <hostdev> 定义在域 XML 中暴露,而不能作为可以接收 MAC 地址和虚拟端口定义的“<interface type=’hostdev’…” 元素。

通常,无法为 PF 配置 MAC 地址,也无法通过其主机上的驱动程序分配 VLAN 标签。因此,需要额外的步骤来使用所选 PF 的实际 MAC 地址更新 Neutron。

用例

需要完全访问物理功能的 workload 也需要能够以与当前 VFs 相同的方式和灵活性来操作网络设置。

项目优先级

提议的变更

允许用户在创建 neutron 端口时指定一个新的 vnic_type,Nova 将使用该类型在主机上选择一个物理功能,并使用新的 VIF 类型将其正确地直通到 guest。Nova 将使用主机上所选 PF 的 MAC 地址更新 neutron 端口。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

Vladik Romanovsky <vromanso@redhat.com>

其他贡献者

Nikola Đipanov <ndipanov@redhat.com>

工作项

  • 引入一个新的 vnic_type 来请求 PF 选择 - VNIC_DIRECT_PHYSICAL

  • 引入一个新的 vif 类型来配置 PF 作为 hostdev 的连接。

  • 使用所选 PF 的 MAC 地址更新 Neutron 端口。

依赖项

测试

将编写新的单元测试和功能测试来覆盖这些更改。

文档影响

应记录新的 vnic_type 的文档。

参考资料

[1] https://review.openstack.org/#/c/212472

历史

可选部分,用于 Mitaka,每次更新规范时使用,以描述新的设计、API 或任何数据库模式更新。有助于让读者了解随着时间的推移发生了什么。

修订版

发布名称

描述

Mitaka

引入

Newton

重新提出