| #ifndef _IF_TUNNEL_H_ |
| #define _IF_TUNNEL_H_ |
| |
| #include <linux/ip.h> |
| #include <linux/in6.h> |
| #include <uapi/linux/if_tunnel.h> |
| #include <linux/u64_stats_sync.h> |
| |
| /* |
| * Locking : hash tables are protected by RCU and RTNL |
| */ |
| |
| #define for_each_ip_tunnel_rcu(pos, start) \ |
| for (pos = rcu_dereference(start); pos; pos = rcu_dereference(pos->next)) |
| |
| /* often modified stats are per cpu, other are shared (netdev->stats) */ |
| struct pcpu_tstats { |
| u64 rx_packets; |
| u64 rx_bytes; |
| u64 tx_packets; |
| u64 tx_bytes; |
| struct u64_stats_sync syncp; |
| }; |
| |
| #endif /* _IF_TUNNEL_H_ */ |