Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Nov 2002 14:08:33 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        dolemite@wuli.nu
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Netgraph could be a router also.
Message-ID:  <3DCD8761.5763AAB2@mindspring.com>
References:  <20021109180321.GA559@unknown.nycap.rr.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Alex Newman wrote:
> >I'm well aware of the Click Router project (which dealt with data
> >at layer 3, not layer 4, BTW).
>
> But I could have for instance zebra taking care of the control plane
> and click working with the data plane right?

You're missing the point, which is that they've effectively written
their own OS, which is loaded as a kernel module in FreeBSD or Linux,
and takes over processing.


> >Among other things, it rewrote the ethernet card firmware to get
> >the packets per second rate up where it is.
>
> Wow that is crazy

Not really.

Card vendors apparently can't wite useful firmware to save their
lives.  Professional grade hardware is no good without professional
grade software.

Unfortunately's most EE's think they can write software as well
as most software people think they can design hardware ("We built
the hardware, after all, who knows better how to use it than us?!?
We'll make this interface where you load a segment register, and
then you poll this memory location, because interrupts are slow,
and the most important thing any system can possibly do with its
time is take with the hardware I built...", etc., etc.).


> >Netgraph is more comparable to Streams.  It does not support a
> >"pull model", as used by ClickRouter elements, nor does it support
> >the idea of flow (which, theoretically, could allow a two port card
> >with shared memory avoid the PCI bus transfer overhead, the same
> >way that the SiBytes card that Chris Demetriou had a hand in creating).
>
> So does that mean i couldn't use it for the dataplane like click?

By "it", I guess you mean "FreeBSD"?

What are your performance goals?

Where is FreeBSD relative to those goals, right now, without you
doing anything to it?

Where is FreeBSD relative to those goals, right now, if you tune
it very carefully, but don't hack any code?

What data rate do you need to support?  How much are you willing
to modify FreeBSD?  How much are you willing to modify your
hardware design?  64 Bit PCI-X has a burst rate of about 8Gbit,
which means that it's average operation is going to be about 1/3
that, and then you have to add memory latency on top of that, if
you DMA data from the network card into main memory, instead of
just between network cards.

If you are willing to significantly modify FreeBSD, and address
all of the latency issues, a multiport Gigabit router is doable,
but you haven't even mentioned the most important aspect of any
high speed networking system, so it's not likely that you're going
to be able to do this effectively, just approaching it blind.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DCD8761.5763AAB2>