]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Add pim_addr_dump to facilitate v4 and v6 address dumping
authorDonald Sharp <sharpd@cumulusnetwroks.com>
Fri, 2 Sep 2016 14:50:50 +0000 (10:50 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:08 +0000 (20:26 -0500)
Allow pim_addr_dump to understand prefixes to print out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_str.c
pimd/pim_str.h

index 8e1d7cec29e9eaf9522c8535f313ce8e59260845..ca635c8a54bd938571e454438662ab75f7a7f692 100644 (file)
 
 #include "pim_str.h"
 
+void pim_addr_dump (const char *onfail, struct prefix *p, char *buf, int buf_size)
+{
+  int save_errno = errno;
+
+  if (!inet_ntop(p->family, &p->u.prefix, buf, buf_size)) {
+    zlog_warn("pim_addr_dump: inet_ntop(buf_size=%d): errno=%d: %s",
+             buf_size, errno, safe_strerror(errno));
+    if (onfail)
+      snprintf(buf, buf_size, "%s", onfail);
+  }
+
+  errno = save_errno;
+}
+
 void pim_inet4_dump(const char *onfail, struct in_addr addr, char *buf, int buf_size)
 {
   int save_errno = errno;
index 3dff9fa1e96bbb5542a89aadfc49d3ab176e7556..15f5227de8ab7f8811778f74c93131a2fbb68b36 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <prefix.h>
 
+void pim_addr_dump (const char *onfail, struct prefix *p, char *buf, int buf_size);
 void pim_inet4_dump(const char *onfail, struct in_addr addr, char *buf, int buf_size);
 char *pim_str_sg_dump (const struct prefix_sg *sg);