pfsync revision 168593
1150835Syar#!/bin/sh
2150835Syar#
3150835Syar# $FreeBSD: head/etc/rc.d/pfsync 168593 2007-04-10 16:42:14Z keramida $
4150835Syar#
5150835Syar
6150835Syar# PROVIDE: pfsync
7168531Sdes# REQUIRE: FILESYSTEMS netif
8150835Syar# KEYWORD: nojail
9150835Syar
10150835Syar. /etc/rc.subr
11150835Syar
12150835Syarname="pfsync"
13150835Syarrcvar=`set_rcvar`
14150835Syarstart_precmd="pfsync_prestart"
15150835Syarstart_cmd="pfsync_start"
16150835Syarstop_cmd="pfsync_stop"
17165683Syarrequired_modules="pf"
18150835Syar
19150835Syarpfsync_prestart()
20150835Syar{
21165683Syar	# XXX Currently pfsync cannot be a module as it must register
22165683Syar	# a network protocol in a static kernel table.
23165683Syar	if ! kldstat -q -m pfsync; then
24165683Syar		warn "pfsync(4) must be statically compiled in the kernel."
25165683Syar		return 1
26165683Syar	fi
27165683Syar
28150835Syar	case "$pfsync_syncdev" in
29150835Syar	'')
30150835Syar		warn "pfsync_syncdev is not set."
31150835Syar		return 1
32150835Syar		;;
33150835Syar	esac
34150835Syar	return 0
35150835Syar}
36150835Syar
37150835Syarpfsync_start()
38150835Syar{
39168593Skeramida	local _syncpeer
40168593Skeramida
41150835Syar	echo "Enabling pfsync."
42168593Skeramida	if [ -n "${pfsync_syncpeer}" ]; then
43168593Skeramida		_syncpeer="syncpeer ${pfsync_syncpeer}"
44168593Skeramida	fi
45168593Skeramida	ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up
46150835Syar}
47150835Syar
48150835Syarpfsync_stop()
49150835Syar{
50150835Syar	echo "Disabling pfsync."
51150835Syar	ifconfig pfsync0 -syncdev down
52150835Syar}
53150835Syar
54150835Syarload_rc_config $name
55150835Syarrun_rc_command "$1"
56