Link Search Menu Expand Document

Operating System

The current codebase has been tested using:

  • 4.19.x LTS kernel release on Gentoo

Building opendtn

  1. Patch the running kernel sources.
  2. Building OpenDTN out-of-tree.

To install, see installing of the kernel modules.

Patching the Kernel Sources

There are three patches to add to a few kernel headers. Note: patches will eventually be included.

1) Add the new domain (address family) in include/linux/socket.h by adding the following and increment AF_MAX.

#define AF_BP 45	/* Bundle Protocol */
#define AF_MAX 46	/* Increment */
#define PF_BP AF_BP	

2) Add the new type in struct sock_type of include/linux/net.h.

SOCK_BP = 7,

3) Add UDP and TCP protocols in include/uapi/linux/in.h:

IPPROTO_BP_UDPCL = 201, /* BP UDP Convergence Layer */
IPPROTO_BP_TCPCL = 202, /* BP TCP Convergence Layer */

4) Recompile the kernel.

Building OpenDTN

1) Clone OpenDTN from the Git repository.

$ git clone

2) Building OpenDTN and generate module dependency information.

$ cd opendtn
$ make
$ depmod