Together with some printks I see that the code in wme.c classify_1d does
exactly the thing which it should. It returns the dscp value correctly.
Using --set-dscp 0x18 classify_1d returns 3 and with --set-dscp-class
EF, classify_1d returns 5.
Crap, that's not correct. I think I found the problem:
static unsigned int classify_1d(struct sk_buff *skb)
{
...
if (dscp & 0x1c)
return 0;
return dscp >> 5;
}
--set-dscp 0x28 (precendence level 5) classify_1d returns the correct
value 5.
Setting with --set-dscp-class EF the TOS field it will have value 0xb8 (10111000b)
which maps to
Bit 7-2: DSCP
Bit 1-0: ECN (expliliciet congestion notifaction)
So the question is what the 'if' is for?
stay tuned!
daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html