组网及说明
HPE Network Adapters - A Network PXE Boot Failure Has Been Identified On HPE NVIDIA ConnectX-6-Based Network Adapters (And Newer Generations) With Firmware Version xx.42.1000 (Or Later) When MTU Is Configured to a Non-Default Value
文档ID:a00147774en_us Last Updated: 2025-04-25
影响范围:
任何配置了以下基于 HPE NVIDIA ConnectX-6 的网卡(及更新代)的 HPE 平台:
- HPE Data Processing Unit InfiniBand NDR200/Ethernet 200Gb 2-port QSFP112 FHHL B3220 Adapter (P66386-H21/ P66103-B21)
- HPE Data Processing Unit InfiniBand NDR/Ethernet 400Gb 1-port QSFP112 HHHL B3140H Adapter (P66583-B21/ P66387-H21)
- HPE InfiniBand NDR/Ethernet 400Gb 1-port OSFP PCIe5x16 MCX75310AAS-NEAT Adapter (P45641-B23/ P45641-H23)
- HPE InfiniBand NDR200/Ethernet 200Gb 1-port OSFP PCIe5 x16 MCX75310AAS-HEAT Adapter (P45642-B22/ P45642-H22)
- HPE InfiniBand NDR200/Ethernet 200GbE 2-port QSFP112 PCIe5 x16 MCX755106AC-HEAT Adapter (P65333-B21/ P65333-H21)
- HPE InfiniBand NDR 1-port OSFP PCIe5 x16 MCX75310AAS-NEAT Adapter (P45641-B21/ P45641-H21)
- HPE InfiniBand NDR200 1-port OSFP PCIe5 x16 MCX75310AAS-HEAT Adapter (P45642-B21/ P45642-H21)
- HPE InfiniBand HDR/Ethernet 200Gb 2-port QSFP56 PCIe4 x16 OCP3 MCX653436A-HDAI Adapter (P31348-B21 / P31348-H21)
- HPE InfiniBand HDR/Ethernet 200Gb 1-port QSFP56 PCIe4 x16 OCP3 MCX653435A-HDAI Adapter (P31323-B21 / P31323-H21)
- HPE InfiniBand HDR/Ethernet 200Gb 2-port QSFP56 PCIe4 x16 MCX653106A-HDAT Adapter (P31324-B21 / P31324-H21)
- HPE Apollo 9000 InfiniBand HDR 200Gb 2-port 940z FIO Mezzanine Adapter (R1E59A)
- HPE InfiniBand HDR/Ethernet 200Gb 1-port QSFP56 PCIe4 x16 MCX653105A-HDAT Adapter (P23664-B21 / P23664-H21)
- HPE InfiniBand HDR/Ethernet 200Gb 1-port QSFP56 PCIe3 x16 MCX653105A-HDAT Adapter (P06154-B21 / P06154-H21)
- HPE InfiniBand HDR100/Ethernet 100Gb 2-port QSFP56 PCIe4 x16 MCX653106A-ECAT Adapter (P23666-B21 / P23666-H21)
- HPE InfiniBand HDR100/Ethernet 100Gb 1-port QSFP56 PCIe4 x16 MCX653105A-ECAT Adapter (P23665-B21 / P23665-H21)
- HPE InfiniBand HDR100/Ethernet 100Gb 2-port QSFP56 PCIe3 x16 MCX653106A-ECAT Adapter (P06251-B21 / P06251-H21)
- HPE InfiniBand HDR100/Ethernet 100Gb 1-port 940QSFP56 x16 Adapter (P06250-B21/ P06250-H21)
- Mellanox MCX631102AS-ADAT Ethernet 10/25Gb 2-port SFP28 Adapter for HPE (P42044-B21)
- Mellanox MCX631432AS-ADAI Ethernet 10/25Gb 2-port SFP28 OCP3 Adapter for HPE (P42041-B21)
- HPE Ethernet 100Gb 2-Port QSFP56 MCX623106AS-CDAT Adapter (P25960-B21)
- Mellanox MCX623105AS-VDAT Ethernet 200Gb 1-port QSFP56 Adapter for HPE (P10180-B21)
受影响的固件版本:
受 Bluefield3 DPU 网卡影响的 BFB 版本:
- BlueField 固件包 (BFB) 版本 2.8.0(或更高版本)。
注意:受影响的基于 HPE NVIDIA 的网卡列表包括 Connectx-6、ConnectX-6 LX、ConnectX6-Dx、Connectx-7 和 DPU。
问题描述
由于 IP 分片的影响,当MTU 设置为非默认值时,基于 HPE NVIDIA ConnectX-6 的网卡(以及更新的版本)会出现PXE 引导失败的情况。
此问题出现在网卡固件版本 xx.42.1010(或更高版本)中。当 IP 数据包在非默认MTU 下发生分片时,原始数据包会被分成两片。其中一片保留协议头,包括UDP和TFTP 头,而另一片仅包含有效负载数据。
在固件版本 xx.42.1010 中,新增了“PXE 启动过滤器”( PXE boot filter)这一功能,用于应用过滤器以丢弃除启动所需的“UDP/TCP/ICMP”数据包之外的所有数据包。由于仅包含有效负载数据的片段在头部缺少必要的目标UDP端口信息,因此会被 PXE 过滤器丢弃。
注意:影响的基于 NVIDIA 的 HPE 网卡列表包括 Connectx-6、ConnectX-6 LX、ConnectX6-Dx、Connectx-7 和 DPU。
过程分析
解决方法
该问题将通过未来的固件/BlueField 固件包 (BFB) 版本得到解决。
为了避免此问题,请执行以下任一程序:
方法 1: 在PXE客户端的设备级配置中禁用 “PXE 启动过滤器”,该过滤器会丢弃除启动所需的 UDP、TCP和 ICMP数据包以外的所有数据包。
当 PXE 启动筛选器被禁用时,它会允许所有数据包不受限制。这有助于即使网络配置已更改(例如更改MTU),PXE 过程也能成功完成。
执行以下步骤以在 PXE 客户端上禁用 PXE 启动过滤器选项:
1. F9进入RBSU,System Configuration
2. System Configuration 中选择要设置的网卡
3. Device Level Configuration-> PXE Boot Filters:Disabled
4. 重启服务器

