[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