sysctl revision 100280
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 100280 2002-07-18 05:00:17Z gordon $
566830Sobrien#
664446Schris
7100280Sgordon# PROVIDE: sysctl
8100280Sgordon# REQUIRE: root ipfilter ipsec
9100280Sgordon# BEFORE:  DAEMON
10100280Sgordon# KEYWORD: FreeBSD NetBSD
1166830Sobrien
12100280Sgordon. /etc/rc.subr
1392516Sdougb
14100280Sgordonname="sysctl"
15100280Sgordonstop_cmd=":"
16100280Sgordon
17100280Sgordoncase `${CMD_OSTYPE}` in
18100280SgordonFreeBSD)
19100280Sgordon	start_cmd="FreeBSD_start"
20100280Sgordon	extra_commands="reload lastload"
21100280Sgordon	reload_cmd="FreeBSD_start"
22100280Sgordon	lastload_cmd="FreeBSD_start last"
23100280Sgordon	;;
24100280SgordonNetBSD)
25100280Sgordon	start_cmd="NetBSD_start"
26100280Sgordon	;;
27100280Sgordonesac
28100280Sgordon
29100280SgordonFreeBSD_start()
30100280Sgordon{
31100280Sgordon	#
32100280Sgordon	# Read in /etc/sysctl.conf and set things accordingly
33100280Sgordon	#
34100280Sgordon	if [ -f /etc/sysctl.conf ]; then
35100280Sgordon		while read var comments
36100280Sgordon		do
37100280Sgordon			case ${var} in
38100280Sgordon			\#*|'')
39100280Sgordon				;;
40100280Sgordon			*)
41100280Sgordon				mib=${var%=*}
42100280Sgordon				val=${var#*=}
43100280Sgordon
44100280Sgordon				if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
45100280Sgordon					case ${current_value} in
46100280Sgordon					${val})
47100280Sgordon						;;
48100280Sgordon					*)
49100280Sgordon						sysctl ${var}
50100280Sgordon						;;
51100280Sgordon					esac
52100280Sgordon				elif [ "$1" -eq "last" ]; then
53100280Sgordon					warn "sysctl ${mib} does not exits."
54100280Sgordon				fi
55100280Sgordon				;;
56100280Sgordon			esac
57100280Sgordon		done < /etc/sysctl.conf
58100280Sgordon	fi
59100280Sgordon}
60100280Sgordon
61100280SgordonNetBSD_start()
62100280Sgordon{
63100280Sgordon	if [ -r /etc/sysctl.conf ]; then
64100280Sgordon		echo "Setting sysctl variables:"
65100280Sgordon		${SYSCTL} -f /etc/sysctl.conf
66100280Sgordon	fi
67100280Sgordon}
68100280Sgordon
69100280Sgordonload_rc_config $name
70100280Sgordonrun_rc_command "$1"
71