Mersi de idee ! BTW ai folosit sau stii ceva de Bandwidht Arbitrator ?
--- Mihai RUSU <[EMAIL PROTECTED]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Thu, 4 Dec 2003, Cristian Sava wrote: > > > Salutare la toata lumea ! > Hi > > > Ideea este ca ce am creat eu in perl este greoi pentru ca nu > > reconfigureaza numai setarile unui anumit client/clienti ci reporneste > > setarile pentru toti clientii, si astfel la un nr. mare de clienti > > dureaza prea mult repornirea la cele x minute. Programul este relativ > > inteligent si cu multi parametri de configurare utili dar nu este > > fezabil pentru mai mult de 100-200 clienti. > > Exista cel putin o solutie pt asta (daca problema principala din cate am > inteles eu este ca in timpul cat dureaza reinitializarea garantarilor > clientii raman fara garantari si ai un burst de trafic pt cei cu garantari > mici si packet loss pt cei cu banda mare). Una din solutii (pur userland) > este sa folosesti 2 tree-uri htb. Creezi un htb in root, apoi 2 clase, > ambele poti sa le pui de capacitate maxima 100mbit, apoi asocieti un qdisc > htb la fiecare din aceste clase si apoi iti construiesti tree-ul tau de > clase care inainte il puneai pe root, acum il pui pe unul din aceste 2 > qdisc-uri. Cand faci reinitializarea garantarilor, te apuci si > construiesti tree-ul nou in qdisc-ul nefolosit curent si dupa ce termini > faci switch de la un tree la celalalt modificand (cu tc filter change) > filtrul de la baza care inainte trimintea spre celalalt tree. > > Da, am uitat sa zic , pe langa cele 2 tree-uri trebuie sa ai un filtru pus > pe root care sa trimita catre unul din tree-uri, apoi celelalte filtre > care fac clasificarea efectiva se pun asociate qdisc-ului respectiv. > > Un exemplu: > > /sbin/tc qdisc del dev eth0 root > > > /sbin/tc qdisc add dev eth0 root handle a0: htb default 100 > /sbin/tc class add dev eth0 parent a0: classid a0:a01 htb rate 100Mbit > > # clasa default aici teoretic nu ar trebui sa se clasifice nimic > /sbin/tc class add dev eth0 parent a0:a01 classid a0:100 htb rate 16kbps > > /sbin/tc class add dev eth0 parent a0:a01 classid a0:a10 htb rate 100Mbit > /sbin/tc class add dev eth0 parent a0:a01 classid a0:a20 htb rate 100Mbit > > # filtrul de baza, initial trimite catre primul tree si anume a0:a10 > /sbin/tc filter add dev eth0 parent a0: pref 1000 protocol ip handle 800::900 u32 > match ip dst > 0/0 flowid a0:a10 > > > Apoi pe fiecare din a0:a10 si a0:a20 pui cate un qdisc htb, pui clase > acolo avand parent acel qdisc si filtre avand parent acel qdisc > > Sper ca te-ai prins :) > > BUGS: imediat dupa ce faci switch-ul cu tc change pe filtrul default de la > un tree la celalalt vezi ca clientii vor prinde un mic burst deoarece > statisticile de burst ale lor sunt in tree-ul vechi, in cel nou au 0 si > deci prind putin viteza dar fata de problema ta dinainte asta e complet > neglijabila > > atentie ca dupa ce faci tc change sa astepti niste secunde inainte sa > stergi qdisc-ul de pe tree-ul vechi (asta daca il stergi) ca sa se > "curete"" packetele din cozile din tree-ul vechi si nu sa le distrugi (ai > avea packet loss altfel). > > PS: alta solutie ar fi kernel level > > - -- > Mihai RUSU Email: [EMAIL PROTECTED] > GPG : http://dizzy.roedu.net/dizzy-gpg.txt WWW: http://dizzy.roedu.net > "Linux is obsolete" -- AST > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.3 (GNU/Linux) > > iD8DBQE/zxFMPZzOzrZY/1QRAo7xAKCpRM9ICUomDAXUjaryPEaWKs6BuACg3AXm > m7mtkQBrLyxKMOvairtdnXI= > =xMPN > -----END PGP SIGNATURE----- > > --- > Detalii despre listele noastre de mail: http://www.lug.ro/ > > __________________________________ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ --- Detalii despre listele noastre de mail: http://www.lug.ro/
