首页 科技问答 董智敏,某局点S12508F-AF 交换机直连不通问题

董智敏,某局点S12508F-AF 交换机直连不通问题

科技问答 254
1676540295,

组网及说明

S12508F-AF和上行路由器互联 

问题描述

故障时现场在S12508F-AF上ping上行路由器直连地址不通

过程分析

1、远程上去查看,发现S125F与上行路由器的互联接口H5/0/34口底层被STP异常block了。

 

====debug port mapping chassis 1 slot 5==== 

 

[Interface]       [Unit] [Port] [Name] [Combo?] [Active?] [IfIndex] [MID] [Link]

=========================================================================

 

 HGE5/0/34        3       17    ce17    no        no      0x55b     55    up

 

====bcm slot 3 chip 3 ps==== 

                 ena/    speed/ link auto    STP                  lrn  inter   max  loop

           port  link    duplex scan neg?   state   pause  discrd ops   face frame  back

       ce1(  1)  up    100G  FD   SW  No   Forward          None    F  CAC2C 12284    

       ce5(  5)  up    100G  FD   SW  No   Forward          None   FA  CAC2C 12284    

       ce9(  9)  !ena  100G  FD   SW  No     Block          None   FA  CAC2C 12284    

      ce13( 13)  !ena  100G  FD   SW  No     Block          None   FA  CAC2C 12284    

      ce17( 17)  up    100G  FD   SW  No      Block          None   FA  CAC2C 12284    

 

2、后续经过研发内部复现分析,确定该问题是一个软件问题,简单来说就是聚合线程和stp线程下发block的时序存在问题,具体原因如下:

1)聚合使能stp,聚合成员有选中变化,导致聚合成员有block或者unblock的操作,stplag线程均会操作端口的block状态;

2)一般来讲,stp unblocktrunk unblock的操作是trunk在前,stp在后,trunk线程在调用完函数DRV_STP_TrunkSetPortUnBlock设置端口的unblock状态后,中间又执行了函数后DRV_TRUNK_Port_Block_Set_Ext才对端口的block状态进行了记录,而stp线程刚好在调用DRV_STG_SetPortState设置端口unblock时,由于trunk对端口的block状态刚好还未记录上,导致stp线程认为端口是block的,因此并未执行unblock的操作;

3stptrunk的执行顺序是trunk blocktrunk unblockstp blockstp unblock,其实就是stp unblock在执行时,trunk unblock的状态还未记上,从而导致stp unblock漏设了unblock的状态

解决方法

次故障主要是当前软件版本对聚合线程和stp线程下发block的时序存在问题,目前已经出R2820H01补丁解决了,建议升级到R2820H01补丁解决。

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