pfsync revision 180563
1259701Sdim#!/bin/sh
2259701Sdim#
3259701Sdim# $FreeBSD: head/etc/rc.d/pfsync 180563 2008-07-16 19:22:48Z dougb $
4259701Sdim#
5259701Sdim
6259701Sdim# PROVIDE: pfsync
7259701Sdim# REQUIRE: FILESYSTEMS netif
8259701Sdim# KEYWORD: nojail
9259701Sdim
10259701Sdim. /etc/rc.subr
11259701Sdim
12259701Sdimname="pfsync"
13259701Sdimrcvar=`set_rcvar`
14259701Sdimstart_precmd="pfsync_prestart"
15259701Sdimstart_cmd="pfsync_start"
16259701Sdimstop_cmd="pfsync_stop"
17259701Sdimrequired_modules="pf"
18259701Sdim
19259701Sdimpfsync_prestart()
20259701Sdim{
21259701Sdim	# XXX Currently pfsync cannot be a module as it must register
22259701Sdim	# a network protocol in a static kernel table.
23259701Sdim	if ! kldstat -q -m pfsync; then
24259701Sdim		warn "pfsync(4) must be statically compiled in the kernel."
25259701Sdim		return 1
26259701Sdim	fi
27259701Sdim
28259701Sdim	case "$pfsync_syncdev" in
29	'')
30		warn "pfsync_syncdev is not set."
31		return 1
32		;;
33	esac
34	return 0
35}
36
37pfsync_start()
38{
39	local _syncpeer
40
41	echo "Enabling pfsync."
42	if [ -n "${pfsync_syncpeer}" ]; then
43		_syncpeer="syncpeer ${pfsync_syncpeer}"
44	fi
45	ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up
46}
47
48pfsync_stop()
49{
50	echo "Disabling pfsync."
51	ifconfig pfsync0 -syncdev down
52}
53
54load_rc_config $name
55run_rc_command "$1"
56