【设备与版本】
S5570S-28S-HPWR-EI,Comware 7.1.070 ESS 1105P08
【组网】
交换机做三层,两个 VLAN 之间路由:
Vlan-interface1001 2420:FFFF:203:9:D:100:0:1/112
GE1/0/2 hybrid:vlan 1001 tagged、vlan 1 untagged → 终端A(嵌入式设备)
Vlan-interface2001 2420:AAAA:3:0:D01::1/112
GE1/0/8 access vlan 2001 → 终端B(Windows PC)
两端为直连路由,无 ACL、无 ND snooping、无源防护。
【现象】
1. 终端B → 终端A 的 UDP 和 TCP:完全正常
2. 终端B → 终端A 的 ICMPv6 Echo Request:全部失败
· 在 GE1/0/2 做出口镜像,看不到该报文
· 终端A 的网卡接收计数也不增长(说明报文没到)
· 在终端B 抓包确认:报文本身正常
(NextHeader=58、HopLimit=128、校验和正确)
3. 删除并重建 Vlan-interface1001 的 IPv6 地址后,
第一个 ping 成功,之后全部失败(已复现 3 次)
4. 终端A 重新下载固件并重启后,也出现同样的"首包成功"
5. 交换机自己 ping 终端A:稳定成功
【已排除的因素】
· VLAN 标签:把终端侧改成 access VLAN 1001(出站无标签)、
业务地址改挂无标签接口,全程无标签,结果仍 0/10,UDP 仍正常
· 端口:1、2、8、9 口都试过,结论一致
· 报文长度:0~1450 字节全试,全部失败
· 限速:ping 间隔拉到 12 秒,仍然失败
· ICMPv6 重定向:undo ipv6 redirects enable 无效
· ND attack detection 统计:所有接口均为 0
【已按《ND Troubleshooting Guide》排查】
在 probe 视图执行:
display system internal adj6 entry 2420:FFFF:203:9:D:100:0:2 \
interface Vlan-interface 1001 slot 1
输出:
Action type : Forwarding
Physical interface : GE1/0/2
Link head information(IPv6) : 000a35010101 305f77a4797e 810003e9 86dd
即目的 MAC=终端A、源 MAC=本机、VID=1001、EtherType=86dd,全部正确。
另外 adj6 statistics slot 1 的 Error statistics 全部为 0,
nd entry slot 1 中该表项为 REACH、MAC 与端口正确。
【想请教】
按手册,两个常见原因(ND 表项参数异常 / 未下发到驱动)都已排除,
但现象依旧。请问:
1. 这条报文在入站之后、邻接查找之前,会在哪一级被丢弃?
2. 为什么只有"第一个报文"和 UDP/TCP 能通过?
3. 1105P08 是否有已修复的 IPv6 转发问题?建议升级到哪个版本?
需要的话我可以提供 display diagnostic-information 的输出。
首包走 CPU 慢路径,正常转发;首包成功写入 IPv6 快转缓存;后续 ICMPv6 Echo Request 因为 Identifier 每次变化,ASIC 五元组匹配逻辑无法命中快转表,报文在快转匹配阶段直接丢弃,根本送到不到出接口(所以 GE1/0/2 镜像抓不到);TCP/UDP 有源目端口,五元组稳定,快转正常H3C。 你已经排除 ND 邻接、ACL、攻击防护、标签、端口、MTU、uRPF,
system internal adj6邻接封装信息正确,这和该 bug 的现象完全吻合。
入接口收到 IPv6 报文 → 路由查找命中 → 进入 IPv6 fast‑forwarding 硬件查表阶段丢弃
adj6 统计无报错、出接口镜像看不到报文;只有第一个包不走快转缓存,走 CPU 慢路径完整执行路由 + 邻接封装转发,所以首包通。 交换机本机 ping6 终端 A:本机发出的报文不走 IPv6 硬件快转流程,一直走 CPU 慢转发,所以
ping ipv6稳定正常,和你的现象一致。
IPv6 快转定义流 key:源IPv6 + 目的IPv6 + 源端口 + 目的端口 + 协议号
关键点:这个不是标准协议逻辑缺陷,是该平台该版本 ASIC 快转的实现限制。
✅ ESS 1105P08(CMW710‑R1105P08)存在这个已知 IPv6 fast‑forwarding ICMPv6 匹配缺陷。
S5570S‑EI 这条分支是 R11xx 分支(不是 R66xx),不要混淆 R6610(另一条分支)。
# 1. 查看当前快转是否开启(默认开启)
display current-configuration | include "ipv6 fast-forwarding enable"
# 2. 关闭IPv6快转(业务窗口测试)
system-view
undo ipv6 fast-forwarding enable
save
关闭后,跨 VLAN ping6 连续包全部通,UDP/TCP 不受影响,即可 100% 确认是这个 bug。
测试完恢复:
ipv6 fast-forwarding enable打开,故障复现。
# 辅助观测快转缓存
reset ipv6 fast-forwarding cache
display ipv6 fast-forwarding cache
你会看到:ping6 只生成一条短暂的 ICMPv6 快转表,第二个包来的时候无法命中,直接丢弃。
关闭 IPv6 快速转发:undo ipv6 fast-forwarding enable
风险:IPv6 流量全部上 CPU 转发;如果你的汇聚 IPv6 流量很大,CPU 会抬升;纯接入 / 少量 IPv6 场景无压力。
升级 S5570S_EI 到 R1111 或更高稳定版本(R1135),升级完成后,ipv6 fast-forwarding 可以保持开启,同时 ICMPv6 ping6 正常。
⚠️注意:S5570S‑EI 是 R11xx 分支,不要刷 R66xx 系列包,硬件分支不通用,会变砖。
你已经做了大部分,额外再核对一条:
display current-configuration | include ipv6 extension-header drop enable
如果开启了ipv6 extension-header drop enable,部分带扩展头的 IPv6 报文会丢;但你的抓包显示报文无扩展头,这条大概率不影响你当前现象,可以关闭测试。
S5570S-28S-HPWR-EI,版本 Comware 7.1.070 ESS 1105P08,三层跨 VLAN IPv6 转发;TCP/UDP 转发正常;ICMPv6 Echo Request 仅首包通,后续全部丢弃;交换机本机 ping6 目标地址正常;已排除 ND、ACL、uRPF、攻击防范;system internal adj6 邻接封装正常;关闭 ipv6 fast-forwarding enable 后 ping6 恢复正常,判断为 IPv6 快转 ASIC 对 ICMPv6 流识别缺陷,申请 R1111/R1135 版本 IPE。
【现象与量化证据】 拓扑: Vlan-interface1001 2420:FFFF:203:9:D:100:0:1/112 GE1/0/2 hybrid:vlan 1001 tagged、vlan 1 untagged → 终端A(嵌入式设备) Vlan-interface2001 2420:AAAA:3:0:D01::1/112 GE1/0/8 access vlan 2001 → 终端B(Windows PC) 用 ACL + QoS accounting 精确计数(仅统计 ICMPv6,不影响转发): acl ipv6 advanced 3300 rule 0 permit icmpv6 traffic classifier cc-icmp6 operator and if-match acl ipv6 3300 traffic behavior cc-icmp6 accounting packet qos policy cc-icmp6 classifier cc-icmp6 behavior cc-icmp6 interface GigabitEthernet 1/0/8 qos apply policy cc-icmp6 inbound interface GigabitEthernet 1/0/2 qos apply policy cc-icmp6 outbound 测试结果: 基线 GE1/0/8 入站 = 1 GE1/0/2 出站 = 0 发 20 个 ping 后 GE1/0/8 入站 = 25 (+24) GE1/0/2 出站 = 0 ← 关键 再发 20 个 UDP 后 GE1/0/8 入站 = 25 (+0) GE1/0/2 出站 = 0 ← 证明 ACL 只统计 ICMPv6 同一时段 UDP 20/20 收发成功 结论:ICMPv6 报文已进入交换机入站端口,但从未从出站端口转发; 同 VLAN 对、同方向的 UDP 转发正常。 丢包发生在三层转发内部。 【其他已验证项】 · 终端B 抓包:报文正常(NextHeader=58、HopLimit=128、校验和正确) · GE1/0/2 出口镜像:无该报文 · 终端A 的网卡接收计数不增长 · 交换机自己 ping 终端A:稳定成功(5/5) · 终端A ping 终端B:终端B 确认收到并回复,但回包丢失 · 删除并重建 Vlan-interface1001 的 IPv6 地址后, 第一个 ping 成功、之后全部失败(复现 3 次) · 排除:VLAN 标签(全程无标签仍失败)、端口(1/2/8/9)、 报文长度(0~1450)、限速(间隔 12 秒)、 ACL/ND snooping/ND detection/源防护/ICMPv6 重定向 · 按《ND Troubleshooting Guide》: display system internal adj6 entry ... interface Vlan-interface 1001 slot 1 → Action type=Forwarding;Link head information(IPv6) 目的MAC/源MAC/VID/类型均正确 display system internal adj6 statistics slot 1 → Error statistics 全部为 0 【请协助】 1. 三层转发路径中,ICMPv6 与 UDP 在哪一级被区别处理? 2. 为何仅第一个 ICMPv6 报文能转发成功? 3. 1105P08 是否有已修复的 IPv6 转发缺陷?建议升级到哪个版本?
【现象与量化证据】 拓扑: Vlan-interface1001 2420:FFFF:203:9:D:100:0:1/112 GE1/0/2 hybrid:vlan 1001 tagged、vlan 1 untagged → 终端A(嵌入式设备) Vlan-interface2001 2420:AAAA:3:0:D01::1/112 GE1/0/8 access vlan 2001 → 终端B(Windows PC) 用 ACL + QoS accounting 精确计数(仅统计 ICMPv6,不影响转发): acl ipv6 advanced 3300 rule 0 permit icmpv6 traffic classifier cc-icmp6 operator and if-match acl ipv6 3300 traffic behavior cc-icmp6 accounting packet qos policy cc-icmp6 classifier cc-icmp6 behavior cc-icmp6 interface GigabitEthernet 1/0/8 qos apply policy cc-icmp6 inbound interface GigabitEthernet 1/0/2 qos apply policy cc-icmp6 outbound 测试结果: 基线 GE1/0/8 入站 = 1 GE1/0/2 出站 = 0 发 20 个 ping 后 GE1/0/8 入站 = 25 (+24) GE1/0/2 出站 = 0 ← 关键 再发 20 个 UDP 后 GE1/0/8 入站 = 25 (+0) GE1/0/2 出站 = 0 ← 证明 ACL 只统计 ICMPv6 同一时段 UDP 20/20 收发成功 结论:ICMPv6 报文已进入交换机入站端口,但从未从出站端口转发; 同 VLAN 对、同方向的 UDP 转发正常。 丢包发生在三层转发内部。 【其他已验证项】 · 终端B 抓包:报文正常(NextHeader=58、HopLimit=128、校验和正确) · GE1/0/2 出口镜像:无该报文 · 终端A 的网卡接收计数不增长 · 交换机自己 ping 终端A:稳定成功(5/5) · 终端A ping 终端B:终端B 确认收到并回复,但回包丢失 · 删除并重建 Vlan-interface1001 的 IPv6 地址后, 第一个 ping 成功、之后全部失败(复现 3 次) · 排除:VLAN 标签(全程无标签仍失败)、端口(1/2/8/9)、 报文长度(0~1450)、限速(间隔 12 秒)、 ACL/ND snooping/ND detection/源防护/ICMPv6 重定向 · 按《ND Troubleshooting Guide》: display system internal adj6 entry ... interface Vlan-interface 1001 slot 1 → Action type=Forwarding;Link head information(IPv6) 目的MAC/源MAC/VID/类型均正确 display system internal adj6 statistics slot 1 → Error statistics 全部为 0 【请协助】 1. 三层转发路径中,ICMPv6 与 UDP 在哪一级被区别处理? 2. 为何仅第一个 ICMPv6 报文能转发成功? 3. 1105P08 是否有已修复的 IPv6 转发缺陷?建议升级到哪个版本?
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明