[OT] skrypt htb, prosze o opinie
wozny
wozny99 w poczta.onet.pl
Wto, 14 Wrz 2004, 01:06:33 CEST
Witam
Bardzo bym prosil o opinie czy ponizszy skrypt bedzie dzialal zgodnie
z moimi zalozeniami.
ogolnie chcialbym by kazdy user mial taki sam transfer niezaleznie czy
przechodzi przez kolejke prio1 czy prio2. Natomiast dla pojedynczego
user'a pakiety inne niz p2p przechodzily szybciej
glowna kolejka (htb)
/\
/ \
/ \
local net (htb)
/\
/ \
(htb)user1 \
user2(htb)
/ \
/ \
(sfq)prio1 \
prio2(sfq)
kolejki dla user1 user2 ... wygladaja tak samo nie rysowalem z
oszczednosci miejsca :)
czy dobrze napisalem qdisc dla innych kolejek niz glowna?
czy filtr dla prio2 jest dobrze? w zalozeniu ma isc nim p2p
czy jesli user1 ciagnie kolejka z prio1 to zabierze transfer user2
ktory ciagnie kolejka prio2? czy podziela sie po rowno?
#!/bin/bash
localdev=eth1
localip=192.168.
#w kilobit
localspeed=99000
netspeed=2000
loc=$[$localspeed-$netspeed]
net=$[$netspeed-10]
ile=`/bin/cat baza | wc -l`
jeden=$[$net/$ile]
wip=`/bin/cat baza | /bin/awk {'print $1'} | /bin/sort`
net=256
/bin/echo "RESTARTUJE HTB"
tc qdisc del root dev $localdev
tc qdisc add dev $localdev root handle 1:0 htb r2q 1
tc class add dev $localdev parent 1:0 classid 1:1 htb rate \
${localspeed}kbit ceil ${localspeed}kbit mtu 1500 quantum 1600
# podzial calego pasma
tc class add dev $localdev parent 1:1 classid 1:2 htb rate \
${netspeed}kbit ceil ${netspeed}kbit mtu 1500
# nie jestem pewien czy dobrze
tc qdisc add dev $localdev parent 1:12 handle 2:0 htb
tc class add dev $localdev parent 1:1 classid 1:3 htb rate \
${loc}kbit ceil ${loc}kbit mtu 1500 quantum 1600
tc filter add dev $localdev protocol ip parent 1:0 u32 match ip \
protocol 1 0xff flowid 1:3
#klasy dla kazdego ip
i=5;
for ip in $wip
do
tc class add dev $localdev parent 1:2 classid 1:$i htb rate \
${jeden}kbit ceil ${net}kbit mtu 1500 quantum 1600
tc qdisc add dev $localdev parent 1:$i handle $i:0 htb
j=$i
i=$[$i+1]
rate=$[$jeden/2]
rate=$[$rate-1]
tc class add dev $localdev parent 1:$j classid 1:$i htb rate \
${rate}kbit ceil ${net}kbit mtu 1500 quantum 1600 prio 2
tc filter add dev $localdev protocol ip preference 2 parent 1:0 \
handle 0x1 fw u32 match ip dst $ip
flowid 1:$i
tc qdisc add dev $localdev parent 1:$i handle $i:0 sfq perturb 10
i=$[$i+1]
tc class add dev $localdev parent 1:$j classid 1:$i htb rate \
${rate}kbit ceil ${net}kbit mtu 1500 quantum 1600 prio 1
tc filter add dev $localdev protocol ip preference 2 parent 1:0 \
u32 match ip dst $ip flowid 1:$i
tc qdisc add dev $localdev parent 1:$i handle $i:0 pfifo
i=$[$i+1]
done
--
Pozdrowienia,
Łukasz Woźniak mailto:wozny99 w poczta.onet.pl
Więcej informacji o liście dyskusyjnej pld-users-pl