HOWTO

Download

Using git: git clone git@bitbucket.org:wakoond/mip6d-ng.git

Build

You could using the common configure script or the ./reconf.sh which re-generates the autoconf stuff and calls the configure script with a few common parameters. Next you could build everything with a simple make. If you wish you make dpkg packages with the make deb command.

Requirements

You may require the following packets for compiling mip6d-ng:

build-essential automake autoconf libtool
iptables-dev iproute-dev libnfnetlink-dev libconfuse-dev libltdl-dev libssl-dev

 

Install

The make install command installs everything into the right place. The following table overviews the installed things:

Path Description
/usr/bin/mip6d-ng Main application
/etc/mip6d-ng.conf.sample Sample configuration file
/usr/lib/mip6d-ng/modules Plugins and extensions
/etc/mip6d-ng/modules Place of applied plugins
/usr/include/mip6d-ng Core headers for plugin development
/usr/lib/libmip6 API interface library
/usr/bin/mip6d-ng-console Management console
/usr/bin/pingm6 Test application using Flow Binding

Run

Usage: /usr/bin/mip6d-ng -c <config file> -m <modules dir>

Typical execution:

/usr/bin/mip6d-ng -c /etc/mip6d-ng.conf -m /etc/mip6d-ng/modules

or just mip6-ng without arguments.

You’ll need the following kernel modules loaded:

ip6_tables ip6table_mangle xt_mark x_tables

Sample Configuration

Home Agent

Module list:

libapi.so
libcontrol.so
libcorecomm.so
libdata.so
libenvironment.so
libflowb.so
libmcoa.so

Configuration:

loglevel = 2

ha {
    address = "2001:470:7210:10::1000"
    interface = "eth2"
}

api {
    listening_port = 1234
}

Mobile Node

Module list:

libapi.so
libapi.so
libcontrol.so
libcorecomm.so
libdata.so
libenvironment.so
libflowb.so
libmcoa.so
libmd-simple.so

Configuration:

loglevel = 2

interfaces = { "eth1", "eth2" }
md-delete-delay = 8

mn {
	home-address = "2001:470:7210:10::1"
	ha-address   = "2001:470:7210:10::1000"
	lifetime = 40
}

bid-pri eth1 {
	# Lower value indicates higher priority
	priority = 10
}

bid-pri eth2 {
	priority = 20
}

api {
	listening_port = 1234
}

Troubleshooting

This is only an experimental development version. In non-optimal cases the XFRM or Netfilter rules, etc. could be still existed after cleanup and exit. In this case mip6d-ng could not initialize the environment, and could not start. To fix this please use the following commands:

sudo ip -6 xfrm policy flush
sudo ip -6 xfrm state flush
sudo ip6tables -t mangle -F