From 080338ba41b83c2f5d116c33ea448a581ab8e33c Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 6 Aug 2014 04:01:12 +0200 Subject: [PATCH] monitor: Print address attributes as strings and not binary --- monitor/nlmon.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/monitor/nlmon.c b/monitor/nlmon.c index cc749dda..4a0da38d 100644 --- a/monitor/nlmon.c +++ b/monitor/nlmon.c @@ -597,6 +597,8 @@ static void print_attributes(int indent, const struct attr_entry *table, uint32_t val32; uint16_t val16; uint8_t val8; + uint8_t *ptr; + char addr[18]; str = "Reserved"; type = ATTR_UNSPEC; @@ -657,9 +659,12 @@ static void print_attributes(int indent, const struct attr_entry *table, (char *) NLA_DATA(nla)); break; case ATTR_ADDRESS: - printf("%*c%s: len %u\n", indent, ' ', str, - NLA_PAYLOAD(nla)); - print_hexdump(NLA_DATA(nla), NLA_PAYLOAD(nla)); + ptr = NLA_DATA(nla); + snprintf(addr, sizeof(addr), + "%02X:%02X:%02X:%02X:%02X:%02X", + ptr[0], ptr[1], ptr[2], + ptr[3], ptr[4], ptr[5]); + printf("%*c%s: %s\n", indent, ' ', str, addr); if (NLA_PAYLOAD(nla) != 6) printf("malformed packet\n"); break;