Encapsulation Framework

Tunprox: MP-DCCP/DCCP tunnel solution

Tunprox is a tunneling application designed to work with MP-DCCP. Hence, it can be used to fulfill the function of the encapsulation scheme defined within the MP-DCCP framework, complementing the MP-DCCP protocol to provide a full fledged solution capable of transporting any IP traffic across multiple access networks. This application establishes the MP-DCCP connection, provides the encapsulation and de-encapsulation functionalities and enables the corresponding virtual network interfaces (tunneling interfaces) on each end.

Tunprox is composed from a user space tool and a kernel module, the source code is available at https://github.com/telekom/tunprox and the instructions below provide the necessary steps for compilaton, installation and configuration.

Compile and install

compile the user space tool

git clone git@github.com:telekom/tunprox.git
sudo apt-get install xutils-dev
cd tunprox/tunprox-tool
make
./install.sh

compile the kernel module

cd ../tunprox-kmod
make
make install
depmod -a
tunprox ver

Compile and install (instructions for Android)

Under consytruction

Setup a MP-DCCP tunnel

Enable server

tunprox new tp0 	# Create tunnel interface
tunprox newtun tp0 -T mpdccp 	# Setup MP-DCCP socket
tunprox setmtu tp0 -m 1300
tunprox tunbind tp0 -b 192.168.102.10:1337 	# Bind socket to the locat IP address intended to accept the connections
tunprox serverstart tp0
ip address add 10.0.42.1 dev tp0 peer 10.0.42.2 	# Assing IP address to the tunnel interface
ip link set up dev tp0

Initiate client connection

tunprox new tp0 # Create tunnel interface
tunprox newtun tp0 -T mpdccp 	# Setup MP-DCCP socket
tunprox setmtu tp0 -m 1300
tunprox tunbind tp0 -b 192.168.100.10:1337 	# Bind socket to any local interface
tunprox setpeer tp0 -r 192.168.102.10:1337 	# Initiaite connection establishment with remote peer
ip address add 10.0.42.2 dev tp0 peer 10.0.42.1 	# Assing IP address to the tunnel interface
ip link set up dev tp0