* [LARTC] Linux Traffic Control limited to only 1 split of classes??
@ 2001-02-03 22:03 Rick
2001-02-04 12:45 ` Rick
0 siblings, 1 reply; 2+ messages in thread
From: Rick @ 2001-02-03 22:03 UTC (permalink / raw)
To: lartc
<PRE>Hi all,
The script below works partially. Please help me figure out why.
What happen is this:
1. Split eth0 into 2 classes; Sales and Engine. --> depth 1
2. Split further Sales into 2 classes; SalesMan and SalesManager. -->
depth2
3. Run the script.
4. TC to depth 1 Engine works. Limited bandwidth.
5. TC to depth 2 Sales DOESN'T work. Gets all the bandwidth.
Apparently, after further test, it shows that once I split more than once,
traffic control breaks down.
I hope you can help me figure out if my script is missing something... or
that is it a bug in the code itself??
Regards,
Rick Goh.
************************************************
#!/bin/sh
#
# Startup script for Linux Traffic Control
#
device="eth0"
total="1Mbit"
sales="500Kbit"
engine="500Kbit"
sales_man="100Kbit"
sales_manager="400Kbit"
ip_salesman="192.168.1.10"
ip_salesmanager="192.168.1.20"
ip_engine="192.168.1.30"
#Del qdisc to eth0
tc qdisc del dev $device root handle 1:
#Attach qdisc to eth0 and 2 different class; sales & engine --> depth 1
tc qdisc add dev $device root handle 1: cbq bandwidth $total avpkt 1000
tc class add dev $device parent 1:0 classid 1:1 cbq bandwidth $total \
rate $total allot 1514 weight 100Kbit prio 8 maxburst 20 avpkt 1000
tc class add dev $device parent 1:1 classid 1:10 cbq bandwidth $total \
rate $sales allot 1514 weight 50Kbit prio 3 maxburst 20 avpkt 1000
bounded
tc class add dev $device parent 1:1 classid 1:20 cbq bandwidth $total \
rate $engine allot 1514 weight 50Kbit prio 7 maxburst 20 avpkt 1000
bounded
###New qdisc for Sales --> depth 2
tc qdisc add dev $device parent 1:10 handle 10: cbq bandwidth $sales avpkt
1000
###2 classes for Sales
tc class add dev $device parent 10:0 classid 10:1 cbq bandwidth $sales \
rate $sales allot 1514 weight 50Kbit prio 6 maxburst 20 avpkt 1000
tc class add dev $device parent 10:1 classid 10:2 cbq bandwidth $sales \
rate $sales_man allot 1514 weight 10Kbit prio 2 maxburst 20 avpkt 1000
tc class add dev $device parent 10:1 classid 10:3 cbq bandwidth $sales \
rate $sales_manager allot 1514 weight 40Kbit prio 1 maxburst 20 avpkt
1000
#############FILTER############
# Depth 1
tc filter add dev $device parent 1:0 protocol ip prio 25 u32 match \
ip dst $ip_engine flowid 1:20
# Depth 2
tc filter add dev $device parent 10:0 protocol ip prio 25 u32 match \
ip dst $ip_salesman flowid 10:2
tc filter add dev $device parent 10:0 protocol ip prio 100 u32 match \
ip dst $ip_salesmanager flowid 10:3
</PRE>
^ permalink raw reply [flat|nested] 2+ messages in thread
* [LARTC] Linux Traffic Control limited to only 1 split of classes??
2001-02-03 22:03 [LARTC] Linux Traffic Control limited to only 1 split of classes?? Rick
@ 2001-02-04 12:45 ` Rick
0 siblings, 0 replies; 2+ messages in thread
From: Rick @ 2001-02-04 12:45 UTC (permalink / raw)
To: lartc
<PRE>Hi all, problem solved.
Forgot to add the route. =)
Thank you Marian Jancar.
----- Original Message -----
From: "Rick Goh Siow Mong" <<A HREF="mailto:rickgoh@cyberway.com.sg">rickgoh@cyberway.com.sg</A>>
To: "lartc" <<A HREF="mailto:lartc@mailman.ds9a.nl">lartc@mailman.ds9a.nl</A>>
Sent: Sunday, February 04, 2001 6:03 AM
Subject: [LARTC] Linux Traffic Control limited to only 1 split of classes??
><i> Hi all,
</I>><i> The script below works partially. Please help me figure out why.
</I>><i>
</I>><i> What happen is this:
</I>><i> 1. Split eth0 into 2 classes; Sales and Engine. --> depth 1
</I>><i> 2. Split further Sales into 2 classes; SalesMan and SalesManager. -->
</I>><i> depth2
</I>><i> 3. Run the script.
</I>><i> 4. TC to depth 1 Engine works. Limited bandwidth.
</I>><i> 5. TC to depth 2 Sales DOESN'T work. Gets all the bandwidth.
</I>><i>
</I>><i> Apparently, after further test, it shows that once I split more than once,
</I>><i> traffic control breaks down.
</I>><i> I hope you can help me figure out if my script is missing something... or
</I>><i> that is it a bug in the code itself??
</I>><i>
</I>><i> Regards,
</I>><i> Rick Goh.
</I>><i>
</I>><i> ************************************************
</I>><i> #!/bin/sh
</I>><i> #
</I>><i> # Startup script for Linux Traffic Control
</I>><i> #
</I>><i>
</I>><i> device="eth0"
</I>><i> total="1Mbit"
</I>><i> sales="500Kbit"
</I>><i> engine="500Kbit"
</I>><i> sales_man="100Kbit"
</I>><i> sales_manager="400Kbit"
</I>><i> ip_salesman="192.168.1.10"
</I>><i> ip_salesmanager="192.168.1.20"
</I>><i> ip_engine="192.168.1.30"
</I>><i>
</I>><i> #Del qdisc to eth0
</I>><i> tc qdisc del dev $device root handle 1:
</I>><i>
</I>><i> #Attach qdisc to eth0 and 2 different class; sales & engine --> depth 1
</I>><i> tc qdisc add dev $device root handle 1: cbq bandwidth $total avpkt 1000
</I>><i> tc class add dev $device parent 1:0 classid 1:1 cbq bandwidth $total \
</I>><i> rate $total allot 1514 weight 100Kbit prio 8 maxburst 20 avpkt 1000
</I>><i> tc class add dev $device parent 1:1 classid 1:10 cbq bandwidth $total \
</I>><i> rate $sales allot 1514 weight 50Kbit prio 3 maxburst 20 avpkt 1000
</I>><i> bounded
</I>><i> tc class add dev $device parent 1:1 classid 1:20 cbq bandwidth $total \
</I>><i> rate $engine allot 1514 weight 50Kbit prio 7 maxburst 20 avpkt 1000
</I>><i> bounded
</I>><i>
</I>><i>
</I>><i> ###New qdisc for Sales --> depth 2
</I>><i> tc qdisc add dev $device parent 1:10 handle 10: cbq bandwidth $sales avpkt
</I>><i> 1000
</I>><i>
</I>><i> ###2 classes for Sales
</I>><i> tc class add dev $device parent 10:0 classid 10:1 cbq bandwidth $sales \
</I>><i> rate $sales allot 1514 weight 50Kbit prio 6 maxburst 20 avpkt 1000
</I>><i> tc class add dev $device parent 10:1 classid 10:2 cbq bandwidth $sales \
</I>><i> rate $sales_man allot 1514 weight 10Kbit prio 2 maxburst 20 avpkt 1000
</I>><i> tc class add dev $device parent 10:1 classid 10:3 cbq bandwidth $sales \
</I>><i> rate $sales_manager allot 1514 weight 40Kbit prio 1 maxburst 20 avpkt
</I>><i> 1000
</I>><i>
</I>><i>
</I>><i> #############FILTER############
</I>><i>
</I>><i> # Depth 1
</I>><i> tc filter add dev $device parent 1:0 protocol ip prio 25 u32 match \
</I>><i> ip dst $ip_engine flowid 1:20
</I>><i>
</I>><i> # Depth 2
</I>><i> tc filter add dev $device parent 10:0 protocol ip prio 25 u32 match \
</I>><i> ip dst $ip_salesman flowid 10:2
</I>><i> tc filter add dev $device parent 10:0 protocol ip prio 100 u32 match \
</I>><i> ip dst $ip_salesmanager flowid 10:3
</I>><i>
</I>><i>
</I>><i>
</I>><i>
</I>><i> _______________________________________________
</I>><i> LARTC mailing list / <A HREF="mailto:LARTC@mailman.ds9a.nl">LARTC@mailman.ds9a.nl</A>
</I>><i> <A HREF="http://mailman.ds9a.nl/mailman/listinfo/lartc">http://mailman.ds9a.nl/mailman/listinfo/lartc</A> HOWTO:
</I><A HREF="http://ds9a.nl/2.4Routing/">http://ds9a.nl/2.4Routing/</A>
</PRE>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-02-04 12:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-03 22:03 [LARTC] Linux Traffic Control limited to only 1 split of classes?? Rick
2001-02-04 12:45 ` Rick
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.