summaryrefslogtreecommitdiff
path: root/tests/bundle.at
Commit message (Collapse)AuthorAgeFilesLines
* tests/bundle: test bundle action with ports up and downThadeu Lima de Souza Cascardo2016-10-031-0/+66
| | | | | | | | | | | | | | Also, add the keyword bundle_action to all the tests in bundle.at, distinguishing it from OF bundles. It came to my attention recently that bundle_load will load 0xFFFF in case all the slaves are down, as bundle_execute will return OFPP_NONE. As I noticed this was not explicitly tested, not even for the bundle action, I thought it would be nice to do it as a way of documenting this behavior. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* tests: Expand 'bundle with many ports' test.Joe Stringer2016-03-071-0/+10
| | | | | | | | | 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: Add bundle action test with buffer realloc.Joe Stringer2016-03-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a test which causes internal reallocation of the ofpacts buffer, followed by a large bundle action which should cause a subsequent reallocation while decoding slave ports. Running this test under valgrind reveals the issue below, which is fixed in the following commit. Invalid read of size 4 at 0x4CED87: decode_bundle (ofp-actions.c:1253) by 0x4CEDFC: decode_NXAST_RAW_BUNDLE (ofp-actions.c:1272) by 0x4DBDE6: ofpact_decode (ofp-actions.inc2:3765) by 0x4D6914: ofpacts_decode (ofp-actions.c:5735) by 0x4D6A3D: ofpacts_pull_openflow_actions__ (ofp-actions.c:5772) by 0x4D74F3: ofpacts_pull_openflow_instructions (ofp-actions.c:6352) by 0x4F59FA: ofputil_decode_flow_mod (ofp-util.c:1704) by 0x4EAD18: ofp_print_flow_mod (ofp-print.c:786) by 0x4F0711: ofp_to_string__ (ofp-print.c:3220) by 0x4F0D98: ofp_to_string (ofp-print.c:3453) by 0x5486B3: do_recv (vconn.c:644) by 0x548498: vconn_recv (vconn.c:598) by 0x524582: rconn_recv (rconn.c:703) by 0x45DA61: ofconn_run (connmgr.c:1370) by 0x45B3B4: connmgr_run (connmgr.c:323) by 0x41D1E8: ofproto_run (ofproto.c:1762) by 0x40CEE0: bridge_run__ (bridge.c:2885) by 0x40D093: bridge_run (bridge.c:2940) by 0x412F7E: main (ovs-vswitchd.c:120) Address 0x66aa460 is 1,152 bytes inside a block of size 1,184 free'd at 0x4C2AF2E: realloc (vg_replace_malloc.c:692) by 0x543D27: xrealloc (util.c:123) by 0x5089EF: ofpbuf_resize__ (ofpbuf.c:243) by 0x508B81: ofpbuf_prealloc_tailroom (ofpbuf.c:290) by 0x508D5C: ofpbuf_put_uninit (ofpbuf.c:364) by 0x508DEF: ofpbuf_put (ofpbuf.c:387) by 0x4CED7D: decode_bundle (ofp-actions.c:1255) by 0x4CEDFC: decode_NXAST_RAW_BUNDLE (ofp-actions.c:1272) by 0x4DBDE6: ofpact_decode (ofp-actions.inc2:3765) by 0x4D6914: ofpacts_decode (ofp-actions.c:5735) by 0x4D6A3D: ofpacts_pull_openflow_actions__ (ofp-actions.c:5772) by 0x4D74F3: ofpacts_pull_openflow_instructions (ofp-actions.c:6352) by 0x4F59FA: ofputil_decode_flow_mod (ofp-util.c:1704) by 0x4EAD18: ofp_print_flow_mod (ofp-print.c:786) by 0x4F0711: ofp_to_string__ (ofp-print.c:3220) by 0x4F0D98: ofp_to_string (ofp-print.c:3453) by 0x5486B3: do_recv (vconn.c:644) by 0x548498: vconn_recv (vconn.c:598) by 0x524582: rconn_recv (rconn.c:703) by 0x45DA61: ofconn_run (connmgr.c:1370) Signed-off-by: Joe Stringer <joe@ovn.org> Acked-by: Jarno Rajahalme <jarno@ovn.org>
* unit-test: Link 29 test programs into ovstestAndy Zhou2014-04-031-4/+4
| | | | | | | | | | | | | | Improve link speed by linking 29 test programs into ovstest. On my machine, running the following command against a fully built tree: $ touch lib/random.c; time make Improve the overall build time from 7 seconds to 3.5 seconds. Signed-off-by: Andy Zhou <azhou@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* bundle: New action "bundle_load".Ethan Jackson2011-07-221-4/+4
| | | | | The bundle_load action behaves the same as the bundle action, except instead of outputting, it writes its result to a register.
* bundle: Implement NX_BD_ALG_ACTIVE_BACKUP.Ethan Jackson2011-07-221-0/+71
| | | | | | | I don't expect this bundling algorithm to be particularly useful in software switches. However, hardware switches will probably only support this bundling algorithm, so it's implemented here as an example and a reference.
* vswitch: Implement bundle action.Ethan Jackson2011-07-191-0/+123
This patch creates a new action called "bundle". Bundles are a way to implement a simple form of multipath in OpenFlow by grouping several ports in a single output-like action.