cbq sdilena linka

David Trcka trcka na poda.cz
Pondělí Březen 18 12:59:28 CET 2002


Zdravim,

mam zajimavy problem. Nekolika uzivatelum davam dohromady 200kbit, pricemz 
jejich jednotlive rychlosti chci omezit na max. 64kbit. Nastaveni je:

# 'balast' na konec
blabla="prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded"

# root cbq
/sbin/tc qdisc add dev eth1 root handle 1 \
  cbq bandwidth 100Mbit avpkt 1000 cell 8
/sbin/tc class change dev eth1 root cbq weight 10Mbit allot 1514

# kanal 200kbit tbf
/sbin/tc class add dev eth1 parent 1: classid 1:1001 \
  cbq bandwidth 100Mbit rate 200Kbit weight 20Kbit $blabla
/sbin/tc qdisc add dev eth1 parent 1:1001 handle 1001 \
  tbf rate 200Kbit buffer 10Kb/8 limit 15Kb mtu 1500

# uziv. 1 sfq
/sbin/tc class add dev eth1 parent 1:1001 classid 1:5001 \
  cbq bandwidth 100Mbit rate 64Kbit weight 6Kbit $blabla
/sbin/tc qdisc add dev eth1 parent 1:5001 handle 5001 sfq

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 \
  match ip dst 1.2.3.0/24 flowid 1:5001
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 \
  match ip dst 4.5.6.0/24 flowid 1:5001

# uziv. 2 sfq
/sbin/tc class add dev eth1 parent 1:1001 classid 1:5002 \
  cbq bandwidth 100Mbit rate 64Kbit weight 6Kbit $blabla
/sbin/tc qdisc add dev eth1 parent 1:5002 handle 5002 sfq

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 \
  match ip dst 7.8.9.0/24 flowid 1:5002

... atd asi pro 8 uzivatelu. Funguje to ale pouze castecne, tzn. jejich 
trida je spravne brzdi na 64k, ale kdyz se jejich provoz nakumuluje v 
jednom okamziku, neni brzden nadrazenou tridou na 200k ale jede na maximum 
(tzn. soucet vsech jejich provozu). Nekde mam neco spatne, nebo to proste 
nefunguje? (jadro 2.2.20)

Dekuji

-- David Trcka



Další informace o konferenci Linux