Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 May 2002 13:52:05 -0400
From:      Richard A Steenbergen <ras@e-gerbil.net>
To:        Andre Oppermann <oppermann@pipeline.ch>
Cc:        "Louis A. Mamakos" <louie@TransSys.COM>, Attila Nagy <bra@fsn.hu>, Luigi Iannone <Luigi.Iannone@lip6.fr>, freebsd-net@FreeBSD.ORG
Subject:   Re: MPLS
Message-ID:  <20020529175205.GJ33611@overlord.e-gerbil.net>
In-Reply-To: <3CF4E483.2510639@pipeline.ch>
References:  <Pine.NEB.4.44.0205290915060.28431-100000@tibre.lip6.fr> <Pine.LNX.4.44.0205291108080.7798-100000@scribble.fsn.hu> <3CF4A64A.EE220611@pipeline.ch> <200205291413.g4TEDLRG075458@whizzo.transsys.com> <3CF4E483.2510639@pipeline.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 29, 2002 at 04:24:03PM +0200, Andre Oppermann wrote:
> > >
> > > It is true that JUNOS is more or less FreeBSD. But it's only the
> > > control plane. All the switching and stack processing happens on
> > > the line cards which have their own CPUs and OS.
> >=20
> > There is no software involved in the forwarding plane, including
> > the line cards, in the Juniper routers.  There is another CPU in
> > the box running an embedded system kernel, which does supervisory
> > things, but that's also not involved in the forwarding operation.
>=20
> If there is no kind of software involved on the forwarding plane
> then I don't know how the control plane can communicate via ethernet
> with the line cards... The internal communication in the router is
> via ethernet.

The FreeBSD based part runs on an i386 piece called the Routing Rngine,
which connects to the "rest of the system" (SFM SSB SCB or FEC boards
depending on the model) via FastE (fxp to be precise). The Routing Engine
runs the routing protocols and CLI, with all those nice FreeBSD benefits
like stability, protected process memory, extensive debugging tools, etc
(things that other vendors software lacks :P). After all the routing
information is taken in, and all the policy rules considered, a forwarding
table is constructed and passed over the ethernet link to the rest of the
system.

=46rom there, the Internet Processor 2 ASIC (which DOES run microcode) uses
the forwarding information as well as the firewall rules which have been
passed to it, to look at the headers of every packet and come back with a
destination interface (or discard). The linecards and FPCs take care of
putting the packet into shared memory, and forwarding it.

An elegant solution to the control and forwarding planes, combining the
best of all worlds, if you ask me.

> I agree with the ASIC hardware. But the BGP implementation smells
> awfully like gated (Nexthop). Anyway, a BGP deamon isn't that hard
> to write.

As someone who has actually written a BGP implementation from scratch, let
me be the first to tell you that you are full of shit. BGP is a very
complex beast, and Juniper has spent a good amount of time making what is
without a doubt the most powerful BGP implementation currently available.

--=20
Richard A Steenbergen <ras@e-gerbil.net>       http://www.e-gerbil.net/ras
PGP Key ID: 0x138EA177  (67 29 D7 BC E8 18 3E DA  B2 46 B3 D8 14 36 FE B6)

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020529175205.GJ33611>