ip6addrctl revision 197139
180709Sjake#!/bin/sh 280709Sjake# 380709Sjake# $FreeBSD: head/etc/rc.d/ip6addrctl 197139 2009-09-12 22:13:41Z hrs $ 480709Sjake# 580709Sjake 680709Sjake# PROVIDE: ip6addrctl 780709Sjake# REQUIRE: FILESYSTEMS 880709Sjake# BEFORE: netif 980709Sjake# KEYWORD: nojail 1080709Sjake 1180709Sjake. /etc/rc.subr 1280709Sjake 1380709Sjakename="ip6addrctl" 1481337Sobrienrcvar=`set_rcvar` 1580709Sjakestart_cmd="ip6addrctl_start" 1680709Sjakestop_cmd="ip6addrctl_stop" 1781337Sobrienextra_commands="status prefer_ipv6 prefer_ipv4" 1880709Sjakestatus_cmd="ip6addrctl" 1980709Sjakeprefer_ipv6_cmd="ip6addrctl_prefer_ipv6" 2080709Sjakeprefer_ipv4_cmd="ip6addrctl_prefer_ipv4" 2180709Sjake 2280709Sjakeip6addrctl_prefer_ipv6() 2380709Sjake{ 2480709Sjake ip6addrctl flush >/dev/null 2>&1 2580709Sjake ip6addrctl add ::1/128 50 0 2680709Sjake ip6addrctl add ::/0 40 1 2780709Sjake ip6addrctl add 2002::/16 30 2 2880709Sjake ip6addrctl add ::/96 20 3 29145153Smarius ip6addrctl add ::ffff:0:0/96 10 4 30145153Smarius checkyesno ip6addrctl_verbose && ip6addrctl 31145153Smarius} 32118239Speter 33118239Speterip6addrctl_prefer_ipv4() 3480709Sjake{ 3580709Sjake ip6addrctl flush >/dev/null 2>&1 3682910Sjake ip6addrctl add ::ffff:0:0/96 50 0 3780709Sjake ip6addrctl add ::1/128 40 1 3891783Sjake ip6addrctl add ::/0 30 2 3984186Sjake ip6addrctl add 2002::/16 20 3 4080709Sjake ip6addrctl add ::/96 10 4 4180709Sjake checkyesno ip6addrctl_verbose && ip6addrctl 4281381Sjake} 4381381Sjake 4480709Sjakeip6addrctl_start() 45166105Smarius{ 4697001Sjake if ifconfig lo0 inet6 >/dev/null 2>&1; then 47166105Smarius # We have IPv6 support in kernel. 48166105Smarius 49166105Smarius # install the policy of the address selection algorithm. 50166105Smarius if [ -f /etc/ip6addrctl.conf ]; then 5180709Sjake ip6addrctl flush >/dev/null 2>&1 5280709Sjake ip6addrctl install /etc/ip6addrctl.conf 5389052Sjake checkyesno ip6addrctl_verbose && ip6addrctl 54166105Smarius else 5580709Sjake if checkyesno ipv6_prefer; then 56163146Skmacy ip6addrctl_prefer_ipv6 57163965Skmacy else 58163146Skmacy ip6addrctl_prefer_ipv4 59163146Skmacy fi 60166105Smarius fi 6180709Sjake fi 6283756Sjake} 6383756Sjake 6483366Sjulianip6addrctl_stop() 6591360Sjake{ 6680709Sjake if ifconfig lo0 inet6 >/dev/null 2>&1; then 6791224Sjake # We have IPv6 support in kernel. 6891224Sjake ip6addrctl flush >/dev/null 2>&1 69182768Smarius fi 70182768Smarius} 71182768Smarius 72182768Smariusload_rc_config $name 7381381Sjakerun_rc_command "$1" 74182768Smarius