On Tuesday 26 March 2002 20:05, Omar Armas wrote:> I''m using tc to control traffic to some networks. In this case, I
have 2
> different classes going through eth2 (in a rh 7.2box).
> The point is that I want that all traffic to the classes 200.39.174.0/24
> and 200.39.187.0/24(the sum between them) be limited to 256.
>
> How can I tell "tc" to limit 2 classes to the same flowid?
>
> Right now I''m using:
>
> tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip dst
> 200.39.174.0/24 flowid 10:256
> tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip dst
> 200.39.187.0/24 flowid 10:256
>
> But these leaves 256 to each network, and I want 256 to the sum of them.
> Any idea?
I asume you want each network to use 50% of the bandwith (but they may borrow
from each other)? The only thing you have to do is to create 2 new classes
with parent 10:256 , rate = 128 and with no bounded parameter. Point the 2
filters to the 2 new classes and you''r done.
And of course, you remove the sfq qdisc from 10:256 and add 2 sfq qdiscs to
the 2 new classes.
Stef
> [root@diablo bin]# more bandwidth.sh
> #!/bin/bash
> tc qdisc add dev eth0 root handle 10: cbq bandwidth 10Mbit avpkt 1000
> tc class add dev eth0 parent 10:0 classid 10:1 cbq bandwidth 10Mbit rate
> 10Mbit allot 1514 weight 1Mbit prio 8 maxburst 20 avpkt 1000
>
> tc class add dev eth0 parent 10:1 classid 10:64 cbq bandwidth 10Mbit
> rate 64Kbit allot 1514 weight 6Kbit prio 5 maxburst 20 avpkt 1000
> bounded
> tc class add dev eth0 parent 10:1 classid 10:128 cbq bandwidth 10Mbit
> rate 128Kbit allot 1514 weight 12Kbit prio 5 maxburst 20 avpkt 1000
> bounded
> tc class add dev eth0 parent 10:1 classid 10:256 cbq bandwidth 10Mbit
> rate 256Kbit allot 1514 weight 25Kbit prio 5 maxburst 20 avpkt 1000
> bounded
> tc class add dev eth0 parent 10:1 classid 10:512 cbq bandwidth 10Mbit
> rate 512Kbit allot 1514 weight 51Kbit prio 5 maxburst 20 avpkt 1000
> bounded
> tc class add dev eth0 parent 10:1 classid 10:1024 cbq bandwidth 10Mbit
> rate 1024Kbit allot 1514 weight 102Kbit prio 5 maxburst 20 avpkt 1000
> bounded
>
>
> tc qdisc add dev eth0 parent 10:64 sfq quantum 1514b perturb 15
> tc qdisc add dev eth0 parent 10:128 sfq quantum 1514b perturb 15
> tc qdisc add dev eth0 parent 10:256 sfq quantum 1514b perturb 15
> tc qdisc add dev eth0 parent 10:512 sfq quantum 1514b perturb 15
> tc qdisc add dev eth0 parent 10:1024 sfq quantum 1514b perturb 15
>
> tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip dst
> 200.39.174.0/24 flowid 10:256
> tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip src
> 200.39.174.0/24 flowid 10:256
> tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip dst
> 200.39.187.0/24 flowid 10:256
> tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip src
> 200.39.187.0/24 flowid 10:256
> [root@diablo bin]#
>
> Please, if you see something wrong let me know.
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
--
stef.coene@docum.org
"Using Linux as bandwidth manager"
http://www.docum.org/
#lartc @ irc.openprojects.net