|
|
@@ -1246,7 +1246,6 @@ static void ip6gre_tunnel_setup(struct net_device *dev)
|
|
|
static int ip6gre_tunnel_init(struct net_device *dev)
|
|
|
{
|
|
|
struct ip6_tnl *tunnel;
|
|
|
- int i;
|
|
|
|
|
|
tunnel = netdev_priv(dev);
|
|
|
|
|
|
@@ -1260,16 +1259,10 @@ static int ip6gre_tunnel_init(struct net_device *dev)
|
|
|
if (ipv6_addr_any(&tunnel->parms.raddr))
|
|
|
dev->header_ops = &ip6gre_header_ops;
|
|
|
|
|
|
- dev->tstats = alloc_percpu(struct pcpu_sw_netstats);
|
|
|
+ dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
|
|
|
if (!dev->tstats)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- for_each_possible_cpu(i) {
|
|
|
- struct pcpu_sw_netstats *ip6gre_tunnel_stats;
|
|
|
- ip6gre_tunnel_stats = per_cpu_ptr(dev->tstats, i);
|
|
|
- u64_stats_init(&ip6gre_tunnel_stats->syncp);
|
|
|
- }
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|