brctl showstp 显示载波关闭端口为阻塞状态

问题

brctl showstp 显示 管理性启动/载波关闭 端口为阻塞

cumulus@switch$ sudo brctl show bridge
bridge  name bridge id     STP enabled  interfaces
bridge  8000.c45444bcfc8a  yes          swp1

cumulus@switch$ ip l sh swp1
28: swp1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master bridge state DOWN mode DEFAULT qlen 500 
link/ether c4:54:44:bc:fc:8a brd ff:ff:ff:ff:ff:ff
 cumulus@switch$ sudo brctl showstp bridge
 ...
 swp1 (1)
 port id 8001 state blocking
 ...

环境

  • Cumulus Linux,所有版本

解决方法

使用 mstpctl showportdetail BRIDGE PORT,它更准确地反映端口状态为禁用/丢弃

cumulus@switch$ sudo mstpctl showportdetail bridge swp1
 bridge:swp1 
 CIST info enabled no role Disabled
 port id 8.001 state discarding
 ...