diff options
Diffstat (limited to 'include/net/ip_tunnels.h')
-rw-r--r-- | include/net/ip_tunnels.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index 732f8c6ae975..48ed75c21260 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h | |||
@@ -38,6 +38,10 @@ struct ip_tunnel_prl_entry { | |||
38 | struct rcu_head rcu_head; | 38 | struct rcu_head rcu_head; |
39 | }; | 39 | }; |
40 | 40 | ||
41 | struct ip_tunnel_dst { | ||
42 | struct dst_entry __rcu *dst; | ||
43 | }; | ||
44 | |||
41 | struct ip_tunnel { | 45 | struct ip_tunnel { |
42 | struct ip_tunnel __rcu *next; | 46 | struct ip_tunnel __rcu *next; |
43 | struct hlist_node hash_node; | 47 | struct hlist_node hash_node; |
@@ -54,6 +58,8 @@ struct ip_tunnel { | |||
54 | int hlen; /* Precalculated header length */ | 58 | int hlen; /* Precalculated header length */ |
55 | int mlink; | 59 | int mlink; |
56 | 60 | ||
61 | struct ip_tunnel_dst __percpu *dst_cache; | ||
62 | |||
57 | struct ip_tunnel_parm parms; | 63 | struct ip_tunnel_parm parms; |
58 | 64 | ||
59 | /* for SIT */ | 65 | /* for SIT */ |
@@ -155,10 +161,10 @@ struct sk_buff *iptunnel_handle_offloads(struct sk_buff *skb, bool gre_csum, | |||
155 | 161 | ||
156 | static inline void iptunnel_xmit_stats(int err, | 162 | static inline void iptunnel_xmit_stats(int err, |
157 | struct net_device_stats *err_stats, | 163 | struct net_device_stats *err_stats, |
158 | struct pcpu_tstats __percpu *stats) | 164 | struct pcpu_sw_netstats __percpu *stats) |
159 | { | 165 | { |
160 | if (err > 0) { | 166 | if (err > 0) { |
161 | struct pcpu_tstats *tstats = this_cpu_ptr(stats); | 167 | struct pcpu_sw_netstats *tstats = this_cpu_ptr(stats); |
162 | 168 | ||
163 | u64_stats_update_begin(&tstats->syncp); | 169 | u64_stats_update_begin(&tstats->syncp); |
164 | tstats->tx_bytes += err; | 170 | tstats->tx_bytes += err; |