在VXLAN分布式网关的场景下,其他配置都正确,将evpn m-lag local local-ip remote remote-ip中的 local-ip和remote-ip配置错误时(本端写成对端,对端写成本端),LF设备单挂的服务器通过备设备的peerlink链路进行绕行时封装会产生什么影响吗?(比如LF3-B下挂的服务器A去ping 服务器B时,将流量发给F4-B,F4-B解封装后走peer-link横连)---正常配置的情况下应该带上s-vid和c-vid两层tag进行转发,在主设备上剥离tag,目前通过测试发现只有第一个包带上双层tag,后续的报文都只带上一层s-vid内层tag
在EVPN VXLAN + M-LAG分布式网关场景下,若两台Leaf设备的 evpn m-lag local-ip 和 remote-ip 配置错误(即本端误配了对端的IP地址),会导致控制平面与数据平面出现严重分裂,引发你描述的 "只有第一个包带双层Tag,后续报文只有单层Tag" 的异常行为。
具体影响机制如下:
当 evpn m-lag local 配置错误(local/remote互换),两台Leaf之间的BGP EVPN邻居关系实际上已经断裂。
正常情况下:Leaf-A以 Local-IP=A 与 Leaf-B的 Remote-IP=B 建立BGP EVPN邻居,双方互相传递Type 2(MAC/IP路由)、Type 3(Inclusive Multicast)等路由信息,并自动建立VXLAN隧道。
错误配置下:Leaf-A认为自己是 Local-IP=B,Leaf-B认为自己是 Local-IP=A,BGP邻居无法正常建立,导致:
两台Leaf之间未建立VXLAN隧道(display vxlan tunnel 看不到对端隧道)
所有的EVPN Type 2/Type 3路由无法正常同步
在隧道缺失的情况下,Leaf设备必须通过Peer-link进行二层绕行转发(Flow-through)来兜底,这正是你流量路径的本质。
本地VXLAN VSI的报文在通过Peer-link透传时,通常要求携带外层S-VLAN和内层C-VLAN双层Tag。这是标准设计中Peer-link作为Trunk透传流量时的封装规范。
不正确的local/remote-ip配置会导致Leaf在维护转发硬件表项时出现混乱:
报文在Peer-link绕行时,硬件转发表中并未稳定记录该流量需要携带双层Tag
流量虽能通过"MAC-in-MAC"互通,但帧格式违规
关键机制:当Leaf设备通过Peer-link转发VXLAN剥VLAN的报文时,会先自动学习并生成对应的转发处理方式。第一个包(首包)触发慢路径处理,由CPU或软件层面生成符合规范的双层Tag封装并下发至硬件。硬件在记录这个学习及入方向/出方向处理方式时,按规范记录了 "双层Tag" 的约束规则。
然而,由于local/remote-ip配置错误导致设备的状态机不一致,后续流量到达时,硬件查表处理时并未应用完整的"双层Tag + 相关AC规则匹配" 约束——导致表项错误地退化成了一个简化规则——即按单层Tag(仅S-VLAN)进行处理。
因此出现:首包带双Tag(CPU走慢路径送的),后续包缺了内层Tag(直接按硬件降级规则走)。
| 现象 | 根本原因 | 结论 |
|---|---|---|
| 只有第一个包带双层Tag | 首包走慢路径触发CPU/软件学习,生成双Tag封装并下发硬件表项 | 配置错误导致表项熵增 |
| 后续报文只带单层Tag | 硬件表项因错误配置导致"降级",未稳定记录完整的双Tag映射规则 | Double Tag被错误地"优化"成了Single Tag |
| 物理Peer-link连通但VXLAN不通 | BGP EVPN邻居因local/remote配置错误无法建立 | 隧道缺失,流量依赖绕行Peer-link |
建议将两台Leaf设备的 evpn m-lag local 配置修正为 local 使用本端LoopBack,remote 使用对端LoopBack,且双方配置互为镜像,恢复BGP邻居和VXLAN隧道后,双Tag封装缺失的问题也将随之解决。
underlay底层的路由都是通的,BGP和VXLAN隧道都能正常建立,只是针对单挂的服务器下一跳指向对端了
表面看建立是正常的,但是实际的已经指向错误的节点了
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
表面看建立是正常的,但是实际的已经指向错误的节点了