descriptionLightweight Autonomic Network Architecture for the Linux kernel
homepage URL
last changeThu, 16 Feb 2012 16:43:17 +0000 (16 17:43 +0100)
content tags
          Lightweight Autonomic Network Architecture (LANA)


Network programming is widely understood as programming strictly defined socket
interfaces. Only some frameworks have made a step towards 'real' network
programming by decomposing networking functionality into small modular blocks
(functional blocks) that can be assembled in a flexible, graph-like manner. In
this work, we tackle the challenge of accommodating 3 partially conflicting

   (i) high flexibility for network programmers,
  (ii) re-configuration of the network stack at runtime, and 
 (iii) high packet forwarding rates.

First experiences with a prototype implementation in Linux suggest little
performance overhead compared to the standard Linux protocol stack.

How to browse the source:
   src/             - Contains all kernel modules of LANA
   usr/             - Contains userspace configuration tools for LANA
   app/             - Contains a voice-over-Ethernet application that
                      uses PF_LANA BSD sockets
   sem/             - Contains a set of semantic patches that can be
                      used with Coccinelle (
   microblaze/      - SoC design files and kernel conf for the ML605 board
                      LANA microblaze port:
   doc/             - The name says everything, you need LaTeX for this

Within the src/ folder, there are files named:
   fb_*.c           - These are functional block kernel modules
   core.c           - LANA core loader (-> lana.ko)
   xt_*.{c,h}       - LANA core extensions

For questions, bugs and other things, you can write the authors, see the
REPORTING-BUGS file. Happy Kernel Hacking! :-)
2012-02-16 Daniel Borkmannpf_lana: release lock in sendmsg after ppe has finishedmaster
2012-01-24 Daniel Borkmanndocs: tiny update
2012-01-24 Daniel Borkmanndoc: update in main document
2012-01-19 Daniel Borkmannpatches: fixed second patch
2012-01-19 Daniel Borkmannpatches: fixed patch
2012-01-18 Daniel Borkmannpatches: fix typo in signed-off-by line
2012-01-18 Daniel Borkmannmicroblaze: moved patches into pachtes folder
2012-01-18 Daniel Borkmannmicroblaze: add generic atomic64 support
2012-01-18 Daniel Borkmannmicroblaze: added kernel patch for Xilinx AXI Ethernet
2012-01-16 Daniel Borkmanntrafgen: update board's mac address
2012-01-16 Daniel Borkmannethernetgmii: updated kernel config, simpleImage.xilinx...
2012-01-16 Daniel Borkmannethernetgmii: added Marvell PHYs to kernel config
2012-01-16 Daniel Borkmannethernetgmii: updated misc files from SDK
2012-01-16 Daniel Borkmannethernetgmii: make design files compile (warning: takes...
2012-01-16 Daniel Borkmannethernetgmii: updated port layout for missing pins
2012-01-16 Daniel Borkmannethernetgmii: used ethernetlite design, added dma,...
4 years ago ancs2011
3 years ago master
4 years ago experimental