kernel - Make certain sysctl's unlocked
[dragonfly.git] / etc / rc.d / pflog
blobdc5806af80801ff713fff3eac0cab218fa2f5eb4
1 #!/bin/sh
3 # $FreeBSD: src/etc/rc.d/pflog,v 1.2 2004/08/31 14:23:51 mlaier Exp $
6 # PROVIDE: pflog
7 # REQUIRE: root mountcritlocal netif
8 # BEFORE: DAEMON LOGIN
9 # KEYWORD: nojail
11 . /etc/rc.subr
13 name="pflog"
14 rcvar=`set_rcvar`
15 load_rc_config $name
16 stop_precmd="test -x ${pflog_program}"
17 start_precmd="pflog_prestart"
18 start_cmd="pflog_start"
19 stop_cmd="pflog_stop"
20 resync_precmd="$stop_precmd"
21 resync_cmd="pflog_resync"
22 status_precmd="$stop_precmd"
23 status_cmd="pflog_status"
24 extra_commands="resync status"
26 pflog_prestart()
28 # load pflog kernel module if needed
29 kldstat -m pf || kldload -n pf || exit 1
31 # set pflog0 interface to up state
32 if ! ifconfig pflog0 up; then
33 warn 'pflog: COULD NOT SET UP pflog0'
36 # check for pflogd binary
37 if [ ! -x "${pflog_program:-/sbin/pflogd}" ]
38 then
39 warn 'pflog: NO PFLOGD BINARY FOUND'
40 return 1
44 pflog_start()
46 echo -n "Enabling pflogd"
47 if ! ${pflog_program:-/sbin/pflogd} ${pflog_flags} \
48 -f ${pflog_logfile:-/var/log/pflog}; then
49 echo " failed!"
50 else
51 echo "."
55 pflog_stop()
57 if [ -r /var/run/pflogd.pid ]; then
58 echo "Stopping pflogd."
59 kill `cat /var/run/pflogd.pid`
63 pflog_resync()
65 if [ -r /var/run/pflogd.pid ]; then
66 kill -SIGHUP `cat /var/run/pflogd.pid`
70 pflog_status()
72 if [ -r /var/run/pflogd.pid ]; then
73 ps -p `cat /var/run/pflogd.pid` | tail -n 1
74 else
75 echo 'pflogd not running.'
79 run_rc_command "$1"