diff options
author | Tobias Jungel <tobias.jungel@bisdn.de> | 2019-01-05 13:36:43 +0100 |
---|---|---|
committer | Stephen Hemminger <sthemmin@microsoft.com> | 2019-01-07 10:22:03 -0800 |
commit | c9159af51a79874ffed49a065826c7949f60e213 (patch) | |
tree | 682a1b9c533873439000380791062cf030831647 | |
parent | f0cabaca38e5fafb455373e2d2747afecc7299fd (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.c | 12 |
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); } |