pfsync revision 195026
124139Sjoerg#!/bin/sh
224139Sjoerg#
363653Sphantom# $FreeBSD: head/etc/rc.d/pfsync 195026 2009-06-26 01:04:50Z dougb $
424139Sjoerg#
524139Sjoerg
624139Sjoerg# PROVIDE: pfsync
724139Sjoerg# REQUIRE: FILESYSTEMS netif
824139Sjoerg# KEYWORD: nojail
924139Sjoerg
1024139Sjoerg. /etc/rc.subr
1124139Sjoerg
1224139Sjoergname="pfsync"
13307757Sdesrcvar=`set_rcvar`
1424139Sjoergstart_precmd="pfsync_prestart"
1524139Sjoergstart_cmd="pfsync_start"
1624139Sjoergstop_cmd="pfsync_stop"
17157842Srurequired_modules="pf"
1824139Sjoerg
1924139Sjoergpfsync_prestart()
2024139Sjoerg{
21157842Sru	# XXX Currently pfsync cannot be a module as it must register
22157842Sru	# a network protocol in a static kernel table.
23265249Sbdrewery	if ! kldstat -q -m pfsync; then
24265249Sbdrewery		warn "pfsync(4) must be statically compiled in the kernel."
2524139Sjoerg		return 1
2624139Sjoerg	fi
2724139Sjoerg
2824139Sjoerg	case "$pfsync_syncdev" in
2924139Sjoerg	'')
3024139Sjoerg		warn "pfsync_syncdev is not set."
3124139Sjoerg		return 1
3224139Sjoerg		;;
3324139Sjoerg	esac
3424139Sjoerg	return 0
3524139Sjoerg}
3624139Sjoerg
3763653Sphantompfsync_start()
3824139Sjoerg{
3924139Sjoerg	local _syncpeer
4024139Sjoerg
4124139Sjoerg	echo "Enabling pfsync."
4224139Sjoerg	if [ -n "${pfsync_syncpeer}" ]; then
4324139Sjoerg		_syncpeer="syncpeer ${pfsync_syncpeer}"
4424139Sjoerg	fi
4524139Sjoerg	ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up
4624139Sjoerg}
4724139Sjoerg
4824139Sjoergpfsync_stop()
4924139Sjoerg{
5024139Sjoerg	echo "Disabling pfsync."
5124139Sjoerg	ifconfig pfsync0 -syncdev down
5224139Sjoerg}
5324139Sjoerg
5424139Sjoergload_rc_config $name
5524139Sjoergrun_rc_command "$1"
5624139Sjoerg