diff mbox

iproute2-3.5.0: `ip a s` no longer shows addresses

Message ID 201208071503.01261.vapier@gentoo.org
State Accepted, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Mike Frysinger Aug. 7, 2012, 7:03 p.m. UTC
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)
-mike

Comments

stephen hemminger Aug. 13, 2012, 3:11 p.m. UTC | #1
On Tue, 7 Aug 2012 15:03:00 -0400
Mike Frysinger <vapier@gentoo.org> wrote:

> 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)
> -mike
> 
> diff --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
diff mbox

Patch

diff --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;