Linux bridge + vlan + stp működik?

 ( PunishR | 2013. január 4., péntek - 12:30 )

Adott egy gép, két darab eth porttal (eth0/1), ezen portok két darab switchbe vannak dugva amelyek trunk modban vannak.
Ezzel nincs is gond, létrehozom portonként a jelen esetben 2 darab vlan interfészt (eth0/1.X/Y) és utána beteszem őket egy-egy bridgebe (br1/2).

Tekintettel arra, hogy így kialakul egy szép kis hurok szükség lenne STP-re, de bridge+vlan párosnál az STP nem működik (egy 2006-os levlistás "leírás" szerint akkor még nem támogatta a linux br ezt).

Valamit elrontok vagy azóta sem megoldott ez a kérdés?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Maga az stp mukodik, de csak az alap, ha pl cisco switched van amin pvst a default azt nem fogja jol kezelni, mert linux bridge nem tudja kulon instance-onkent kezelni az stp-t, mstp-re allitva cisco-val is mukodhet.

--
Don't Panic if you see me laughing,
that's not a bug, just a feature.

hmm. nekem az a tippem, hogy a linuxot ez a dolog nem érdekli. neki interfész, interfész.

a probléma inkább a switch oldalon lesz, hogy a "basic" switchek csak a default vlan (avagy 1 -adott- vlan-ra) hajlandók spanning tree-t értelmezni.

Cisco nem basic switchek és külön kezelik az STP-t (PVST).

PVST az alap igen, access port esetén működik is szépen, brctl showstp brX -re látja a root id-t stb. így csak magát látja (és hiszi root-nak).

Hirtelenjeben nem tudom defaultban milyen ertekekkel dolgozik, de bridge priority-t fel lehet emelni hogy ne akarjon root lenni: bridge_bridgeprio es bridge_portprio.
De mint mondtam pvst (es trunk port) eseten nem fog jol mukodni (latszolag mukodhet, de nagyon el tud hasalni), mert linux 1 stp instance-kent probalja kezelni cisco meg per vlan, mstp-t tudsz hasznalni, hogy portra kiadott vlan-okat 1 instance-ba rakod.

Illetve nem annyira szep, de mukodik ugy is ha forditva csinalod, azaz bridge-be teszed a fizikai portokat es arra huzod fel a vlan-okat (de ettol meg elozo limitaciok ervenyesek ugyanugy)
--
Don't Panic if you see me laughing,
that's not a bug, just a feature.

Többféle módon lehet stp-t csinálni.

A linux az alapverziót tudja: nem vesz tudomást a vlan-okról, hanem globálisan csinál stp-t, ami az adott interfész összes vlan-ját egyben kezeli. Ezt sok switch tudja, de ha nem minden trunkön van minden vlan, akkor ez nem biztos, hogy jó eredményre vezet.

Van a cisconak proprietary megoldása, hogy minden vlan-ra külön stp-t futtat (arra már nem emlékszem, hogy ezt vlan taggelve, vagy a protokollt kibővítve csinálták-e meg), viszont ez csak a standard cisco termékekkel lesz interoperábilis (még a cisco által felvásárolt cégek termékeibe sem került bele sokszor), plusz sok vlan-nál nagy lehet a forgalom.

Aztán van az ieee szabványos mstp, ami egyrészt szabvány, másrészt konfigurálható, hogy mely vlan-okra legyen közös stp, így sok vlan-nál sem lesz irreálisan nagy a forgalom. Ezt persze a linux emlékeim szerint nem tudja.