• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

ROCE网交换机PFC和ECN功能如何测试

2026-04-15提问
  • 0关注
  • 0收藏,256浏览
粉丝:0人 关注:0人

问题描述:

ROCE网交换机PFC和ECN功能如何测试

最佳答案

粉丝:9人 关注:2人

测试 RoCE 网络的 PFC(优先级流控) 和 ECN(显式拥塞通知),核心是验证:PFC 能在拥塞时暂停指定优先级、不丢包;ECN 能标记拥塞、触发 DCQCN 降速、同样零丢包。下面给出完整测试方案(含测试仪 / 服务器两种环境、命令、判断标准)。
一、测试前提(必须一致)
全网(交换机 + 网卡)PFC 优先级统一(常用 3/4/6)
DSCP ↔ TC ↔ Priority 映射全网一致(常用:DSCP 26 → TC3 → PFC 3)
队列缓存、WRED/ECN 阈值、PFC Xon/Xoff 配置正确
网卡(NVIDIA/Mellanox CX-5/CX-6)开启 PFC + ECN + DCQCN
通用检查命令
bash
运行
# 交换机(H3C/华为/Cisco)
display qos queue # 查看队列映射、WRED、ECN
display dcb pfc # 查看PFC使能优先级、Xon/Xoff
display qos wred # 查看ECN/WRED阈值

# 主机(NVIDIA网卡)
mlnx_qos -i ethx # 查看PFC使能(0/1矩阵)
cat /sys/class/net/ethx/ecn/roce/enable # 查看ECN使能(1=开启)
ibv_devinfo | grep -E "vendor_part_id|fw_ver" # 确认网卡支持RoCEv2
二、PFC 功能测试(无损防丢)
测试目的
验证:拥塞时交换机发送 PFC 暂停帧
验证:仅暂停对应优先级队列,其他队列不受影响
验证:RoCE 流量全程零丢包
1)测试拓扑(最简)
plaintext
测试仪Port1(Sender)→ DUT交换机 → 测试仪Port2(Receiver,拥塞点)
↳ 测试仪Port3(Background低优先级流量)
2)测试步骤(测试仪版,Spirent / 信而泰 / Peak9000)
配置基础
端口:100G/25G,MTU 9214
流 1(RoCE):Priority 3 / DSCP 26,线速发送
流 2(背景):Priority 0,线速发送
接收端口(Port2)限速 70%(制造拥塞)
触发 PFC
同时启动流 1 + 流 2
观察:Port2 队列 3 缓存上涨 → 触发 PFC Xoff → Port1 暂停发送
关键观测点(判断生效)
交换机:
bash
运行
display dcb pfc statistics interface 1/0/1
# 看:PFC Rx/Tx 计数持续增长
display qos queue interface 1/0/1
# 队列3 占满、但 **drop count = 0**
测试仪:
RoCE 流速率骤降(被暂停)
低优先级流(Pri0)不受影响、正常转发
RoCE 丢包率 = 0%
3)服务器实测版(ib_write_bw)
节点 A:ib_write_bw -d rocep0 -F -R -s 8388608 --tos=26
节点 B:ib_write_bw -d rocep0 -F 1.1.1.1
同时在同链路跑背景流量(iperf3)制造拥塞
检查:
bash
运行
# 交换机PFC帧计数上涨
display dcb pfc statistics
# RDMA 性能稳定、无重传、无丢包
4)PFC 失效常见原因
优先级映射错误(DSCP→TC→Priority 不匹配)
PFC 只开了发送 / 只开了接收
Xoff 阈值太大、队列溢出前不触发
网卡 mlnx_qos 对应 priority 未使能(0,0,0,1,...)
三、ECN 功能测试(拥塞标记 + DCQCN 降速)
测试目的
验证:队列拥塞时交换机正确标记 ECN(CE=11)
验证:接收端回送 CNP(拥塞通知报文)
验证:发送端收到 CNP 后降速、全程零丢包
1)测试拓扑
plaintext
测试仪Port1(Sender)→ DUT交换机 → 测试仪Port2(Receiver,拥塞)
2)测试步骤(测试仪版)
配置 ECN
交换机:队列 3 开启 ECN + WRED
bash
运行
# H3C 示例
drop-profile ECN_PROFILE
color green low-limit 40 high-limit 60 discard-percentage 0 ecn
# discard-percentage 0:只标记不丢弃
interface 100G1/0/1
qos queue 3 wred ECN_PROFILE
qos queue 3 ecn
测试仪:
流:RoCEv2,DSCP 26,ECN=10(ECT)
开启 DCQCN 自动速率调整
接收端口限速 70%(制造拥塞)
观测指标(ECN 生效标准)
交换机:
bash
运行
display qos queue statistics interface 1/0/1
# 队列3:WRED/ECN marked 计数增长
# drop count = 0
测试仪:
报文IP 头 ECN 字段被置为 11(CE)
CNP 报文回传数量增长
发送速率自动下降、稳定在限速附近
丢包率 = 0%
3)服务器实测版(DCQCN)
主机开启 ECN/DCQCN:
bash
运行
# 启用ECN
echo 1 > /sys/class/net/ethx/ecn/roce/enable
# 设置RoCE拥塞优先级(与PFC一致)
echo 50 > /sys/class/infiniband/mlx5_0/device/parameters/cc_priority
压测(多流并发制造拥塞):
多机同时:ib_write_bw -x 3 --tos=26
检查:
bash
运行
# 交换机ECN标记计数
display qos wred statistics

