Добрался таки до тестов.
Протестил коммутаторы des3200 ревизии A и C. на прошивках 1.83.B005 и 4.35.B016
config stp loop_guard ports all state disable на обоих работает исправно, т.е. перезагружать коммутатор после выключения финкции на портах не требуется.
loop_guard на обоих моделях коммутаторов ведет себя одинаково, срабатывает только в том случае, если один из портов выступает в роли STP ROOT и его линк скачет, а на другом порту(портах) со включеным STP, BRIDGE ID имеет значение приоритетнее, чем у тестируемого свича.
Опять же таки привожу пример, из логов:
Код:
102 2013-08-19 21:53:59 NOTI(5) Topology changed (Instance:0, Port:25,MAC:90-9
4-E4-3F-E3-90)
101 2013-08-19 21:53:57 INFO(6) Loop protection blocking port 26 on instance 0
100 2013-08-19 21:53:57 NOTI(5) Topology changed (Instance:0, Port:25,MAC:90-9
4-E4-3F-E3-90)
99 2013-08-19 21:53:57 NOTI(5) Topology changed (Instance:0, Port:25,MAC:28-1
0-7B-D3-A5-40)
98 2013-08-19 21:53:57 NOTI(5) Spanning Tree port status changed (Instance:0,
Port:25) Learning->Forwarding
97 2013-08-19 21:53:57 NOTI(5) Spanning Tree port status changed (Instance:0,
Port:25) Discarding->Learning
96 2013-08-19 21:53:57 NOTI(5) Spanning Tree port status changed (Instance:0,
Port:26) Forwarding->Discarding
95 2013-08-19 21:53:57 INFO(6) Spanning Tree port role changed (Instance:0,
Port:26) RootPort->DesignatedPort
94 2013-08-19 21:53:57 INFO(6) Spanning Tree port role changed (Instance:0,
Port:25) DesignatedPort->RootPort
93 2013-08-19 21:53:57 NOTI(5) New root port selected (Instance:0, Port:25)
92 2013-08-19 21:53:57 INFO(6) New Root bridge selected (MAC:90-94-E4-3F-E3-9
0, Priority:4096)
91 2013-08-19 21:53:57 INFO(6) Spanning Tree port role changed (Instance:0,
Port:25) DisabledPort->DesignatedPort
90 2013-08-19 21:53:57 INFO(6) Port 25 link up, 1000Mbps FULL duplex
89 2013-08-19 21:53:51 INFO(6) admin: execute command "config ports 25 state
enable".
88 2013-08-19 21:53:29 INFO(6) Spanning Tree port role changed (Instance:0,
Port:26) DesignatedPort->RootPort
87 2013-08-19 21:53:29 NOTI(5) New root port selected (Instance:0, Port:26)
86 2013-08-19 21:53:29 INFO(6) New Root bridge selected (MAC:34-08-04-3E-8A-D
0, Priority:8192)
85 2013-08-19 21:53:27 INFO(6) New Root bridge selected (MAC:28-10-7B-D3-A5-4
0, Priority:32768)
84 2013-08-19 21:53:27 INFO(6) Port 25 link down
83 2013-08-19 21:53:27 INFO(6) admin: execute command "config ports 25 state
disable".
На тестируемом свиче STP priority 32768
- Изначально STP рутом является 25-й порт с priority 4096.
- Затем я даю команду выключить 25-й порт.
- Выбирается рутом 26-й порт с priority 8192.
- Затем я даю команду включить 25-й порт.
- Выбирается рутом вновь 25-й порт с priority 4096
- Порт 26 переходит из Forwarding в Discarding, и зависает в таком состоянии, пока не будет выключен/включен.
В ваших экспериментах тест скорее всего неудался по причине того, что BRIDGE ID нижестоящего коммутатора был менее приоритетным, нежели тот, на котором непосредственно тестировали функцию loop_guard.
Возможно в таком поведении есть какая-то логика, но поскольку свичи включены не в кольцо, то и функция вроде как не должна срабатывать. А раз уж так есть, то логично было бы вернуть порт через какое-то время из Discarding в Learning..
В своей сети я решил проблему выключением loop_guard т.к. маловероятно что для нас эта функция будет полезна, поэтому судьбу темы решайте сами
