$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