From: jamal <hadi@cyberus.ca>
To: lartc@vger.kernel.org
Subject: [LARTC] Re: further CBQ/tc documentation ds9a.nl/lartc/manpages
Date: Sat, 08 Dec 2001 21:56:04 +0000 [thread overview]
Message-ID: <marc-lartc-100785529109242@msgid-missing> (raw)
In-Reply-To: <marc-lartc-100785524509147@msgid-missing>
On Sat, 8 Dec 2001, bert hubert wrote:
> On Sat, Dec 08, 2001 at 03:43:05PM -0500, jamal wrote:
>
> > For starters, i think you need a defintions sections. Look at:
> > http://www.ietf.org/internet-drafts/draft-ietf-diffserv-model-06.txt
> >
> > (eg what is a shaper etc and how trhings are placed together). At least
> > that will ensure that you dont sday things like "Prio cant shape".
>
> I see that now :-) The right wording appears to be that a Prio is a
> Work-conserving non-policing shaper.
>
work conserving is right. non-policing is wrong. Policing is related to
filters. Shaping is related to schedulers. Prio is a scheduler.
Shaping results in non-work conserving schemes. You can attacha TBF which
shaping inside a Prio qdisc. That would add non-workconserving-ness to it.
> > It is a good model but may be insufficient given Linux TCs
> > capabilities. Email me when unsure.
>
> Will do.
>
Basically dont take it for the gospel.
> > Some other things:
> > - In your comment "Do not confuse this classless simple qdisc with the
> > classful PRIO one!". This is misleading:
> > the default 3 band FIFO queue is conceptually the same as the
> > default prio qdisc (the priomaps are identical). 3 bands; same
> > prioritization schemes.
>
> New wording:
> Do not confuse this classless simple qdisc with the classful PRIO one!
> Although they have a lot in common, the PRIO queue can contain different
> classes, whereas pfifo_fast has hardcoded FIFO bands.
I am not sure if i like the wording: A class is the result of a
class-ification. Both pfifo_fast and PRIO have builtin class-ifiers.
Essentially if you treated default prio qdisc and pfifo_fast as black
boxes, there is _no_ difference. Dont look at the code, think larger
picture.
>
>
> > - You really need to fix ingress section:
> > it works for both forwarding and packets coming in to local sockets.
> > More importantly, It takes advantages of _all_ filter schemes
> > available for TC as well as the policing functionality (which sadly seemed
> > to have been replicated by someone in netfilter, wrongly if i may add ;->).
>
> Yeah, it's broken, it counts packets, not bytes. It does praise Alexey
> though :-)
>
I think the main problem i found with it is that it used a single token
bucket.
> Ok, new ingress description:
>
> The ingress qdisc is a strange animal in that is not used to send packets
> out to the network adaptor. Instead, it allows you to apply tc filters to
> packets coming in over the interface, regardless of whether they have a
> local destination or are to be forwarded.
>
> As the tc filters contain a full Token Bucket Filter implementation, and are
> also able to match on the kernel flow estimator, there is a lot of
> functionality available. This effectively allows you to police incoming
> traffic, before it even enters the IP stack.
>
You can have two qdiscs per device, ingress and egress
Please look at the router model i described earlier. The two hooks are
very clearly described there.
Ingress qdisc is work conserving only by design; whereas egress qdiscs
could be non-work conserving.
> Parameters & usage
>
> The ingress qdisc itself does not require any parameters. It differs from
> other qdiscs in that it does not occupy the root of a device. Attach it like
> this:
>
> # tc qdisc add dev eth0 ingress
>
> This allows you to have other, sending, qdiscs on your device besides the
> ingress qdisc.
>
Again, look at the definitiions of eg/ingress. You need to have this
diagram drawn:
http://www.davin.ottawa.on.ca/ols/img9.htm
in your document.
> For a contrived example how the ingress qdisc could be used, see the
> Cookbook.
>
> > - You keep saying "reodering" -- dont know what that means. Reordering is
> > generally considered a Bad Thing(tm).
>
> Well. That is what it comes down to - it reorders packets. It does not
> reorder them within the same tcp/ip session, or at least, we hope so. In
> other words, it delays certain packets while it doesn't delay others. How
> would you suggest wording this?
Look at the model draft then lets talk again.
>
> > - your description of "MTU"
> > Not very good description:
> > This is just what it literally says; maximum transmit unit;
> > A packet larger than this will be dropped. Default is 2K. For ethernet,
> > MTUs of 1500 bytes, this is fine; however, you should put a cautionary
> > statement here in regards to people having MTUs smaller than 2K (example
> > the lo device); they might find that all their packets greater than 2K
> > being dropped.
>
> Sure?
100% sure. Try a little experiment then look at the code again.
cheers,
jamal
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/
next prev parent reply other threads:[~2001-12-08 21:56 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-08 20:43 [LARTC] Re: further CBQ/tc documentation ds9a.nl/lartc/manpages jamal
2001-12-08 21:30 ` bert hubert
2001-12-08 21:56 ` jamal [this message]
2001-12-08 23:08 ` bert hubert
2001-12-08 23:29 ` jamal
2001-12-08 23:30 ` jamal
2001-12-08 23:45 ` Henrik Nordstrom
2001-12-08 23:54 ` bert hubert
2001-12-09 1:19 ` jamal
2001-12-09 1:35 ` bert hubert
2001-12-09 2:11 ` jamal
2001-12-09 2:30 ` jamal
2001-12-09 11:38 ` Henrik Nordstrom
2001-12-09 14:40 ` bert hubert
2001-12-09 14:49 ` jamal
2001-12-09 15:01 ` jamal
2001-12-09 15:49 ` Henrik Nordstrom
2001-12-09 16:45 ` Henrik Nordstrom
2001-12-09 21:41 ` jamal
2001-12-09 22:33 ` Michael T. Babcock
2001-12-09 22:36 ` Michael T. Babcock
2001-12-10 1:12 ` Cédric Rivard
2001-12-10 7:53 ` Don Cohen
2001-12-10 8:38 ` Martin Devera
2001-12-10 8:41 ` Henrik Nordstrom
2001-12-10 9:59 ` Henrik Nordstrom
2001-12-10 11:35 ` Martin Devera
2001-12-10 11:59 ` Martin Devera
2001-12-10 12:00 ` Henrik Nordstrom
2001-12-10 12:14 ` bert hubert
2001-12-10 12:25 ` Henrik Nordstrom
2001-12-10 12:52 ` Martin Devera
2001-12-10 13:29 ` jamal
2001-12-10 13:40 ` Martin Devera
2001-12-10 13:42 ` Jim Fleming
2001-12-10 13:52 ` Michael T. Babcock
2001-12-10 13:54 ` Michael T. Babcock
2001-12-10 13:56 ` Gerry Creager N5JXS
2001-12-10 13:58 ` Michael T. Babcock
2001-12-10 14:02 ` Martin Devera
2001-12-10 14:51 ` Jim Fleming
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-100785529109242@msgid-missing \
--to=hadi@cyberus.ca \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox