2011-06-10 17:45:45 -07:00
|
|
|
AT_BANNER([bundle link selection])
|
|
|
|
|
|
|
|
# The test-bundle program prints a lot of output on stdout, but each of the
|
|
|
|
# tests below ignores it because it will vary a bit depending on endianness and
|
|
|
|
# floating point precision. test-bundle will output an error message on
|
|
|
|
# stderr and return with exit code 1 if anything really goes wrong. In each
|
|
|
|
# case, we list the (approximate) expected output in a comment to aid debugging
|
|
|
|
# if the test does fail.
|
|
|
|
|
|
|
|
AT_SETUP([hrw bundle link selection])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],members:1,2,3,4,5']],
|
2011-06-10 17:45:45 -07:00
|
|
|
[0], [ignore])
|
|
|
|
# 100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
# 110000: disruption=0.50 (perfect=0.50) 0.50 0.50 0.00 0.00 0.00 0.00
|
|
|
|
# 010000: disruption=0.50 (perfect=0.50) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
# 011000: disruption=0.50 (perfect=0.50) 0.00 0.50 0.50 0.00 0.00 0.00
|
|
|
|
# 111000: disruption=0.33 (perfect=0.33) 0.33 0.33 0.34 0.00 0.00 0.00
|
|
|
|
# 101000: disruption=0.33 (perfect=0.33) 0.50 0.00 0.50 0.00 0.00 0.00
|
|
|
|
# 001000: disruption=0.50 (perfect=0.50) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
# 001100: disruption=0.50 (perfect=0.50) 0.00 0.00 0.50 0.50 0.00 0.00
|
|
|
|
# 101100: disruption=0.33 (perfect=0.33) 0.33 0.00 0.34 0.33 0.00 0.00
|
|
|
|
# 111100: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.25 0.00 0.00
|
|
|
|
# 011100: disruption=0.25 (perfect=0.25) 0.00 0.33 0.33 0.33 0.00 0.00
|
|
|
|
# 010100: disruption=0.33 (perfect=0.33) 0.00 0.50 0.00 0.50 0.00 0.00
|
|
|
|
# 110100: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.34 0.00 0.00
|
|
|
|
# 100100: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.50 0.00 0.00
|
|
|
|
# 000100: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
# 000110: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.50 0.50 0.00
|
|
|
|
# 100110: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.33 0.33 0.00
|
|
|
|
# 110110: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.25 0.25 0.00
|
|
|
|
# 010110: disruption=0.25 (perfect=0.25) 0.00 0.34 0.00 0.33 0.33 0.00
|
|
|
|
# 011110: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.25 0.25 0.00
|
|
|
|
# 111110: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.20 0.20 0.00
|
|
|
|
# 101110: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.25 0.25 0.00
|
|
|
|
# 001110: disruption=0.25 (perfect=0.25) 0.00 0.00 0.34 0.33 0.33 0.00
|
|
|
|
# 001010: disruption=0.33 (perfect=0.33) 0.00 0.00 0.50 0.00 0.50 0.00
|
|
|
|
# 101010: disruption=0.33 (perfect=0.33) 0.33 0.00 0.34 0.00 0.33 0.00
|
|
|
|
# 111010: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.00 0.25 0.00
|
|
|
|
# 011010: disruption=0.25 (perfect=0.25) 0.00 0.33 0.34 0.00 0.33 0.00
|
|
|
|
# 010010: disruption=0.34 (perfect=0.33) 0.00 0.50 0.00 0.00 0.50 0.00
|
|
|
|
# 110010: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.00 0.33 0.00
|
|
|
|
# 100010: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.00 0.50 0.00
|
|
|
|
# 000010: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 1.00 0.00
|
|
|
|
# 000011: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 0.50 0.50
|
|
|
|
# 100011: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.00 0.33 0.33
|
|
|
|
# 110011: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.00 0.25 0.25
|
|
|
|
# 010011: disruption=0.25 (perfect=0.25) 0.00 0.33 0.00 0.00 0.33 0.33
|
|
|
|
# 011011: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.00 0.25 0.25
|
|
|
|
# 111011: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.00 0.20 0.20
|
|
|
|
# 101011: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.00 0.25 0.25
|
|
|
|
# 001011: disruption=0.25 (perfect=0.25) 0.00 0.00 0.34 0.00 0.33 0.33
|
|
|
|
# 001111: disruption=0.25 (perfect=0.25) 0.00 0.00 0.25 0.25 0.25 0.25
|
|
|
|
# 101111: disruption=0.20 (perfect=0.20) 0.20 0.00 0.20 0.20 0.20 0.20
|
|
|
|
# 111111: disruption=0.17 (perfect=0.17) 0.17 0.17 0.17 0.17 0.17 0.17
|
|
|
|
# 011111: disruption=0.17 (perfect=0.17) 0.00 0.20 0.20 0.20 0.20 0.20
|
|
|
|
# 010111: disruption=0.20 (perfect=0.20) 0.00 0.25 0.00 0.25 0.25 0.25
|
|
|
|
# 110111: disruption=0.20 (perfect=0.20) 0.20 0.20 0.00 0.20 0.20 0.20
|
|
|
|
# 100111: disruption=0.20 (perfect=0.20) 0.25 0.00 0.00 0.25 0.25 0.25
|
|
|
|
# 000111: disruption=0.25 (perfect=0.25) 0.00 0.00 0.00 0.33 0.33 0.33
|
|
|
|
# 000101: disruption=0.33 (perfect=0.33) 0.00 0.00 0.00 0.50 0.00 0.50
|
|
|
|
# 100101: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.33 0.00 0.33
|
|
|
|
# 110101: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.25 0.00 0.25
|
|
|
|
# 010101: disruption=0.25 (perfect=0.25) 0.00 0.33 0.00 0.33 0.00 0.33
|
|
|
|
# 011101: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.25 0.00 0.25
|
|
|
|
# 111101: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.20 0.00 0.20
|
|
|
|
# 101101: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.25 0.00 0.25
|
|
|
|
# 001101: disruption=0.25 (perfect=0.25) 0.00 0.00 0.33 0.33 0.00 0.33
|
|
|
|
# 001001: disruption=0.33 (perfect=0.33) 0.00 0.00 0.50 0.00 0.00 0.50
|
|
|
|
# 101001: disruption=0.33 (perfect=0.33) 0.33 0.00 0.33 0.00 0.00 0.33
|
|
|
|
# 111001: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.00 0.00 0.25
|
|
|
|
# 011001: disruption=0.25 (perfect=0.25) 0.00 0.33 0.34 0.00 0.00 0.33
|
|
|
|
# 010001: disruption=0.34 (perfect=0.33) 0.00 0.50 0.00 0.00 0.00 0.50
|
|
|
|
# 110001: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.00 0.00 0.34
|
|
|
|
# 100001: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.00 0.00 0.50
|
|
|
|
# 000001: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 0.00 1.00
|
|
|
|
# 000000: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
# 100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2011-07-18 13:50:26 -07:00
|
|
|
AT_SETUP([active_backup bundle link selection])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l4,60,active_backup,ofport,NXM_NX_REG0[],members:1,2,3,4,5,6']],
|
2011-07-18 13:50:26 -07:00
|
|
|
[0],
|
|
|
|
[100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110000: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010000: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011000: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101000: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001000: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001100: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101100: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111100: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011100: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010100: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110100: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100100: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000100: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
000110: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
100110: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110110: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010110: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011110: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111110: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101110: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001110: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001010: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101010: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111010: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011010: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010010: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110010: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100010: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000010: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 1.00 0.00
|
|
|
|
000011: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 0.00 1.00 0.00
|
|
|
|
100011: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110011: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010011: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011011: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111011: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101011: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001011: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001111: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101111: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111111: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011111: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010111: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110111: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100111: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000111: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
000101: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
100101: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110101: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010101: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011101: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111101: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101101: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001101: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001001: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101001: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111001: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011001: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010001: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110001: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100001: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000001: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 1.00
|
|
|
|
000000: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2011-06-10 17:45:45 -07:00
|
|
|
AT_SETUP([hrw bundle single link selection])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],members:1']],
|
2011-06-10 17:45:45 -07:00
|
|
|
[0], [ignore])
|
|
|
|
# 1: disruption=1.00 (perfect=1.00) 1.00
|
|
|
|
# 0: disruption=1.00 (perfect=1.00) 0.00
|
|
|
|
# 1: disruption=1.00 (perfect=1.00) 1.00
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([hrw bundle no link selection])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],members:']],
|
2011-06-10 17:45:45 -07:00
|
|
|
[0], [ignore])
|
|
|
|
AT_CLEANUP
|
|
|
|
#: disruption=0.00 (perfect=0.00)
|
|
|
|
#: disruption=0.00 (perfect=0.00)
|
|
|
|
|
|
|
|
AT_SETUP([bundle action missing argument])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2011-06-10 17:45:45 -07:00
|
|
|
AT_CHECK([ovs-ofctl parse-flow actions=bundle], [1], [],
|
|
|
|
[ovs-ofctl: : not enough arguments to bundle action
|
|
|
|
])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([bundle action bad fields])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl parse-flow 'actions=bundle(xyzzy,60,hrw,ofport,members:1,2))'], [1], [],
|
|
|
|
[ovs-ofctl: xyzzy,60,hrw,ofport,members:1,2: unknown fields `xyzzy'
|
2011-06-10 17:45:45 -07:00
|
|
|
])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([bundle action bad algorithm])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,fubar,ofport,members:1,2))'], [1], [],
|
|
|
|
[ovs-ofctl: symmetric_l4,60,fubar,ofport,members:1,2: unknown algorithm `fubar'
|
2011-06-10 17:45:45 -07:00
|
|
|
])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_SETUP([bundle action bad member type])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,robot,members:1,2))'], [1], [],
|
|
|
|
[ovs-ofctl: symmetric_l4,60,hrw,robot,members:1,2: unknown member_type `robot'
|
2011-06-10 17:45:45 -07:00
|
|
|
])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_SETUP([bundle action bad member delimiter])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2011-06-10 17:45:45 -07:00
|
|
|
AT_CHECK([ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,ofport,robot:1,2))'], [1], [],
|
2020-06-17 14:16:08 -07:00
|
|
|
[ovs-ofctl: symmetric_l4,60,hrw,ofport,robot:1,2: missing member delimiter, expected `members', got `robot'
|
2011-06-10 17:45:45 -07:00
|
|
|
])
|
|
|
|
AT_CLEANUP
|
2016-03-03 21:22:48 +13:00
|
|
|
|
2016-03-07 15:36:38 -08:00
|
|
|
dnl Bundle actions with <= 2 ports typically align nicely within ofpbuf memory
|
|
|
|
dnl allocation, so will not trigger reallocation codepaths. This test was
|
|
|
|
dnl introduced to ensure that when bundle actions with a larger number of ports
|
|
|
|
dnl are used, the encode/decode still works correctly. By placing the bundle
|
|
|
|
dnl action deep within a list of actions, this test was able to trigger
|
|
|
|
dnl Valgrind warnings for use-after-free bugs.
|
2016-03-03 21:22:48 +13:00
|
|
|
AT_SETUP([bundle action with many ports])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_KEYWORDS([bundle_action])
|
2016-03-03 21:22:48 +13:00
|
|
|
OVS_VSWITCHD_START
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl add-flow br0 'actions=set_field:0x1->metadata,set_field:0x2->metadata,set_field:0x3->metadata,set_field:0x4->metadata,bundle(symmetric_l4,0,hrw,ofport,members:[[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]])'])
|
2017-06-13 17:09:05 -07:00
|
|
|
AT_CHECK([ovs-ofctl dump-flows br0 --no-stats], [0], [dnl
|
2020-06-17 14:16:08 -07:00
|
|
|
actions=load:0x1->OXM_OF_METADATA[[]],load:0x2->OXM_OF_METADATA[[]],load:0x3->OXM_OF_METADATA[[]],load:0x4->OXM_OF_METADATA[[]],bundle(symmetric_l4,0,hrw,ofport,members:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)
|
2016-03-07 15:36:38 -08:00
|
|
|
])
|
2016-03-03 21:22:48 +13:00
|
|
|
OVS_VSWITCHD_STOP
|
|
|
|
AT_CLEANUP
|
2016-09-30 18:53:37 -03:00
|
|
|
|
|
|
|
AT_SETUP([bundle action with ports up and down])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
|
|
|
OVS_VSWITCHD_START([dnl
|
|
|
|
add-port br0 p1 -- set Interface p1 type=dummy -- \
|
|
|
|
set Interface p1 ofport_request=1 -- \
|
|
|
|
add-port br0 p2 -- set Interface p2 type=dummy -- \
|
|
|
|
set Interface p2 ofport_request=2
|
|
|
|
])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl add-flow br0 'actions=bundle(eth_src,50,active_backup,ofport,members:1,2)'])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p1 up])
|
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p2 up])
|
|
|
|
AT_CHECK([ovs-appctl ofproto/trace br0 'in_port=LOCAL,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06'], [0], [stdout])
|
|
|
|
AT_CHECK([tail -1 stdout], [0],
|
|
|
|
[Datapath actions: 1
|
|
|
|
])
|
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p1 down])
|
|
|
|
AT_CHECK([ovs-appctl ofproto/trace br0 'in_port=LOCAL,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06'], [0], [stdout])
|
|
|
|
AT_CHECK([tail -1 stdout], [0],
|
|
|
|
[Datapath actions: 2
|
|
|
|
])
|
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p2 down])
|
|
|
|
AT_CHECK([ovs-appctl ofproto/trace br0 'in_port=LOCAL,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06'], [0], [stdout])
|
|
|
|
AT_CHECK([tail -1 stdout], [0],
|
|
|
|
[Datapath actions: drop
|
|
|
|
])
|
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p1 up])
|
|
|
|
AT_CHECK([ovs-appctl ofproto/trace br0 'in_port=LOCAL,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06'], [0], [stdout])
|
|
|
|
AT_CHECK([tail -1 stdout], [0],
|
|
|
|
[Datapath actions: 1
|
|
|
|
])
|
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p2 up])
|
|
|
|
AT_CHECK([ovs-appctl ofproto/trace br0 'in_port=LOCAL,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06'], [0], [stdout])
|
|
|
|
AT_CHECK([tail -1 stdout], [0],
|
|
|
|
[Datapath actions: 1
|
|
|
|
])
|
|
|
|
OVS_VSWITCHD_STOP
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([bundle_load action with ports down])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
|
|
|
OVS_VSWITCHD_START([dnl
|
|
|
|
add-port br0 p1 -- set Interface p1 type=dummy -- \
|
|
|
|
set Interface p1 ofport_request=1 -- \
|
|
|
|
add-port br0 p2 -- set Interface p2 type=dummy -- \
|
|
|
|
set Interface p2 ofport_request=2
|
|
|
|
])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl add-flow br0 'actions=bundle_load(eth_src,50,hrw,ofport,OXM_OF_ETH_SRC[[0..15]],members:1,2)'])
|
2016-09-30 18:53:37 -03:00
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p1 down])
|
|
|
|
AT_CHECK([ovs-ofctl mod-port br0 p2 down])
|
|
|
|
AT_CHECK([ovs-appctl ofproto/trace br0 'in_port=LOCAL,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06'], [0], [stdout])
|
|
|
|
AT_CHECK([grep Final stdout], [0],
|
|
|
|
[Final flow: in_port=LOCAL,vlan_tci=0x0000,dl_src=50:54:00:00:ff:ff,dl_dst=50:54:00:00:00:06,dl_type=0x0000
|
|
|
|
])
|
|
|
|
OVS_VSWITCHD_STOP
|
|
|
|
AT_CLEANUP
|
2018-10-02 09:40:09 -07:00
|
|
|
|
|
|
|
AT_SETUP([hrw bundle symmetric_l3 link selection])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l3,60,hrw,ofport,NXM_NX_REG0[],members:1,2,3,4,5']],
|
2018-10-02 09:40:09 -07:00
|
|
|
[0], [ignore])
|
|
|
|
# 100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
# 110000: disruption=0.50 (perfect=0.50) 0.50 0.50 0.00 0.00 0.00 0.00
|
|
|
|
# 010000: disruption=0.50 (perfect=0.50) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
# 011000: disruption=0.50 (perfect=0.50) 0.00 0.50 0.50 0.00 0.00 0.00
|
|
|
|
# 111000: disruption=0.33 (perfect=0.33) 0.33 0.33 0.34 0.00 0.00 0.00
|
|
|
|
# 101000: disruption=0.33 (perfect=0.33) 0.50 0.00 0.50 0.00 0.00 0.00
|
|
|
|
# 001000: disruption=0.50 (perfect=0.50) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
# 001100: disruption=0.50 (perfect=0.50) 0.00 0.00 0.50 0.50 0.00 0.00
|
|
|
|
# 101100: disruption=0.33 (perfect=0.33) 0.33 0.00 0.34 0.33 0.00 0.00
|
|
|
|
# 111100: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.25 0.00 0.00
|
|
|
|
# 011100: disruption=0.25 (perfect=0.25) 0.00 0.33 0.33 0.33 0.00 0.00
|
|
|
|
# 010100: disruption=0.33 (perfect=0.33) 0.00 0.50 0.00 0.50 0.00 0.00
|
|
|
|
# 110100: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.34 0.00 0.00
|
|
|
|
# 100100: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.50 0.00 0.00
|
|
|
|
# 000100: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
# 000110: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.50 0.50 0.00
|
|
|
|
# 100110: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.33 0.33 0.00
|
|
|
|
# 110110: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.25 0.25 0.00
|
|
|
|
# 010110: disruption=0.25 (perfect=0.25) 0.00 0.34 0.00 0.33 0.33 0.00
|
|
|
|
# 011110: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.25 0.25 0.00
|
|
|
|
# 111110: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.20 0.20 0.00
|
|
|
|
# 101110: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.25 0.25 0.00
|
|
|
|
# 001110: disruption=0.25 (perfect=0.25) 0.00 0.00 0.34 0.33 0.33 0.00
|
|
|
|
# 001010: disruption=0.33 (perfect=0.33) 0.00 0.00 0.50 0.00 0.50 0.00
|
|
|
|
# 101010: disruption=0.33 (perfect=0.33) 0.33 0.00 0.34 0.00 0.33 0.00
|
|
|
|
# 111010: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.00 0.25 0.00
|
|
|
|
# 011010: disruption=0.25 (perfect=0.25) 0.00 0.33 0.34 0.00 0.33 0.00
|
|
|
|
# 010010: disruption=0.34 (perfect=0.33) 0.00 0.50 0.00 0.00 0.50 0.00
|
|
|
|
# 110010: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.00 0.33 0.00
|
|
|
|
# 100010: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.00 0.50 0.00
|
|
|
|
# 000010: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 1.00 0.00
|
|
|
|
# 000011: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 0.50 0.50
|
|
|
|
# 100011: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.00 0.33 0.33
|
|
|
|
# 110011: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.00 0.25 0.25
|
|
|
|
# 010011: disruption=0.25 (perfect=0.25) 0.00 0.33 0.00 0.00 0.33 0.33
|
|
|
|
# 011011: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.00 0.25 0.25
|
|
|
|
# 111011: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.00 0.20 0.20
|
|
|
|
# 101011: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.00 0.25 0.25
|
|
|
|
# 001011: disruption=0.25 (perfect=0.25) 0.00 0.00 0.34 0.00 0.33 0.33
|
|
|
|
# 001111: disruption=0.25 (perfect=0.25) 0.00 0.00 0.25 0.25 0.25 0.25
|
|
|
|
# 101111: disruption=0.20 (perfect=0.20) 0.20 0.00 0.20 0.20 0.20 0.20
|
|
|
|
# 111111: disruption=0.17 (perfect=0.17) 0.17 0.17 0.17 0.17 0.17 0.17
|
|
|
|
# 011111: disruption=0.17 (perfect=0.17) 0.00 0.20 0.20 0.20 0.20 0.20
|
|
|
|
# 010111: disruption=0.20 (perfect=0.20) 0.00 0.25 0.00 0.25 0.25 0.25
|
|
|
|
# 110111: disruption=0.20 (perfect=0.20) 0.20 0.20 0.00 0.20 0.20 0.20
|
|
|
|
# 100111: disruption=0.20 (perfect=0.20) 0.25 0.00 0.00 0.25 0.25 0.25
|
|
|
|
# 000111: disruption=0.25 (perfect=0.25) 0.00 0.00 0.00 0.33 0.33 0.33
|
|
|
|
# 000101: disruption=0.33 (perfect=0.33) 0.00 0.00 0.00 0.50 0.00 0.50
|
|
|
|
# 100101: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.33 0.00 0.33
|
|
|
|
# 110101: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.25 0.00 0.25
|
|
|
|
# 010101: disruption=0.25 (perfect=0.25) 0.00 0.33 0.00 0.33 0.00 0.33
|
|
|
|
# 011101: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.25 0.00 0.25
|
|
|
|
# 111101: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.20 0.00 0.20
|
|
|
|
# 101101: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.25 0.00 0.25
|
|
|
|
# 001101: disruption=0.25 (perfect=0.25) 0.00 0.00 0.33 0.33 0.00 0.33
|
|
|
|
# 001001: disruption=0.33 (perfect=0.33) 0.00 0.00 0.50 0.00 0.00 0.50
|
|
|
|
# 101001: disruption=0.33 (perfect=0.33) 0.33 0.00 0.33 0.00 0.00 0.33
|
|
|
|
# 111001: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.00 0.00 0.25
|
|
|
|
# 011001: disruption=0.25 (perfect=0.25) 0.00 0.33 0.34 0.00 0.00 0.33
|
|
|
|
# 010001: disruption=0.34 (perfect=0.33) 0.00 0.50 0.00 0.00 0.00 0.50
|
|
|
|
# 110001: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.00 0.00 0.34
|
|
|
|
# 100001: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.00 0.00 0.50
|
|
|
|
# 000001: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 0.00 1.00
|
|
|
|
# 000000: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
# 100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([active_backup bundle symmetric_l3 link selection])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l3,60,active_backup,ofport,NXM_NX_REG0[],members:1,2,3,4,5,6']],
|
2018-10-02 09:40:09 -07:00
|
|
|
[0],
|
|
|
|
[100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110000: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010000: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011000: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101000: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001000: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001100: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101100: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111100: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011100: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010100: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110100: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100100: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000100: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
000110: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
100110: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110110: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010110: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011110: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111110: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101110: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001110: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001010: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101010: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111010: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011010: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010010: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110010: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100010: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000010: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 1.00 0.00
|
|
|
|
000011: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 0.00 1.00 0.00
|
|
|
|
100011: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110011: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010011: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011011: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111011: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101011: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001011: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001111: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101111: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111111: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011111: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010111: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110111: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100111: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000111: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
000101: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 1.00 0.00 0.00
|
|
|
|
100101: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
110101: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
010101: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
011101: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
111101: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
101101: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
001101: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
001001: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
|
|
|
|
101001: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
111001: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
011001: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
010001: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
|
|
|
|
110001: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100001: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
000001: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 1.00
|
|
|
|
000000: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([hrw bundle symmetric_l3 single link selection])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l3,60,hrw,ofport,NXM_NX_REG0[],members:1']],
|
2018-10-02 09:40:09 -07:00
|
|
|
[0], [ignore])
|
|
|
|
# 1: disruption=1.00 (perfect=1.00) 1.00
|
|
|
|
# 0: disruption=1.00 (perfect=1.00) 0.00
|
|
|
|
# 1: disruption=1.00 (perfect=1.00) 1.00
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([hrw bundle symmetric_l3 single link selection])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l3,60,hrw,ofport,NXM_NX_REG0[],members:1']],
|
2018-10-02 09:40:09 -07:00
|
|
|
[0], [ignore])
|
|
|
|
# 1: disruption=1.00 (perfect=1.00) 1.00
|
|
|
|
# 0: disruption=1.00 (perfect=1.00) 0.00
|
|
|
|
# 1: disruption=1.00 (perfect=1.00) 1.00
|
|
|
|
AT_CLEANUP
|
|
|
|
|
|
|
|
AT_SETUP([hrw bundle symmetric_l3 no link selection])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([[ovstest test-bundle 'symmetric_l3,60,hrw,ofport,NXM_NX_REG0[],members:']],
|
2018-10-02 09:40:09 -07:00
|
|
|
[0], [ignore])
|
|
|
|
AT_CLEANUP
|
|
|
|
#: disruption=0.00 (perfect=0.00)
|
|
|
|
#: disruption=0.00 (perfect=0.00)
|
|
|
|
|
|
|
|
AT_SETUP([bundle symmetric_l3 action with many ports])
|
|
|
|
AT_KEYWORDS([bundle_action])
|
|
|
|
OVS_VSWITCHD_START
|
2020-06-17 14:16:08 -07:00
|
|
|
AT_CHECK([ovs-ofctl add-flow br0 'actions=set_field:0x1->metadata,set_field:0x2->metadata,set_field:0x3->metadata,set_field:0x4->metadata,bundle(symmetric_l3,0,hrw,ofport,members:[[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]])'])
|
2018-10-02 09:40:09 -07:00
|
|
|
AT_CHECK([ovs-ofctl dump-flows br0 --no-stats], [0], [dnl
|
2020-06-17 14:16:08 -07:00
|
|
|
actions=load:0x1->OXM_OF_METADATA[[]],load:0x2->OXM_OF_METADATA[[]],load:0x3->OXM_OF_METADATA[[]],load:0x4->OXM_OF_METADATA[[]],bundle(symmetric_l3,0,hrw,ofport,members:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)
|
2018-10-02 09:40:09 -07:00
|
|
|
])
|
|
|
|
OVS_VSWITCHD_STOP
|
|
|
|
AT_CLEANUP
|