On 01/24/2013 02:50 AM, David Miller wrote: > From: Jason Wang <[email protected]> > Date: Wed, 23 Jan 2013 21:59:13 +0800 > >> We create new flow caches when a new flow is identified by tuntap, This may >> lead >> some issues: >> >> - userspace may produce a huge amount of short live flows to exhaust host >> memory >> - the unlimited number of flow caches may produce a long list which increase >> the >> time in the linear searching >> >> Solve this by introducing a limit of total number of flow caches. >> >> Cc: Stephen Hemminger <[email protected]> >> Signed-off-by: Jason Wang <[email protected]> >> --- > Applied, but really flow caches are an extremely broken concept especially > when external entities control the population of such caches. > > We removed the routing cache of the ipv4 networking code exactly because > this kind of crap does not work at all. > > Next you're going to have to add a delicately managed garbage > collection scheme for this tuntap flow cache, and that will be tuned > endlessly, when the real issue is that fundamentally this does not > work. > > Instead, make the full lookup scale properly and use appropriate data > structures. It won't be as fast as a simple hash table demux, but > it'll actually be immune to growth issues and DoS attacks and give > consistent and repeatable lookup performance regardless of traffic > patterns.
Ok, I will rework it in 3.9. Thanks > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

