summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Jungel <tobias.jungel@bisdn.de>2019-01-05 13:36:43 +0100
committerStephen Hemminger <sthemmin@microsoft.com>2019-01-07 10:22:03 -0800
commitc9159af51a79874ffed49a065826c7949f60e213 (patch)
tree682a1b9c533873439000380791062cf030831647
parentf0cabaca38e5fafb455373e2d2747afecc7299fd (diff)
ipneigh: print dst for AF_BRIDGE
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>
-rw-r--r--ip/ipneigh.c12
1 files changed, 10 insertions, 2 deletions
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);
}