X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=tests%2Ftest-multipath.c;h=f1b12e26386823d0c3b00d6fd7cef56155d0373a;hb=e374f18644b62bf893d1082f2965c33978c01e46;hp=8a355677d607b1ffe22fea374b8d483fd63ae9cd;hpb=f25d0cf3c366d92042269a4f787f19c741c2530c;p=cascardo%2Fovs.git diff --git a/tests/test-multipath.c b/tests/test-multipath.c index 8a355677d..f1b12e263 100644 --- a/tests/test-multipath.c +++ b/tests/test-multipath.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012 Nicira, Inc. + * Copyright (c) 2010, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,6 +35,7 @@ main(int argc, char *argv[]) enum { MP_MAX_LINKS = 63 }; struct ofpact_multipath mp; bool ok = true; + char *error; int n; set_program_name(argv[0]); @@ -44,7 +45,11 @@ main(int argc, char *argv[]) ovs_fatal(0, "usage: %s multipath_action", program_name); } - multipath_parse(&mp, argv[1]); + error = multipath_parse(&mp, argv[1]); + if (error) { + ovs_fatal(0, "%s", error); + } + for (n = 1; n <= MP_MAX_LINKS; n++) { enum { N_FLOWS = 65536 }; double disruption, perfect, distribution; @@ -57,16 +62,19 @@ main(int argc, char *argv[]) memset(histogram, 0, sizeof histogram); for (i = 0; i < N_FLOWS; i++) { int old_link, new_link; + struct flow_wildcards wc; struct flow flow; random_bytes(&flow, sizeof flow); + memset(flow.zeros, 0, sizeof flow.zeros); + flow.mpls_depth = 0; mp.max_link = n - 1; - multipath_execute(&mp, &flow); + multipath_execute(&mp, &flow, &wc); old_link = flow.regs[0]; mp.max_link = n; - multipath_execute(&mp, &flow); + multipath_execute(&mp, &flow, &wc); new_link = flow.regs[0]; assert(old_link >= 0 && old_link < n);