Linked by Thom Holwerda on Wed 25th Mar 2015 00:14 UTC
Linux

Our objective is to build the kernel network stack as a shared library that can be linked to by userspace programs to provide network stack personalization and testing facilities, and allow researchers to more easily simulate complex network topologies of linux routers/hosts.

Although the architecture itself can virtualize various things, the current design only focuses on the network stack. You can benefit network stack feature such as TCP, UDP, SCTP, DCCP (IPv4 and IPv6), Mobie IPv6, Multipath TCP (IPv4/IPv6, out-of-tree at the present moment), and netlink with various userspace applications (quagga, iproute2, iperf, wget, and thttpd).

Order by: Score:
Cool!
by tomz on Wed 25th Mar 2015 01:27 UTC
tomz
Member since:
2010-05-06

Way back when (I think the 1.3 kernel before a major change in IPV4) I tried to turn IPV4 into a loadable module. If you are trying to boot from a disk and don't need NFS, you probably won't need it for a while, and for embedded this is better.

The next step is to make a trivial kernel, and then to have a built-in insmod for the decompressed kernel image so you could do everything as a module except for the core, and just do "cat kernel.bin x.ko y.ko z.ko ..." and it would boot, self-load (and allowing removal!).

Reply Score: 3

Microkernel vs Monoltih ?
by Kochise on Wed 25th Mar 2015 06:24 UTC
Kochise
Member since:
2006-03-03

Nope, that sounds like exokernel architecture...

Edited 2015-03-25 06:25 UTC

Reply Score: 2

What about networkcard drivers ?
by Lennie on Thu 26th Mar 2015 08:59 UTC
Lennie
Member since:
2007-09-22

Because if you have NIC-drivers, maybe a large part of that can be used to talk to the network card directly getting even better performance:

http://lukego.github.io/blog/2013/01/04/kernel-bypass-networking/

Also sounds a lot like User-mode-Linux (running Linux as a process under Linux) and even coLinux (running Linux as a process under Windows).

Edited 2015-03-26 09:01 UTC

Reply Score: 2