Zdravim, chtel bych se zeptat, jestli nevi nekdo jak presne funguje u tc filteru prio, pokud si dam ze ICMP ma mit prio 5 a nebo prio 1, tak stejne kdyz stahuju z http nebo sshackuju se odezvy zvednou. Tady mam ukazku jak to delam. Mam to jen jako testovaci script...
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1:0 htb default 13
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 64kbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 16kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 16kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 8kbit ceil 16kbit
tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip sport 22 0xffff flowid 1:11
tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip sport 80 0xffff flowid 1:11
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:11
V prvním případě pokud je celková kapacita třeba 1024 kbps a oba chtějí sosat "co to dá", tak volná kapacita nad součet jejich rates, tzn. 1024-368=640 kbps, se mezi ně rozdělí v poměru jejich hodnot rate - tzn. 640/3 je cca 213 kbps, tzn. ten první bude sosat rychlostí 128+213 = 341 kbps, druhý dostate 256+2*213 = 682 kbps (jestli dobře sčítám a násobím takhle z hlavy :-)
V druhém případě (pokud je celková kapacita opět 1024 kbps) by teoreticky měl první dostat 1024-256 kbps, tzn. 768 kbps, a druhý svých 256 kbps. Ovšem až ten první přestane sosat, dostane ten druhý opět celých 1024 kbps pro sebe.
Ano, až takhle geniální nápad měl autor HTB - klobouk dolů. Tomuhle fakt říkám "mechanismus všeobecně přijatelné mimopeněžní alokace vzácných zdrojů"...
Jak tedy vidíte, HTB nabízí daleko elegantnější možnosti, než "dávat každému to, co si platí" - resp. elegantnější možnosti JAK dávat každému to, co si platí, protože ti co se chovají slušně (tzn. neporušují FUP) to mohou dostat s téměř 100% pravděpodobností (ve skutečnosti s větší pravděpodobností než u HTB rate - pokud se ta linka "ucpe", tzn. vyčerpá se její celková kapacita).
Snižování HTB prio při překročení FUP mě přijde jako prakticky nejspravedlivější způsob rozdělení volné kapacity iGW, který lze vymyslet (ať už v tržním, nebo v neziskovém prostředí).
prio u classu chapu, ale prave porad me nejak nejde do hlavy prio u filteru, tak kdyby nekdo mohl hodit nejakou primitivni ukazku na ktere by se to dalo pochopit, protoze vzdycky pisu filtr jen jeden, ktery vyhovi, proto zatim nechsapu na co prio u nej :/