<html><div style='background-color:'><DIV class=RTE>thank you so much for your reply, </DIV>
<DIV class=RTE>but i doubt about </DIV>
<DIV class=RTE><BR>"&gt;If I understand your question correctly, the answer is "yes".&nbsp; It is<BR>&gt;possible to have nested qdiscs.&nbsp; Note that you can nest qdiscs if<BR>&gt;you are using a classful qdisc [0].&nbsp; See also my list at the bottom<BR>&gt;of this message."</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>you mean we can define "nested qdisc" but algorithm in nested qdisc<BR>must same as parent class???? i'm not clear it and<BR>Is we can define nested qdisc with algorithm different from parent class?????<BR>like this example tc command</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>and At step 4 about your advise<BR>"&gt;&nbsp;&nbsp; 4. Now, you may attach a brand-new classful or classless qdisc to<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; one of your existing classes.&nbsp; Repeat from step 1 for each new<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qdisc."</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>tc qdisc add dev eth0 root handle 1: htb<BR>//this left node hierachy for manage general package<BR>tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps<BR>//this right node hierachy for manage real time package<BR>tc class add dev eth0 parent 1: classid 1:2 htb rate 100kbps ceil 100kbps<BR>// from your adivse at step 4, attach brand-new after define class<BR></DIV>
<DIV class=RTE>but Is it true??? because algorithm new qdisc are different from class algorithm<BR>that qdisc attach it.<BR>tc qdisc add dev eth0 parent 1:2 classid 10:11 hfsc rate 100kbps<BR>tc class add dev eth0 parent 10:11 classid 1:111 hfsc rate 100kbps ceil 100kbps<BR>tc class add dev eth0 parent 10:11 classid 1:112 hfsc rate 100kbps ceil 100kbps</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>please adivse me about my assumption, :)</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>and Can somebody advise me about HOW TO do later in this topic.<BR>i want to have got traffic shaper and my solotion is ...<BR>i want to manage different traffic package (general package use and real time package)<BR>so now i think about have got a problem with tc command, ... i think it can't setting<BR>to manage different package with different algorithm HTB and HFSC<BR>Do you have any idea about how to setting tc command example????</DIV>
<DIV class=RTE>thank you</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>-------------------------------------------------------------------------------------------------------------</DIV>
<DIV class=RTE>Greetings,<BR><BR> : now, i'm learning and try to read a lot of article about tc <BR> : command in linux for setting traffic shaper. but i'm doubt about <BR> : In the theory about tc command ... In general, we define class <BR> : under root qdisc but Is it can be possible ???? If we define <BR> : another qdisc under root qdisc, Can i do it? because i have just <BR> : read tc command syntax and i found this point ...<BR><BR>[ snip mangled "tc qdisc help" output ]<BR><BR> : from above syntax at [handle][root /ingress/ ****parent CLASSID] <BR> : Is "parent CLASSID" mean we can define qdisc under class???? so <BR> : this is my assumption about that. and Could you advise me about <BR> : Is it can do for real????<BR><BR>If I understand your question correctly, the answer is "yes".&nbsp; It is <BR>possible to have nested qdiscs.&nbsp; Note that you can nest qdiscs if <BR>you are 
using a classful qdisc [0].&nbsp; See also my list at the bottom <BR>of this message.<BR><BR> : //first .. define root qdisc<BR> :<BR> : tc qdisc add dev eth0 root handle 1: fifo<BR><BR>Bzzzt!&nbsp; Sadly, you can't do this.&nbsp; A fifo qdisc is a classless <BR>qdisc, meaning that it cannot have any children.&nbsp; (Poor barren <BR>thing!)<BR><BR> : //second ... define class under root qdisc but algorithm's not same like root<BR>qdisc algorithm<BR> :<BR> : tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps<BR> : tc class add dev eth0 parent 1: classid 1:2 hfsc rate 100kbps ceil 100kbps<BR><BR>Well, you can't quite mix and match classes without having a parent <BR>qdisc of the type you want.&nbsp; An HTB parent qdisc can have any number <BR>of children arranged in a tree structure below the parent.<BR><BR>Similarly, an HFSC class structure needs to attach to an 
HFSC qdisc <BR>itself.&nbsp; Note, though, you cannot simply change the class name from <BR>htb to hfsc and supply the same parameters.&nbsp; HTB uses the rate and <BR>ceil parameters, but HFSC uses different parameters (rt, sc and ul).<BR><BR> : //later attach qdisc to those classes<BR> :<BR> : tc qdisc add dev eth0 parent 1:1 classid 10:11 htb rate 100kbps ceil 100kbps<BR> : tc qdisc add dev eth0 parent 1:2 classid 10:21 hfsc rate 100kbps ceil 100kbps<BR><BR>OK, now, let's pretend that you have a classful qdisc (e.g. HTB) <BR>with two classes, 1:1 and 1:2, AND that you have a good reason for <BR>adding a nested qdisc to one of these classes.&nbsp; If that were the <BR>case, then you could add the qdiscs to the parent classes in the <BR>following fashion:<BR><BR>&nbsp; # -- create a new qdisc, attached inside an existing class<BR>&nbsp; #&nbsp;&nbsp;&nbsp; hierarchy below class 
1:1<BR>&nbsp; #<BR>&nbsp; $qdisc_add parent&nbsp; 1:1 handle&nbsp; 10:0 htb<BR>&nbsp; #<BR>&nbsp; # -- add a class to our newly created qdisc, and set the<BR>&nbsp; #&nbsp;&nbsp;&nbsp; rate and ceil parameters<BR>&nbsp; #<BR>&nbsp; $class_add parent 10:0 classid 10:1 htb rate 100kbps ceil 100kbps<BR><BR>Note, that you'd still need filters.<BR><BR>If I were you, I'd review the documentation for both HTB and HFSC <BR>after understanding the entire Linux traffic control model.&nbsp; Here's <BR>a crash course, starting at the root qdisc:<BR><BR>&nbsp; 1. The qdisc can be <BR>&nbsp;&nbsp;&nbsp;&nbsp; - classless (e.g., FIFO, SFQ, ESFQ, TBF, GRED)<BR>&nbsp;&nbsp;&nbsp;&nbsp; - classful (e.g., HTB, HFSC, CBQ, PRIO)<BR>&nbsp; 2. If the qdisc is classful, keep reading.&nbsp; If the root qdisc is <BR>&nbsp;&nbsp;&nbsp;&nbsp; classless, stop here.<BR>&nbsp; 3. You may add classes to your classful 
qdisc.&nbsp; If your qdisc is <BR>&nbsp;&nbsp;&nbsp;&nbsp; HTB, you can only add HTB classes.&nbsp; If your qdisc is CBQ, you <BR>&nbsp;&nbsp;&nbsp;&nbsp; can only add CBQ classes.&nbsp; If your qdisc is HFSC...<BR>&nbsp; 4. Now, you may attach a brand-new classful or classless qdisc to <BR>&nbsp;&nbsp;&nbsp;&nbsp; one of your existing classes.&nbsp; Repeat from step 1 for each new <BR>&nbsp;&nbsp;&nbsp;&nbsp; qdisc.<BR>&nbsp; 5. You may add filters to any of your classes (best starting <BR>&nbsp;&nbsp;&nbsp;&nbsp; behaviour is to add them to 1:0)<BR><BR>Very complex hierarchies are quite possible, even if not always <BR>understandable or advisable.<BR><BR>Best of luck,<BR><BR>-Martin<BR><BR> [0] <A href="javascript:ol('http://tldp.org/HOWTO/Traffic-Control-HOWTO/classful-qdiscs.html');"><FONT 
color=#000099>http://tldp.org/HOWTO/Traffic-Control-HOWTO/classful-qdiscs.html</FONT></A><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; (N.B., this documentation was written without any reference to <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HFSC, a newer classful qdisc.&nbsp; You may also use HFSC with <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; child qdiscs.)<BR><BR>-- <BR>Martin A. Brown<BR><A href="javascript:ol('http://linux-ip.net/');"><FONT color=#000099>http://linux-ip.net/</FONT></A><BR></DIV></div><br clear=all><hr>Don't just search. Find. <a href="http://g.msn.com/8HMAEN/2746??PS=47575" target="_top">MSN Search</a> Check out the new MSN Search!</html>