--- a/ip/ipaddress.c +++ a/ip/ipaddress.c @@ -1018,10 +1018,7 @@ static int ipaddr_list_or_flush(int argc, char **argv, int flush) exit(1); } - if (filter.family && filter.family != AF_PACKET) { - if (filter.oneline) - no_link = 1; - + if (filter.family != AF_PACKET) { if (rtnl_wilddump_request(&rth, filter.family, RTM_GETADDR) < 0) { perror("Cannot send dump request"); exit(1); @@ -1032,7 +1029,12 @@ static int ipaddr_list_or_flush(int argc, char **argv, int flush) exit(1); } - ipaddr_filter(&linfo, &ainfo); + if (filter.family) { + if (filter.oneline) + no_link = 1; + + ipaddr_filter(&linfo, &ainfo); + } } for (l = linfo.head; l; l = l->next) {