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

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Mon Dec 22 22:13:18 UTC 2008


RW <rwmaillists at googlemail.com> writes:

> On Sat, 20 Dec 2008 17:54:24 -0500
> Lowell Gilbert <freebsd-questions-local at be-well.ilk.org> 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
anything. 

> 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
		http://be-well.ilk.org/~lowell/


More information about the freebsd-questions mailing list