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