Deleted Added
full compact
sysctl (180563) sysctl (181070)
1#!/bin/sh
2#
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/sysctl 180563 2008-07-16 19:22:48Z dougb $
3# $FreeBSD: head/etc/rc.d/sysctl 181070 2008-07-31 21:57:35Z jhb $
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
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()
19#
20# Read in a file containing sysctl settings and set things accordingly.
21#
22parse_file()
20{
23{
21 #
22 # Read in /etc/sysctl.conf and set things accordingly
23 #
24 if [ -f /etc/sysctl.conf ]; then
24 if [ -f $1 ]; 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 *)
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 if ! sysctl "${var}" >/dev/null 2>&1; then
40 warn "unable to set ${var}"
41 fi
39 sysctl "${var}"
42 ;;
43 esac
40 ;;
41 esac
44 elif [ "$1" = "last" ]; then
42 elif [ "$2" = "last" ]; then
45 warn "sysctl ${mib} does not exist."
46 fi
47 ;;
48 esac
43 warn "sysctl ${mib} does not exist."
44 fi
45 ;;
46 esac
49 done < /etc/sysctl.conf
47 done < $1
50 fi
51}
52
48 fi
49}
50
51sysctl_start()
52{
53
54 parse_file /etc/sysctl.conf $1
55 parse_file /etc/sysctl.conf.local $1
56}
57
53load_rc_config $name
54run_rc_command "$1"
58load_rc_config $name
59run_rc_command "$1"