diff options
Diffstat (limited to 'net/ipv6/sit.c')
| -rw-r--r-- | net/ipv6/sit.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 4f408176dc64..6163f851dc01 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -101,19 +101,19 @@ static struct ip_tunnel *ipip6_tunnel_lookup(struct net *net,  	for_each_ip_tunnel_rcu(t, sitn->tunnels_r_l[h0 ^ h1]) {  		if (local == t->parms.iph.saddr &&  		    remote == t->parms.iph.daddr && -		    (!dev || !t->parms.link || dev->iflink == t->parms.link) && +		    (!dev || !t->parms.link || dev->ifindex == t->parms.link) &&  		    (t->dev->flags & IFF_UP))  			return t;  	}  	for_each_ip_tunnel_rcu(t, sitn->tunnels_r[h0]) {  		if (remote == t->parms.iph.daddr && -		    (!dev || !t->parms.link || dev->iflink == t->parms.link) && +		    (!dev || !t->parms.link || dev->ifindex == t->parms.link) &&  		    (t->dev->flags & IFF_UP))  			return t;  	}  	for_each_ip_tunnel_rcu(t, sitn->tunnels_l[h1]) {  		if (local == t->parms.iph.saddr && -		    (!dev || !t->parms.link || dev->iflink == t->parms.link) && +		    (!dev || !t->parms.link || dev->ifindex == t->parms.link) &&  		    (t->dev->flags & IFF_UP))  			return t;  	} @@ -250,7 +250,8 @@ static struct ip_tunnel *ipip6_tunnel_locate(struct net *net,  	else  		strcpy(name, "sit%d"); -	dev = alloc_netdev(sizeof(*t), name, ipip6_tunnel_setup); +	dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN, +			   ipip6_tunnel_setup);  	if (dev == NULL)  		return NULL; @@ -1729,6 +1730,7 @@ static int __net_init sit_init_net(struct net *net)  	sitn->tunnels[3] = sitn->tunnels_r_l;  	sitn->fb_tunnel_dev = alloc_netdev(sizeof(struct ip_tunnel), "sit0", +					   NET_NAME_UNKNOWN,  					   ipip6_tunnel_setup);  	if (!sitn->fb_tunnel_dev) {  		err = -ENOMEM;  |