sysctl revision 136224
1113674Smtm#!/bin/sh
2113674Smtm#
3113674Smtm# $NetBSD: sysctl,v 1.12 2002/04/29 12:10:23 lukem Exp $
4113674Smtm# $FreeBSD: head/etc/rc.d/sysctl 136224 2004-10-07 13:55:26Z mtm $
5113674Smtm#
6113674Smtm
7113674Smtm# PROVIDE: sysctl
8113674Smtm# REQUIRE: root
9113674Smtm# BEFORE:  DAEMON
10113674Smtm
11113674Smtm. /etc/rc.subr
12113674Smtm
13113674Smtmname="sysctl"
14113674Smtmstop_cmd=":"
15113674Smtmstart_cmd="sysctl_start"
16113674Smtmreload_cmd="sysctl_start"
17113674Smtmlastload_cmd="sysctl_start last"
18113674Smtmextra_commands="reload lastload"
19113674Smtm
20113674Smtmsysctl_start()
21113674Smtm{
22113674Smtm	#
23113674Smtm	# Read in /etc/sysctl.conf and set things accordingly
24113674Smtm	#
25113674Smtm	if [ -f /etc/sysctl.conf ]; then
26113674Smtm		while read var comments
27113674Smtm		do
28113674Smtm			case ${var} in
29113674Smtm			\#*|'')
30113674Smtm				;;
31113674Smtm			*)
32113674Smtm				mib=${var%=*}
33113674Smtm				val=${var#*=}
34113674Smtm
35113674Smtm				if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
36113674Smtm					case ${current_value} in
37113674Smtm					${val})
38113674Smtm						;;
39113674Smtm					*)
40113674Smtm						sysctl ${var}
41113674Smtm						;;
42113674Smtm					esac
43113674Smtm				elif [ "$1" = "last" ]; then
44113674Smtm					warn "sysctl ${mib} does not exist."
45113674Smtm				fi
46113674Smtm				;;
47113674Smtm			esac
48113674Smtm		done < /etc/sysctl.conf
49113674Smtm	fi
50113674Smtm}
51113674Smtm
52113674Smtmload_rc_config $name
53113674Smtmrun_rc_command "$1"
54113674Smtm