> On 3 Feb, 2019, at 8:39 pm, Dave Taht <[email protected]> wrote:
> 
> it's 000001 which I guess is:
> 
> diff --git a/sch_cake.c b/sch_cake.c
> index 3a26db0..67263b3 100644
> --- a/sch_cake.c
> +++ b/sch_cake.c
> @@ -343,7 +343,7 @@ static const u8 diffserv4[] = {
> };
> 
> static const u8 diffserv3[] = {
> -       0, 0, 0, 0, 2, 0, 0, 0,
> +       0, 1, 0, 0, 2, 0, 0, 0,
>        1, 0, 0, 0, 0, 0, 0, 0,
>        0, 0, 0, 0, 0, 0, 0, 0,
>        0, 0, 0, 0, 0, 0, 0, 0,
> 
> (or is that reversed? my big endian/little endian chops scuks, and
> nobody modified the gen_cake_const tool to match what cake expects
> now)

That looks correct to me, though it should also be added to the other Diffserv 
modes including a bulk tin.  Fields in TCP/IP are all laid out in "network 
order" which is most-significant bit/byte first, the same way you'd *normally* 
write a number down.

The TOS field can sometimes be confusing because the DSCP field is the upper 6 
bits and the ECN field the lower 2, and the BSD Sockets API gives you the while 
byte to work with while DSCPs are quoted as just their own 6 bits.  So you have 
to shift the latter left two bits before applying them to the former.

 - Jonathan Morton

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to