Deleted Added
full compact
sysctl (208307) sysctl (244198)
1#!/bin/sh
2#
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/sysctl 208307 2010-05-19 19:03:19Z dougb $
3# $FreeBSD: head/etc/rc.d/sysctl 244198 2012-12-13 23:32:47Z delphij $
4#
5
6# PROVIDE: sysctl
7
8. /etc/rc.subr
9
10name="sysctl"
4#
5
6# PROVIDE: sysctl
7
8. /etc/rc.subr
9
10name="sysctl"
11command="/sbin/sysctl"
11stop_cmd=":"
12start_cmd="sysctl_start"
13reload_cmd="sysctl_start"
14lastload_cmd="sysctl_start last"
15extra_commands="reload lastload"
16
12stop_cmd=":"
13start_cmd="sysctl_start"
14reload_cmd="sysctl_start"
15lastload_cmd="sysctl_start last"
16extra_commands="reload lastload"
17
17#
18# Read in a file containing sysctl settings and set things accordingly.
19#
20parse_file()
21{
22 if [ -f $1 ]; then
23 while read var comments
24 do
25 case ${var} in
26 \#*|'')
27 ;;
28 *)
29 mib=${var%=*}
30 val=${var#*=}
31
32 if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
33 case ${current_value} in
34 ${val})
35 ;;
36 *)
37 if ! sysctl "${var}" >/dev/null 2>&1; then
38 warn "unable to set ${var}"
39 fi
40 ;;
41 esac
42 elif [ "$2" = "last" ]; then
43 warn "sysctl ${mib} does not exist."
44 fi
45 ;;
46 esac
47 done < $1
48 fi
49}
50
51sysctl_start()
52{
18sysctl_start()
19{
20 case $1 in
21 last)
22 command_args="-i -f"
23 ;;
24 *)
25 command_args="-f"
26 ;;
27 esac
53
28
54 parse_file /etc/sysctl.conf $1
55 parse_file /etc/sysctl.conf.local $1
29 for _f in /etc/sysctl.conf /etc/sysctl.conf.local; do
30 [ -r ${_f} ] && ${command} ${command_args} ${_f} > /dev/null
31 done
56}
57
58load_rc_config $name
59run_rc_command "$1"
32}
33
34load_rc_config $name
35run_rc_command "$1"