]> git.proxmox.com Git - mirror_ovs.git/blame - tests/multipath.at
netdev-afxdp: Add interrupt mode netdev class.
[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 281
84ddf96c
MX
282AT_SETUP([modulo_n multipath symmetric_l3 link selection])
283AT_CHECK([[ovstest test-multipath 'symmetric_l3,50,modulo_n,1,0,NXM_NX_REG0[]']],
284 [0], [ignore])
285# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
286# 2 -> 3: disruption=0.66 (perfect=0.33); stddev/expected=0.0023
287# 3 -> 4: disruption=0.75 (perfect=0.25); stddev/expected=0.0061
288# 4 -> 5: disruption=0.80 (perfect=0.20); stddev/expected=0.0082
289# 5 -> 6: disruption=0.83 (perfect=0.17); stddev/expected=0.0083
290# 6 -> 7: disruption=0.86 (perfect=0.14); stddev/expected=0.0061
291# 7 -> 8: disruption=0.88 (perfect=0.12); stddev/expected=0.0103
292# 8 -> 9: disruption=0.89 (perfect=0.11); stddev/expected=0.0129
293# 9 -> 10: disruption=0.90 (perfect=0.10); stddev/expected=0.0091
294#10 -> 11: disruption=0.91 (perfect=0.09); stddev/expected=0.0114
295#11 -> 12: disruption=0.91 (perfect=0.08); stddev/expected=0.0073
296#12 -> 13: disruption=0.92 (perfect=0.08); stddev/expected=0.0165
297#13 -> 14: disruption=0.93 (perfect=0.07); stddev/expected=0.0149
298#14 -> 15: disruption=0.93 (perfect=0.07); stddev/expected=0.0127
299#15 -> 16: disruption=0.94 (perfect=0.06); stddev/expected=0.0142
300#16 -> 17: disruption=0.94 (perfect=0.06); stddev/expected=0.0098
301#17 -> 18: disruption=0.94 (perfect=0.06); stddev/expected=0.0159
302#18 -> 19: disruption=0.95 (perfect=0.05); stddev/expected=0.0121
303#19 -> 20: disruption=0.95 (perfect=0.05); stddev/expected=0.0195
304#20 -> 21: disruption=0.95 (perfect=0.05); stddev/expected=0.0120
305#21 -> 22: disruption=0.95 (perfect=0.05); stddev/expected=0.0181
306#22 -> 23: disruption=0.96 (perfect=0.04); stddev/expected=0.0222
307#23 -> 24: disruption=0.96 (perfect=0.04); stddev/expected=0.0164
308#24 -> 25: disruption=0.96 (perfect=0.04); stddev/expected=0.0146
309#25 -> 26: disruption=0.96 (perfect=0.04); stddev/expected=0.0175
310#26 -> 27: disruption=0.96 (perfect=0.04); stddev/expected=0.0231
311#27 -> 28: disruption=0.96 (perfect=0.04); stddev/expected=0.0172
312#28 -> 29: disruption=0.97 (perfect=0.03); stddev/expected=0.0211
313#29 -> 30: disruption=0.97 (perfect=0.03); stddev/expected=0.0213
314#30 -> 31: disruption=0.97 (perfect=0.03); stddev/expected=0.0253
315#31 -> 32: disruption=0.97 (perfect=0.03); stddev/expected=0.0208
316#32 -> 33: disruption=0.97 (perfect=0.03); stddev/expected=0.0223
317#33 -> 34: disruption=0.97 (perfect=0.03); stddev/expected=0.0215
318#34 -> 35: disruption=0.97 (perfect=0.03); stddev/expected=0.0201
319#35 -> 36: disruption=0.97 (perfect=0.03); stddev/expected=0.0220
320#36 -> 37: disruption=0.97 (perfect=0.03); stddev/expected=0.0221
321#37 -> 38: disruption=0.97 (perfect=0.03); stddev/expected=0.0201
322#38 -> 39: disruption=0.97 (perfect=0.03); stddev/expected=0.0215
323#39 -> 40: disruption=0.97 (perfect=0.03); stddev/expected=0.0271
324#40 -> 41: disruption=0.98 (perfect=0.02); stddev/expected=0.0272
325#41 -> 42: disruption=0.98 (perfect=0.02); stddev/expected=0.0208
326#42 -> 43: disruption=0.98 (perfect=0.02); stddev/expected=0.0226
327#43 -> 44: disruption=0.98 (perfect=0.02); stddev/expected=0.0264
328#44 -> 45: disruption=0.98 (perfect=0.02); stddev/expected=0.0233
329#45 -> 46: disruption=0.98 (perfect=0.02); stddev/expected=0.0285
330#46 -> 47: disruption=0.98 (perfect=0.02); stddev/expected=0.0246
331#47 -> 48: disruption=0.98 (perfect=0.02); stddev/expected=0.0282
332#48 -> 49: disruption=0.98 (perfect=0.02); stddev/expected=0.0233
333#49 -> 50: disruption=0.98 (perfect=0.02); stddev/expected=0.0197
334#50 -> 51: disruption=0.98 (perfect=0.02); stddev/expected=0.0317
335#51 -> 52: disruption=0.98 (perfect=0.02); stddev/expected=0.0283
336#52 -> 53: disruption=0.98 (perfect=0.02); stddev/expected=0.0282
337#53 -> 54: disruption=0.98 (perfect=0.02); stddev/expected=0.0273
338#54 -> 55: disruption=0.98 (perfect=0.02); stddev/expected=0.0283
339#55 -> 56: disruption=0.98 (perfect=0.02); stddev/expected=0.0288
340#56 -> 57: disruption=0.98 (perfect=0.02); stddev/expected=0.0263
341#57 -> 58: disruption=0.98 (perfect=0.02); stddev/expected=0.0339
342#58 -> 59: disruption=0.98 (perfect=0.02); stddev/expected=0.0262
343#59 -> 60: disruption=0.98 (perfect=0.02); stddev/expected=0.0309
344#60 -> 61: disruption=0.98 (perfect=0.02); stddev/expected=0.0285
345#61 -> 62: disruption=0.98 (perfect=0.02); stddev/expected=0.0288
346#62 -> 63: disruption=0.98 (perfect=0.02); stddev/expected=0.0298
347#63 -> 64: disruption=0.98 (perfect=0.02); stddev/expected=0.0277
348AT_CLEANUP
349
350AT_SETUP([hash_threshold multipath symmetric_l3 link selection])
351AT_CHECK([[ovstest test-multipath 'symmetric_l3,50,hash_threshold,1,0,NXM_NX_REG0[]']],
352 [0], [ignore])
353# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
354# 2 -> 3: disruption=0.50 (perfect=0.33); stddev/expected=0.0056
355# 3 -> 4: disruption=0.50 (perfect=0.25); stddev/expected=0.0050
356# 4 -> 5: disruption=0.50 (perfect=0.20); stddev/expected=0.0074
357# 5 -> 6: disruption=0.50 (perfect=0.17); stddev/expected=0.0031
358# 6 -> 7: disruption=0.50 (perfect=0.14); stddev/expected=0.0078
359# 7 -> 8: disruption=0.50 (perfect=0.12); stddev/expected=0.0085
360# 8 -> 9: disruption=0.50 (perfect=0.11); stddev/expected=0.0093
361# 9 -> 10: disruption=0.50 (perfect=0.10); stddev/expected=0.0083
362#10 -> 11: disruption=0.51 (perfect=0.09); stddev/expected=0.0110
363#11 -> 12: disruption=0.50 (perfect=0.08); stddev/expected=0.0124
364#12 -> 13: disruption=0.50 (perfect=0.08); stddev/expected=0.0143
365#13 -> 14: disruption=0.50 (perfect=0.07); stddev/expected=0.0148
366#14 -> 15: disruption=0.50 (perfect=0.07); stddev/expected=0.0099
367#15 -> 16: disruption=0.50 (perfect=0.06); stddev/expected=0.0166
368#16 -> 17: disruption=0.50 (perfect=0.06); stddev/expected=0.0099
369#17 -> 18: disruption=0.50 (perfect=0.06); stddev/expected=0.0194
370#18 -> 19: disruption=0.50 (perfect=0.05); stddev/expected=0.0169
371#19 -> 20: disruption=0.50 (perfect=0.05); stddev/expected=0.0169
372#20 -> 21: disruption=0.50 (perfect=0.05); stddev/expected=0.0185
373#21 -> 22: disruption=0.50 (perfect=0.05); stddev/expected=0.0160
374#22 -> 23: disruption=0.50 (perfect=0.04); stddev/expected=0.0236
375#23 -> 24: disruption=0.50 (perfect=0.04); stddev/expected=0.0147
376#24 -> 25: disruption=0.50 (perfect=0.04); stddev/expected=0.0195
377#25 -> 26: disruption=0.50 (perfect=0.04); stddev/expected=0.0199
378#26 -> 27: disruption=0.50 (perfect=0.04); stddev/expected=0.0227
379#27 -> 28: disruption=0.50 (perfect=0.04); stddev/expected=0.0198
380#28 -> 29: disruption=0.50 (perfect=0.03); stddev/expected=0.0216
381#29 -> 30: disruption=0.50 (perfect=0.03); stddev/expected=0.0233
382#30 -> 31: disruption=0.50 (perfect=0.03); stddev/expected=0.0266
383#31 -> 32: disruption=0.51 (perfect=0.03); stddev/expected=0.0238
384#32 -> 33: disruption=0.50 (perfect=0.03); stddev/expected=0.0194
385#33 -> 34: disruption=0.50 (perfect=0.03); stddev/expected=0.0173
386#34 -> 35: disruption=0.50 (perfect=0.03); stddev/expected=0.0223
387#35 -> 36: disruption=0.50 (perfect=0.03); stddev/expected=0.0220
388#36 -> 37: disruption=0.50 (perfect=0.03); stddev/expected=0.0237
389#37 -> 38: disruption=0.50 (perfect=0.03); stddev/expected=0.0237
390#38 -> 39: disruption=0.50 (perfect=0.03); stddev/expected=0.0251
391#39 -> 40: disruption=0.50 (perfect=0.03); stddev/expected=0.0212
392#40 -> 41: disruption=0.50 (perfect=0.02); stddev/expected=0.0267
393#41 -> 42: disruption=0.50 (perfect=0.02); stddev/expected=0.0242
394#42 -> 43: disruption=0.50 (perfect=0.02); stddev/expected=0.0222
395#43 -> 44: disruption=0.50 (perfect=0.02); stddev/expected=0.0244
396#44 -> 45: disruption=0.50 (perfect=0.02); stddev/expected=0.0231
397#45 -> 46: disruption=0.50 (perfect=0.02); stddev/expected=0.0299
398#46 -> 47: disruption=0.50 (perfect=0.02); stddev/expected=0.0263
399#47 -> 48: disruption=0.50 (perfect=0.02); stddev/expected=0.0307
400#48 -> 49: disruption=0.50 (perfect=0.02); stddev/expected=0.0253
401#49 -> 50: disruption=0.50 (perfect=0.02); stddev/expected=0.0228
402#50 -> 51: disruption=0.50 (perfect=0.02); stddev/expected=0.0273
403#51 -> 52: disruption=0.50 (perfect=0.02); stddev/expected=0.0243
404#52 -> 53: disruption=0.50 (perfect=0.02); stddev/expected=0.0268
405#53 -> 54: disruption=0.50 (perfect=0.02); stddev/expected=0.0251
406#54 -> 55: disruption=0.50 (perfect=0.02); stddev/expected=0.0297
407#55 -> 56: disruption=0.50 (perfect=0.02); stddev/expected=0.0287
408#56 -> 57: disruption=0.50 (perfect=0.02); stddev/expected=0.0299
409#57 -> 58: disruption=0.50 (perfect=0.02); stddev/expected=0.0272
410#58 -> 59: disruption=0.50 (perfect=0.02); stddev/expected=0.0295
411#59 -> 60: disruption=0.50 (perfect=0.02); stddev/expected=0.0312
412#60 -> 61: disruption=0.50 (perfect=0.02); stddev/expected=0.0361
413#61 -> 62: disruption=0.50 (perfect=0.02); stddev/expected=0.0308
414#62 -> 63: disruption=0.50 (perfect=0.02); stddev/expected=0.0283
415#63 -> 64: disruption=0.50 (perfect=0.02); stddev/expected=0.0325
416AT_CLEANUP
417
418AT_SETUP([hrw multipath symmetric_l3 link selection])
419AT_CHECK([[ovstest test-multipath 'symmetric_l3,50,hrw,1,0,NXM_NX_REG0[]']],
420 [0], [ignore])
421# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
422# 2 -> 3: disruption=0.33 (perfect=0.33); stddev/expected=0.0033
423# 3 -> 4: disruption=0.25 (perfect=0.25); stddev/expected=0.0076
424# 4 -> 5: disruption=0.20 (perfect=0.20); stddev/expected=0.0059
425# 5 -> 6: disruption=0.17 (perfect=0.17); stddev/expected=0.0030
426# 6 -> 7: disruption=0.14 (perfect=0.14); stddev/expected=0.0124
427# 7 -> 8: disruption=0.13 (perfect=0.12); stddev/expected=0.0072
428# 8 -> 9: disruption=0.11 (perfect=0.11); stddev/expected=0.0074
429# 9 -> 10: disruption=0.10 (perfect=0.10); stddev/expected=0.0161
430#10 -> 11: disruption=0.09 (perfect=0.09); stddev/expected=0.0055
431#11 -> 12: disruption=0.08 (perfect=0.08); stddev/expected=0.0092
432#12 -> 13: disruption=0.08 (perfect=0.08); stddev/expected=0.0134
433#13 -> 14: disruption=0.07 (perfect=0.07); stddev/expected=0.0124
434#14 -> 15: disruption=0.07 (perfect=0.07); stddev/expected=0.0156
435#15 -> 16: disruption=0.06 (perfect=0.06); stddev/expected=0.0182
436#16 -> 17: disruption=0.06 (perfect=0.06); stddev/expected=0.0150
437#17 -> 18: disruption=0.06 (perfect=0.06); stddev/expected=0.0109
438#18 -> 19: disruption=0.05 (perfect=0.05); stddev/expected=0.0162
439#19 -> 20: disruption=0.05 (perfect=0.05); stddev/expected=0.0149
440#20 -> 21: disruption=0.05 (perfect=0.05); stddev/expected=0.0148
441#21 -> 22: disruption=0.05 (perfect=0.05); stddev/expected=0.0230
442#22 -> 23: disruption=0.04 (perfect=0.04); stddev/expected=0.0208
443#23 -> 24: disruption=0.04 (perfect=0.04); stddev/expected=0.0210
444#24 -> 25: disruption=0.04 (perfect=0.04); stddev/expected=0.0228
445#25 -> 26: disruption=0.04 (perfect=0.04); stddev/expected=0.0155
446#26 -> 27: disruption=0.04 (perfect=0.04); stddev/expected=0.0208
447#27 -> 28: disruption=0.04 (perfect=0.04); stddev/expected=0.0218
448#28 -> 29: disruption=0.03 (perfect=0.03); stddev/expected=0.0193
449#29 -> 30: disruption=0.03 (perfect=0.03); stddev/expected=0.0169
450#30 -> 31: disruption=0.03 (perfect=0.03); stddev/expected=0.0163
451#31 -> 32: disruption=0.03 (perfect=0.03); stddev/expected=0.0192
452#32 -> 33: disruption=0.03 (perfect=0.03); stddev/expected=0.0212
453#33 -> 34: disruption=0.03 (perfect=0.03); stddev/expected=0.0240
454#34 -> 35: disruption=0.03 (perfect=0.03); stddev/expected=0.0227
455#35 -> 36: disruption=0.03 (perfect=0.03); stddev/expected=0.0230
456#36 -> 37: disruption=0.03 (perfect=0.03); stddev/expected=0.0183
457#37 -> 38: disruption=0.03 (perfect=0.03); stddev/expected=0.0227
458#38 -> 39: disruption=0.03 (perfect=0.03); stddev/expected=0.0255
459#39 -> 40: disruption=0.03 (perfect=0.03); stddev/expected=0.0247
460#40 -> 41: disruption=0.02 (perfect=0.02); stddev/expected=0.0228
461#41 -> 42: disruption=0.02 (perfect=0.02); stddev/expected=0.0247
462#42 -> 43: disruption=0.02 (perfect=0.02); stddev/expected=0.0265
463#43 -> 44: disruption=0.02 (perfect=0.02); stddev/expected=0.0250
464#44 -> 45: disruption=0.02 (perfect=0.02); stddev/expected=0.0258
465#45 -> 46: disruption=0.02 (perfect=0.02); stddev/expected=0.0196
466#46 -> 47: disruption=0.02 (perfect=0.02); stddev/expected=0.0235
467#47 -> 48: disruption=0.02 (perfect=0.02); stddev/expected=0.0314
468#48 -> 49: disruption=0.02 (perfect=0.02); stddev/expected=0.0293
469#49 -> 50: disruption=0.02 (perfect=0.02); stddev/expected=0.0241
470#50 -> 51: disruption=0.02 (perfect=0.02); stddev/expected=0.0291
471#51 -> 52: disruption=0.02 (perfect=0.02); stddev/expected=0.0304
472#52 -> 53: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
473#53 -> 54: disruption=0.02 (perfect=0.02); stddev/expected=0.0250
474#54 -> 55: disruption=0.02 (perfect=0.02); stddev/expected=0.0290
475#55 -> 56: disruption=0.02 (perfect=0.02); stddev/expected=0.0284
476#56 -> 57: disruption=0.02 (perfect=0.02); stddev/expected=0.0272
477#57 -> 58: disruption=0.02 (perfect=0.02); stddev/expected=0.0272
478#58 -> 59: disruption=0.02 (perfect=0.02); stddev/expected=0.0304
479#59 -> 60: disruption=0.02 (perfect=0.02); stddev/expected=0.0345
480#60 -> 61: disruption=0.02 (perfect=0.02); stddev/expected=0.0251
481#61 -> 62: disruption=0.02 (perfect=0.02); stddev/expected=0.0249
482#62 -> 63: disruption=0.02 (perfect=0.02); stddev/expected=0.0285
483#63 -> 64: disruption=0.02 (perfect=0.02); stddev/expected=0.0285
484AT_CLEANUP
485
486AT_SETUP([iter_hash symmetric_l3 multipath link selection])
487AT_CHECK([[ovstest test-multipath 'symmetric_l3,50,iter_hash,1,0,NXM_NX_REG0[]']],
488 [0], [ignore])
489# 1 -> 2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
490# 2 -> 3: disruption=0.42 (perfect=0.33); stddev/expected=0.0034
491# 3 -> 4: disruption=0.25 (perfect=0.25); stddev/expected=0.0082
492# 4 -> 5: disruption=0.42 (perfect=0.20); stddev/expected=0.0073
493# 5 -> 6: disruption=0.17 (perfect=0.17); stddev/expected=0.0040
494# 6 -> 7: disruption=0.14 (perfect=0.14); stddev/expected=0.0069
495# 7 -> 8: disruption=0.13 (perfect=0.12); stddev/expected=0.0131
496# 8 -> 9: disruption=0.45 (perfect=0.11); stddev/expected=0.0093
497# 9 -> 10: disruption=0.10 (perfect=0.10); stddev/expected=0.0127
498#10 -> 11: disruption=0.09 (perfect=0.09); stddev/expected=0.0134
499#11 -> 12: disruption=0.08 (perfect=0.08); stddev/expected=0.0101
500#12 -> 13: disruption=0.08 (perfect=0.08); stddev/expected=0.0127
501#13 -> 14: disruption=0.07 (perfect=0.07); stddev/expected=0.0115
502#14 -> 15: disruption=0.07 (perfect=0.07); stddev/expected=0.0100
503#15 -> 16: disruption=0.06 (perfect=0.06); stddev/expected=0.0111
504#16 -> 17: disruption=0.47 (perfect=0.06); stddev/expected=0.0137
505#17 -> 18: disruption=0.05 (perfect=0.06); stddev/expected=0.0204
506#18 -> 19: disruption=0.05 (perfect=0.05); stddev/expected=0.0082
507#19 -> 20: disruption=0.05 (perfect=0.05); stddev/expected=0.0124
508#20 -> 21: disruption=0.05 (perfect=0.05); stddev/expected=0.0203
509#21 -> 22: disruption=0.05 (perfect=0.05); stddev/expected=0.0196
510#22 -> 23: disruption=0.04 (perfect=0.04); stddev/expected=0.0183
511#23 -> 24: disruption=0.04 (perfect=0.04); stddev/expected=0.0212
512#24 -> 25: disruption=0.04 (perfect=0.04); stddev/expected=0.0176
513#25 -> 26: disruption=0.04 (perfect=0.04); stddev/expected=0.0173
514#26 -> 27: disruption=0.04 (perfect=0.04); stddev/expected=0.0159
515#27 -> 28: disruption=0.03 (perfect=0.04); stddev/expected=0.0168
516#28 -> 29: disruption=0.03 (perfect=0.03); stddev/expected=0.0190
517#29 -> 30: disruption=0.03 (perfect=0.03); stddev/expected=0.0305
518#30 -> 31: disruption=0.03 (perfect=0.03); stddev/expected=0.0282
519#31 -> 32: disruption=0.03 (perfect=0.03); stddev/expected=0.0255
520#32 -> 33: disruption=0.49 (perfect=0.03); stddev/expected=0.0220
521#33 -> 34: disruption=0.03 (perfect=0.03); stddev/expected=0.0188
522#34 -> 35: disruption=0.03 (perfect=0.03); stddev/expected=0.0203
523#35 -> 36: disruption=0.03 (perfect=0.03); stddev/expected=0.0207
524#36 -> 37: disruption=0.03 (perfect=0.03); stddev/expected=0.0261
525#37 -> 38: disruption=0.03 (perfect=0.03); stddev/expected=0.0226
526#38 -> 39: disruption=0.03 (perfect=0.03); stddev/expected=0.0233
527#39 -> 40: disruption=0.03 (perfect=0.03); stddev/expected=0.0161
528#40 -> 41: disruption=0.03 (perfect=0.02); stddev/expected=0.0303
529#41 -> 42: disruption=0.02 (perfect=0.02); stddev/expected=0.0249
530#42 -> 43: disruption=0.02 (perfect=0.02); stddev/expected=0.0262
531#43 -> 44: disruption=0.02 (perfect=0.02); stddev/expected=0.0260
532#44 -> 45: disruption=0.02 (perfect=0.02); stddev/expected=0.0266
533#45 -> 46: disruption=0.02 (perfect=0.02); stddev/expected=0.0287
534#46 -> 47: disruption=0.02 (perfect=0.02); stddev/expected=0.0213
535#47 -> 48: disruption=0.02 (perfect=0.02); stddev/expected=0.0301
536#48 -> 49: disruption=0.02 (perfect=0.02); stddev/expected=0.0230
537#49 -> 50: disruption=0.02 (perfect=0.02); stddev/expected=0.0248
538#50 -> 51: disruption=0.02 (perfect=0.02); stddev/expected=0.0203
539#51 -> 52: disruption=0.02 (perfect=0.02); stddev/expected=0.0235
540#52 -> 53: disruption=0.02 (perfect=0.02); stddev/expected=0.0340
541#53 -> 54: disruption=0.02 (perfect=0.02); stddev/expected=0.0264
542#54 -> 55: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
543#55 -> 56: disruption=0.02 (perfect=0.02); stddev/expected=0.0246
544#56 -> 57: disruption=0.02 (perfect=0.02); stddev/expected=0.0270
545#57 -> 58: disruption=0.02 (perfect=0.02); stddev/expected=0.0299
546#58 -> 59: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
547#59 -> 60: disruption=0.02 (perfect=0.02); stddev/expected=0.0275
548#60 -> 61: disruption=0.02 (perfect=0.02); stddev/expected=0.0289
549#61 -> 62: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
550#62 -> 63: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
551#63 -> 64: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
552AT_CLEANUP