11.5. 配置 ML2/OVN 北向路径 MTU 发现,以实现巨型帧碎片

如果内部网络中的虚拟机将巨型帧发送到外部网络,并且内部网络的最大传输单元(MTU)超过外部网络的 MTU,则北向帧可以轻松地超过外部网络的容量。

ML2/OVS 会自动处理这种过度化数据包问题,ML2/OVN 会自动处理 TCP 数据包。

但是,为了确保正确处理使用 ML2/OVN 机制驱动程序的部署中的无线 UDP 数据包,您需要执行额外的配置步骤。

这些步骤将 ML2/OVN 路由器配置为将 ICMP"fragment required"数据包返回到发送虚拟机,其中发送的应用程序会将有效负载分成较小的数据包。

注意

在 east/west 流量中,RHOSP ML2/OVN 部署不支持碎片超过 east/west 路径上最小 MTU 的数据包。例如:

  • VM1 位于 Network1 上,其 MTU 为 1300。
  • VM2 位于 Network2 上,其 MTU 为 1200。
  • 在 VM1 和 VM2 之间以方向形式进行 ping,大小为 1171 或更少成功。大于 1171 的 ping 会导致数据包丢失百分比。

    由于没有客户的具体要求,红帽还没有计划提供对它的支持。

先决条件

  • 带有 kernel-4.18.0-193.20.1.el8_2 或更高版本的RHEL 8.2.0.4 或更高版本。

流程

  1. 检查内核版本。

    ovs-appctl -t ovs-vswitchd dpif/show-dp-features br-int
  2. 如果输出包含 Check pkt length action: No,或者输出中没有 检查 pkt length 操作 字符串,请升级到 RHEL 8.2.0.4 或更高版本,或者不会将巨型帧发送到具有较小的 MTU 的外部网络。
  3. 如果输出包含 Check pkt length action: Yes,请在 ml2_conf.ini 的 [ovn] 部分中设置以下值:

    ovn_emit_need_to_frag = True