ipmroute: better error message if no kernel mroute

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 <stephen@networkplumber.org>
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
Stephen Hemminger 2018-03-08 18:02:19 -08:00 committed by David Ahern
parent 0f1475c268
commit e06e9a6bac
1 changed files with 4 additions and 3 deletions

View File

@ -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);