All of lore.kernel.org
 help / color / mirror / Atom feed
From: dE <de.techno@gmail.com>
To: lartc@vger.kernel.org
Subject: pfifo_fast behavior.
Date: Sun, 12 May 2013 14:15:50 +0000	[thread overview]
Message-ID: <518FA146.2070900@gmail.com> (raw)

Hello everyone!

I was trying to do some traffic shaping to make http pages more 
responsive while torrenting. So I decided to modify TOS value of packets 
to have an affect on the default pfifo_fast qdisc.

I've the following iptable rules --

#DNS request
iptables -t mangle -A OUTPUT -o eth1 -p udp -m multiport --dports 53 -j 
TOS --set-tos 0x10

#DNS response
iptables -t mangle -A PREROUTING -i eth1 -p udp -m multiport --sports 53 
-j TOS --set-tos 0x10

#Incoming torrent connections
iptables -t mangle -A PREROUTING -i eth1 -p tcp -m multiport --dports 
2000 -j TOS --set-tos 0x2
iptables -t mangle -A PREROUTING -i eth1 -p udp -m multiport --dports 
2000,1900,2001 -j TOS --set-tos 0x2

#Mail server
iptables -t mangle -A OUTPUT -o eth1 -p tcp -d imap.googlemail.com -m 
multiport --dports 993 -j TOS --set-tos 0x10

#HTTP(S)
iptables -t mangle -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443 
-j TOS --set-tos 0x14
#iptables -t mangle -A OUTPUT -o eth1 -p tcp -m multiport --dports 
80,443 -j TOS --set-tos 0x10
iptables -t mangle -A PREROUTING -i eth1 -p tcp -m multiport --sport 
80,443 -j TOS --set-tos 0x14
#iptables -t mangle -A PREROUTING -i eth1 -p tcp -m multiport --sport 
80,443 -j TOS --set-tos 0x10

There is an improvement, but it's so little that it feels like placebo, 
making me doubt the above action. So are the actions correct?

man tc-prio has a table --

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

But is there a difference between all TOS values which fall in a single 
band?

I mean, does the behavior of pfifo_fast change if I change from 0x12 to 
0x16? Cause I thought the qdisc to be simple, and a different behavior 
for all of the above TOS values means pfifo_fast does a lot more than 
just placing packets in 3 different queues.

Another question -- how do you get these TOS values? and what does -j 
TOS --set-tos <HEX/DEC> do? Does it modify the 4 bits or the whole 8 bit 
TOS value in the header, or does something completely different?

I'm running a custom kernel with Gentoo OS.

             reply	other threads:[~2013-05-12 14:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-12 14:15 dE [this message]
2013-05-13 17:49 ` pfifo_fast behavior Benjamin Kiessling
2013-05-15  2:33 ` dE
2013-05-16  6:48 ` dE

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=518FA146.2070900@gmail.com \
    --to=de.techno@gmail.com \
    --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.