[Cake] GSO super-packets, classification (tin) & DSCP washing

Kevin Darbyshire-Bryant kevin at darbyshire-bryant.me.uk
Sun Nov 22 08:31:54 EST 2015


Whilst I was mixing some football (soccer for those across the pond)
last night, a naughty question popped into my head related to GSO
packets.  From what I understand a GSO packet is actually a collection
of packets, in essence passed to the NIC (or through the stack) as a
'lump' of data which is then pulled apart as late in the process as
possible.  This led to the following questions.

First off, DSCP washing as implemented, only washes the GSO packet..I'm
assuming effectively the first contained packet only.  This is unfortunate.

That question led to the implied observation that 'tin classification'
based on DSCP is also decided upon by the GSO packet and not the packets
contained therein.  Even if cake decides to peel the GSO because it will
affect flow isolation, it still doesn't individually classify each
packet and potentially puts some of them in the wrong queue.  I
appreciate this has some unfortunate CPU usage implications.

I also pondered if there's a small cpu advantage to wash on de-queue
rather than enqueue, especially if the wash procedure is enhanced to
traverse a GSO aggregate.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4816 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20151122/b82faad3/attachment-0002.bin>

More information about the Cake mailing list