Re: iproute2-3.5.0: `ip a s` no longer shows addresses
From: Stephen Hemminger <hidden>
Date: 2012-08-13 15:11:35
On Tue, 7 Aug 2012 15:03:00 -0400 Mike Frysinger [off-list ref] wrote:
quoted hunk ↗ jump to hunk
since 3.4.0 works, but 3.5.0, a quick bisect shows the bad commit: http://git.kernel.org/?p=linux/kernel/git/shemminger/iproute2.git;a=commit;h=8d07e5f7d995171ee8834eae268e300560de5d4f the simple test case: make clean && make -j -s && ./ip/ip a s lo before that change, i would get: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever but after, i now get: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 seems like the bug was introduced in the middle of that patch: - if (filter.family != AF_PACKET) { + if (filter.family && filter.family != AF_PACKET) { + if (filter.oneline) + no_link = 1; + if (rtnl_wilddump_request(&rth, filter.family, RTM_GETADDR) < 0) { perror("Cannot send dump request"); exit(1); if i revert the change to the if statement there, `ip a s` works for me again. (see below) -mikediff --git a/ip/ipaddress.c b/ip/ipaddress.c index 37deda5..69a63b3 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c@@ -1018,7 +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.family != AF_PACKET) { if (filter.oneline) no_link = 1;
Ok. Applied
Attachments
- signature.asc [application/pgp-signature] 836 bytes