Print

M-LAG双活网关场景BFD配置案例

2026-02-27 发表

问题描述

通常情况下,使用echo报文方式的静态BFD会话时,不需要配置会话的远端标识符,仅需配置会话的本地标识符。在M-LAG组网中,其中一台M-LAG设备使用echo报文方式的静态BFD检测本地与下行设备之间的链路时,如果报文的目的IP与另外一台M-LAG设备的IP地址相同,则可能会出现BFD会话状态异常的问题。

例如,如下图所示,在用户侧设备通过M-LAG双归接入OSPF网络的场景中,M-LAG设备作为网关进行三层转发。不同M-LAG设备上的网关接口(例如VLAN接口、VSI虚接口)具有相同的IP地址和MAC地址。在每个M-LAG设备上创建echo报文方式的静态BFD会话,对本机与用户侧之间的链路进行检测,且M-LAG设备发送的BFD echo报文的目的IP为网关地址。Device C收到M-LAG 1发送的BFD echo报文后,可能会将该报文转发给M-LAG 2M-LAG 2收到此类BFD echo报文后,由于报文的目的IP为本机IP,则M-LAG 2不会将报文发送给M-LAG 1。这样,将会导致M-LAG 1无法收到Device C转发的BFD echo报文,引发M-LAG 1BFD会话状态异常。

过程分析

为了解决上述问题,需要在M-LAG 2上配置远端标识符,配置的远端标识符为M-LAG 1BFD会话的本地标识符。M-LAG 2收到标识符属于本端配置的远端标识符范围内的BFD echo报文后,会通过peer-link链路将报文发送给M-LAG 1,保证M-LAG 1BFD会话能够正常UP。相似地,在M-LAG 1上配置远端标识符,配置的远端标识符为M-LAG 2BFD会话的本地标识符,保证M-LAG 2BFD会话能够正常UP

命令如下

(1)     进入系统视图。

system-view

(2)     配置本地的BFD会话远端标识符。

bfd forwarding match remote-discriminator discr-value-list { discr-value1 [ to discr-value2 ] } &<1-10>

缺省情况下,未配置本地的BFD会话远端标识符。

解决方法

M-LAG 12双活网关地址均为20.1.1.1DEVICE C VLAN接口地址为20.1.1.4,两台设备各配置loopback 10.10.10.10  20.20.20.20地址作为bfd报文源地址,采用发送单臂回环bfd报文的方式,构造报文为自身IPbfd报文,要求对端弹回报文,这样可以无需在DEVICE C配置bfd,适用性更广。
M-LAG 1配置 bfd static aa peer-ip 20.1.1.4 interfaceVlan-interface20 destination-ip 20.1.1.1 source-ip 10.10.10.10 one-arm-echodiscriminator local 15 #
#
远端标识符需要与对端设备的本地标识符对应 #
bfd forwarding match remote-discriminator25
 创建与静态BFD会话aa关联的Track项1,并进入Track视图。
track 1 bfd static aa
# M-LAG 2配置 bfd static aa peer-ip 20.1.1.4 interfaceVlan-interface20 destination-ip 20.1.1.1 source-ip 20.20.20.20 one-arm-echodiscriminator local 25 #
#
远端标识符需要与对端设备的本地标识符对应
bfd forwarding match remote-discriminator 15
# 创建与静态BFD会话aa关联的Track项1,并进入Track视图。
track 1 bfd static aa
#