sysctl revision 124625
145096Simp#!/bin/sh
245096Simp#
3100280Sgordon# $NetBSD: sysctl,v 1.12 2002/04/29 12:10:23 lukem Exp $
450472Speter# $FreeBSD: head/etc/rc.d/sysctl 124625 2004-01-17 11:15:04Z mtm $
566830Sobrien#
664446Schris
7100280Sgordon# PROVIDE: sysctl
8113959Smtm# REQUIRE: root
9100280Sgordon# BEFORE:  DAEMON
10124616Smtm# KEYWORD: FreeBSD
1166830Sobrien
12100280Sgordon. /etc/rc.subr
1392516Sdougb
14100280Sgordonname="sysctl"
15100280Sgordonstop_cmd=":"
16124625Smtmstart_cmd="sysctl_start"
17124625Smtmreload_cmd="sysctl_start"
18124625Smtmlastload_cmd="sysctl_start last"
19124622Smtmextra_commands="reload lastload"
20100280Sgordon
21124625Smtmsysctl_start()
22100280Sgordon{
23100280Sgordon	#
24100280Sgordon	# Read in /etc/sysctl.conf and set things accordingly
25100280Sgordon	#
26100280Sgordon	if [ -f /etc/sysctl.conf ]; then
27100280Sgordon		while read var comments
28100280Sgordon		do
29100280Sgordon			case ${var} in
30100280Sgordon			\#*|'')
31100280Sgordon				;;
32100280Sgordon			*)
33100280Sgordon				mib=${var%=*}
34100280Sgordon				val=${var#*=}
35100280Sgordon
36100280Sgordon				if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
37100280Sgordon					case ${current_value} in
38100280Sgordon					${val})
39100280Sgordon						;;
40100280Sgordon					*)
41100280Sgordon						sysctl ${var}
42100280Sgordon						;;
43100280Sgordon					esac
44105968Sfenner				elif [ "$1" = "last" ]; then
45105968Sfenner					warn "sysctl ${mib} does not exist."
46100280Sgordon				fi
47100280Sgordon				;;
48100280Sgordon			esac
49100280Sgordon		done < /etc/sysctl.conf
50100280Sgordon	fi
51100280Sgordon}
52100280Sgordon
53100280Sgordonload_rc_config $name
54100280Sgordonrun_rc_command "$1"
55