[Cake] UDP floods and taking advantage of egress signalling at ingress

Kevin Darbyshire-Bryant kevin at darbyshire-bryant.me.uk
Tue May 10 05:05:35 EDT 2016



On 06/05/16 08:38, Dave Taht wrote:
> On Fri, May 6, 2016 at 12:29 AM, Kevin Darbyshire-Bryant
> <kevin at darbyshire-bryant.me.uk> wrote:
>> Hi All,
>>
>> My brain woke up with this idea rattling around in it this
>> morning...obviously the subconscious has been busy.  So here it is:
>>
>> Is there any way to use the egress drop signalling at ingress time to drop
>> stuff before it gets into the queue so then we don't have to drop it at
>> egress?
>>
>> Something like: At enqueue if we've a matching flow check to see if that
>> flow had been in egress 'fast dropping' state *and* know how much data in
>> terms of time it had to fast drop to get the queue back under the nominal
>> time threshold.  If say it had to drop 10ms worth of packets to get back to
>> the nominal 5ms threshold then it dropped 67% of the packets/data.  I'd like
>> to think of that as an 'unresponsive flow'...hence could it be possible to
>> use that information at ingress time and in essence drop (some? 66%?) of
>> them there, we can also signal congestion to the stack at that point to
>> (cake already does this signalling when getting to its buffer size limit)
>>
>>
>> Probably a very silly idea.
> No, actualy, I'd been thinking about the same thing myself for days.
> :) I've always wanted a way to notify userspace that I was dropping
> (the heck out of) something on egress to try and stuff it up on
> ingress, or do something more intelligent like re-route the traffic
> elsewhere.

Hi Dave et al,

There's a pretty rough sketch of the 'bright idea' (ha!) on
https://github.com/kdarbyshirebryant/sch_cake/tree/ingressegresslink

It doesn't even compile but there's a sort of framework there.  Pointers
(oh dear, unintended pun) assistance, encouragement, nudges welcome. 
Laughter & derision less so but if I'm being dumb as opposed to ignorant
for crying out loud tell me :-)

I'm struggling (as you can probably tell) in codel5.h on how to obtain
the number of bytes we 'fast dropped' in the 'do...while' loop.

Kevin


-------------- 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/20160510/8a9e555f/attachment.bin>


More information about the Cake mailing list