For having the Home Agent functionality on the FreeBSD system you will need to do the following (note that a node cannot act as a MN and HA at the same time). Add the following entries in /etc/rc.conf:
ipv6_mobile_enable="YES"
ipv6_mobile_config_dir="/usr/local/v6/etc/mobileip6"
ipv6_mobile_nodetype="home_agent"
ipv6_mobile_home_prefixes=<your home prefix>
ipv6_mobile_home_link=<your interface name>
Where ipv6_mobile_home_prefixes is your home prefix and ipv6_mobile_home_link is the interface name you use for the home network.
A home agent needs to contain routing functionality. Therefore you need other configuration parameters as would be required for a normal IPv6 router:
ipv6_gateway_enable="YES"
ipv6_router_enable="YES"
ipv6_router="/usr/local/v6/sbin/route6d"
ipv6_ifconfig_”xx”=<address of your interface>
The Access Router functionality is started at boot time if you add the following entries in the /etc/rc.conf:
rtadvd_enable=”YES”
rtadvd_daemon=/usr/local/v6/sbin/rtadvd
rtadvd_flags=”-ms -c /etc/rtadvd.conf”
