Next: Module Architecture
Up: Implementation of the IBAR
Previous: Implementation of the IBAR
  Contents
The protocol has been implemented as a loadable kernel module (which can be dynamically inserted into a running kernel) for Linux. The module is the same both for an IN as well as an MN. A parameter has to be passed to the module while inserting to indicate the function of the node (IN or MN).
Here are some points about the implementation of the protocol.
- The code is written at the network layer of the protocol stack.
- It is implemented in kernel space in order to achieve a better throughput compared to a user space implementation [6]. A user-space application involves the additional overhead of copying the packets from kernel space to user space and back, which is not present in kernel space implementations. Moreover, a user-space application has to compete with other user-space applications for CPU-time, which does not occur in kernel space applications.
- The implementation adds a custom header to all the packets being transmitted in the Meghadoot network.
2005-08-13