Hi everybody sorry for my poor
english.
My script doesn't work very well
I want to share bandwidth between 3 subnet (64k,
128k, 256k)
if i put the flag bounded on the class root that's
doesn't work bandwidth is not limited
if i put the flag bounded on each class, all the
subnet is limited by each rule:
subnet 64 can't use more than a total of 64k
as it was 1 single user
...
so i don't know how to share 64k by user on subnet
64, 128k by user on subnet 128, 256k by user on subnet 254.
What's wrong with my script?
thx a lot.
Michael
tc qdisc add dev eth0 root handle 1: cbq bandwidth
100Mbit avpkt 1000 cell 8 mpu 64
tc class add dev eth0 parent 1:0 classid 1:1 cbq
bandwidth 100Mbit \
rate 100Mbit prio 1 allot 1514 weight 10Mbit cell 8
maxburst 20 avpkt 1000
tc class add dev eth0 parent 1:1 classid 1:2 cbq
bandwidth 100Mbit \
rate 4Mbit prio 1 allot 1514 weight 400kbit cell 8
maxburst 20 avpkt 1000 bounded
tc class add dev eth0 parent 1:2 classid 1:11 cbq
bandwidth 100Mbit \
rate 64kbit prio 1 allot 1514 weight 6kbit cell 8
maxburst 20 \
avpkt 1000
tc class add dev eth0 parent 1:2 classid 1:12 cbq
bandwidth 100Mbit \
rate 128kbit prio 1 allot 1514 weight 13kbit cell 8
maxburst 20 \
avpkt 1000
tc class add dev eth0 parent 1:2 classid 1:13 cbq
bandwidth 100Mbit \
rate 256kbit prio 1 allot 1514 weight 26kbit
cell 8 maxburst 20 \
avpkt 1000
tc filter add dev eth0 parent 1:0 prio 1 protocol
ip u32
tc filter add dev eth0 parent 1:0 prio 1 handle 2: u32 divisor
256
j=0;
while [ $j -le 255 ]; do
hex=`echo "obase=16; $j"
|bc`
echo $hex;
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32
ht 2:$hex: \
match ip src 172.16.64.$j flowid 1:11
tc filter add dev eth0
protocol ip parent 1:0 prio 1 u32 ht 2:$hex: \
match ip src 172.16.128.$j
flowid 1:12
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 ht
2:$hex: \
match ip src 172.16.254.$j flowid 1:13
j=$((j+1))
done
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 ht 800::
\
match ip src 172.16.0.0/16 \
hashkey mask 0x000000ff at 12 \
link
2: