aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip_tunnels.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/ip_tunnels.h')
-rw-r--r--include/net/ip_tunnels.h10
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
41struct ip_tunnel_dst {
42 struct dst_entry __rcu *dst;
43};
44
41struct ip_tunnel { 45struct 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
156static inline void iptunnel_xmit_stats(int err, 162static 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;