]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Tue, 7 Dec 2010 18:50:37 +0000 (10:50 -0800)
committerSean Hefty <sean.hefty@intel.com>
Tue, 7 Dec 2010 18:50:37 +0000 (10:50 -0800)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index 31863419b45d4888807c042a66f80aa72c1608ec..73a85910067ece585bcd11a7543bb689b52d2bae 100644 (file)
--- a/meta
+++ b/meta
@@ -1,6 +1,6 @@
 Version: 1
-Previous: dbc1aa6cd889fc49e67f8d552f321b2511bdb13d
-Head: 9780f2a4e828d158b7869e4e294e1422a0d54046
+Previous: f946271afad4d3d50a42f6325c6c6c2e34316759
+Head: f8bcd15243ff9e8f8464ab640aabc9f1e9d9c7f6
 Applied:
   logging: 549692c49922dce3911d97dcc6d0a2fc583ab5f7
   acm_snoop: dd5542fbaa1c5a92367d0552ef3525d5ea0a4638
@@ -17,6 +17,7 @@ Applied:
   acme_dest: b7ec8fce4adac1b6e970529e41ff1c936f4be27b
   show_err: 47d8e33e2f36df1e3b163fcf7e8b0b56604fb944
   mult_dest: 9780f2a4e828d158b7869e4e294e1422a0d54046
+  refresh-temp: f8bcd15243ff9e8f8464ab640aabc9f1e9d9c7f6
 Unapplied:
   1.0.4: dc3f68d964641c9ffea14558d6a236c4216a89ae
 Hidden:
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..b465d68
--- /dev/null
@@ -0,0 +1,144 @@
+Bottom: 32a7b8b2ffc23b410dc19c50a9bf68e149662635
+Top:    8badc8cdc48b346f15c359b9df5fabc6da645bbd
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2010-12-07 10:50:36 -0800
+
+Refresh of mult_dest
+
+---
+
+diff --git a/man/ib_acme.1 b/man/ib_acme.1
+index 56c49f0..de212fb 100644
+--- a/man/ib_acme.1
++++ b/man/ib_acme.1
+@@ -31,6 +31,12 @@ the addr_format option.
+ Specifies the destination address of the path to resolve.  The destination\r
+ address can be an IP address, system network name, or LID, as indicated by\r
+ the addr_format option.\r
++.P\r
++Multiple, numerical destinations can be specified by adding brackets [] to\r
++the end of a base destination name or address.  Users may specify a list of\r
++numerical ranges inside the brackets using the following example as a\r
++guide: node[1-3,5,7-8].  This will result in testing node1, node2, node3,\r
++node5, node7, and node8.   \r
+ .TP\r
+ \-v\r
+ Indicates that the resolved path information should be verified with the\r
+diff --git a/src/acme.c b/src/acme.c
+index 7e1ca5e..5ef05d3 100644
+--- a/src/acme.c
++++ b/src/acme.c
+@@ -60,6 +60,7 @@ struct ibv_context **verbs;
+ int dev_cnt;
+ extern int gen_addr_ip(FILE *f);
++extern char **parse(char *args, int *count);
+ #define VPRINT(format, ...) do { if (verbose) printf(format, ## __VA_ARGS__ ); } while (0)
+@@ -512,10 +513,11 @@ static int verify_resolve(struct ibv_path_record *path)
+       return ret;
+ }
+-static int resolve(char *program)
++static int resolve(char *program, char *dest_arg)
+ {
++      char *dest_list;
+       struct ibv_path_record path;
+-      int ret;
++      int ret, i;
+       ret = libacm_init();
+       if (ret) {
+@@ -523,28 +525,37 @@ static int resolve(char *program)
+               return ret;
+       }
+-      switch (addr_type) {
+-      case 'i':
+-              ret = resolve_ip(&path);
+-              break;
+-      case 'n':
+-              ret = resolve_name(&path);
+-              break;
+-      case 'l':
+-              memset(&path, 0, sizeof path);
+-              ret = resolve_lid(&path);
+-              break;
+-      default:
+-              show_usage(program);
+-              exit(1);
++      dest_list = parse(dest_arg, NULL);
++      if (!dest_list) {
++              printf("Unable to parse destination argument\n");
++              return -1;
+       }
+-      if (!ret)
+-              show_path(&path);
++      for (dest_addr = dest_list[i]; dest_addr; i++) {
++              switch (addr_type) {
++              case 'i':
++                      ret = resolve_ip(&path);
++                      break;
++              case 'n':
++                      ret = resolve_name(&path);
++                      break;
++              case 'l':
++                      memset(&path, 0, sizeof path);
++                      ret = resolve_lid(&path);
++                      break;
++              default:
++                      show_usage(program);
++                      exit(1);
++              }
+-      if (verify)
+-              ret = verify_resolve(&path);
++              if (!ret)
++                      show_path(&path);
++
++              if (verify)
++                      ret = verify_resolve(&path);
++      }
++      free(dest_list);
+       libacm_cleanup();
+       return ret;
+ }
+@@ -562,6 +573,7 @@ char *opt_arg(int argc, char **argv)
+ int CDECL_FUNC main(int argc, char **argv)
+ {
++      char *dest_arg;
+       int op, ret;
+       ret = osd_init();
+@@ -577,7 +589,7 @@ int CDECL_FUNC main(int argc, char **argv)
+                       src_addr = optarg;
+                       break;
+               case 'd':
+-                      dest_addr = optarg;
++                      dest_arg = optarg;
+                       break;
+               case 'v':
+                       verify = 1;
+@@ -607,14 +619,14 @@ int CDECL_FUNC main(int argc, char **argv)
+               }
+       }
+-      if ((src_addr && !dest_addr) ||
+-          (!src_addr && !dest_addr && !make_addr && !make_opts)) {
++      if ((src_addr && !dest_arg) ||
++          (!src_addr && !dest_arg && !make_addr && !make_opts)) {
+               show_usage(argv[0]);
+               exit(1);
+       }
+-      if (dest_addr)
+-              ret = resolve(argv[0]);
++      if (dest_arg)
++              ret = resolve(argv[0], dest_arg);
+       if (!ret && make_addr)
+               ret = gen_addr();