From: Eric Dumazet <eric.dumazet@gmail.com>
To: richard -rw- weinberger <richard.weinberger@gmail.com>,
David Miller <davem@davemloft.net>
Cc: Robert Gladewitz <gladewitz@gmx.de>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: Kernel-DOS error in arp mechanism – no delete off incomplete arp adresses
Date: Wed, 21 Dec 2011 08:44:27 +0100 [thread overview]
Message-ID: <1324453467.2610.20.camel@edumazet-laptop> (raw)
In-Reply-To: <CAFLxGvxjLCyMCPXtpm7a7RaOL4A4=bhCLPKD=FVAc8xOdx_CsQ@mail.gmail.com>
Le samedi 17 décembre 2011 à 14:26 +0100, richard -rw- weinberger a
écrit :
> On Sat, Dec 17, 2011 at 9:27 AM, Robert Gladewitz <gladewitz@gmx.de> wrote:
> > Hello,
> >
> > first i have to say sorry for m y bad english. I try my best to descripe the
> > error.
> >
> > I Use Linux-Routers for internal and external firewall components. For this
> > I Use own kernel configurations und use only the drivers an modules what I
> > need. Other features and modules I deactivated in my kernel versions
> >
> > Since the kernel version 2.6.36 there is some mistake in the ipv4 arp
> > implementation. The the System try to find an unknown system, the send an
> > “who is” and marked the ip address as “incomplete” (German: unvollständig).
> > The thing is, usually linux delete all incomplete and complete entries in
> > some time, but in all kernel versions since 2.6.36 he doas not delete any
> > addresses.
> >
> > In my case, I scan my network-segmens for new devices (Kaspersky, Landesk)
> > and on this process, the router learned a lot of incomplete addresses. I
> > have some class b networks (from the history), and this means the router
> > will be learned mor then 2^16 adresses.
> >
> > Now the kerlen learn a maximum addresses – I know this is defined on
> > gc_thresh1 , gc_thresh2 and gc_thresh3 in the proc system under
> > sys.net.ipv4.neight.default. If the table have the maximum addresses in the
> > table (default=1024), no new host can send traffic packet over this router.
> > This means, we have a classical risk of DOS. In my case, I have only an
> > internal risk, but some providers may have also external risc.
> >
> > I hope, my description help you to find this error. I send also my kernel
> > config, may there is some relation to small configurations in kernel
> >
> > Viele Grüße
> >
> > Robert Gladewitz
> >
>
> CC'ing netdev.
>
Hmm, it seems we removed the ip route garbage collection too soon.
In the old times, we had a mechanism (rt_check_expire()) to remove old
route cache entries, but not anymore, so we can have some slots in IP
route cache referencing neighbours entries for infinite amount of time.
8.0.0.72 dev eth3 ref 2 used 1038/1098/1035 probes 6 FAILED
8.0.0.205 dev eth3 ref 2 used 639/699/636 probes 6 FAILED
8.0.0.82 dev eth3 ref 2 used 1008/1068/1005 probes 6 FAILED
8.0.0.215 dev eth3 ref 2 used 609/669/606 probes 6 FAILED
In 2.6.39, commit 2c8cec5c10bc (ipv4: Cache learned PMTU information in
inetpeer.) removed rt_check_expire() and added this problem.
David, I suggest we add back the garbage collector for current kernels,
we'll remove it when route cache really disappear ?
I'll send a patch today.
next prev parent reply other threads:[~2011-12-21 7:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-17 8:27 Robert Gladewitz
2011-12-17 13:26 ` richard -rw- weinberger
2011-12-21 7:44 ` Eric Dumazet [this message]
2011-12-21 8:07 ` Kernel-DOS error in arp mechanism =?iso-2022-jp-3?B?GyQoUSN8GyhC?= " David Miller
2011-12-21 9:51 ` Kernel-DOS error in arp mechanism – " Eric Dumazet
2011-12-21 20:47 ` Kernel-DOS error in arp mechanism =?iso-2022-jp-3?B?GyQoUSN8GyhC?= " David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1324453467.2610.20.camel@edumazet-laptop \
--to=eric.dumazet@gmail.com \
--cc=davem@davemloft.net \
--cc=gladewitz@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=richard.weinberger@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®