summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/prefix.c10
-rw-r--r--lib/prefix.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/prefix.c b/lib/prefix.c
index 7f660d03d8..697e1a6239 100644
--- a/lib/prefix.c
+++ b/lib/prefix.c
@@ -1317,6 +1317,16 @@ char *esi_to_str(const esi_t *esi, char *buf, int size)
return ptr;
}
+printfrr_ext_autoreg_p("EA", printfrr_ea)
+static ssize_t printfrr_ea(char *buf, size_t bsz, const char *fmt,
+ int prec, const void *ptr)
+{
+ const struct ethaddr *mac = ptr;
+
+ prefix_mac2str(mac, buf, bsz);
+ return 2;
+}
+
printfrr_ext_autoreg_p("IA", printfrr_ia)
static ssize_t printfrr_ia(char *buf, size_t bsz, const char *fmt,
int prec, const void *ptr)
diff --git a/lib/prefix.h b/lib/prefix.h
index 0bd457cc23..53e9dc3cb3 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -555,6 +555,8 @@ static inline int is_default_host_route(const struct prefix *p)
}
#ifdef _FRR_ATTRIBUTE_PRINTFRR
+#pragma FRR printfrr_ext "%pEA" (struct ethaddr *)
+
#pragma FRR printfrr_ext "%pI4" (struct in_addr *)
#pragma FRR printfrr_ext "%pI4" (in_addr_t *)