7dbed68d886ab4e1ac4c6960b37af5c32ea05de7
[cascardo/ovs.git] / tests / system-traffic.at
1 AT_BANNER([datapath-sanity])
2
3 AT_SETUP([datapath - ping between two ports])
4 OVS_TRAFFIC_VSWITCHD_START(
5    [set-fail-mode br0 standalone -- ])
6
7 ADD_NAMESPACES(at_ns0, at_ns1)
8
9 ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
10 ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
11
12 NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
13 3 packets transmitted, 3 received, 0% packet loss, time 0ms
14 ])
15 NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
16 3 packets transmitted, 3 received, 0% packet loss, time 0ms
17 ])
18 NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
19 3 packets transmitted, 3 received, 0% packet loss, time 0ms
20 ])
21
22 OVS_TRAFFIC_VSWITCHD_STOP
23 AT_CLEANUP
24
25 AT_SETUP([datapath - ping between two ports on vlan])
26 OVS_TRAFFIC_VSWITCHD_START(
27    [set-fail-mode br0 standalone -- ])
28
29 ADD_NAMESPACES(at_ns0, at_ns1)
30
31 ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
32 ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
33
34 ADD_VLAN(p0, at_ns0, 100, "10.2.2.1/24")
35 ADD_VLAN(p1, at_ns1, 100, "10.2.2.2/24")
36
37 NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], [0], [dnl
38 3 packets transmitted, 3 received, 0% packet loss, time 0ms
39 ])
40 NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], [0], [dnl
41 3 packets transmitted, 3 received, 0% packet loss, time 0ms
42 ])
43 NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], [0], [dnl
44 3 packets transmitted, 3 received, 0% packet loss, time 0ms
45 ])
46
47 OVS_TRAFFIC_VSWITCHD_STOP
48 AT_CLEANUP
49
50 AT_SETUP([datapath - ping6 between two ports])
51 OVS_TRAFFIC_VSWITCHD_START(
52    [set-fail-mode br0 standalone -- ])
53
54 ADD_NAMESPACES(at_ns0, at_ns1)
55
56 ADD_VETH(p0, at_ns0, br0, "fc00::1/96")
57 ADD_VETH(p1, at_ns1, br0, "fc00::2/96")
58
59 dnl Without this sleep, we get occasional failures due to the following error:
60 dnl "connect: Cannot assign requested address"
61 sleep 2;
62
63 NS_CHECK_EXEC([at_ns0], [ping6 -q -c 3 -i 0.3 -w 2 fc00::2 | FORMAT_PING], [0], [dnl
64 3 packets transmitted, 3 received, 0% packet loss, time 0ms
65 ])
66 NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00::2 | FORMAT_PING], [0], [dnl
67 3 packets transmitted, 3 received, 0% packet loss, time 0ms
68 ])
69 NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | FORMAT_PING], [0], [dnl
70 3 packets transmitted, 3 received, 0% packet loss, time 0ms
71 ])
72
73 OVS_TRAFFIC_VSWITCHD_STOP
74 AT_CLEANUP
75
76 AT_SETUP([datapath - ping6 between two ports on vlan])
77 OVS_TRAFFIC_VSWITCHD_START(
78    [set-fail-mode br0 standalone -- ])
79
80 ADD_NAMESPACES(at_ns0, at_ns1)
81
82 ADD_VETH(p0, at_ns0, br0, "fc00::1/96")
83 ADD_VETH(p1, at_ns1, br0, "fc00::2/96")
84
85 ADD_VLAN(p0, at_ns0, 100, "fc00:1::1/96")
86 ADD_VLAN(p1, at_ns1, 100, "fc00:1::2/96")
87
88 dnl Without this sleep, we get occasional failures due to the following error:
89 dnl "connect: Cannot assign requested address"
90 sleep 2;
91
92 NS_CHECK_EXEC([at_ns0], [ping6 -q -c 3 -i 0.3 -w 2 fc00:1::2 | FORMAT_PING], [0], [dnl
93 3 packets transmitted, 3 received, 0% packet loss, time 0ms
94 ])
95 NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::2 | FORMAT_PING], [0], [dnl
96 3 packets transmitted, 3 received, 0% packet loss, time 0ms
97 ])
98 NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::2 | FORMAT_PING], [0], [dnl
99 3 packets transmitted, 3 received, 0% packet loss, time 0ms
100 ])
101
102 OVS_TRAFFIC_VSWITCHD_STOP
103 AT_CLEANUP
104
105 AT_SETUP([datapath - ping over vxlan tunnel])
106 AT_SKIP_IF([! ip link add foo type vxlan help 2>&1 | grep dstport >/dev/null])
107
108 OVS_TRAFFIC_VSWITCHD_START(
109    [set-fail-mode br0 standalone -- ])
110 ADD_BR([br-underlay], [set-fail-mode br-underlay standalone])
111 ADD_NAMESPACES(at_ns0)
112
113 dnl Set up underlay link from host into the namespace using veth pair.
114 ADD_VETH(p0, at_ns0, br-underlay, "172.31.1.1/24")
115 AT_CHECK([ip addr add dev br-underlay "172.31.1.100/24"])
116 AT_CHECK([ip link set dev br-underlay up])
117
118 dnl Set up tunnel endpoints on OVS outside the namespace and with a native
119 dnl linux device inside the namespace.
120 ADD_OVS_TUNNEL([vxlan], [br0], [at_vxlan0], [172.31.1.1], [10.1.1.100/24])
121 ADD_NATIVE_TUNNEL([vxlan], [at_vxlan1], [at_ns0], [172.31.1.100], [10.1.1.1/24],
122                   [id 0 dstport 4789])
123
124 dnl First, check the underlay
125 NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | FORMAT_PING], [0], [dnl
126 3 packets transmitted, 3 received, 0% packet loss, time 0ms
127 ])
128
129 dnl Okay, now check the overlay with different packet sizes
130 NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.1.1.100 | FORMAT_PING], [0], [dnl
131 3 packets transmitted, 3 received, 0% packet loss, time 0ms
132 ])
133 NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.1.1.100 | FORMAT_PING], [0], [dnl
134 3 packets transmitted, 3 received, 0% packet loss, time 0ms
135 ])
136 NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | FORMAT_PING], [0], [dnl
137 3 packets transmitted, 3 received, 0% packet loss, time 0ms
138 ])
139
140 OVS_TRAFFIC_VSWITCHD_STOP
141 AT_CLEANUP