sysctl revision 174438
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/sysctl 174438 2007-12-08 07:20:23Z dougb $
4#
5
6# PROVIDE: sysctl
7# REQUIRE: root
8# BEFORE:  DAEMON
9
10. /etc/rc.subr
11
12name="sysctl"
13stop_cmd=":"
14start_cmd="sysctl_start"
15reload_cmd="sysctl_start"
16lastload_cmd="sysctl_start last"
17extra_commands="reload lastload"
18
19sysctl_start()
20{
21	#
22	# Read in /etc/sysctl.conf and set things accordingly
23	#
24	if [ -f /etc/sysctl.conf ]; then
25		while read var comments
26		do
27			case ${var} in
28			\#*|'')
29				;;
30			*)
31				mib=${var%=*}
32				val=${var#*=}
33
34				if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
35					case ${current_value} in
36					${val})
37						;;
38					*)
39						sysctl "${var}"
40						;;
41					esac
42				elif [ "$1" = "last" ]; then
43					warn "sysctl ${mib} does not exist."
44				fi
45				;;
46			esac
47		done < /etc/sysctl.conf
48	fi
49}
50
51load_rc_config $name
52run_rc_command "$1"
53