kernel ip routing performance

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

kernel ip routing performance

Steffen Wendzel-2
hi,

I just read a paper called 'Optimizing the FreeBSD IP and TCP Stack' by
andre oppermann[1].

He writes that FreeBSD 7-Current implements a new and faster routing
table algorithm. Does OpenBSD includes such a speed improved algorithm
too? If not: are there plans to port the algorithm from FreeBSD to
OpenBSD?

best regards
steffen

[1] http://people.freebsd.org/~andre/Optimizing%20the%20FreeBSD%20IP%20and%20TCP%20Stack.pdf

Reply | Threaded
Open this post in threaded view
|

Re: kernel ip routing performance

Ted Unangst-2
On 9/10/06, Steffen Wendzel <[hidden email]> wrote:
> hi,
>
> I just read a paper called 'Optimizing the FreeBSD IP and TCP Stack' by
> andre oppermann[1].
>
> He writes that FreeBSD 7-Current implements a new and faster routing
> table algorithm. Does OpenBSD includes such a speed improved algorithm
> too? If not: are there plans to port the algorithm from FreeBSD to
> OpenBSD?

where is the code?

Reply | Threaded
Open this post in threaded view
|

Re: kernel ip routing performance

Steffen Wendzel-2
On Sun, 10 Sep 2006 11:50:43 -0700 "Ted Unangst" <[hidden email]> wrote:

: On 9/10/06, Steffen Wendzel <[hidden email]> wrote:
: > hi,
: >
: > I just read a paper called 'Optimizing the FreeBSD IP and TCP Stack' by
: > andre oppermann[1].
: >
: > He writes that FreeBSD 7-Current implements a new and faster routing
: > table algorithm. Does OpenBSD includes such a speed improved algorithm
: > too? If not: are there plans to port the algorithm from FreeBSD to
: > OpenBSD?
:
: where is the code?
:

I don't know. I only read the paper.

I just took a look at OpenBSD's ip_input.c. If I understood it correctly,
they want to do something like accelerating the address compares that
are done in in_iawithaddr() with the TAILQ_FOREACH loop using hashed
arrays of ptr's to tailq's.

Hmm... sounds not toooo hard. I will try to implement that just for fun.

steffen

Reply | Threaded
Open this post in threaded view
|

Re: kernel ip routing performance

Steffen Wendzel-2
Okay. I first found out that the ip_input address compare code
has nothing to do with the radix stuff they seem to mean in the
paepr.

And 2nd:

What I tried (make a hashed array for TAILQ's of in_ifaddr structs
instead the only implemented TAILQ) does not work, because there is
no way to find out what array index I can use only based on the
given IPv4 adress :-(

steffen