Network Stack Code Re-write (Possible motivations...?)

Lowell Gilbert freebsd-questions-local at
Mon Dec 22 22:13:18 UTC 2008

RW <rwmaillists at> writes:

> On Sat, 20 Dec 2008 17:54:24 -0500
> Lowell Gilbert <freebsd-questions-local at> wrote:
>> However,
>> commercial routers generally do not use their OS kernel this way -- it
>> is far more common that the kernel does send and receive packets
>> within its native IP stack.  
> If I'm understanding you right, I'm surprised by that (the native part).
> It make any proprietary software less portable.  You're also tying your
> code into third-party internals, which sounds like a maintenance
> problem.

Yes, but I think that's a fairly small effect.  The packet send/receive
interface involved is generally pretty small, regardless of how you
implement it.

>          I would have thought that the likes of Cisco and Alcatel
> etc would would have reusable codebases that abstract the OS and
> minimize OS dependencies.

That's always a goal, of course.  Completely throwing out the protocol
stacks in the OS kernel doesn't make most things more portable, though.
There are a fair number of system parameters that are already
implemented in OS kernels, and reinventing that wheel doesn't buy you

> What's the advantage, don't routers usually lead OS's in terms
> of new protocol support?

Protocol support per se is generally fairly independent from the OS in a
hardware router; high level protocols are usually handled in userland,
and low level protocols are mostly a hardware issue.

Lowell Gilbert, embedded/networking software engineer, Boston area

More information about the freebsd-questions mailing list