方法 2: 降低 PXE 服务器上的TFTP 数据块大小。TFTP 数据块大小用于确定在 TFTP 文件传输过程中传输的数据块或“块”的大小。
当MTU 被设置为非默认值时,TFTP 数据块的大小必须相应地减小,以避免数据分片。TFTP 数据块的大小计算方法如下:
TFTP 块大小 = 最大传输单元值 - 32
示例:此示例是在运行红帽企业版 Linux 9 更新 5 的系统上捕获的,其MTU 为 1425。TFTP 数据块的大小被配置为 1393,这表示“1425(最大传输单元) - 32(头部)= 1393”。
编辑 /etc/systemd/system/tftp-server.service 服务并设置这些值。
# vim /etc/systemd/system/tftp-server.service
[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd --blocksize 1393 -c -p -s /var/lib/tftpboot
StandardInput=socket
[Install]
WantedBy=multi-user.target
Also=tftp-server.socket
·重新加载 systemd 管理器配置并重新启动 tftp 服务。#systemctl daemon-reload
#systemctl restart tftp-server
# systemctl status tftp-server
● tftp-server.service - Tftp Server
Loaded: loaded (/etc/systemd/system/tftp-server.service;enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-22 07:43:14 EDT; 10s ago
Docs: man:in.tftpd
Main PID: 13215 (in.tftpd)
Tasks: 1 (limit: 2472600)
Memory: 324.0K
CGroup: /system.slice/tftp-server.service
└─13215 /usr/sbin/in.tftpd --blocksize 1393-c -p -s /var/lib/tftpboot
Jun 22 07:43:14 xd225-rhel84-33 systemd[1]: Started Tftp Server.
当未来的固件/BlueField 固件包 (BFB) 版本解决此问题并可用时,此文档将会更新。