pfsync revision 168593
1180740Sdes#!/bin/sh
2180740Sdes#
3180740Sdes# $FreeBSD: head/etc/rc.d/pfsync 168593 2007-04-10 16:42:14Z keramida $
4180740Sdes#
5180740Sdes
6180740Sdes# PROVIDE: pfsync
7180740Sdes# REQUIRE: FILESYSTEMS netif
8180740Sdes# KEYWORD: nojail
9180740Sdes
10180740Sdes. /etc/rc.subr
11180740Sdes
12180740Sdesname="pfsync"
13180740Sdesrcvar=`set_rcvar`
14180740Sdesstart_precmd="pfsync_prestart"
15180740Sdesstart_cmd="pfsync_start"
16264377Sdesstop_cmd="pfsync_stop"
17180740Sdesrequired_modules="pf"
18180740Sdes
19180740Sdespfsync_prestart()
20180740Sdes{
21180740Sdes	# XXX Currently pfsync cannot be a module as it must register
22180740Sdes	# a network protocol in a static kernel table.
23180740Sdes	if ! kldstat -q -m pfsync; then
24180740Sdes		warn "pfsync(4) must be statically compiled in the kernel."
25180740Sdes		return 1
26180740Sdes	fi
27180740Sdes
28180740Sdes	case "$pfsync_syncdev" in
29180740Sdes	'')
30180740Sdes		warn "pfsync_syncdev is not set."
31225825Sdes		return 1
32180740Sdes		;;
33180740Sdes	esac
34180740Sdes	return 0
35225825Sdes}
36225825Sdes
37180740Sdespfsync_start()
38180740Sdes{
39180740Sdes	local _syncpeer
40180740Sdes
41180740Sdes	echo "Enabling pfsync."
42180740Sdes	if [ -n "${pfsync_syncpeer}" ]; then
43180740Sdes		_syncpeer="syncpeer ${pfsync_syncpeer}"
44180740Sdes	fi
45180740Sdes	ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up
46180740Sdes}
47180740Sdes
48180740Sdespfsync_stop()
49180740Sdes{
50180740Sdes	echo "Disabling pfsync."
51180740Sdes	ifconfig pfsync0 -syncdev down
52180740Sdes}
53180740Sdes
54180740Sdesload_rc_config $name
55180740Sdesrun_rc_command "$1"
56180740Sdes