# 主机CNP收/发
ethtool -S ethx | grep -i cnp
# 速率自动下降、无丢包
4)ECN 失效常见原因
交换机队列未 ecn 使能
WRED 阈值太高 / 太低,不触发标记
主机 ECN/DCQCN 未开
DSCP / 队列映射错误,ECN 作用在错误队列
CNP 优先级太低、被阻塞(建议 CNP 使用 DSCP 63 / Highest Pri)
四、PFC + ECN 联合测试(真实无损场景)
测试逻辑
轻度拥塞:ECN 标记 → DCQCN 降速 → 无 PFC
重度拥塞:ECN 不足 → 队列上涨 → PFC 暂停 → 零丢包
联合判断标准
低拥塞:只有 ECN 标记、无 PFC 帧
高拥塞:先 ECN → 再 PFC
全程:RoCE 丢包 = 0、无 PFC 风暴、无死锁
五、常用工具汇总
测试仪:Spirent TestCenter、信而泰、Peak9000(支持 RoCEv2/CNP/ECN/PFC)
服务器:
perftest:ib_write_bw/ib_read_bw(RDMA 压测)
mst/mlnx_qos:网卡 QoS/PFC 配置
ethtool -S、cat /sys/class/net/ethx/ecn/...:ECN/CNP 统计
交换机:
display dcb pfc statistics
display qos queue/wred statistics
display qos ecn
六、快速验收清单(Pass/Fail)
✅ PFC
拥塞时 PFC 帧 Tx/Rx 增长
目标优先级 零丢包
非目标优先级 不受影响
✅ ECN
拥塞时 ECN marked 计数增长
CNP 报文正常收发
速率 自动降速、无丢包
✅ 联合
轻度:ECN 为主、无 PFC
重度:PFC 兜底、零丢包
无 PFC 死锁 / 风暴

暂无评论

3 个回答
粉丝:2人 关注:9人

测试前先执行backup startup-configuration to tftp [服务器地址]备份配置,避免业务影响。
---
### PFC测试步骤:
1. 配置:全局/对应端口下配置qos priority-flow-control enable、qos priority-flow-control no-drop dot1p [RDMA常用优先级3],确认dot1p到队列映射正确。
2. 测试:两台ROCE服务器跨被测交换机,打对应优先级的RDMA满带宽流,构造端口缓存拥塞。
3. 验证:执行display qos priority-flow-control statistics interface [端口],可见拥塞端口发PFC Pause帧,服务器端RDMA流无丢包即为生效。关闭PFC后复现相同流量会丢包,可对比验证。
---
### ECN测试步骤:
1. 配置:全局开qos ecn enable,RDMA对应队列下配置qos wred queue [队列号] ecn,设置WRED阈值低于PFC触发阈值,服务器ROCE网卡开启ECN能力。
2. 测试:打接近链路带宽的对应优先级RDMA流,构造未触发PFC的轻度拥塞。
3. 验证:执行display qos wred statistics interface [端口]可见对应队列ECN标记计数增长,服务器端CE位计数上升、RDMA流主动降速无丢包即为生效。

暂无评论

粉丝:12人 关注:1人

ROCE网络中PFC和ECN功能的测试是验证无损网络性能的关键环节,通过系统性测试可以确保网络在高负载下仍能保持低延迟和零丢包特性。

一、测试前的必要准备

1. 测试环境搭建

  • 硬件配置:使用RoCE网络测试仪(如信而泰X5-400G设备)、网络损伤仪,连接到Leaf-Spine架构的网络拓扑中
  • 网络拓扑:测试仪连接Leaf交换机,被测设备部署在Spine层,模拟真实多源多宿场景
  • 损伤模拟:部署网络损伤仪模拟丢包、时延、抖动等场景,验证网络在异常条件下的表现

