]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tests/sys/netpfil/pf/utils.subr
MFC r344764
[FreeBSD/FreeBSD.git] / tests / sys / netpfil / pf / utils.subr
1 # $FreeBSD$
2 # Utility functions
3 ##
4
5 . $(atf_get_srcdir)/../../common/vnet.subr
6
7 pft_init()
8 {
9         vnet_init
10
11         if [ ! -c /dev/pf ]; then
12                 atf_skip "This test requires pf"
13         fi
14 }
15
16 pfsynct_init()
17 {
18         pft_init
19
20         if ! kldstat -q -m pfsync; then
21                 atf_skip "This test requires pfsync"
22         fi
23 }
24
25 pft_set_rules()
26 {
27         jname=$1
28         shift
29
30         if [ $jname == "noflush" ];
31         then
32                 jname=$1
33                 shift
34         else
35                 # Flush all states, rules, fragments, ...
36                 jexec ${jname} pfctl -F all
37         fi
38
39         while [ $# -gt 0 ]; do
40                 printf "$1\n"
41                 shift
42         done | jexec ${jname} pfctl -f -
43 }
44
45 pft_cleanup()
46 {
47         vnet_cleanup
48 }
49
50 pfsynct_cleanup()
51 {
52         pft_cleanup
53 }