All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] Priomap
@ 2003-08-29 20:54 Emmanuel SIMON
  2003-08-30 13:43 ` Steffen Moser
  0 siblings, 1 reply; 2+ messages in thread
From: Emmanuel SIMON @ 2003-08-29 20:54 UTC (permalink / raw)
  To: lartc

Hi all,

Here is something that i still haven't understood.

When installing PRIO, it creates 3 "classes" with priority level according
to the TOS.

That command line :
# tc qdisc add dev eth0 root handle 1: prio
give that result :
# tc qd sh
qdisc prio 1: dev eth0 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

How should i read that priomap, what does it mean and how to change it.

thanks for the help if you can and good night
Emmanuel

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [LARTC] Priomap
  2003-08-29 20:54 [LARTC] Priomap Emmanuel SIMON
@ 2003-08-30 13:43 ` Steffen Moser
  0 siblings, 0 replies; 2+ messages in thread
From: Steffen Moser @ 2003-08-30 13:43 UTC (permalink / raw)
  To: lartc

Hi,

* On Fri, Aug 29, 2003 at 10:54 PM (+0200), Emmanuel SIMON wrote:

> When installing PRIO, it creates 3 "classes" with priority level according
> to the TOS.
> 
> That command line :
> # tc qdisc add dev eth0 root handle 1: prio
> give that result :
> # tc qd sh
> qdisc prio 1: dev eth0 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
> 
> How should i read that priomap, what does it mean and how to change it.

As far as I understood it, it behaves the same like the classless qdisc
"pfifo_fast" using its bands. 

The difference is that (when using the classful qdisc "prio") you have 
got real classes and you can also use classifiers to put packets into 
the classes. 

But, if there aren't any matching classifiers, the packets got distri-
buted to their according classes using the values within their Type
of Service field (TOS) and the given priomap. The default priomap is 
the one you've wrote above.  

What does the priomap "1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1" actually mean?

As it is stated in chapter 9.2.1.1 of the LARTC howto, there are six-
teen values for the TOS files (one byte):

 |  TOS     Bits  Means                    Linux Priority    Band
 |  ------------------------------------------------------------
 |  0x0     0     Normal Service           0 Best Effort     1
 |  0x2     1     Minimize Monetary Cost   1 Filler          2
 |  0x4     2     Maximize Reliability     0 Best Effort     1
 |  0x6     3     mmc+mr                   0 Best Effort     1
 |  0x8     4     Maximize Throughput      2 Bulk            2
 |  0xa     5     mmc+mt                   2 Bulk            2
 |  0xc     6     mr+mt                    2 Bulk            2
 |  0xe     7     mmc+mr+mt                2 Bulk            2
 |  0x10    8     Minimize Delay           6 Interactive     0
 |  0x12    9     mmc+md                   6 Interactive     0
 |  0x14    10    mr+md                    6 Interactive     0
 |  0x16    11    mmc+mr+md                6 Interactive     0
 |  0x18    12    mt+md                    4 Int. Bulk       1
 |  0x1a    13    mmc+mt+md                4 Int. Bulk       1
 |  0x1c    14    mr+mt+md                 4 Int. Bulk       1
 |  0x1e    15    mmc+mr+mt+md             4 Int. Bulk       1

Using the default priomap will send packets with a TOS value of 0x10, 
0x12, 0x14 or 0x16 to class 0, packets with a TOS value of 0x0, 0x4,
0x6, 0x18, 0x1a, 0x1c, 0x1e to class 1 and packets with a TOS value
of 0x2, 0x8, 0xa, 0xc and 0xe to class 2. 

The "prio" qdisc now will dequeue packets from class 0 with the
highest priority. The higher the class numbers the lower the de-
queue priority.

If you would like to send packets with a TOS value of 0x0, 0x2, 0x4,
0x6, 0x8 to class 1 and packets with all other TOS values to class 0
you could change your priomap such (you have to state it when setting
up the "prio" qdisc if you want to have something different from the
default priomap):

  1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 

The TOS bits have the following meaning:

 |  Binary Decimcal  Meaning
 |  -----------------------------------------
 |  1000   8         Minimize delay (md)
 |  0100   4         Maximize throughput (mt)
 |  0010   2         Maximize reliability (mr)
 |  0001   1         Minimize monetary cost (mmc)
 |  0000   0         Normal Service

Of course, they can be combind, and so you can get these 16 values (2^4)
which are stated in the upper table.

You'll find very good documentation not only within the LARTC howto
(chapters 9.2.1 [1] and 9.5.3 [2]) but also within [3].

HTH,
Steffen

[1] http://lartc.org/howto/lartc.qdisc.classless.html#AEN659
[2] http://lartc.org/howto/lartc.qdisc.classful.html#AEN899
[3] http://opalsoft.net/qos/DS-23.htm
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-08-30 13:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-29 20:54 [LARTC] Priomap Emmanuel SIMON
2003-08-30 13:43 ` Steffen Moser

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.