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/


Raspunde prin e-mail lui