Linux Kernel Network Stack Integration
Here are some references and notes regarding the linux kernel network stack integration:
The web site description lists the goals for this project; namely, to integrate well with our existing architecture and to minimize the coding changes to the kernel code itself (so that multiple kernel versions can more easily be supported).
One might be able to take advantage of the recent work on Linux network namespace (to support virtualization):
Related to this is the project OpenVZ on lightweight network stack virtualization for Linux:
Sam Jansen's Network Simulation Cradle work focused on TCP code portability (from Linux and elsewhere), and provided some tools for changing scope of global variables to local (the "globalizer").
Some people have also done work along these lines in FreeBSD:
- Lightweight virtual machines: IMUNES project (http://www.tel.fer.hr/imunes/)
- The OppBSD project: (http://www.omnetpp.org/pmwiki/index.php?n=Main.OppBSD)
- Alpine (user-space network stack implementation): (http://portal.acm.org/citation.cfm?id=1251455)
In the long run, perhaps this project can provide suggestions to the Linux kernel developers on how to better support simulation environments (in addition to virtualization).
There have been a few inquiries about this project on our ns-developers mailing-list so, the threads below might answer your questions: