[LiSA-Devel] BPDU forwarding & status update

Faur Andrei da3drus at gmail.com
Thu Jul 9 21:44:16 EEST 2009


Salut,

Am testat protocolul pe o bucla formata din LiSA,
sw2 si sw3. Dupa pornirea daemonului de RSTP,
celelalte doua switchuri isi trec porturile in forwarding,
in timp ce LiSA asigneaza unui port rolul de Root
Port (in forwarding), si pe celalalt il face Alternate Port
(in blocking). Deci toate OK.

Intrebarea mea are legatura cu ceea ce se petrece
_inainte_ de a porni daemonul de RSTP.

In mod normal, cele doua switchuri ar trebui sa aiba
toate porturile pe forwarding deoarece LiSA _nu_ ar
trebui sa faca forwarding la BPDU-urile primite pe un
port pe celalalt port, dat fiind ca eu fac interceptarea
in kernel si le scot din procesul normal de forwardare.

Insa chiar acest lucru se intampla, unul din switchuri
detectand o bucla din cauza ca  BPDU-ul de la celalalt
switch ajunge pe ambele porturi. Aparent, acest lucru
nu influenteaza functionarea ulterioara a protocolului,
deoarece dupa pornirea daemonului lucrurile merg
normal. Chiar si asa, nu ar trebui ca fara daemon,
BPDU-urile sa fie trimise in userspace si acolo sa se
piarda? (Acesta este lucrul care se intampla cand
modulul LiSA nu este inserat, cele doua switchuri isi
trec toate porturile in forwarding).

In legatura cu statusul curent al implementarii, el
functioneaza in sensul ca fiecare port ajunge in rolul
in care trebuie. O data ajuns in rolul respectiv, acestea
ar trebui sa faca enable/disable pe learning si forwarding.
Adica efectiv sa blocheze porturile si sa interactioneze
cu tabela de comutare. Momentan, rutinele care ar trebui
sa faca acest lucru nu sunt implementate. Protocolul
functioneaza chiar si asa deoarece singurul trafic din retea
este trafic STP, si BPDU-urile nu sunt transmise pe porturi
avand rolul Alternate sau Backup.

Deocamdata vreau sa mai rulez protocolul in aceasta
situatie, pentru a avea un scenariu de test stabil pe care
sa il pot prezenta luni. Un short TODO list cu ce ar mai fi
de facut ar contine:
- implementare enable/disable learning/forwarding
- adaugare entry-uri in CLI pentru controlul parametrilor
- suport pentru edge ports
Cam astea sunt punctele majore la care trebuie lucrat,
dupa aceea urmeaza polishing.

Am testat protocolul si cu sw1 (singurul care stie RSTP),
si a mers in sensul ca am reusit sa il conving ca LiSA e
root bridge, si toate porturile au trecut in rolul/starea
corecta. Se poate creea o bucla cu sw1 prin activarea
celei de-a doua legaturi cu acesta, insa nu ma pricep
la configurarea switchurilor incat sa fac asta (pentru
crearea buclei LiSA-sw2-sw3 am avut outside help).

Request : daca aveti timp, zilele astea sa configurati
sw1, cu rstp enabled, cele doua legaturi catre LiSA sa
fie active si in acelasi VLAN, as fi recunoscator. Also,
am dat jos cu interfata de management, astfel incat
sw1 nu mai e accesibil prin telnet.

Pe viitor ar trebui facut rost de switchuri cu suport pt
RSTP (sau poate merge schimbata imaginea de IOS
pe sw2 si sw3, nu stiu sigur), astfel incat sa testez si
partea de RSTP. Bucla descrisa mai sus este rezolvata
de STP, deoarece RSTP face fallback la acesta la
detectarea unui TCN BPDU sau CONF BPDU.

In concluzie, implementarea este inca in early stages,
insa functionalitatea este acolo.

Andrei


More information about the LiSA-Devel mailing list