Re: Does tc-prio really work as advertised?

2007-11-30 Thread Michael Blizek
Hi!

On 05:00 Tue 27 Nov , Joerg Pommnitz wrote:
  So, are you still sure you've tested such a case?
 
 Well, the problem that triggered my investigation was
 that the OLSR daemon (www.olsr.org) calculates the quality
 of a link according to the packet loss for LQ HELLO packets
 (UDP broadcast packets). To prevent other traffic from
 interfering with the LQ calculation, olsrd sends the HELLO
 packets with a TOS value of 0x10 (minimize delay). This
 should give them the highest priority.
 
 What I saw was a degrading Link quality with more user traffic
 over a link. The LQ fell so far that olsrd judged the other host
 unreachable and deleted the routing entry. The user traffic in
 question was iperf (TOS value 0x00).
 --  
 Regards and thanks for taking an interest
 
  
Joerg

There is another possible cause of this problem.

In WLANs all packets are acked or retransmitted. This is done to
prevent packet loss due to noise and collisions. But this is not
done with broadcast packets.

I can't tell you if this can be enough to trigger the bevaviour
you experienced. Is the signal barely receivable?

Michi
-- 
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.homelinux.net

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: Does tc-prio really work as advertised?

2007-11-27 Thread Joerg Pommnitz
Jarek,
iptables chains (this is what I think you are referring to) are not the issue. 
This
is about the qdisc that sits immediately over the device driver and decides the
order waiting packets are sent over the line/air/carrier pigeon/... .
My suspicion is that skb-priority used to be set to a value that derived from 
the
TOS bits. Then something changed and nobody noticed.
-- 
 
Regards
 
   Joerg
 


- Ursprüngliche Mail 
Von: Jarek Poplawski [EMAIL PROTECTED]
An: Jarek Poplawski [EMAIL PROTECTED]
CC: Joerg Pommnitz [EMAIL PROTECTED]; netdev@vger.kernel.org; OLSR discussion 
and development [EMAIL PROTECTED]
Gesendet: Dienstag, den 27. November 2007, 07:46:04 Uhr
Betreff: Re: Does tc-prio really work as advertised?

On 26-11-2007 23:25, Jarek Poplawski wrote:
...
 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...)

...Too exactly! Iptables aren't needed for this, so going through
the forward. should be enough...

Jarek P.






  Machen Sie Yahoo! zu Ihrer Startseite. Los geht's: 
http://de.yahoo.com/set
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Does tc-prio really work as advertised?

2007-11-27 Thread Jarek Poplawski
On Tue, Nov 27, 2007 at 01:28:43AM -0800, Joerg Pommnitz wrote:
 Jarek,
 iptables chains (this is what I think you are referring to) are not the issue.

Yes, but this could (wrongly) look like this according to my 1-st message.

 This
 is about the qdisc that sits immediately over the device driver and decides 
 the
 order waiting packets are sent over the line/air/carrier pigeon/... .
 My suspicion is that skb-priority used to be set to a value that derived 
 from the
 TOS bits. Then something changed and nobody noticed.

I'm not sure of your problem: did you try this on a box which
gets packets with TOS set earlier, does forwarding, and uses this
prio on egress? If so, and this doesn't work, then you are right
something could be wrong.

Regards,
Jarek P.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


AW: Does tc-prio really work as advertised?

2007-11-27 Thread Joerg Pommnitz
Jarek,
this is all about outgoing packets, e.g. egress to use your word.
It doesn't matter whether the packets are originated locally or
whether the packets are forwarded from another host (I tried
both).

