On 16/11/15 15:57, Dave Taht wrote: > isn't there some other boolean variable somewhere ? > > Dave Täht > Let's go make home routers and wifi faster! With better software! > https://www.gofundme.com/savewifi > Well there's something called 'rate_flags', currently enumerated: enum { CAKE_FLAG_ATM = 0x0001, CAKE_FLAG_AUTORATE_INGRESS = 0x0010 }; I could add 'CAKE_FLAG_SQUASH = 0x0100' or even '0x0020' - I don't know why the gap between ATM and AUTORATE_INGRESS. When I created 'squash' I did at least reduce the size of tin_cnt so I didn't screw up the alignment (or change the size of the structure) I'm learning, slowly. Also (and this is ancient) my previous assembler knowledge is that checking a byte for non zero is quicker than checking a bit in a byte, so that probably erroneously biased me toward a byte rather than a bit :-)