--- /dev/null
+Bottom: c781f7cd8e6f5fb5bc7518f06ac522b77764f701
+Top: c4ae3ad9833713b83fe0586ab3a14204c72d5e4c
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2010-12-03 12:40:49 -0800
+
+Refresh of acme_verbose
+
+---
+
+diff --git a/linux/acme_linux.c b/linux/acme_linux.c
+index 2cb422a..d473be0 100644
+--- a/linux/acme_linux.c
++++ b/linux/acme_linux.c
+@@ -43,6 +43,8 @@
+
+ extern struct ibv_context **verbs;
+ extern int dev_cnt;
++extern FILE *errf;
++extern FILE *outf;
+
+
+ static int
+@@ -55,7 +57,7 @@ get_pkey(struct ifreq *ifreq, uint16_t *pkey)
+ sprintf(buf, "//sys//class//net//%s//pkey", ifreq->ifr_name);
+ f = fopen(buf, "r");
+ if (!f) {
+- printf("failed to open %s\n", buf);
++ fprintf(errf, "failed to open %s\n", buf);
+ return -1;
+ }
+
+@@ -63,7 +65,7 @@ get_pkey(struct ifreq *ifreq, uint16_t *pkey)
+ *pkey = strtol(buf, &end, 16);
+ ret = 0;
+ } else {
+- printf("failed to read pkey\n");
++ fprintf(errf, "failed to read pkey\n");
+ ret = -1;
+ }
+
+@@ -81,7 +83,7 @@ get_sgid(struct ifreq *ifr, union ibv_gid *sgid)
+ sprintf(buf, "//sys//class//net//%s//address", ifr->ifr_name);
+ f = fopen(buf, "r");
+ if (!f) {
+- printf("failed to open %s\n", buf);
++ fprintf(errf, "failed to open %s\n", buf);
+ return -1;
+ }
+
+@@ -92,7 +94,7 @@ get_sgid(struct ifreq *ifr, union ibv_gid *sgid)
+ }
+ ret = 0;
+ } else {
+- printf("failed to read sgid\n");
++ fprintf(errf, "failed to read sgid\n");
+ ret = -1;
+ }
+
+@@ -111,13 +113,13 @@ get_devaddr(int s, struct ifreq *ifr,
+
+ ret = get_sgid(ifr, &sgid);
+ if (ret) {
+- printf("unable to get sgid\n");
++ fprintf(errf, "unable to get sgid\n");
+ return ret;
+ }
+
+ ret = get_pkey(ifr, pkey);
+ if (ret) {
+- printf("unable to get pkey\n");
++ fprintf(errf, "unable to get pkey\n");
+ return ret;
+ }
+
+@@ -144,7 +146,7 @@ get_devaddr(int s, struct ifreq *ifr,
+ return -1;
+ }
+
+-int gen_addr_ip(FILE *f)
++int gen_addr_ip(FILE *addr_file, FILE *out_file)
+ {
+ struct ifconf *ifc;
+ struct ifreq *ifr;
+@@ -170,7 +172,7 @@ int gen_addr_ip(FILE *f)
+
+ ret = ioctl(s, SIOCGIFCONF, ifc);
+ if (ret < 0) {
+- printf("ioctl ifconf error %d\n", ret);
++ fprintf(errf, "ioctl ifconf error %d\n", ret);
+ goto out2;
+ }
+
+@@ -191,7 +193,7 @@ int gen_addr_ip(FILE *f)
+
+ ret = ioctl(s, SIOCGIFHWADDR, &ifr[i]);
+ if (ret) {
+- printf("failed to get hw address %d\n", ret);
++ fprintf(errf, "failed to get hw address %d\n", ret);
+ continue;
+ }
+
+@@ -202,8 +204,10 @@ int gen_addr_ip(FILE *f)
+ if (ret)
+ continue;
+
+- printf("%s %s %d 0x%x\n", ip, verbs[dev_index]->device->name, port, pkey);
+- fprintf(f, "%s %s %d 0x%x\n", ip, verbs[dev_index]->device->name, port, pkey);
++ fprintf(outf, "%s %s %d 0x%x\n",
++ ip, verbs[dev_index]->device->name, port, pkey);
++ fprintf(addr_file, "%s %s %d 0x%x\n",
++ ip, verbs[dev_index]->device->name, port, pkey);
+ }
+ ret = 0;
+
+diff --git a/src/acme.c b/src/acme.c
+index d9f048f..9593ec6 100644
+--- a/src/acme.c
++++ b/src/acme.c
+@@ -47,6 +47,9 @@ static char *dest_dir = ACM_DEST_DIR;
+ static char *addr_file = ACM_ADDR_FILE;
+ static char *opts_file = ACM_OPTS_FILE;
+
++FILE *errf = stderr;
++FILE *outf = stdout;
++
+ static char *dest_addr;
+ static char *src_addr;
+ static char addr_type = 'i';
+@@ -58,9 +61,7 @@ static int make_opts;
+ struct ibv_context **verbs;
+ int dev_cnt;
+
+-extern int gen_addr_ip(FILE *f);
+-
+-#define VPRINT(format, ...) { if (verbose) printf(format, ## __VA_ARGS__ ); }
++extern int gen_addr_ip(FILE *addr_file, FILE *out_file);
+
+ static void show_usage(char *program)
+ {
+@@ -587,11 +588,13 @@ int CDECL_FUNC main(int argc, char **argv)
+ }
+
+ if ((src_addr && !dest_addr) || (dest_addr && !src_addr) ||
+- (!src_addr && !dest_addr && !make_addr && !make_opts)) {
++ (!src_addr && !dest_addr && !make_addr && !make_opts)) {
+ show_usage(argv[0]);
+ exit(1);
+ }
+
++ open_output_file();
++
+ if (src_addr)
+ ret = resolve(argv[0]);