'OPMIP - Open PMIPv6'

PrevUpHomeNext

Getting Started

Requirements
Operating System Setup
Installation
Node Database

To use OPMIP, you will need the Linux kernel:

  • version 2.6.30 or higher
  • compiled with: CONFIG_IPV6_SUBTREES
  • the following module must be loaded or compiled built-in: ip6_tunnel
[Important] Important

You will most likely need to compile a custom kernel, since the requirements are not meet on most distributions.

Additionally, for the opmip-mag application you will need a wireless interface card configured and working as an Access Point.

[Warning] Warning

Currently, only wireless cards with MadWifi drivers are supported because the opmip-mag attach/detach event monitor driver is only implemented for MadWifi. But you can also implement your own driver, see Write an opmip-mag event driver.

For both opmip-mag and opmip-lma applications, you will need to setup IPv6 forwarding in the kernel. Typically, this can be configured at your /etc/sysctl.conf file. Edit it and add the line:

net.ipv6.conf.all.forwarding=1

[Important] Important

Don't forget to reboot for the changes to take effect.

MAG

All access links for all opmip-mag's must have the same IPv6 link local address. For example, you can setup all access links to use the address ffe80::1, see opmip-mag usage.

[Note] Note

Currently, only network wireless cards can be used as access links, see requirements. Unless you implement your own driver, see Write an opmip-mag event driver.

LMA

opmip-lma adds static route entries to the routing tables for the mobile nodes, the route manager software must be aware of this and propagate the route entries to other routers. This can be accomplished with routing software, such as Quagga, that monitors the route table and propagates static entries.

We provide you debianized sources from which you can build a debian package. If you choose to build OPMIP this way you can use any debian package managment tool to install an uninstall OPMIP.

If you choose not to use debianized sources and build directly from the git repository no installation script is provided. However, the provided binaries are standalone, they can be put anywhere.

Either way you will have to manually configure the startup of the OPMIP as a service if you wish.

[Important] Important

The binaries require an additional file, the node database.

The node database contains the database of LMA/MAG nodes, also known as router nodes, and the mobile nodes database. It uses the JSON format:

{
	"router-nodes" :
	[
		{
			"id"          : "node1",
			"ip-address"  : "2001:aaaa:bbbb:cccc::1",
			"ip-scope-id" : "2"
		},
		{
			"id"          : "node2",
			"ip-address"  : "2001:dddd:eeee:ffff::2",
			"ip-scope-id" : "2"
		}
	],

	"mobile-nodes" :
	[
		{
			"id"           : "mn1",
			"ip-prefix"    :
			[
				"2001:aaaa::/64"
			],
			"home-address" : "2001:aaaa::1",
			"link-address" :
			[
				"00:11:22:33:44:55"
			],
			"lma-id"       : "node1"
		},
		{
			"id"           : "mn2",
			"ip-prefix"    :
			[
				"2001:bbbb::/64"
			],
			"link-address" :
			[
				"00:12:23:34:45:56"
			],
			"lma-id"       : "node1"
		}
	]
}

In the above example, we have a database with:

  • two router nodes
  • two mobile nodes

Table 1. Router Node Entry

Key

Description

id

Router node identifier. This is used to find the entry in the database.

ip-address

The router node's IP address.

ip-scope-id

The interface identifier for the router node's IP address.


Table 2. Mobile Node Entry

Key

Description

id

Mobile Node identifier. This is used to find the entry in the database, it is also used has the PMIPv6 Mobile Node identifier.

ip-prefix

An array of prefixes, to assign to the mobile node via stateless autoconfiguration.

home-address

An IPv6 address to assign to the mobile node via DHCPv6.

link-address

An array containing the mobile node interfaces link addresses.

lma-id

The identifier of the LMA router node for this mobile node.


All fields are mandatory except mobile node's home-address. See Enable DHCP.

See usage on how to pass the node database to a router node.

[Note] Note

When a router node bootstraps, it's entry is lookup in the database. The entry must match the network interface configuration.

OPMIP provides DHCPv6 configuration for mobile nodes.

DHCPv6 configuration is enabled for the mobile nodes with an home-address field and disabled for the ones without it. So, you should only add home-address field if you want to provide DHCPv6 for the mobile node.

[Warning] Warning

OPMIP doesn't support the full DHCPv6 protocol. Also OPMIP just provide IPv6 not IPv4 configuration.

[Note] Note

As DHCPv6 doesn't allow you to provide a default gateway address to mobile nodes router advertisements are still needed.


PrevUpHomeNext