Subject: [PATCH iproute2-next 3/3] ipmroute: better error message if no kernel mroute

From: Stephen Hemminger <[email-masked]>
Date: Thu, 8 Mar 2018 18:02:19 -0800

From: Stephen Hemminger <[email-masked]>

If kernel does not support the IP multicast address family,
then it will report all routes (PF_UNSPEC).
Give the user a better error message and abort the command.

Signed-off-by: Stephen Hemminger <[email-masked]>
---
 ip/ipmroute.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ip/ipmroute.c b/ip/ipmroute.c
index 83548caf4946..a4a8fb2bbe1f 100644
--- a/ip/ipmroute.c
+++ b/ip/ipmroute.c
@@ -75,10 +75,11 @@ int print_mroute(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 		fprintf(stderr, "BUG: wrong nlmsg len %d\n", len);
 		return -1;
 	}
+
 	if (r->rtm_type != RTN_MULTICAST) {
-		fprintf(stderr, "Not a multicast route (type: %s)\n",
-			rtnl_rtntype_n2a(r->rtm_type, b1, sizeof(b1)));
-		return 0;
+		fprintf(stderr,
+			"Non multicast route received, kernel does support IP multicast?\n");
+		return -1;
 	}
 
 	parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
-- 
2.16.1