1 ///////////////////////////////////////////////////////////////////////////////
2 Lightweight Autonomic Network Architecture (LANA)
3 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
5 Web: http://www.epics-project.eu/
6 Abstract: http://dl.acm.org/citation.cfm?id=2065222
8 Network programming is widely understood as programming strictly defined socket
9 interfaces. Only some frameworks have made a step towards 'real' network
10 programming by decomposing networking functionality into small modular blocks
11 (functional blocks) that can be assembled in a flexible, graph-like manner. In
12 this work, we tackle the challenge of accommodating 3 partially conflicting
15 (i) high flexibility for network programmers,
16 (ii) re-configuration of the network stack at runtime, and
17 (iii) high packet forwarding rates.
19 First experiences with a prototype implementation in Linux suggest little
20 performance overhead compared to the standard Linux protocol stack.
22 How to browse the source:
23 src/ - Contains all kernel modules of LANA
24 usr/ - Contains userspace configuration tools for LANA
25 app/ - Contains a voice-over-Ethernet application that
26 uses PF_LANA BSD sockets
27 sem/ - Contains a set of semantic patches that can be
28 used with Coccinelle (http://coccinelle.lip6.fr/)
29 microblaze/ - SoC design files and kernel conf for the ML605 board
31 https://github.com/borkmann/linux-microblaze
32 doc/ - The name says everything, you need LaTeX for this
34 Within the src/ folder, there are files named:
35 fb_*.c - These are functional block kernel modules
36 core.c - LANA core loader (-> lana.ko)
37 xt_*.{c,h} - LANA core extensions
39 For questions, bugs and other things, you can write the authors, see the
40 REPORTING-BUGS file. Happy Kernel Hacking! :-)