Print
知

BFD Echo回包TTL异常导致EBGP邻居振荡

2026-09-17 发表

告警信息

Sess[31.160.138.241/31.160.138.242,

Interface:FGE1/0/9.300, SessType:Echo]

Sta: UP->DOWN

Diag: 2 (Echo Function Failed)

Applications: BGP

问题描述

一台S12504G-AF交换机,运行Release 8064版本,
与服务器建立直连EBGP邻居。启用BFD Echo检测后,BFD会话及EBGP邻居反复振荡;取消BGP邻居的BFD Echo联动后,邻居恢复稳定

过程分析

  1. 排查链路及基础通信。 直连接口无错包、无频繁UP/DOWN,连续Ping测试1000个报文无丢包,初步排除物理链路不稳定。取消BFD Echo联动后EBGP稳定,将排查重点转向BFD回声检测。

  2. 确认BFD因回声检测失败而Down。 display bfd session verbose显示会话收发计数差异明显,日志记录Echo Function Failed,说明BFD未持续收到有效回声报文,进而触发BGP邻居状态变化。

  3. 通过MAC及UDP端口识别回包。 对照ARP和接口MAC,确认0004-369e-e064为服务器MAC,2ce1-8766-9801为交换机MAC。抓包中UDP目的端口3785的报文为BFD Echo:交换机发往服务器时TTL为255,服务器返回交换机时TTL为1。服务器虽然已回送报文,但回包TTL存在异常。

  4. 结合研发结论确定丢弃位置。 研发确认,本案例设备的BFD Echo由主控集中处理。TTL为1的回包在线卡上送CPU处理过程中递减为0,因TTL耗尽被丢弃,无法送达主控,最终导致Echo检测失败及EBGP振荡。

解决方法

协调服务器侧调整BFD Echo回包处理逻辑,避免将回包TTL设置为1。按本次技术支持建议,可先将回包TTL调整为254进行验证。

临时规避可在对应BGP配置视图下执行:

undo peer DockerCgw bfd echo

现场已验证取消该联动后EBGP邻居稳定,但会失去该邻居的BFD Echo快速故障检测能力。

调整服务器后,恢复BFD Echo联动,检查回包TTL、BFD收包计数及BFD/BGP会话稳定性。