ip6addrctl revision 212574
1234949Sbapt#!/bin/sh 2234949Sbapt# 3234949Sbapt# $FreeBSD: head/etc/rc.d/ip6addrctl 212574 2010-09-13 19:51:15Z hrs $ 4234949Sbapt# 5234949Sbapt 6234949Sbapt# PROVIDE: ip6addrctl 7234949Sbapt# REQUIRE: FILESYSTEMS 8234949Sbapt# BEFORE: netif 9234949Sbapt# KEYWORD: nojail 10234949Sbapt 11234949Sbapt. /etc/rc.subr 12234949Sbapt. /etc/network.subr 13234949Sbapt 14234949Sbaptname="ip6addrctl" 15234949Sbaptrcvar=`set_rcvar` 16234949Sbaptstart_cmd="ip6addrctl_start" 17234949Sbaptstop_cmd="ip6addrctl_stop" 18234949Sbaptextra_commands="status prefer_ipv6 prefer_ipv4" 19234949Sbaptstatus_cmd="ip6addrctl" 20234949Sbaptprefer_ipv6_cmd="ip6addrctl_prefer_ipv6" 21234949Sbaptprefer_ipv4_cmd="ip6addrctl_prefer_ipv4" 22234949Sbapt 23234949Sbaptset_rcvar_obsolete ipv6_enable ipv6_prefer 24234949Sbapt 25234949Sbaptip6addrctl_prefer_ipv6() 26234949Sbapt{ 27234949Sbapt afexists inet6 || return 0 28234949Sbapt 29234949Sbapt ip6addrctl flush >/dev/null 2>&1 30234949Sbapt ip6addrctl add ::1/128 50 0 31234949Sbapt ip6addrctl add ::/0 40 1 32234949Sbapt ip6addrctl add 2002::/16 30 2 33234949Sbapt ip6addrctl add ::/96 20 3 34234949Sbapt ip6addrctl add ::ffff:0:0/96 10 4 35234949Sbapt checkyesno ip6addrctl_verbose && ip6addrctl 36234949Sbapt} 37234949Sbapt 38234949Sbaptip6addrctl_prefer_ipv4() 39234949Sbapt{ 40234949Sbapt afexists inet6 || return 0 41234949Sbapt 42234949Sbapt ip6addrctl flush >/dev/null 2>&1 43234949Sbapt ip6addrctl add ::ffff:0:0/96 50 0 44234949Sbapt ip6addrctl add ::1/128 40 1 45234949Sbapt ip6addrctl add ::/0 30 2 46234949Sbapt ip6addrctl add 2002::/16 20 3 47 ip6addrctl add ::/96 10 4 48 checkyesno ip6addrctl_verbose && ip6addrctl 49} 50 51ip6addrctl_start() 52{ 53 afexists inet6 || return 0 54 55 # install the policy of the address selection algorithm. 56 if [ -f /etc/ip6addrctl.conf ]; then 57 ip6addrctl flush >/dev/null 2>&1 58 ip6addrctl install /etc/ip6addrctl.conf 59 checkyesno ip6addrctl_verbose && ip6addrctl 60 else 61 if checkyesno ipv6_prefer; then 62 ip6addrctl_prefer_ipv6 63 else 64 ip6addrctl_prefer_ipv4 65 fi 66 fi 67} 68 69ip6addrctl_stop() 70{ 71 afexists inet6 || return 0 72 73 ip6addrctl flush >/dev/null 2>&1 74} 75 76load_rc_config $name 77run_rc_command "$1" 78