To restate the problem: according to my observations the prio qdisc
(and probably pfifo_fast, but I couldn't observe this) does not prioritize
at all and always uses the band indicated by the first entry in the
priomap.

By default the priomap looks like this:
qdisc prio 1: dev eth1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

there are 3 bands (1:1, 1:2 and 1:3). In theory the traffic should go through
the different bands according to the TOS value of the packets. My observation
is, that the traffic always uses the band pointed to by the first entry in the
priomap. This value is 1 by default, so all traffic goes through band 1:2.

Now it's entirely possible that I did something stupid, but nobody came forward
to show me the error of my ways (neither here nor on the lartc list).

-- Regards
 
   Joerg

- Ursprüngliche Mail 
Von: Jarek Poplawski [EMAIL PROTECTED]
An: Joerg Pommnitz [EMAIL PROTECTED]
CC: netdev@vger.kernel.org
Gesendet: Dienstag, den 27. November 2007, 10:58:38 Uhr
Betreff: Re: Does tc-prio really work as advertised?

On Tue, Nov 27, 2007 at 01:28:43AM -0800, Joerg Pommnitz wrote:
 Jarek,
 iptables chains (this is what I think you are referring to) are not  the 
 issue.

Yes, but this could (wrongly) look like this according to my 1-st  message.

 This
 is about the qdisc that sits immediately over the device driver and  decides 
 the
 order waiting packets are sent over the line/air/carrier pigeon/... .
 My suspicion is that skb-priority used to be set to a value that  derived 
 from the
 TOS bits. Then something changed and nobody noticed.

I'm not sure of your problem: did you try this on a box which
gets packets with TOS set earlier, does forwarding, and uses this
prio on egress? If so, and this doesn't work, then you are right
something could be wrong.

Regards,
Jarek P.






__  Ihr erstes Baby? Holen Sie sich 
Tipps von anderen Eltern.  www.yahoo.de/clever
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Does tc-prio really work as advertised?

2007-11-27 Thread Jarek Poplawski
On Tue, Nov 27, 2007 at 02:54:10AM -0800, Joerg Pommnitz wrote:
 Jarek,
 this is all about outgoing packets, e.g. egress to use your word.
 It doesn't matter whether the packets are originated locally or
 whether the packets are forwarded from another host (I tried
 both).
 
 To restate the problem: according to my observations the prio qdisc
 (and probably pfifo_fast, but I couldn't observe this) does not prioritize
 at all and always uses the band indicated by the first entry in the
 priomap.
 
 By default the priomap looks like this:
 qdisc prio 1: dev eth1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 
 there are 3 bands (1:1, 1:2 and 1:3). In theory the traffic should go through
 the different bands according to the TOS value of the packets. My observation
 is, that the traffic always uses the band pointed to by the first entry in the
 priomap. This value is 1 by default, so all traffic goes through band 1:2.
 
 Now it's entirely possible that I did something stupid, but nobody came 
 forward
 to show me the error of my ways (neither here nor on the lartc list).
 

I don't think there could be anything stupid if something is maybe not
enough documented. But, this really should work - just like you've
found: TOS should be recalculated to skb-priority, and this should
affect prio. You should only consider that this recalculation isn't
done for all packets, but only forwarded ones (if I can remember, didn't
miss something, and nothing changed later...). So, are you still sure
you've tested such a case? (Btw., there are some other tools which can
change this priority field, so I hope you don't use them too.)

Jarek P.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Does tc-prio really work as advertised?

2007-11-27 Thread Patrick McHardy

Jarek Poplawski wrote:

On Tue, Nov 27, 2007 at 02:54:10AM -0800, Joerg Pommnitz wrote:

Jarek,
this is all about outgoing packets, e.g. egress to use your word.
It doesn't matter whether the packets are originated locally or
whether the packets are forwarded from another host (I tried
both).

To restate the problem: according to my observations the prio qdisc
(and probably pfifo_fast, but I couldn't observe this) does not prioritize
at all and always uses the band indicated by the first entry in the
priomap.

By default the priomap looks like this:
qdisc prio 1: dev eth1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

there are 3 bands (1:1, 1:2 and 1:3). In theory the traffic should go through
the different bands according to the TOS value of the packets. My observation
is, that the traffic always uses the band pointed to by the first entry in the
priomap. This value is 1 by default, so all traffic goes through band 1:2.

Now it's entirely possible that I did something stupid, but nobody came forward
to show me the error of my ways (neither here nor on the lartc list).



I don't think there could be anything stupid if something is maybe not
enough documented. But, this really should work - just like you've
found: TOS should be recalculated to skb-priority, and this should
affect prio. You should only consider that this recalculation isn't
done for all packets, but only forwarded ones (if I can remember, didn't
miss something, and nothing changed later...). So, are you still sure
you've tested such a case? (Btw., there are some other tools which can
change this priority field, so I hope you don't use them too.)



It works fine here, I'm guessing that Jörg is using an old kernel
version that had a bug in prio classification without filters.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


AW: Does tc-prio really work as advertised?

2007-11-27 Thread Joerg Pommnitz
  It works fine here, I'm guessing that Jörg is using an old kernel
  version that had a bug in prio classification without filters.

This is 2.6.20.21, from 17-Oct-2007. 
 
--  
Regards
 
   Joerg




   __  Ihre erste Baustelle? Wissenswertes 
für Bastler und Hobby Handwerker. www.yahoo.de/clever
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: AW: Does tc-prio really work as advertised?

2007-11-27 Thread Patrick McHardy

Joerg Pommnitz wrote:

  It works fine here, I'm guessing that Jörg is using an old kernel
  version that had a bug in prio classification without filters.

This is 2.6.20.21, from 17-Oct-2007. 



Yes, that version is broken. I think it was fixed in 2.6.22 or 2.6.23.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


AW: Does tc-prio really work as advertised?

2007-11-27 Thread Joerg Pommnitz
 So, are you still sure you've tested such a case?

Well, the problem that triggered my investigation was
that the OLSR daemon (www.olsr.org) calculates the quality
of a link according to the packet loss for LQ HELLO packets
(UDP broadcast packets). To prevent other traffic from
interfering with the LQ calculation, olsrd sends the HELLO
packets with a TOS value of 0x10 (minimize delay). This
should give them the highest priority.

What I saw was a degrading Link quality with more user traffic
over a link. The LQ fell so far that olsrd judged the other host
unreachable and deleted the routing entry. The user traffic in
question was iperf (TOS value 0x00).

The OLSR traffic was obviously generated locally (not forwarded).
You claim, that the TOS value for locally generated traffic does
not influence its priority?

Now I THINK that I did my tests both, for forwarded and for
local traffic, but I'll redo my tests to make sure.

 
--  
Regards and thanks for taking an interest

 
   Joerg




__  Ihr erstes Baby? Holen Sie sich 
Tipps von anderen Eltern.  www.yahoo.de/clever
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Does tc-prio really work as advertised?

2007-11-27 Thread Joerg Pommnitz
Great :-(. I went over the ChangeLogs for later kernel versions, but
couldn't find anything.

I'll try to come up with a working .config for the most current kernel
that works on my hardware and test again.

Do you have a pointer to the fix so that I could try to patch a 2.6.20
kernel?
 
--  
Regards
 
   Joerg

- Ursprüngliche Mail 
Von: Patrick McHardy [EMAIL PROTECTED]
An: Joerg Pommnitz [EMAIL PROTECTED]
CC: Jarek Poplawski [EMAIL PROTECTED]; netdev@vger.kernel.org
Gesendet: Dienstag, den 27. November 2007, 13:54:11 Uhr
Betreff: Re: AW: Does tc-prio really work as advertised?

Joerg Pommnitz wrote:
   It works fine here, I'm guessing that Jörg is using an old kernel
   version that had a bug in prio classification without filters.
 
 This is 2.6.20.21, from 17-Oct-2007. 


Yes, that version is broken. I think it was fixed in 2.6.22 or 2.6.23.






  Jetzt Mails schnell in einem Vorschaufenster überfliegen. Dies und viel 
mehr bietet das neue Yahoo! Mail - www.yahoo.de/mail
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Does tc-prio really work as advertised?

2007-11-26 Thread Jarek Poplawski
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.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Does tc-prio really work as advertised?

2007-11-26 Thread Jarek Poplawski
On 26-11-2007 23:25, Jarek Poplawski wrote:
...
 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...)

...Too exactly! Iptables aren't needed for this, so going through
the forward. should be enough...

Jarek P.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Does tc-prio really work as advertised?

2007-11-23 Thread Joerg Pommnitz
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.

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?

 






  Heute schon einen Blick in die Zukunft von E-Mails wagen? 
www.yahoo.de/mail
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html