Version: 1
-Previous: 67a0613c49a780d9d2321153eea0a381a019573c
-Head: 73fe0178a02e3a2b0363f1d0ae92678b5dfafe00
+Previous: 758b7022b91c04b28d359fbd30155c1f6b865b80
+Head: ea78077f0d4a7c2bb513531fac18f03573578b3c
Applied:
logging: 549692c49922dce3911d97dcc6d0a2fc583ab5f7
acm_snoop: dd5542fbaa1c5a92367d0552ef3525d5ea0a4638
acme_dest: b7ec8fce4adac1b6e970529e41ff1c936f4be27b
show_err: 47d8e33e2f36df1e3b163fcf7e8b0b56604fb944
mult_dest: 1c8469be405d19304d47fcaf95e7d4aec574a6fc
- addrinfo: dad535804c7de5fe130ed9c744513a02ce145dbb
- refresh-temp: 73fe0178a02e3a2b0363f1d0ae92678b5dfafe00
+ addrinfo: ea78077f0d4a7c2bb513531fac18f03573578b3c
Unapplied:
1.0.4: dc3f68d964641c9ffea14558d6a236c4216a89ae
Hidden:
Bottom: ad882cbf5ccb5b39d50b3d141607e262852a2abd
-Top: f7dc2be4209894e2f33282c013570cad8f85550b
+Top: d567db5e39236562dd4e933b9516b73603856409
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2010-12-07 13:44:44 -0800
address can be an IP address, system network name, or LID, as indicated by\r
the addr_format option.\r
diff --git a/src/acme.c b/src/acme.c
-index 6aa256a..7632ffa 100644
+index 6aa256a..a7b7413 100644
--- a/src/acme.c
+++ b/src/acme.c
+@@ -49,7 +49,7 @@ static char *opts_file = ACM_OPTS_FILE;
+
+ static char *dest_addr;
+ static char *src_addr;
+-static char addr_type = 'i';
++static char addr_type = 'u';
+ static int verify;
+ static int nodelay;
+ static int make_addr;
@@ -67,10 +67,10 @@ extern char **parse(char *args, int *count);
static void show_usage(char *program)
{
printf(" [-v] - verify ACM response against SA query response\n");
printf(" [-c] - read ACM cached data only\n");
printf("usage 2: %s\n", program);
-@@ -513,6 +513,39 @@ static int verify_resolve(struct ibv_path_record *path)
+@@ -513,11 +513,55 @@ static int verify_resolve(struct ibv_path_record *path)
return ret;
}
-+static char *get_dest(char *arg)
++static char *get_dest(char *arg, char *format)
+{
+ static char addr[64];
+ struct addrinfo hint, *res;
+ int ret;
+
+ if (!arg || addr_type != 'u') {
++ *format = addr_type;
+ return arg;
+ }
+
+ if ((inet_pton(AF_INET, arg, addr) > 0) || (inet_pton(AF_INET6, arg, addr) > 0)) {
++ *format = 'i';
+ return arg;
+ }
+
+ hint.ai_protocol = IPPROTO_TCP;
+ ret = getaddrinfo(arg, NULL, &hint, &res);
+ if (ret) {
++ *format = 'l';
+ return arg;
+ }
+
+ addr, sizeof addr);
+ }
+ freeaddrinfo(res);
-+ return ai ? addr : arg;
++
++ if (ai) {
++ *format = 'i';
++ return addr;
++ } else {
++ *format = 'u';
++ return arg;
++ }
+}
+
static int resolve(char *program, char *dest_arg)
{
char **dest_list;
-@@ -531,7 +564,8 @@ static int resolve(char *program, char *dest_arg)
+ struct ibv_path_record path;
+ int ret, i = 0;
++ char dest_type;
+
+ ret = libacm_init();
+ if (ret) {
+@@ -531,9 +575,10 @@ static int resolve(char *program, char *dest_arg)
return -1;
}
- for (dest_addr = dest_list[i]; dest_addr; dest_addr = dest_list[++i]) {
-+ for (dest_addr = get_dest(dest_list[i]); dest_addr;
-+ dest_addr = get_dest(dest_list[++i])) {
++ for (dest_addr = get_dest(dest_list[i], &dest_type); dest_addr;
++ dest_addr = get_dest(dest_list[++i], &dest_type)) {
printf("Destination: %s\n", dest_addr);
- switch (addr_type) {
+- switch (addr_type) {
++ switch (dest_type) {
case 'i':
+ ret = resolve_ip(&path);
+ break;
+++ /dev/null
-Bottom: f7dc2be4209894e2f33282c013570cad8f85550b
-Top: d567db5e39236562dd4e933b9516b73603856409
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2010-12-08 10:09:31 -0800
-
-Refresh of addrinfo
-
----
-
-diff --git a/src/acme.c b/src/acme.c
-index 7632ffa..a7b7413 100644
---- a/src/acme.c
-+++ b/src/acme.c
-@@ -49,7 +49,7 @@ static char *opts_file = ACM_OPTS_FILE;
-
- static char *dest_addr;
- static char *src_addr;
--static char addr_type = 'i';
-+static char addr_type = 'u';
- static int verify;
- static int nodelay;
- static int make_addr;
-@@ -513,7 +513,7 @@ static int verify_resolve(struct ibv_path_record *path)
- return ret;
- }
-
--static char *get_dest(char *arg)
-+static char *get_dest(char *arg, char *format)
- {
- static char addr[64];
- struct addrinfo hint, *res;
-@@ -521,10 +521,12 @@ static char *get_dest(char *arg)
- int ret;
-
- if (!arg || addr_type != 'u') {
-+ *format = addr_type;
- return arg;
- }
-
- if ((inet_pton(AF_INET, arg, addr) > 0) || (inet_pton(AF_INET6, arg, addr) > 0)) {
-+ *format = 'i';
- return arg;
- }
-
-@@ -532,6 +534,7 @@ static char *get_dest(char *arg)
- hint.ai_protocol = IPPROTO_TCP;
- ret = getaddrinfo(arg, NULL, &hint, &res);
- if (ret) {
-+ *format = 'l';
- return arg;
- }
-
-@@ -543,7 +546,14 @@ static char *get_dest(char *arg)
- addr, sizeof addr);
- }
- freeaddrinfo(res);
-- return ai ? addr : arg;
-+
-+ if (ai) {
-+ *format = 'i';
-+ return addr;
-+ } else {
-+ *format = 'u';
-+ return arg;
-+ }
- }
-
- static int resolve(char *program, char *dest_arg)
-@@ -551,6 +561,7 @@ static int resolve(char *program, char *dest_arg)
- char **dest_list;
- struct ibv_path_record path;
- int ret, i = 0;
-+ char dest_type;
-
- ret = libacm_init();
- if (ret) {
-@@ -564,10 +575,10 @@ static int resolve(char *program, char *dest_arg)
- return -1;
- }
-
-- for (dest_addr = get_dest(dest_list[i]); dest_addr;
-- dest_addr = get_dest(dest_list[++i])) {
-+ for (dest_addr = get_dest(dest_list[i], &dest_type); dest_addr;
-+ dest_addr = get_dest(dest_list[++i], &dest_type)) {
- printf("Destination: %s\n", dest_addr);
-- switch (addr_type) {
-+ switch (dest_type) {
- case 'i':
- ret = resolve_ip(&path);
- break;