On 06/05/16 08:38, Dave Taht wrote: > On Fri, May 6, 2016 at 12:29 AM, Kevin Darbyshire-Bryant > 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