From: Jarek Poplawski <jarkao2@o2.pl>
To: Joerg Pommnitz <pommnitz@yahoo.com>
Cc: netdev@vger.kernel.org,
OLSR discussion and development <olsr-users@olsr.org>
Subject: Re: Does tc-prio really work as advertised?
Date: Mon, 26 Nov 2007 23:25:14 +0100 [thread overview]
Message-ID: <474B47CA.1050802@o2.pl> (raw)
In-Reply-To: <292416.28036.qm@web51406.mail.re2.yahoo.com>
Joerg Pommnitz wrote, On 11/23/2007 03:47 PM:
> Hello all,
> I might make a fool out of me, but I think the prio qdisc doesn't work as advertised in any document I could lay my hands on.
Marketing?
>
> My problem was that the link quality reported by the olsr.org olsrd degraded depending on the amount of payload traffic transferred through an adhoc/mesh interface. The LQ is calculated from the packet loss of LQ Hello packets sent through this interface. To make sure normal traffic does not interfere with this value, olsrd sets the TOS field to 0x10 (Minimize-Delay) by default. This should give olsr traffic the highest priority on the link.
>
> Investigating this issue I replaced the default Pfifo_fast with a prio qdisc and attached a pfifo on each of the bands:
>
> INTERFACE=wifi0
> tc qdisc add dev $INTERFACE root handle 1: prio
> tc qdisc add dev $INTERFACE parent 1:1 handle 10: pfifo
> tc qdisc add dev $INTERFACE parent 1:2 handle 20: pfifo
> tc qdisc add dev $INTERFACE parent 1:3 handle 30: pfifo
>
> The I used ping -Q TOSVALUE to send packets with different TOS values through the interface. tcpdump confirmed the correct TOS values in the outgoing packets.
>
> With "tc -s qdisc ls dev wifi0" I could observe the effects of the different TOS values. The result: no effect at all! Every single packet used the band indicated by the first value in the priomap (e.g. band 1 by default, in my case the pfifo with handle 20:). I can't square this observation with the available documentation.
>
> Looking at the source code, it seems that sched_prio uses the skb->priority value to select the outgoing band. According to some documentation I found, an application can set this value.
>
> Now I'm at a loss. I can work around this problem with filters, but I don't think that this is the correct solution. Any suggestions?
>
Are you doing this on the same box? I was tracing this long time ago too, and, if
I didn't miss something, it was about the place! So, as I recall (after finding
some old message) this TOS is considered only for packets going through the FORWARD
chain. (But, I haven't checked this at all now, so "no complaints"...)
Regards,
Jarek P.
next prev parent reply other threads:[~2007-11-26 22:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-23 14:47 Does tc-prio really work as advertised? Joerg Pommnitz
2007-11-26 22:25 ` Jarek Poplawski [this message]
2007-11-27 6:46 ` Jarek Poplawski
-- strict thread matches above, loose matches on Subject: below --
2007-11-27 9:28 Joerg Pommnitz
2007-11-27 9:58 ` Jarek Poplawski
2007-11-27 10:54 AW: " Joerg Pommnitz
2007-11-27 11:58 ` Jarek Poplawski
2007-11-27 12:29 ` Patrick McHardy
2007-11-27 13:00 AW: " Joerg Pommnitz
2007-11-27 14:12 ` Jarek Poplawski
2007-11-30 18:39 ` Michael Blizek
2007-11-27 13:07 Joerg Pommnitz
2007-11-27 13:18 ` Patrick McHardy
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=474B47CA.1050802@o2.pl \
--to=jarkao2@o2.pl \
--cc=netdev@vger.kernel.org \
--cc=olsr-users@olsr.org \
--cc=pommnitz@yahoo.com \
/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;
as well as URLs for NNTP newsgroup(s).