diff mbox series

[iproute2] ipneigh: print dst for AF_BRIDGE

Message ID ad7a8184d30648f30cab01b66d42f3eb7ab41407.camel@bisdn.de
State Accepted
Delegated to: stephen hemminger
Headers show
Series [iproute2] ipneigh: print dst for AF_BRIDGE | expand

Commit Message

Tobias Jungel Jan. 5, 2019, 12:36 p.m. UTC
In case a neighbour message is of family AF_BRIDE the NDA_DST attribute
was not printed so far. With this patch the family is evaluated to pass
the correct family to format_host_rta.

Signed-off-by: Tobias Jungel <tobias.jungel@bisdn.de>
---
 ip/ipneigh.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/ip/ipneigh.c b/ip/ipneigh.c
index 6041c467..070b1acd 100644
--- a/ip/ipneigh.c
+++ b/ip/ipneigh.c
@@ -318,10 +318,18 @@  int print_neigh(struct nlmsghdr *n, void *arg)
 
 	if (tb[NDA_DST]) {
 		const char *dst;
+		int family = r->ndm_family;
 
-		dst = format_host_rta(r->ndm_family, tb[NDA_DST]);
+		if (family == AF_BRIDGE) {
+			if (RTA_PAYLOAD(tb[NDA_DST]) == sizeof(struct in6_addr))
+				family = AF_INET6;
+			else
+				family = AF_INET;
+		}
+
+		dst = format_host_rta(family, tb[NDA_DST]);
 		print_color_string(PRINT_ANY,
-				   ifa_family_color(r->ndm_family),
+				   ifa_family_color(family),
 				   "dst", "%s ", dst);
 	}