Použil jsem IPSET,který pošle packet přímo do příslušné CLASSID v shaperu.O proti iptables (podle testů na stole) nárůst výkonu 20-25%.
rychle shapovani se pomoci TC dela pres hash table .... Netreba znackovat packety apod
Mohl by jsi mě trošku "nakopnout" správným směrem?
btw jsem na to znackovani ipsetem a nevypada to marne. Problem je, ze RH like distra v ipsetu nic takoveho nemaji (alespon man ipset to nepopisuje)..
K hash tabulkam se da neco malo najit na WWW ale dopatrat se srozumitelnych iNformaci na jednom miste je trosku problem. NeJLEPSI POPIS JE ASI TADY:
http://linux-tc-notes.sourceforge.net/t ... ls_u32.txt - Hledat kapitolu 'Hashing'
Nejaky example tady:
http://www.tldp.org/HOWTO/Adv-Routing-H ... shing.html
Ja napriklad mam 2 urovne hash tabulek. Nejprve skacu z defaultni hash tabuly 800 pomoci hodnoty 3tiho bytu adresy do jedne z 255 tabulek, kde jsou pak v kazde bunce jiz filtry na konkretni adresu (rozliseni stavu, kdy IP adresy maji posledni 2 byty stejne)
pro jeden smer:
...
filter add dev eth0 parent 1 prio 100 handle 10: protocol ip u32 divisor 256
...
filter add dev eth0 protocol ip parent 1 prio 100 u32 ht 800:: match ip src 213.19.0.0/17 hashkey mask 0x0000ff00 at 12 link 10:
filter add dev eth0 protocol ip parent 1 prio 100 u32 ht 800:: match ip src 213.250.192.0/18 hashkey mask 0x0000ff00 at 12 link 10:
...
filter add dev eth0 parent 1 prio 100 handle 100: protocol ip u32 divisor 256
filter add dev eth0 protocol ip parent 1 prio 100 u32 ht 10: match ip src 0.0.0.0/0 hashkey mask 0x000000ff at 12 link 100:
filter add dev eth0 parent 1 prio 100 handle 101: protocol ip u32 divisor 256
filter add dev eth0 protocol ip parent 1 prio 100 u32 ht 10: match ip src 0.0.0.0/0 hashkey mask 0x000000ff at 12 link 101:
...
filter add dev eth0 parent 1 prio 100 handle 1ff: protocol ip u32 divisor 256
filter add dev eth0 protocol ip parent 1 prio 100 u32 ht 10: match ip src 0.0.0.0/0 hashkey mask 0x000000ff at 12 link 1ff:
# vlastni zakaznik:
# 39 = 0x27 (hexa) => has tabulka ma id 100+27=127
# 219 = 0xdb (index do hash tabulky v hexa)
class add dev eth0 parent 1 classid 1 htb rate 2040kbit ceil 8620kbit prio 5
filter add dev eth0 protocol ip parent 1 prio 100 u32 ht 127: match ip src 213.19.39.219 flowid 1