pfsync revision 195026
178344Sobrien#!/bin/sh
278344Sobrien#
3134995Sobrien# $FreeBSD: head/etc/rc.d/pfsync 195026 2009-06-26 01:04:50Z dougb $
498184Sgordon#
578344Sobrien
678344Sobrien# PROVIDE: pfsync
778344Sobrien# REQUIRE: FILESYSTEMS netif
8128470Sdarrenr# KEYWORD: nojail
998184Sgordon
10136224Smtm. /etc/rc.subr
1178344Sobrien
1278344Sobrienname="pfsync"
1378344Sobrienrcvar=`set_rcvar`
1478344Sobrienstart_precmd="pfsync_prestart"
1598184Sgordonstart_cmd="pfsync_start"
16124618Smtmstop_cmd="pfsync_stop"
17124618Smtmrequired_modules="pf"
1878344Sobrien
1998184Sgordonpfsync_prestart()
2098184Sgordon{
21113959Smtm	# XXX Currently pfsync cannot be a module as it must register
22113959Smtm	# a network protocol in a static kernel table.
23113959Smtm	if ! kldstat -q -m pfsync; then
24113959Smtm		warn "pfsync(4) must be statically compiled in the kernel."
25113959Smtm		return 1
26113959Smtm	fi
27104980Sschweikh
28113959Smtm	case "$pfsync_syncdev" in
29104980Sschweikh	'')
3098184Sgordon		warn "pfsync_syncdev is not set."
3198184Sgordon		return 1
3298184Sgordon		;;
3378344Sobrien	esac
3478344Sobrien	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