]> git.proxmox.com Git - mirror_ovs.git/blame - tests/multipath.at
odp-execute: Add missing break statement for CLONE action.
[mirror_ovs.git] / tests / multipath.at
CommitLineData
53ddd40a
BP
1AT_BANNER([multipath link selection])
2
3# The test-multipath program prints a lot of output on stdout, but each of the
4# tests below ignores it because it will vary a bit depending on endianness and
5# floating point precision. test-multipath will output an error message on
6# stderr and return with exit code 1 if anything really goes wrong. In each
7# case, we list the (approximate) expected output in a comment to aid debugging
8# if the test does fail.
9
10AT_SETUP([modulo_n multipath link selection])
eadd1644 11AT_CHECK([[ovstest test-multipath 'eth_src,50,modulo_n,1,0,NXM_NX_REG0[]']],
53ddd40a
BP
12 [0], [ignore])
13# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
14# 2 -> 3: disruption=0.66 (perfect=0.33); stddev/expected=0.0023
15# 3 -> 4: disruption=0.75 (perfect=0.25); stddev/expected=0.0061
16# 4 -> 5: disruption=0.80 (perfect=0.20); stddev/expected=0.0082
17# 5 -> 6: disruption=0.83 (perfect=0.17); stddev/expected=0.0083
18# 6 -> 7: disruption=0.86 (perfect=0.14); stddev/expected=0.0061
19# 7 -> 8: disruption=0.88 (perfect=0.12); stddev/expected=0.0103
20# 8 -> 9: disruption=0.89 (perfect=0.11); stddev/expected=0.0129
21# 9 -> 10: disruption=0.90 (perfect=0.10); stddev/expected=0.0091
22#10 -> 11: disruption=0.91 (perfect=0.09); stddev/expected=0.0114
23#11 -> 12: disruption=0.91 (perfect=0.08); stddev/expected=0.0073
24#12 -> 13: disruption=0.92 (perfect=0.08); stddev/expected=0.0165
25#13 -> 14: disruption=0.93 (perfect=0.07); stddev/expected=0.0149
26#14 -> 15: disruption=0.93 (perfect=0.07); stddev/expected=0.0127
27#15 -> 16: disruption=0.94 (perfect=0.06); stddev/expected=0.0142
28#16 -> 17: disruption=0.94 (perfect=0.06); stddev/expected=0.0098
29#17 -> 18: disruption=0.94 (perfect=0.06); stddev/expected=0.0159
30#18 -> 19: disruption=0.95 (perfect=0.05); stddev/expected=0.0121
31#19 -> 20: disruption=0.95 (perfect=0.05); stddev/expected=0.0195
32#20 -> 21: disruption=0.95 (perfect=0.05); stddev/expected=0.0120
33#21 -> 22: disruption=0.95 (perfect=0.05); stddev/expected=0.0181
34#22 -> 23: disruption=0.96 (perfect=0.04); stddev/expected=0.0222
35#23 -> 24: disruption=0.96 (perfect=0.04); stddev/expected=0.0164
36#24 -> 25: disruption=0.96 (perfect=0.04); stddev/expected=0.0146
37#25 -> 26: disruption=0.96 (perfect=0.04); stddev/expected=0.0175
38#26 -> 27: disruption=0.96 (perfect=0.04); stddev/expected=0.0231
39#27 -> 28: disruption=0.96 (perfect=0.04); stddev/expected=0.0172
40#28 -> 29: disruption=0.97 (perfect=0.03); stddev/expected=0.0211
41#29 -> 30: disruption=0.97 (perfect=0.03); stddev/expected=0.0213
42#30 -> 31: disruption=0.97 (perfect=0.03); stddev/expected=0.0253
43#31 -> 32: disruption=0.97 (perfect=0.03); stddev/expected=0.0208
44#32 -> 33: disruption=0.97 (perfect=0.03); stddev/expected=0.0223
45#33 -> 34: disruption=0.97 (perfect=0.03); stddev/expected=0.0215
46#34 -> 35: disruption=0.97 (perfect=0.03); stddev/expected=0.0201
47#35 -> 36: disruption=0.97 (perfect=0.03); stddev/expected=0.0220
48#36 -> 37: disruption=0.97 (perfect=0.03); stddev/expected=0.0221
49#37 -> 38: disruption=0.97 (perfect=0.03); stddev/expected=0.0201
50#38 -> 39: disruption=0.97 (perfect=0.03); stddev/expected=0.0215
51#39 -> 40: disruption=0.97 (perfect=0.03); stddev/expected=0.0271
52#40 -> 41: disruption=0.98 (perfect=0.02); stddev/expected=0.0272
53#41 -> 42: disruption=0.98 (perfect=0.02); stddev/expected=0.0208
54#42 -> 43: disruption=0.98 (perfect=0.02); stddev/expected=0.0226
55#43 -> 44: disruption=0.98 (perfect=0.02); stddev/expected=0.0264
56#44 -> 45: disruption=0.98 (perfect=0.02); stddev/expected=0.0233
57#45 -> 46: disruption=0.98 (perfect=0.02); stddev/expected=0.0285
58#46 -> 47: disruption=0.98 (perfect=0.02); stddev/expected=0.0246
59#47 -> 48: disruption=0.98 (perfect=0.02); stddev/expected=0.0282
60#48 -> 49: disruption=0.98 (perfect=0.02); stddev/expected=0.0233
61#49 -> 50: disruption=0.98 (perfect=0.02); stddev/expected=0.0197
62#50 -> 51: disruption=0.98 (perfect=0.02); stddev/expected=0.0317
63#51 -> 52: disruption=0.98 (perfect=0.02); stddev/expected=0.0283
64#52 -> 53: disruption=0.98 (perfect=0.02); stddev/expected=0.0282
65#53 -> 54: disruption=0.98 (perfect=0.02); stddev/expected=0.0273
66#54 -> 55: disruption=0.98 (perfect=0.02); stddev/expected=0.0283
67#55 -> 56: disruption=0.98 (perfect=0.02); stddev/expected=0.0288
68#56 -> 57: disruption=0.98 (perfect=0.02); stddev/expected=0.0263
69#57 -> 58: disruption=0.98 (perfect=0.02); stddev/expected=0.0339
70#58 -> 59: disruption=0.98 (perfect=0.02); stddev/expected=0.0262
71#59 -> 60: disruption=0.98 (perfect=0.02); stddev/expected=0.0309
72#60 -> 61: disruption=0.98 (perfect=0.02); stddev/expected=0.0285
73#61 -> 62: disruption=0.98 (perfect=0.02); stddev/expected=0.0288
74#62 -> 63: disruption=0.98 (perfect=0.02); stddev/expected=0.0298
75#63 -> 64: disruption=0.98 (perfect=0.02); stddev/expected=0.0277
76AT_CLEANUP
77
78AT_SETUP([hash_threshold multipath link selection])
eadd1644 79AT_CHECK([[ovstest test-multipath 'eth_src,50,hash_threshold,1,0,NXM_NX_REG0[]']],
53ddd40a
BP
80 [0], [ignore])
81# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
82# 2 -> 3: disruption=0.50 (perfect=0.33); stddev/expected=0.0056
83# 3 -> 4: disruption=0.50 (perfect=0.25); stddev/expected=0.0050
84# 4 -> 5: disruption=0.50 (perfect=0.20); stddev/expected=0.0074
85# 5 -> 6: disruption=0.50 (perfect=0.17); stddev/expected=0.0031
86# 6 -> 7: disruption=0.50 (perfect=0.14); stddev/expected=0.0078
87# 7 -> 8: disruption=0.50 (perfect=0.12); stddev/expected=0.0085
88# 8 -> 9: disruption=0.50 (perfect=0.11); stddev/expected=0.0093
89# 9 -> 10: disruption=0.50 (perfect=0.10); stddev/expected=0.0083
90#10 -> 11: disruption=0.51 (perfect=0.09); stddev/expected=0.0110
91#11 -> 12: disruption=0.50 (perfect=0.08); stddev/expected=0.0124
92#12 -> 13: disruption=0.50 (perfect=0.08); stddev/expected=0.0143
93#13 -> 14: disruption=0.50 (perfect=0.07); stddev/expected=0.0148
94#14 -> 15: disruption=0.50 (perfect=0.07); stddev/expected=0.0099
95#15 -> 16: disruption=0.50 (perfect=0.06); stddev/expected=0.0166
96#16 -> 17: disruption=0.50 (perfect=0.06); stddev/expected=0.0099
97#17 -> 18: disruption=0.50 (perfect=0.06); stddev/expected=0.0194
98#18 -> 19: disruption=0.50 (perfect=0.05); stddev/expected=0.0169
99#19 -> 20: disruption=0.50 (perfect=0.05); stddev/expected=0.0169
100#20 -> 21: disruption=0.50 (perfect=0.05); stddev/expected=0.0185
101#21 -> 22: disruption=0.50 (perfect=0.05); stddev/expected=0.0160
102#22 -> 23: disruption=0.50 (perfect=0.04); stddev/expected=0.0236
103#23 -> 24: disruption=0.50 (perfect=0.04); stddev/expected=0.0147
104#24 -> 25: disruption=0.50 (perfect=0.04); stddev/expected=0.0195
105#25 -> 26: disruption=0.50 (perfect=0.04); stddev/expected=0.0199
106#26 -> 27: disruption=0.50 (perfect=0.04); stddev/expected=0.0227
107#27 -> 28: disruption=0.50 (perfect=0.04); stddev/expected=0.0198
108#28 -> 29: disruption=0.50 (perfect=0.03); stddev/expected=0.0216
109#29 -> 30: disruption=0.50 (perfect=0.03); stddev/expected=0.0233
110#30 -> 31: disruption=0.50 (perfect=0.03); stddev/expected=0.0266
111#31 -> 32: disruption=0.51 (perfect=0.03); stddev/expected=0.0238
112#32 -> 33: disruption=0.50 (perfect=0.03); stddev/expected=0.0194
113#33 -> 34: disruption=0.50 (perfect=0.03); stddev/expected=0.0173
114#34 -> 35: disruption=0.50 (perfect=0.03); stddev/expected=0.0223
115#35 -> 36: disruption=0.50 (perfect=0.03); stddev/expected=0.0220
116#36 -> 37: disruption=0.50 (perfect=0.03); stddev/expected=0.0237
117#37 -> 38: disruption=0.50 (perfect=0.03); stddev/expected=0.0237
118#38 -> 39: disruption=0.50 (perfect=0.03); stddev/expected=0.0251
119#39 -> 40: disruption=0.50 (perfect=0.03); stddev/expected=0.0212
120#40 -> 41: disruption=0.50 (perfect=0.02); stddev/expected=0.0267
121#41 -> 42: disruption=0.50 (perfect=0.02); stddev/expected=0.0242
122#42 -> 43: disruption=0.50 (perfect=0.02); stddev/expected=0.0222
123#43 -> 44: disruption=0.50 (perfect=0.02); stddev/expected=0.0244
124#44 -> 45: disruption=0.50 (perfect=0.02); stddev/expected=0.0231
125#45 -> 46: disruption=0.50 (perfect=0.02); stddev/expected=0.0299
126#46 -> 47: disruption=0.50 (perfect=0.02); stddev/expected=0.0263
127#47 -> 48: disruption=0.50 (perfect=0.02); stddev/expected=0.0307
128#48 -> 49: disruption=0.50 (perfect=0.02); stddev/expected=0.0253
129#49 -> 50: disruption=0.50 (perfect=0.02); stddev/expected=0.0228
130#50 -> 51: disruption=0.50 (perfect=0.02); stddev/expected=0.0273
131#51 -> 52: disruption=0.50 (perfect=0.02); stddev/expected=0.0243
132#52 -> 53: disruption=0.50 (perfect=0.02); stddev/expected=0.0268
133#53 -> 54: disruption=0.50 (perfect=0.02); stddev/expected=0.0251
134#54 -> 55: disruption=0.50 (perfect=0.02); stddev/expected=0.0297
135#55 -> 56: disruption=0.50 (perfect=0.02); stddev/expected=0.0287
136#56 -> 57: disruption=0.50 (perfect=0.02); stddev/expected=0.0299
137#57 -> 58: disruption=0.50 (perfect=0.02); stddev/expected=0.0272
138#58 -> 59: disruption=0.50 (perfect=0.02); stddev/expected=0.0295
139#59 -> 60: disruption=0.50 (perfect=0.02); stddev/expected=0.0312
140#60 -> 61: disruption=0.50 (perfect=0.02); stddev/expected=0.0361
141#61 -> 62: disruption=0.50 (perfect=0.02); stddev/expected=0.0308
142#62 -> 63: disruption=0.50 (perfect=0.02); stddev/expected=0.0283
143#63 -> 64: disruption=0.50 (perfect=0.02); stddev/expected=0.0325
144AT_CLEANUP
145
146AT_SETUP([hrw multipath link selection])
eadd1644 147AT_CHECK([[ovstest test-multipath 'eth_src,50,hrw,1,0,NXM_NX_REG0[]']],
53ddd40a
BP
148 [0], [ignore])
149# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
150# 2 -> 3: disruption=0.33 (perfect=0.33); stddev/expected=0.0033
151# 3 -> 4: disruption=0.25 (perfect=0.25); stddev/expected=0.0076
152# 4 -> 5: disruption=0.20 (perfect=0.20); stddev/expected=0.0059
153# 5 -> 6: disruption=0.17 (perfect=0.17); stddev/expected=0.0030
154# 6 -> 7: disruption=0.14 (perfect=0.14); stddev/expected=0.0124
155# 7 -> 8: disruption=0.13 (perfect=0.12); stddev/expected=0.0072
156# 8 -> 9: disruption=0.11 (perfect=0.11); stddev/expected=0.0074
157# 9 -> 10: disruption=0.10 (perfect=0.10); stddev/expected=0.0161
158#10 -> 11: disruption=0.09 (perfect=0.09); stddev/expected=0.0055
159#11 -> 12: disruption=0.08 (perfect=0.08); stddev/expected=0.0092
160#12 -> 13: disruption=0.08 (perfect=0.08); stddev/expected=0.0134
161#13 -> 14: disruption=0.07 (perfect=0.07); stddev/expected=0.0124
162#14 -> 15: disruption=0.07 (perfect=0.07); stddev/expected=0.0156
163#15 -> 16: disruption=0.06 (perfect=0.06); stddev/expected=0.0182
164#16 -> 17: disruption=0.06 (perfect=0.06); stddev/expected=0.0150
165#17 -> 18: disruption=0.06 (perfect=0.06); stddev/expected=0.0109
166#18 -> 19: disruption=0.05 (perfect=0.05); stddev/expected=0.0162
167#19 -> 20: disruption=0.05 (perfect=0.05); stddev/expected=0.0149
168#20 -> 21: disruption=0.05 (perfect=0.05); stddev/expected=0.0148
169#21 -> 22: disruption=0.05 (perfect=0.05); stddev/expected=0.0230
170#22 -> 23: disruption=0.04 (perfect=0.04); stddev/expected=0.0208
171#23 -> 24: disruption=0.04 (perfect=0.04); stddev/expected=0.0210
172#24 -> 25: disruption=0.04 (perfect=0.04); stddev/expected=0.0228
173#25 -> 26: disruption=0.04 (perfect=0.04); stddev/expected=0.0155
174#26 -> 27: disruption=0.04 (perfect=0.04); stddev/expected=0.0208
175#27 -> 28: disruption=0.04 (perfect=0.04); stddev/expected=0.0218
176#28 -> 29: disruption=0.03 (perfect=0.03); stddev/expected=0.0193
177#29 -> 30: disruption=0.03 (perfect=0.03); stddev/expected=0.0169
178#30 -> 31: disruption=0.03 (perfect=0.03); stddev/expected=0.0163
179#31 -> 32: disruption=0.03 (perfect=0.03); stddev/expected=0.0192
180#32 -> 33: disruption=0.03 (perfect=0.03); stddev/expected=0.0212
181#33 -> 34: disruption=0.03 (perfect=0.03); stddev/expected=0.0240
182#34 -> 35: disruption=0.03 (perfect=0.03); stddev/expected=0.0227
183#35 -> 36: disruption=0.03 (perfect=0.03); stddev/expected=0.0230
184#36 -> 37: disruption=0.03 (perfect=0.03); stddev/expected=0.0183
185#37 -> 38: disruption=0.03 (perfect=0.03); stddev/expected=0.0227
186#38 -> 39: disruption=0.03 (perfect=0.03); stddev/expected=0.0255
187#39 -> 40: disruption=0.03 (perfect=0.03); stddev/expected=0.0247
188#40 -> 41: disruption=0.02 (perfect=0.02); stddev/expected=0.0228
189#41 -> 42: disruption=0.02 (perfect=0.02); stddev/expected=0.0247
190#42 -> 43: disruption=0.02 (perfect=0.02); stddev/expected=0.0265
191#43 -> 44: disruption=0.02 (perfect=0.02); stddev/expected=0.0250
192#44 -> 45: disruption=0.02 (perfect=0.02); stddev/expected=0.0258
193#45 -> 46: disruption=0.02 (perfect=0.02); stddev/expected=0.0196
194#46 -> 47: disruption=0.02 (perfect=0.02); stddev/expected=0.0235
195#47 -> 48: disruption=0.02 (perfect=0.02); stddev/expected=0.0314
196#48 -> 49: disruption=0.02 (perfect=0.02); stddev/expected=0.0293
197#49 -> 50: disruption=0.02 (perfect=0.02); stddev/expected=0.0241
198#50 -> 51: disruption=0.02 (perfect=0.02); stddev/expected=0.0291
199#51 -> 52: disruption=0.02 (perfect=0.02); stddev/expected=0.0304
200#52 -> 53: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
201#53 -> 54: disruption=0.02 (perfect=0.02); stddev/expected=0.0250
202#54 -> 55: disruption=0.02 (perfect=0.02); stddev/expected=0.0290
203#55 -> 56: disruption=0.02 (perfect=0.02); stddev/expected=0.0284
204#56 -> 57: disruption=0.02 (perfect=0.02); stddev/expected=0.0272
205#57 -> 58: disruption=0.02 (perfect=0.02); stddev/expected=0.0272
206#58 -> 59: disruption=0.02 (perfect=0.02); stddev/expected=0.0304
207#59 -> 60: disruption=0.02 (perfect=0.02); stddev/expected=0.0345
208#60 -> 61: disruption=0.02 (perfect=0.02); stddev/expected=0.0251
209#61 -> 62: disruption=0.02 (perfect=0.02); stddev/expected=0.0249
210#62 -> 63: disruption=0.02 (perfect=0.02); stddev/expected=0.0285
211#63 -> 64: disruption=0.02 (perfect=0.02); stddev/expected=0.0285
212AT_CLEANUP
213
214AT_SETUP([iter_hash multipath link selection])
eadd1644 215AT_CHECK([[ovstest test-multipath 'eth_src,50,iter_hash,1,0,NXM_NX_REG0[]']],
53ddd40a
BP
216 [0], [ignore])
217# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
218# 2 -> 3: disruption=0.42 (perfect=0.33); stddev/expected=0.0034
219# 3 -> 4: disruption=0.25 (perfect=0.25); stddev/expected=0.0082
220# 4 -> 5: disruption=0.42 (perfect=0.20); stddev/expected=0.0073
221# 5 -> 6: disruption=0.17 (perfect=0.17); stddev/expected=0.0040
222# 6 -> 7: disruption=0.14 (perfect=0.14); stddev/expected=0.0069
223# 7 -> 8: disruption=0.13 (perfect=0.12); stddev/expected=0.0131
224# 8 -> 9: disruption=0.45 (perfect=0.11); stddev/expected=0.0093
225# 9 -> 10: disruption=0.10 (perfect=0.10); stddev/expected=0.0127
226#10 -> 11: disruption=0.09 (perfect=0.09); stddev/expected=0.0134
227#11 -> 12: disruption=0.08 (perfect=0.08); stddev/expected=0.0101
228#12 -> 13: disruption=0.08 (perfect=0.08); stddev/expected=0.0127
229#13 -> 14: disruption=0.07 (perfect=0.07); stddev/expected=0.0115
230#14 -> 15: disruption=0.07 (perfect=0.07); stddev/expected=0.0100
231#15 -> 16: disruption=0.06 (perfect=0.06); stddev/expected=0.0111
232#16 -> 17: disruption=0.47 (perfect=0.06); stddev/expected=0.0137
233#17 -> 18: disruption=0.05 (perfect=0.06); stddev/expected=0.0204
234#18 -> 19: disruption=0.05 (perfect=0.05); stddev/expected=0.0082
235#19 -> 20: disruption=0.05 (perfect=0.05); stddev/expected=0.0124
236#20 -> 21: disruption=0.05 (perfect=0.05); stddev/expected=0.0203
237#21 -> 22: disruption=0.05 (perfect=0.05); stddev/expected=0.0196
238#22 -> 23: disruption=0.04 (perfect=0.04); stddev/expected=0.0183
239#23 -> 24: disruption=0.04 (perfect=0.04); stddev/expected=0.0212
240#24 -> 25: disruption=0.04 (perfect=0.04); stddev/expected=0.0176
241#25 -> 26: disruption=0.04 (perfect=0.04); stddev/expected=0.0173
242#26 -> 27: disruption=0.04 (perfect=0.04); stddev/expected=0.0159
243#27 -> 28: disruption=0.03 (perfect=0.04); stddev/expected=0.0168
244#28 -> 29: disruption=0.03 (perfect=0.03); stddev/expected=0.0190
245#29 -> 30: disruption=0.03 (perfect=0.03); stddev/expected=0.0305
246#30 -> 31: disruption=0.03 (perfect=0.03); stddev/expected=0.0282
247#31 -> 32: disruption=0.03 (perfect=0.03); stddev/expected=0.0255
248#32 -> 33: disruption=0.49 (perfect=0.03); stddev/expected=0.0220
249#33 -> 34: disruption=0.03 (perfect=0.03); stddev/expected=0.0188
250#34 -> 35: disruption=0.03 (perfect=0.03); stddev/expected=0.0203
251#35 -> 36: disruption=0.03 (perfect=0.03); stddev/expected=0.0207
252#36 -> 37: disruption=0.03 (perfect=0.03); stddev/expected=0.0261
253#37 -> 38: disruption=0.03 (perfect=0.03); stddev/expected=0.0226
254#38 -> 39: disruption=0.03 (perfect=0.03); stddev/expected=0.0233
255#39 -> 40: disruption=0.03 (perfect=0.03); stddev/expected=0.0161
256#40 -> 41: disruption=0.03 (perfect=0.02); stddev/expected=0.0303
257#41 -> 42: disruption=0.02 (perfect=0.02); stddev/expected=0.0249
258#42 -> 43: disruption=0.02 (perfect=0.02); stddev/expected=0.0262
259#43 -> 44: disruption=0.02 (perfect=0.02); stddev/expected=0.0260
260#44 -> 45: disruption=0.02 (perfect=0.02); stddev/expected=0.0266
261#45 -> 46: disruption=0.02 (perfect=0.02); stddev/expected=0.0287
262#46 -> 47: disruption=0.02 (perfect=0.02); stddev/expected=0.0213
263#47 -> 48: disruption=0.02 (perfect=0.02); stddev/expected=0.0301
264#48 -> 49: disruption=0.02 (perfect=0.02); stddev/expected=0.0230
265#49 -> 50: disruption=0.02 (perfect=0.02); stddev/expected=0.0248
266#50 -> 51: disruption=0.02 (perfect=0.02); stddev/expected=0.0203
267#51 -> 52: disruption=0.02 (perfect=0.02); stddev/expected=0.0235
268#52 -> 53: disruption=0.02 (perfect=0.02); stddev/expected=0.0340
269#53 -> 54: disruption=0.02 (perfect=0.02); stddev/expected=0.0264
270#54 -> 55: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
271#55 -> 56: disruption=0.02 (perfect=0.02); stddev/expected=0.0246
272#56 -> 57: disruption=0.02 (perfect=0.02); stddev/expected=0.0270
273#57 -> 58: disruption=0.02 (perfect=0.02); stddev/expected=0.0299
274#58 -> 59: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
275#59 -> 60: disruption=0.02 (perfect=0.02); stddev/expected=0.0275
276#60 -> 61: disruption=0.02 (perfect=0.02); stddev/expected=0.0289
277#61 -> 62: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
278#62 -> 63: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
279#63 -> 64: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
280AT_CLEANUP
770f1f66
BP
281
282AT_SETUP([multipath action missing argument])
283AT_CHECK([ovs-ofctl parse-flow actions=multipath], [1], [],
284 [ovs-ofctl: : not enough arguments to multipath action
285])
286AT_CLEANUP
287
288AT_SETUP([multipath action bad fields])
289AT_CHECK([ovs-ofctl parse-flow 'actions=multipath(xyzzy,50,modulo_n,1,0,NXM_NX_REG0[[]])'], [1], [],
290 [ovs-ofctl: xyzzy,50,modulo_n,1,0,NXM_NX_REG0[[]]: unknown fields `xyzzy'
291])
292AT_CLEANUP
293
294AT_SETUP([multipath action bad algorithm])
295AT_CHECK([ovs-ofctl parse-flow 'actions=multipath(eth_src,50,fubar,1,0,NXM_NX_REG0[[]])'], [1], [],
296 [ovs-ofctl: eth_src,50,fubar,1,0,NXM_NX_REG0[[]]: unknown algorithm `fubar'
297])
298AT_CLEANUP
299
300AT_SETUP([multipath action bad n_links])
301AT_CHECK([ovs-ofctl parse-flow 'actions=multipath(eth_src,50,modulo_n,0,0,NXM_NX_REG0[[]])'], [1], [],
302 [ovs-ofctl: eth_src,50,modulo_n,0,0,NXM_NX_REG0[[]]: n_links 0 is not in valid range 1 to 65536
303])
304AT_CLEANUP
305
770f1f66
BP
306AT_SETUP([multipath action destination too narrow])
307AT_CHECK([ovs-ofctl parse-flow 'actions=multipath(eth_src,50,modulo_n,1024,0,NXM_NX_REG0[[0..7]])'], [1], [],
308 [ovs-ofctl: eth_src,50,modulo_n,1024,0,NXM_NX_REG0[[0..7]]: 8-bit destination field has 256 possible values, less than specified n_links 1024
309])
310AT_CLEANUP
311