Neelkanth Natu neelnatu at
Fri May 30 11:53:24 PDT 2003

Hi all,

Alpine4Linux is a userlevel FreeBSD 4.8 networking stack running on top of a stock Linux kernel.
It is an implementation of an idea that I came across in a paper[1] by David Ely, Stefan Savage
and David Wetherall. 

Alpine4Linux consists of a userland server program that runs the FreeBSD kernel code as well as
the unmodified networking stack.  Client programs use the Alpine stack by setting the LD_PRELOAD
environment variable to link to libraries, that intercept socket related system calls. These
intercepted system calls are routed to the Alpine server over a TCP connection established on the
loopback interface.

Alpine4Linux goes great lengths to ensure that its behavior is identical to that of a FreeBSD
kernel as far as networking is concerned. Thus, in addition to the unmodified FreeBSD stack.
Alpine4Linux also has unmodified socket layer code, file descriptor code, tsleep and wakeup for
e.g. It also has a rich client-side library that supports almost all socket functions as well as
functions like fork() that are commonly used by server programs.

I have tested stock Linux programs like telnet, nmap, ifconfig, vsftpd-1.1.3 etc. against 
the Alpine stack. I have only compiled it on a Redhat 8.x Linux box, so if someone manages to
run it on another Linux distribution/kernel please let me know.

You can find more information at:

Hopefully someone finds use for this.


[1] Alpine: A user-level infrastructure for network protocol development
    David Ely, Stefan Savage, David Wetherall

Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).

More information about the freebsd-net mailing list