Limited quantity of filters.

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



$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
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux