projects
/
cascardo
/
ovs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
edc0a10
)
tests: Expand 'bundle with many ports' test.
author
Joe Stringer
<joe@ovn.org>
Mon, 7 Mar 2016 23:36:38 +0000
(15:36 -0800)
committer
Joe Stringer
<joe@ovn.org>
Tue, 8 Mar 2016 00:28:34 +0000
(16:28 -0800)
Explain what this test is doing, and check that the decoded action can
be re-encoded and dumped back out of OVS.
Suggested-by: Ben Pfaff <blp@ovn.org>
Signed-off-by: Joe Stringer <joe@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
tests/bundle.at
patch
|
blob
|
history
diff --git
a/tests/bundle.at
b/tests/bundle.at
index
298e683
..
0bc179f
100644
(file)
--- a/
tests/bundle.at
+++ b/
tests/bundle.at
@@
-193,8
+193,18
@@
AT_CHECK([ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,ofport,robot:
])
AT_CLEANUP
])
AT_CLEANUP
+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.
AT_SETUP([bundle action with many ports])
OVS_VSWITCHD_START
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,slaves:[[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]])'])
AT_SETUP([bundle action with many ports])
OVS_VSWITCHD_START
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,slaves:[[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]])'])
+AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
+ 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,slaves: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)
+NXST_FLOW reply:
+])
OVS_VSWITCHD_STOP
AT_CLEANUP
OVS_VSWITCHD_STOP
AT_CLEANUP