$TC filter add dev imq0 parent 1:0 prio 5 protocol ip u32
$TC filter add dev imq0 parent 1:0 prio 5 handle 2: protocol ip u32
divisor 256
for ((j=0; j<=7; j++))
do
for ((i=0; i<=255; i++))
do
q=`printf "%x\n" $i`
$TC filter add dev imq0 protocol ip parent 1:0 u32 ht 2:$q: match ip
src 10.0.$j.$i flowid 1:10
echo "$q 10.0.${j}.$i"
done
done
$TC filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match
ip src 10.0.0.0/16 hashkey mask 0x000000ff at 12 link 2:
echo "Another filter"
$TC filter add dev imq0 protocol ip parent 1:0 prio 4 u32 match ip src
10.0.0.1 flowid 1:10
# (1:10 is the example, in reality this filters will send packets to
different classes)
This short script create filters. This script can create only about 1789
filters. After that we have this:
(...)
f9 10.0.7.249
fa 10.0.7.250
fb 10.0.7.251
fc 10.0.7.252
fd 10.0.7.253
RTNETLINK answers: File exists
We have an error talking to the kernel
fe 10.0.7.254
RTNETLINK answers: File exists
We have an error talking to the kernel
ff 10.0.7.255
RTNETLINK answers: File exists
We have an error talking to the kernel
Another filter
RTNETLINK answers: File exists
We have an error talking to the kernel
amidala:~#
After this I can't create any more filters on this device. What should I
do when I have 10 subnets or more? I want to create more filters. Who
knows how?
Below this text we have next example... creating filters well, but it's
too slow!
for ((j=0; j<=10; j++))
do
for ((i=0; i<=255; i++))
do
$TC filter add dev imq0 protocol ip parent 1:0 prio 4 u32 match
ip src 10.0.$j.$i flowid 1:10
echo "10.0.$j.$i"
done
done
I need more powerful solution. Need some help... Any suggestions?
--
Konrad
_______________________________________________
LARTC mailing list
[email protected]
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc