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