首页 科技问答 张文宁,某局点S12500F 下挂leaf自动化上线上行口被识别为下行口问题

张文宁,某局点S12500F 下挂leaf自动化上线上行口被识别为下行口问题

科技问答 356
1676540268,

组网及说明

/

告警信息

/

问题描述

现场针对ADDC网络扩容,在823进行新增一台leaf S6800的操作,上线后发现leaf的上行口识别为computer,上线失败,后续在96日再尝试上线一台leaf S5560X-EI,故障现象一样。


明细现象如下:

823日新增扩容一台leaf(S6800-54QF),大约20:00leaf上线完成后,leaf5/0/49下发了正确的配置(连的是spine2),但1/0/49被识别为了下行口(连的是spine1),下发了错误的配置。查看自动化上线的日志,发现1/0/49口将对方spine1的角色识别为了computer

2011-01-01 08:03:35,923 topo.py[line:87] DEBUG [topology]--Notified--topology change {'FortyGigE1/0/49': {'add': [{'PeerIP': None, 'sysName': 'HTT003_SDN_SP_01', 'sysdesc': 'h3c', 'Loopback1IP': '0.0.0.0', 'mac': '7057-bff7-ee00', 'PeerIntf': 'FortyGigE1/3/0/6', 'role': 'computer', 'LoopbackIP': '12.99.254.254'}], 'del': [], 'mod': []}}

 

后续在96日再尝试上线一台leaf S5560X-EI,故障现象一样:

interface Ten-GigabitEthernet5/0/49

port link-mode bridge

port link-type trunk

port trunk permit vlan 1

lldp compliance admin-status cdp txrx

vtep access port

#

interface Ten-GigabitEthernet1/0/49

port link-mode bridge

过程分析

根据反馈的fabric.log日志,发现leaf侧对spine1的角色识别始终是错误的,但是对于spine2的识别就是正确的,因此初步怀疑是spine1的相关进程出现了异常,未能委托lldp帮忙发送相关信息,peerIProle始终为无效值可以进一步佐证:

2011-01-01 08:03:35,923 topo.py[line:87] DEBUG [topology]--Notified--topology change {'FortyGigE1/0/49': {'add': [{'PeerIP': None, 'sysName': 'HTT003_SDN_SP_01', 'sysdesc': 'h3c', 'Loopback1IP': '0.0.0.0', 'mac': '7057-bff7-ee00', 'PeerIntf': 'FortyGigE1/3/0/6', 'role': 'computer', 'LoopbackIP': '12.99.254.254'}], 'del': [], 'mod': []}}

通过现场抓包,对比Spineleaf的发包,进一步证实了Spine1设备无法委托lldp发送tlv信息:

故障spine1的抓包(无code 200tlv字段):


正常leaf的抓包(包含code 200tlv字段):


进一步远程登录设备确认设备进程状态,发现是lldp13槽位进程在之前打补丁的时候重启过,存在低概率的先后时序问题,导致vcf不感知,接口的代理注册信息丢失,没有办法能获取到了,从而导致委托发送携带信息失败。

 

整个问题逻辑如下:

设备角色的识别功能是基于VCF委托LLDP报文发送的时候在TLV字段携带角色信息,这个委托发送功能的实现是基于VCF要到LLDP进程注册。

H37补丁时会涉及所有板的lldp进程重启:

1Vcf在主控委托lldp代理,当lldp进程重启后,感知主控lldp本地lipc服务端口downup,会重新下发注册。

2LLDP收到委托代理后,会在lib侧将该消息发送到接口所在板。

3、委托lldp发送额外字段打印,无错误打印代表委托成功。委托过程调用的是lldp的接口,此时接口板lldp进程还未重启,注册成功了。

2022-08-17 20:13:53,444 topo_collect.py[line:778] DEBUG lldp_commit FortyGigE1/3/0/6

4再此之后,lldp13进程重启,此时vcf不感知,接口的代理注册信息丢失,没有办法能获取到了,从而导致委托发送携带信息失败。

 

进一步在实验室模拟复现,低概率复现了该问题。只有打补丁过程中符合了上面进程重启的时序才会复现问题。


综上,Spine设备在打H37补丁时,存在低概率时序问题,业务板的lldp进程重启晚于主控板,因此业务板VCF委托LLDP报文失败,无法携带TLV字段携带角色信息,导致上行口识别错误,现场通过重启LLDP进程已恢复,后续计划发布R2713H3701补丁解决。

解决方法

现场通过重启LLDP进程已恢复,后续计划发布R2713H3701补丁解决。

CRM论坛(CRMbbs.com)——一个让用户更懂CRM的垂直性行业内容平台,CRM论坛致力于互联网、客户管理、销售管理、SCRM私域流量内容输出5年。 如果您有好的内容,欢迎向我们投稿,共建CRM多元化生态体系,创建CRM客户管理一体化生态解决方案。本文来源:知了社区基于知识共享署名-相同方式共享3.0中国大陆许可协议,某局点S12500F 下挂leaf自动化上线上行口被识别为下行口问题