From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: [PATCH iproute2-next 06/12] mroute: fix up family handling Date: Wed, 19 Dec 2018 19:54:21 -0800 Message-ID: <20181220035427.14453-7-dsahern@kernel.org> References: <20181220035427.14453-1-dsahern@kernel.org> Cc: stephen@networkplumber.org, David Ahern To: netdev@vger.kernel.org Return-path: Received: from mail.kernel.org ([198.145.29.99]:51782 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729294AbeLTDxz (ORCPT ); Wed, 19 Dec 2018 22:53:55 -0500 In-Reply-To: <20181220035427.14453-1-dsahern@kernel.org> Sender: netdev-owner@vger.kernel.org List-ID: From: David Ahern Only ipv4 and ipv6 have multicast routing. Set family accordingly and just return for other cases. Signed-off-by: David Ahern --- ip/ipmroute.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ip/ipmroute.c b/ip/ipmroute.c index de7a035f852f..b8f0bc49b92e 100644 --- a/ip/ipmroute.c +++ b/ip/ipmroute.c @@ -223,18 +223,20 @@ void ipmroute_reset_filter(int ifindex) static int mroute_list(int argc, char **argv) { char *id = NULL; - int family; + int family = preferred_family; ipmroute_reset_filter(0); - if (preferred_family == AF_UNSPEC) - family = AF_INET; - else - family = AF_INET6; - if (family == AF_INET) { + if (family == AF_INET || family == AF_UNSPEC) { + family = RTNL_FAMILY_IPMR; filter.af = RTNL_FAMILY_IPMR; filter.tb = RT_TABLE_DEFAULT; /* for backward compatibility */ - } else + } else if (family == AF_INET6) { + family = RTNL_FAMILY_IP6MR; filter.af = RTNL_FAMILY_IP6MR; + } else { + /* family does not have multicast routing */ + return 0; + } filter.msrc.family = filter.mdst.family = family; -- 2.11.0