diff options
Diffstat (limited to 'libexec/rc/rc.d/pfsync')
-rwxr-xr-x | libexec/rc/rc.d/pfsync | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/libexec/rc/rc.d/pfsync b/libexec/rc/rc.d/pfsync new file mode 100755 index 000000000000..e2ba9c17cd45 --- /dev/null +++ b/libexec/rc/rc.d/pfsync @@ -0,0 +1,52 @@ +#!/bin/sh +# +# + +# PROVIDE: pfsync +# REQUIRE: FILESYSTEMS netif +# KEYWORD: nojailvnet + +. /etc/rc.subr + +name="pfsync" +desc="Packet filter state table sychronisation interface" +rcvar="pfsync_enable" +start_precmd="pfsync_prestart" +start_cmd="pfsync_start" +stop_cmd="pfsync_stop" +required_modules="pf pfsync" + +pfsync_prestart() +{ + case "$pfsync_syncdev" in + '') + warn "pfsync_syncdev is not set." + return 1 + ;; + esac + return 0 +} + +pfsync_start() +{ + local _syncpeer + + echo "Enabling pfsync." + if [ -n "${pfsync_syncpeer}" ]; then + _syncpeer="syncpeer ${pfsync_syncpeer}" + fi + ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up +} + +pfsync_stop() +{ + echo "Disabling pfsync." + ifconfig pfsync0 -syncdev -syncpeer down +} + +load_rc_config $name + +# doesn't make sense to run in a svcj: config setting +pfsync_svcj="NO" + +run_rc_command "$1" |