To use OPMIP, you will need the Linux kernel:
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 | |
---|---|
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 | |
---|---|
Don't forget to reboot for the changes to take effect. |
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 | |
---|---|
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. |
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 | |
---|---|
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:
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 | |
---|---|
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 | |
---|---|
OPMIP doesn't support the full DHCPv6 protocol. Also OPMIP just provide IPv6 not IPv4 configuration. |
Note | |
---|---|
As DHCPv6 doesn't allow you to provide a default gateway address to mobile nodes router advertisements are still needed. |