2. 基础配置检查

  • 确认PFC/ECN已启用:在交换机和网卡上确认PFC和ECN功能已正确开启
  • 优先级映射验证:确保DSCP值与PFC优先级的映射关系正确(如DSCP 26对应优先级3)
  • 缓冲区配置:检查交换机端口缓冲区大小是否满足要求,建议≥t_flight(2×MTU×端口数)

二、PFC功能测试方法

1. 测试目标

  • 验证网络设备能否根据优先级正确暂停和恢复流量
  • 确保高优先级流量在拥塞时不被丢包
  • 检查低优先级流量在PFC机制触发后的自动降速和恢复情况

2. 测试步骤

  1. 配置PFC优先级:在测试仪和被测设备上配置相同的PFC优先级映射关系(如优先级3)
  2. 生成多优先级流量:测试仪生成具有不同优先级的流量,模拟高优先级和低优先级业务流量
  3. 触发拥塞场景:增加流量负载使接收端缓冲区达到阈值,观察PFC机制是否自动触发
  4. 监控流量行为
    • 检查高优先级流量是否被正确暂停和恢复
    • 分析低优先级流量的吞吐量和延迟变化
    • 记录PFC统计信息(如display dcb pfc命令输出)
  5. # 查看PFC统计信息 2display dcb pfc 3 4# 检查PFC反压参数 5display dcb pfc buffer 6 7# 监控特定队列的流量统计 8ethtool -S ens1f0np0 | grep prio3

三、ECN功能测试方法

1. 测试目标

  • 验证网络设备能否在拥塞时正确标记ECN标志
  • 确保CNP反馈机制能有效调整发送速率
  • 评估ECN机制在拥塞控制中的有效性

2. 测试步骤

  1. 配置ECN功能:在测试仪和被测设备上启用ECN功能,设置ECN标志位(通常配置为11/CE)
  2. 设置阈值参数:配置min_th(最小阈值)、max_th(最大阈值)和probability(标记概率)
  3. 触发拥塞场景:增加流量负载使队列深度超过min_th阈值
  4. 验证ECN标记:使用抓包工具确认数据包头部的ECN标志被正确标记为"11"
  5. 测试CNP反馈机制:检查接收端是否生成CNP并发送给发送端,发送端是否根据CNP调整速率
  6. 性能评估:记录吞吐量、延迟和丢包率等指标,评估ECN机制的有效性

3. 验证命令示例

# 查看ECN报文统计 2display qos ecn statistics 3 4# 检查ECN门限值 5display qos ecn threshold 6 7# 抓包验证ECN标记 8tcpdump -i any ip & 0x03 == 0x03 9```<websource>source_group_web_6</websource> 10 11## 四、关键测试指标与结果分析 12 13### 1. PFC测试结果分析 14- **高优先级流量**:应能在拥塞时被正确暂停,并在拥塞缓解后立即恢复传输 15- **低优先级流量**:吞吐量应自动降速,但不应完全停止,拥塞缓解后应能恢复 16- **统计指标**:检查`Tx PFC Frames`和`Rx PFC Frames`计数器,健康网络中应保持为0或接近0<websource>source_group_web_7</websource> 17 18### 2. ECN测试结果分析 19- **ECN标记准确性**:当队列深度超过min_th时,ECN标志应被正确标记为"11" 20- **CNP反馈机制**:发送端应能根据CNP调整发送速率,避免队列溢出 21- **性能表现**:在拥塞情况下,网络应能保持稳定吞吐,避免剧烈抖动或归零<websource>source_group_web_8</websource> 22 23### 3. 关键性能指标 24- **吞吐量**:应接近理论最大值(如100G网卡达到90+ Gb/s) 25- **延迟**:应保持在微秒级,且抖动小 26- **丢包率**:理想情况下应为0% 27- **ECN标记率**:应保持在合理范围(通常5%左右),过高表示阈值设置过低<websource>source_group_web_9</websource> 28 29## 五、常见问题与排查建议 30 31### 1. PFC相关问题 32- **PFC风暴/死锁**:表现为整个网络中特定优先级流量被冻结,需检查PFC帧计数器 33- **规避策略**:确保ECN正确配置,避免仅依赖PFC;为RoCE流量创建专用无损队列<websource>source_group_web_10</websource> 34 35### 2. ECN相关问题 36- **阈值设置不合理**:min_th过低导致频繁标记,过高则失去预警作用 37- **优化建议**:根据业务场景调整阈值,小包场景使用较低阈值,大块传输使用较高阈值<websource>source_group_web_11</websource> 38 39### 3. 实用排查命令 40```bash 41# 检查RoCE相关配置和统计 42show qos roce 43show counters qos roce interface 0/0 queue 3 44 45# 清除计数以便重新测试 46clear counters qos roce 47 48# 检查DSCP到优先级的映射 49mlnx_qos -i ens1f0np0 -s



暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明