From: "Mathieu Giguere" <Mathieu.Giguere@ericsson.ca>
To: "Andi Kleen" <ak@muc.de>
Cc: <netdev@oss.sgi.com>, <linux-kernel@vger.kernel.org>
Subject: Re: IPv4 and IPv6 stack multi-FIB, scalable in the million of entries.
Date: Thu, 8 Apr 2004 14:10:43 -0400 [thread overview]
Message-ID: <012201c41d94$cee1b400$0348858e@D4SF2B21> (raw)
In-Reply-To: m3ptaiwfpq.fsf@averell.firstfloor.org
Hi,
Why we need a routing cache? A patricia tree or radix tree is not fast
enough with the kind of memory speed we have in PC technologies now???
The main goal to remove the routing cache is to avoid to have 4096 routes
limitation + all problem of the cache is not flush correclty when default
route/next-hop for a particular route are change in the middle of a TCP
connection and are not consider at all. Also, when the routing cache is
finally flush, all the information about the PMTU of the other entries are
lost and must be rebuild. So it's a lot of rebuilding of information for
nothing when you have a lot of peer to talk with.
It's may look like overkill for a home user, but for commercial server, 4k
routes can be really fast exhauted. For us, we talking more about million
of routes in the system. Also, the patch I provide exploit already the
plug/and/pray of the fib. But doesn't give at all the flexibility to remove
the _unclean_ hack: the routing cache.
What is dirty form the current implementation, quick example spagetti code
with goto going back at the beginning of the function in route.c in IPV6.
All the mtu/pmtu put in the cache entries instead in the fib himself. Just
to name few examples.
/mathieu
----- Original Message -----
From: "Andi Kleen" <ak@muc.de>
To: "Mathieu Giguere" <Mathieu.Giguere@ericsson.ca>
Cc: <netdev@oss.sgi.com>; <linux-kernel@vger.kernel.org>
Sent: Thursday, April 08, 2004 1:18 PM
Subject: Re: IPv4 and IPv6 stack multi-FIB, scalable in the million of
entries.
> "Mathieu Giguere" <Mathieu.Giguere@ericsson.ca> writes:
>
> [you should probably discuss that on netdev@oss.sgi.com instead, cc'ed]
>
> > We currently looking for a multi-FIB, scalable routing table in the
> > million of entries, no routing cache for IPv4 and IPv6. We want a IP
stack
>
> No routing cache? Doesn't sound like a good idea.
>
> > that can have a log(n) (or better) insertion/deletion and lookup
> > performance. Predictable performance, even in the million of entries.
>
> And even more vast overkill for most linux users than the existing
> routing code already is. Linux has at least the beginnings of a pluggable
> FIB interface (fib_table), which has slightly bit rotted, but probably
> not too bad. I would suggest you clean that up, make the existing
> hash table really optional and then you can just plug in anything you
want.
>
> > I join a patch with the fib_hash in IPv4 replace with a patricia
tree
> > ready for multi-FIB base on a 2.4.22 kernel. This is the beginning of a
> > long cleanup.
>
> What do you consider dirty in the current stack?
>
> -Andi
>
next prev parent reply other threads:[~2004-04-08 18:10 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1IJuR-8qH-39@gated-at.bofh.it>
2004-04-08 17:18 ` IPv4 and IPv6 stack multi-FIB, scalable in the million of entries Andi Kleen
2004-04-08 18:10 ` Mathieu Giguere [this message]
2004-04-08 18:33 ` David S. Miller
2004-04-08 18:34 ` alex
2004-04-08 19:53 Mathieu Giguere
2004-04-09 1:05 ` jamal
-- strict thread matches above, loose matches on Subject: below --
2004-04-08 21:16 Krishna Kumar
2004-04-09 13:16 Ronnie Sahlberg
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='012201c41d94$cee1b400$0348858e@D4SF2B21' \
--to=mathieu.giguere@ericsson.ca \
--cc=ak@muc.de \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@oss.sgi.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;
as well as URLs for NNTP newsgroup(s).