[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081006042108.GA19398@gondor.apana.org.au>
Date: Mon, 6 Oct 2008 12:21:08 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: David Miller <davem@...emloft.net>
Cc: whydna@...dna.net, nhorman@...driver.com, netdev@...r.kernel.org,
kuznet@....inr.ac.ru, pekkas@...core.fi, jmorris@...ei.org,
yoshfuji@...ux-ipv6.org, kaber@...sh.net
Subject: Re: [PATCH] net: implement emergency route cache rebulds when
gc_elasticity is exceeded
On Sun, Oct 05, 2008 at 10:34:54AM -0700, David Miller wrote:
>
> Eric showed clearly that on a completely normal well loaded
> system, the chain lengths exceed the elasticity all the time
> and it's not like these are entries we can get rid of because
> their refcounts are all > 1
I think there are two orthogonal issues here.
1) The way we count the chain length is wrong. There are keys
which do not form part of the hash computation. Entries that
only differ by them will always end up in the same bucket.
We should count all entries that only differ by those keys as
a single entry for the purposes of detecting an attack.
FWIW we could even reorganise the storage inside a bucket such
that it is a 2-level list where the first level only contained
entries that differ by saddr/daddr.
2) What do we do when we get a long chain just after a rehash.
This is an indication that the attacker has more knowledge about
us than we expected. Continuing to rehash is probably no going
to help.
We need to decide whether we care about this scenario.
If yes, then we'll need to come up with a way to bypass the
route cache, or at least act as if it was bypassed.
If not, then we can just kill the rehash interval altogether.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists