[Cake] Using firewall connmarks as tin selectors

Kevin Darbyshire-Bryant kevin at darbyshire-bryant.me.uk
Mon Mar 4 06:01:03 EST 2019



> On 4 Mar 2019, at 08:39, Pete Heist <pete at heistp.net> wrote:
> 
> 
>> On Mar 3, 2019, at 12:52 PM, Kevin Darbyshire-Bryant <kevin at darbyshire-bryant.me.uk> wrote:
>> 
>> The very bad idea:
>> 
>> And it’s bad ‘cos it’s sort of incompatible with the existing fwmark implementation as described above.  So an awful lot of our shenanigans above is due to DSCP not traversing the internet particularly well.  The solution above abstracts DSCP into ’tins’ which we put into fwmarks.  Another approach would be to put the DSCP *into* the fwmark.  CAKE could (optionally) copy the FWMARK contained DSCP into the diffserv field onto the actual packets.  Voila DSCP traversal across ’tinternet with tin/bandwidth allocation in our local domain preserved.
> 
> If I understand it right, another use case for this “very bad idea” is preserving DSCP locally while traversing upstream WiFi links as besteffort, which avoids airtime efficiency problems that can occur with 802.11e (WMM). In cases where the router config can’t be changed (802.11e is mandatory after all) I’ve used IPIP tunnels for this, as it hides DSCP from the WiFi stack while preserving the values through the tunnel, but this would be easier. Neat… :)

Everyone has understood the intent & maybe the implementation correctly.  2 patches attached, one for cake, one for tc.

They are naively coded and some of it undoes Toke’s recent tidying up (sorry!)

The ingress path is dependent upon tc actions having restored the fwmark.  I cannot for the life of me work out how that actually happens (ie. the code that does it) to see if that’s all it does, or if cake could do it itself and so on.

Anyway, the code warts and all….



Cheers,

Kevin D-B

012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cake-add-dscp-copy-and-icing.patch
Type: application/octet-stream
Size: 5022 bytes
Desc: cake-add-dscp-copy-and-icing.patch
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20190304/c4564e9f/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: my_layer_cake.qos
Type: application/octet-stream
Size: 4722 bytes
Desc: my_layer_cake.qos
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20190304/c4564e9f/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tc-cake-add-fwmark-icing-options.patch
Type: application/octet-stream
Size: 5123 bytes
Desc: tc-cake-add-fwmark-icing-options.patch
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20190304/c4564e9f/attachment-0005.obj>


More information about the Cake mailing list