From: Jacob Teplitsky <jacobt@bivio.net>
To: lartc@vger.kernel.org
Subject: RE: [LARTC] tcng version 8y
Date: Sat, 21 Sep 2002 18:03:31 +0000 [thread overview]
Message-ID: <marc-lartc-103263151931753@msgid-missing> (raw)
In-Reply-To: <marc-lartc-103257972403796@msgid-missing>
>
> Message: 4
> Date: Sat, 21 Sep 2002 00:39:59 -0300
> From: Werner Almesberger <wa@almesberger.net>
> To: lartc@mailman.ds9a.nl
> Subject: [LARTC] tcng version 8y
>
> ... is on SourceForge, http://tcng.sourceforge.net/#src
>
> The main changes are that tcng's HTB is now better at quantum
> handling, and that tcsim now includes packet.def and ports.tc
> automatically (via the new default.tcsim), like tcc uses
> default.tc. The full change log is below, as usual.
>
> The HTB change adds a very natural way for expressing a quantum:
> instead of the somewhat obscure r2q,
I think this statement requires a little more explanation.
> the quantum can be specified
> as the time during which the class may monopolize the link.
>
> The following two examples are equivalent:
>
> htb {
> class (rate 1Mbps,quantum 1250B);
> }
>
> htb {
> class (rate 1Mbps,quantum 10ms);
> }
>
According to
http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
===========
It might be good time to touch concept of quantums now. In fact when more classes want to borrow bandwidth they are each given some number of bytes before serving other competing class. This number is called quantum. You should see that if several classes are competing for parent's bandwidth then they get it in proportion of their quantums. It is important to know that for precise operation quantums need to be as small as possible and larger than MTU.
Normaly you don't need to specify quantums manualy as HTB chooses precomputed values. It computes classe's quantum (when you add or change it) as its rate divided by r2q global parameter. Its default value is 10 and because typical MTU is 1500 the default is good for rates from 15 kBps (120 kbit). For smaller minimal rates specify r2q 1 when creating qdisc - it is good from 12 kbit which should be enough. If you will need you can specify quantum manualy when adding or changing the class. You can avoid warnings in log if precomputed value would be bad. When you specify quantum on command line the r2q is ignored for that class.
===========
This is how tcng replaces a global parameter r2q with quantums :
Tcc allows inheritance of paramers so the following
htb (quantum 1250B) {
class (rate 1Mbps);
class (rate 2Mbps);
}
will have the same effect as:
htb () {
class (rate 1Mbps, quantum 1250B);
class (rate 2Mbps, quantum 1250B);
}
So, in a way every parameter is "global".
If time is specified instead of bytes:
htb (quantum 10ms) {
class (rate 1Mbps);
class (rate 2Mbps);
}
tcc will calculate the quantum for each class based it's rate
and it's time quantum inherited from the "global" time quantum.
- Jacob
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
prev parent reply other threads:[~2002-09-21 18:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-21 3:39 [LARTC] tcng version 8y Werner Almesberger
2002-09-21 18:03 ` Jacob Teplitsky [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-lartc-103263151931753@msgid-missing \
--to=jacobt@bivio.net \
--cc=lartc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.