summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/prefix.h2
-rw-r--r--pimd/pim_str.h15
2 files changed, 14 insertions, 3 deletions
diff --git a/lib/prefix.h b/lib/prefix.h
index 3a768572c4..7b2f889874 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -352,7 +352,7 @@ union prefixconstptr {
#define PREFIX_STRLEN 80
/*
- * Longest possible length of a (S,G) string is 36 bytes
+ * Longest possible length of a (S,G) string is 34 bytes
* 123.123.123.123 = 15 * 2
* (,) = 3
* NULL Character at end = 1
diff --git a/pimd/pim_str.h b/pimd/pim_str.h
index 4a19ea7b35..4481776097 100644
--- a/pimd/pim_str.h
+++ b/pimd/pim_str.h
@@ -27,14 +27,25 @@
#include "prefix.h"
#include "pim_addr.h"
+#if PIM_IPV == 4
/*
- * Longest possible length of a (S,G) string is 36 bytes
+ * Longest possible length of a IPV4 (S,G) string is 34 bytes
* 123.123.123.123 = 16 * 2
* (,) = 3
* NULL Character at end = 1
- * (123.123.123.123,123,123,123,123)
+ * (123.123.123.123,123.123.123.123)
*/
#define PIM_SG_LEN PREFIX_SG_STR_LEN
+#else
+/*
+ * Longest possible length of a IPV6 (S,G) string is 94 bytes
+ * INET6_ADDRSTRLEN * 2 = 46 * 2
+ * (,) = 3
+ * NULL Character at end = 1
+ */
+#define PIM_SG_LEN 96
+#endif
+
#define pim_inet4_dump prefix_mcast_inet4_dump
void pim_addr_dump(const char *onfail, struct prefix *p, char *buf,