]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/pfsync
Document r332460, makefs(8) default block and fragment sizes
[FreeBSD/FreeBSD.git] / etc / rc.d / pfsync
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: pfsync
7 # REQUIRE: FILESYSTEMS netif
8 # KEYWORD: nojail
9
10 . /etc/rc.subr
11
12 name="pfsync"
13 desc="Packet filter state table sychronisation interface"
14 rcvar="pfsync_enable"
15 start_precmd="pfsync_prestart"
16 start_cmd="pfsync_start"
17 stop_cmd="pfsync_stop"
18 required_modules="pf"
19
20 pfsync_prestart()
21 {
22         case "$pfsync_syncdev" in
23         '')
24                 warn "pfsync_syncdev is not set."
25                 return 1
26                 ;;
27         esac
28         return 0
29 }
30
31 pfsync_start()
32 {
33         local _syncpeer
34
35         echo "Enabling pfsync."
36         if [ -n "${pfsync_syncpeer}" ]; then
37                 _syncpeer="syncpeer ${pfsync_syncpeer}"
38         fi
39         load_kld pfsync
40         ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up
41 }
42
43 pfsync_stop()
44 {
45         echo "Disabling pfsync."
46         ifconfig pfsync0 -syncdev -syncpeer down
47 }
48
49 load_rc_config $name
50 run_rc_command "$1"