From patchwork Sat Jan 5 12:36:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Jungel X-Patchwork-Id: 1020964 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bisdn.de Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43X1Yp6vfrz9rxp for ; Sat, 5 Jan 2019 23:44:14 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726217AbfAEMmf (ORCPT ); Sat, 5 Jan 2019 07:42:35 -0500 Received: from mx.bisdn.de ([185.27.182.31]:49889 "EHLO mx.bisdn.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726108AbfAEMme (ORCPT ); Sat, 5 Jan 2019 07:42:34 -0500 X-Greylist: delayed 339 seconds by postgrey-1.27 at vger.kernel.org; Sat, 05 Jan 2019 07:42:34 EST Received: from x230 (x590e1761.dyn.telefonica.de [89.14.23.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.bisdn.de (Postfix) with ESMTPSA id C6326A46CC; Sat, 5 Jan 2019 13:36:43 +0100 (CET) Message-ID: Subject: [iproute2 PATCH] ipneigh: print dst for AF_BRIDGE From: Tobias Jungel To: Stephen Hemminger Cc: netdev@vger.kernel.org Date: Sat, 05 Jan 2019 13:36:43 +0100 User-Agent: Evolution 3.30.3 (3.30.3-1.fc29) Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- ip/ipneigh.c | 12 ++++++++++-- 1 file 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); }