]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Fri, 28 Jun 2013 07:34:26 +0000 (00:34 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 28 Jun 2013 07:34:26 +0000 (00:34 -0700)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index e8f7b333025658185cfdba3cf6eaf5023f51c2ba..0e43b219f92175fb9461b4b1b008e553c3de26d0 100644 (file)
--- a/meta
+++ b/meta
@@ -1,6 +1,6 @@
 Version: 1
-Previous: 96d27ca0c9aff1814ad43dab6cf606d36a74868e
-Head: 2d1e9220e14497809698e1874a806a4dc851b66c
+Previous: ca094589666ec0a349e2619776d8459b27136a00
+Head: 9e40bb14326696371acb6da3c6e067649d67d4fd
 Applied:
   rmcfg: 84d811fcdc9f212f243f82594d613b68aea367c4
   acm_notes-txt-change-dos-forma: d76f683c246786876219d6db213643600734d894
@@ -14,6 +14,7 @@ Applied:
   convert-linux-header-files-fro: 6365cdc2841a09311d4036d7b5c4f1dc825f8784
   add-support-for-preloading-ipv: 4aff1ccbb2774007f19719b9139584fbffac640a
   add-option-to-allow-for-acm-ca: 2d1e9220e14497809698e1874a806a4dc851b66c
+  refresh-temp: 9e40bb14326696371acb6da3c6e067649d67d4fd
 Unapplied:
   notes-fmt: 988d784b42cdb9db05b1608a5cdb29c51215bd9e
   dev-name2ip: 8e00708e882239292492e13aa51c82042255933c
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..d938f9f
--- /dev/null
@@ -0,0 +1,253 @@
+Bottom: 01f792aa440347a527f58202e6ba1bf0088631fc
+Top:    6271d5d486cc35db62633f160b9e093ed7ad864d
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2013-06-28 00:34:26 -0700
+
+Refresh of add-option-to-allow-for-acm-ca
+
+---
+
+diff --git a/man/ib_acme.1 b/man/ib_acme.1
+index e89c6fd..b00b315 100644
+--- a/man/ib_acme.1
++++ b/man/ib_acme.1
+@@ -1,10 +1,10 @@
+-.TH "ib_acme" 7 "2013-06-15" "ib_acme" "ib_acme" ib_acme
++.TH "ib_acme" 7 "2013-06-21" "ib_acme" "ib_acme" ib_acme
+ .SH NAME
+ ib_acme \- test and configuration utility for the IB ACM
+ .SH SYNOPSIS
+ .sp
+ .nf
+-\fIib_acme\fR [-f addr_format] [-s src_addr] -d dest_addr [-v] [-c] [-P] [-S svc_addr]
++\fIib_acme\fR [-f addr_format] [-s src_addr] -d dest_addr [-v] [-c] [-P] [-S svc_addr] [-C repetitions]
+ .fi
+ .nf
+ \fIib_acme\fR [-A [addr_file]] [-O [opt_file]] [-D dest_dir] [-V]
+@@ -48,6 +48,10 @@ Queries performance data from the destination service
+ \-S svc_addr
+ address of ACM service, default: local service
+ .TP
++\-C repetitions
++number of repetitions to perform resolution.  Used to measure
++performance of ACM cache lookups.  Defaults to 1.
++.TP
+ \-A [addr_file]
+ With this option, the ib_acme utility automatically generates the address
+ configuration file ibacm_addr.cfg.  The generated file is
+diff --git a/src/acme.c b/src/acme.c
+index cb2128c..1109b50 100644
+--- a/src/acme.c
++++ b/src/acme.c
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright (c) 2009-2010 Intel Corporation.  All rights reserved.
++ * Copyright (c) 2013 Mellanox Technologies LTD. All rights reserved.
+  *
+  * This software is available to you under the OpenIB.org BSD license
+  * below:
+@@ -55,6 +56,7 @@ static char *src_arg;
+ static char addr_type = 'u';
+ static int verify;
+ static int nodelay;
++static int repetitions = 1;
+ enum perf_query_output {
+       PERF_QUERY_NONE,
+@@ -84,6 +86,7 @@ static void show_usage(char *program)
+       printf("   [-c]             - read ACM cached data only\n");
+       printf("   [-P]             - query performance data from destination service\n");
+       printf("   [-S svc_addr]    - address of ACM service, default: local service\n");
++      printf("   [-C repetitions] - repeat count for resolution\n");
+       printf("usage 2: %s\n", program);
+       printf("Generate default ibacm service configuration and option files\n");
+       printf("   -A [addr_file]   - generate local address configuration file\n");
+@@ -540,7 +543,7 @@ static int resolve_ip(struct ibv_path_record *path)
+       }
+       ret = ib_acm_resolve_ip(saddr, (struct sockaddr *) &dest,
+-              &paths, &count, get_resolve_flags());
++              &paths, &count, get_resolve_flags(), (repetitions == 1));
+       if (ret) {
+               printf("ib_acm_resolve_ip failed: %s\n", strerror(errno));
+               return ret;
+@@ -556,7 +559,7 @@ static int resolve_name(struct ibv_path_record *path)
+       struct ibv_path_data *paths;
+       int ret, count;
+-      ret = ib_acm_resolve_name(src_addr, dest_addr, &paths, &count, get_resolve_flags());
++      ret = ib_acm_resolve_name(src_addr, dest_addr, &paths, &count, get_resolve_flags(), (repetitions == 1));
+       if (ret) {
+               printf("ib_acm_resolve_name failed: %s\n", strerror(errno));
+               return ret;
+@@ -670,7 +673,7 @@ static void resolve(char *svc)
+ {
+       char **dest_list, **src_list;
+       struct ibv_path_record path;
+-      int ret, d = 0, s = 0;
++      int ret = 0, d = 0, s = 0, i;
+       char dest_type;
+       dest_list = parse(dest_arg, NULL);
+@@ -690,23 +693,25 @@ static void resolve(char *svc)
+                       printf("Destination: %s\n", dest_addr);
+                       if (src_addr)
+                               printf("Source: %s\n", src_addr);
+-                      switch (dest_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;
+-                      case 'g':
+-                              memset(&path, 0, sizeof path);
+-                              ret = resolve_gid(&path);
+-                              break;
+-                      default:
+-                              break;
++                      for (i = 0; i < repetitions; i++) {
++                              switch (dest_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;
++                              case 'g':
++                                      memset(&path, 0, sizeof path);
++                                      ret = resolve_gid(&path);
++                                      break;
++                              default:
++                                      break;
++                              }
+                       }
+                       if (!ret)
+@@ -810,7 +815,7 @@ int CDECL_FUNC main(int argc, char **argv)
+       if (ret)
+               goto out;
+-      while ((op = getopt(argc, argv, "f:s:d:vcA::O::D:P::S:V")) != -1) {
++      while ((op = getopt(argc, argv, "f:s:d:vcA::O::D:P::S:C:V")) != -1) {
+               switch (op) {
+               case 'f':
+                       addr_type = optarg[0];
+@@ -852,6 +857,11 @@ int CDECL_FUNC main(int argc, char **argv)
+               case 'S':
+                       svc_arg = optarg;
+                       break;
++              case 'C':
++                      repetitions = atoi(optarg);
++                      if (!repetitions)
++                              repetitions = 1;
++                      break;
+               case 'V':
+                       verbose = 1;
+                       break;
+diff --git a/src/libacm.c b/src/libacm.c
+index 274eb2d..1bf7030 100644
+--- a/src/libacm.c
++++ b/src/libacm.c
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright (c) 2009 Intel Corporation.  All rights reserved.
++ * Copyright (c) 2013 Mellanox Technologies LTD. All rights reserved.
+  *
+  * This software is available to you under the OpenIB.org BSD license
+  * below:
+@@ -113,7 +114,7 @@ void ib_acm_disconnect(void)
+ }
+ static int acm_format_resp(struct acm_msg *msg,
+-      struct ibv_path_data **paths, int *count)
++      struct ibv_path_data **paths, int *count, int print)
+ {
+       struct ibv_path_data *path_data;
+       char addr[ACM_MAX_ADDRESS];
+@@ -154,7 +155,8 @@ static int acm_format_resp(struct acm_msg *msg,
+                       default:
+                               goto err;
+                       }
+-                      printf("Source: %s\n", addr);
++                      if (print)
++                              printf("Source: %s\n", addr);
+                       break;
+               }
+       }
+@@ -221,7 +223,7 @@ static int acm_error(uint8_t status)
+ }
+ static int acm_resolve(uint8_t *src, uint8_t *dest, uint8_t type,
+-      struct ibv_path_data **paths, int *count, uint32_t flags)
++      struct ibv_path_data **paths, int *count, uint32_t flags, int print)
+ {
+       struct acm_msg msg;
+       int ret, cnt = 0;
+@@ -258,28 +260,28 @@ static int acm_resolve(uint8_t *src, uint8_t *dest, uint8_t type,
+               goto out;
+       }
+-      ret = acm_format_resp(&msg, paths, count);
++      ret = acm_format_resp(&msg, paths, count, print);
+ out:
+       lock_release(&lock);
+       return ret;
+ }
+ int ib_acm_resolve_name(char *src, char *dest,
+-      struct ibv_path_data **paths, int *count, uint32_t flags)
++      struct ibv_path_data **paths, int *count, uint32_t flags, int print)
+ {
+       return acm_resolve((uint8_t *) src, (uint8_t *) dest,
+-              ACM_EP_INFO_NAME, paths, count, flags);
++              ACM_EP_INFO_NAME, paths, count, flags, print);
+ }
+ int ib_acm_resolve_ip(struct sockaddr *src, struct sockaddr *dest,
+-      struct ibv_path_data **paths, int *count, uint32_t flags)
++      struct ibv_path_data **paths, int *count, uint32_t flags, int print)
+ {
+       if (((struct sockaddr *) dest)->sa_family == AF_INET) {
+               return acm_resolve((uint8_t *) src, (uint8_t *) dest,
+-                      ACM_EP_INFO_ADDRESS_IP, paths, count, flags);
++                      ACM_EP_INFO_ADDRESS_IP, paths, count, flags, print);
+       } else {
+               return acm_resolve((uint8_t *) src, (uint8_t *) dest,
+-                      ACM_EP_INFO_ADDRESS_IP6, paths, count, flags);
++                      ACM_EP_INFO_ADDRESS_IP6, paths, count, flags, print);
+       }
+ }
+diff --git a/src/libacm.h b/src/libacm.h
+index 61220d5..9a241aa 100644
+--- a/src/libacm.h
++++ b/src/libacm.h
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright (c) 2009 Intel Corporation.  All rights reserved.
++ * Copyright (c) 2013 Mellanox Technologies LTD. All rights reserved.
+  *
+  * This software is available to you under the OpenIB.org BSD license
+  * below:
+@@ -36,9 +37,11 @@ int ib_acm_connect(char *dest_svc);
+ void ib_acm_disconnect();
+ int ib_acm_resolve_name(char *src, char *dest,
+-      struct ibv_path_data **paths, int *count, uint32_t flags);
++      struct ibv_path_data **paths, int *count, uint32_t flags,
++      int print);
+ int ib_acm_resolve_ip(struct sockaddr *src, struct sockaddr *dest,
+-      struct ibv_path_data **paths, int *count, uint32_t flags);
++      struct ibv_path_data **paths, int *count, uint32_t flags,
++      int print);
+ int ib_acm_resolve_path(struct ibv_path_record *path, uint32_t flags);
+ #define ib_acm_free_paths(paths) free(paths)