]>
Commit | Line | Data |
---|---|---|
7ca476af | 1 | # _ADD_BR([name]) |
d7c5426b DDP |
2 | # |
3 | # Expands into the proper ovs-vsctl commands to create a bridge with the | |
cf7659b6 JR |
4 | # appropriate type and properties |
5 | m4_define([_ADD_BR], [[add-br $1 -- set Bridge $1 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15 fail-mode=secure ]]) | |
d7c5426b DDP |
6 | |
7 | # OVS_TRAFFIC_VSWITCHD_START([vsctl-args], [vsctl-output], [=override]) | |
69c2bdfe AZ |
8 | # |
9 | # Creates a database and starts ovsdb-server, starts ovs-vswitchd | |
10 | # connected to that database, calls ovs-vsctl to create a bridge named | |
11 | # br0 with predictable settings, passing 'vsctl-args' as additional | |
12 | # commands to ovs-vsctl. If 'vsctl-args' causes ovs-vsctl to provide | |
13 | # output (e.g. because it includes "create" commands) then 'vsctl-output' | |
c724bd67 | 14 | # specifies the expected output after filtering through uuidfilt. |
69c2bdfe | 15 | # |
810e1785 JS |
16 | # Best-effort loading of all available vport modules is performed. |
17 | # | |
d7c5426b | 18 | m4_define([OVS_TRAFFIC_VSWITCHD_START], |
810e1785 | 19 | [AT_CHECK([modprobe openvswitch]) |
53eb8cb8 | 20 | on_exit 'modprobe -r openvswitch' |
810e1785 JS |
21 | m4_foreach([mod], [[vport_geneve], [vport_gre], [vport_lisp], [vport_stt], [vport_vxlan]], |
22 | [modprobe -q mod || echo "Module mod not loaded." | |
a134d79d TLSC |
23 | on_exit 'modprobe -q -r mod' |
24 | ]) | |
53eb8cb8 | 25 | on_exit 'ovs-dpctl del-dp ovs-system' |
69c2bdfe AZ |
26 | _OVS_VSWITCHD_START([]) |
27 | dnl Add bridges, ports, etc. | |
c724bd67 | 28 | AT_CHECK([ovs-vsctl -- _ADD_BR([br0]) -- $1 m4_if([$2], [], [], [| uuidfilt])], [0], [$2]) |
69c2bdfe | 29 | ]) |
d7c5426b DDP |
30 | |
31 | # OVS_TRAFFIC_VSWITCHD_STOP([WHITELIST], [extra_cmds]) | |
69c2bdfe AZ |
32 | # |
33 | # Gracefully stops ovs-vswitchd and ovsdb-server, checking their log files | |
34 | # for messages with severity WARN or higher and signaling an error if any | |
35 | # is present. The optional WHITELIST may contain shell-quoted "sed" | |
36 | # commands to delete any warnings that are actually expected, e.g.: | |
37 | # | |
d7c5426b | 38 | # OVS_TRAFFIC_VSWITCHD_STOP(["/expected error/d"]) |
e2b553e4 AZ |
39 | # |
40 | # 'extra_cmds' are shell commands to be executed afte OVS_VSWITCHD_STOP() is | |
41 | # invoked. They can be used to perform additional cleanups such as name space | |
42 | # removal. | |
b883db24 | 43 | m4_define([OVS_TRAFFIC_VSWITCHD_STOP], |
5390d185 | 44 | [OVS_VSWITCHD_STOP([$1]) |
e2b553e4 | 45 | AT_CHECK([:; $2]) |
69c2bdfe | 46 | ]) |
07659514 | 47 | |
ddcf96d2 DDP |
48 | # CONFIGURE_VETH_OFFLOADS([VETH]) |
49 | # | |
50 | # The kernel datapath has no problem with offloads and veths. Nothing | |
51 | # to do here. | |
52 | m4_define([CONFIGURE_VETH_OFFLOADS], | |
53 | ) | |
54 | ||
07659514 JS |
55 | # CHECK_CONNTRACK() |
56 | # | |
57 | # Perform requirements checks for running conntrack tests, and flush the | |
58 | # kernel conntrack tables when the test is finished. | |
59 | # | |
60 | m4_define([CHECK_CONNTRACK], | |
ef0c5ffa | 61 | [AT_SKIP_IF([test $HAVE_PYTHON = no]) |
6b1babac JS |
62 | m4_foreach([mod], [[nf_conntrack_ipv4], [nf_conntrack_ipv6], [nf_nat_ftp], |
63 | [nf_nat_tftp]], | |
07659514 JS |
64 | [modprobe mod || echo "Module mod not loaded." |
65 | on_exit 'modprobe -r mod' | |
66 | ]) | |
ff188ad1 | 67 | sysctl -w net.netfilter.nf_conntrack_helper=0 |
ef0c5ffa | 68 | on_exit 'ovstest test-netlink-conntrack flush' |
07659514 JS |
69 | ] |
70 | ) | |
4573c42e DDP |
71 | |
72 | # CHECK_CONNTRACK_ALG() | |
73 | # | |
74 | # Perform requirements checks for running conntrack ALG tests. The kernel | |
75 | # supports ALG, so no check is needed. | |
76 | # | |
77 | m4_define([CHECK_CONNTRACK_ALG]) | |
78 | ||
79 | # CHECK_CONNTRACK_FRAG() | |
80 | # | |
81 | # Perform requirements checks for running conntrack fragmentations tests. | |
82 | # The kernel always supports fragmentation, so no check is needed. | |
83 | m4_define([CHECK_CONNTRACK_FRAG]) | |
84 | ||
85 | # CHECK_CONNTRACK_LOCAL_STACK() | |
86 | # | |
87 | # Perform requirements checks for running conntrack tests with local stack. | |
88 | # The kernel always supports reading the connection state of an skb coming | |
89 | # from an internal port, without an explicit ct() action, so no check is | |
90 | # needed. | |
91 | m4_define([CHECK_CONNTRACK_LOCAL_STACK]) | |
92 | ||
93 | # CHECK_CONNTRACK_NAT() | |
94 | # | |
95 | # Perform requirements checks for running conntrack NAT tests. The kernel | |
96 | # always supports NAT, so no check is needed. | |
97 | # | |
98 | m4_define([CHECK_CONNTRACK_NAT]) | |
c43a1331 | 99 | |
26509f88 DB |
100 | # CHECK_CT_DPIF_SET_GET_MAXCONNS() |
101 | # | |
102 | # Perform requirements checks for running ovs-dpctl ct-set-maxconns or | |
103 | # ovs-dpctl ct-get-maxconns. The kernel datapath does not support this | |
104 | # feature. | |
105 | m4_define([CHECK_CT_DPIF_SET_GET_MAXCONNS], | |
106 | [ | |
107 | AT_SKIP_IF([:]) | |
108 | ]) | |
109 | ||
110 | # CHECK_CT_DPIF_GET_NCONNS() | |
111 | # | |
112 | # Perform requirements checks for running ovs-dpctl ct-get-nconns. The | |
113 | # kernel datapath does not support this feature. | |
114 | m4_define([CHECK_CT_DPIF_GET_NCONNS], | |
115 | [ | |
116 | AT_SKIP_IF([:]) | |
117 | ]) |