搜索

7.6. 配置 OVS 硬件卸载的组件

download PDF

使用 Mellanox 智能 NIC 配置和排除 OVS HW Offload 组件的引用。

Nova

将 Nova 调度程序配置为使用 NovaPCIPassthrough 过滤器以及 NUMATopologyFilterDerivePciWhitelistEnabled 参数。当您启用 OVS HW Offload 时,Nova 调度程序与生成实例的 SR-IOV 透传类似。

Neutron

当您启用 OVS HW Offload 时,使用 devlink cli 工具将 NIC e-switch 模式设置为 switchdevSwitchdev 模式在映射到 VF 的 NIC 上建立代表端口。

流程

  1. 要从一个启用了 switchdev 的 NIC 中分配一个端口,以 admin 用户身份登录,创建一个带有值为 binding-profilecapabilities,并禁用端口安全性:

    $ openstack port create --network private --vnic-type=direct --binding-profile '{"capabilities": ["switchdev"]}' direct_port1 --disable-port-security
  2. 在创建实例时传递此端口信息。

    您可以将代表器端口与实例 VF 接口关联,并将代表器端口连接到 OVS 网桥 br-int,以进行一次性 OVS 数据路径处理。VF 端口代表或类似物理"补丁面板"前端的软件版本。

    有关新实例创建的更多信息,请参阅为 SR-IOV 部署实例

OVS

在配置了硬件卸载的环境中,传输的第一个数据包会遍历 OVS 内核路径,此数据包过程负责为实例流量传入和传出流量建立 ml2 OVS 规则。在建立了流量流时,OVS 使用流量控制(TC)流程序程序在 NIC 硬件上推送这些流。

流程

  1. 使用 director 在 OVS 上应用以下配置:

    $ sudo ovs-vsctl set Open_vSwitch . other_config:hw-offload=true
  2. 重新启动 以启用 HW Offload。

流量控制(TC)子系统

当您启用 hw-offload 标志时,OVS 会使用 TC 数据路径。TC Flower 是一个 iproute2 工具,用于在硬件上写入数据路径流。这样可确保流在硬件和软件数据路径上编程,以实现冗余。

流程

  1. 应用以下配置:如果您没有显式配置 tc-policy,则这是默认选项:

    $ sudo ovs-vsctl set Open_vSwitch . other_config:tc-policy=none
  2. 重启 OVS。

NIC PF 和 VF 驱动程序

Mlx5_core 是 Mellanox ConnectX-5 NIC 的 PF 和 VF 驱动程序。mlx5_core 驱动程序执行以下任务:

  • 在硬件上创建路由表。
  • 管理网络流管理。
  • 配置以太网交换机设备驱动程序模型,switchdev
  • 创建块设备。

流程

  • 使用以下 devlink 命令,以查询 PCI 设备的模式。

    $ sudo devlink dev eswitch set pci/0000:03:00.0 mode switchdev
    $ sudo devlink dev eswitch show pci/0000:03:00.0
    pci/0000:03:00.0: mode switchdev inline-mode none encap enable

NIC 固件

NIC 固件执行以下任务:

  • 维护路由表和规则。
  • 修复表的管道。
  • 管理硬件资源。
  • 创建 VF。

固件可与驱动程序配合使用,以获得最佳性能。

虽然 NIC 固件不是易失性,但重启后会保留下来,您可以在运行时修改配置。

流程

  • 在接口和代表端口中应用以下配置,以确保 TC 流程序在端口级别推送流编程:

     $ sudo ethtool -K enp3s0f0 hw-tc-offload on
注意

确保您保持固件更新。Yumdnf 更新可能不会完成固件更新。如需更多信息,请参阅厂商文档。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.