| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _IF_TUNNEL_H_ | 
 | 2 | #define _IF_TUNNEL_H_ | 
 | 3 |  | 
| Herbert Xu | c19e654 | 2008-10-09 11:59:55 -0700 | [diff] [blame] | 4 | #include <linux/ip.h> | 
| Brian Haley | 125a77e | 2009-10-07 13:57:10 -0700 | [diff] [blame] | 5 | #include <linux/in6.h> | 
| David Howells | 607ca46 | 2012-10-13 10:46:48 +0100 | [diff] [blame] | 6 | #include <uapi/linux/if_tunnel.h> | 
| Amerigo Wang | aa0010f | 2012-11-11 21:52:33 +0000 | [diff] [blame] | 7 | #include <linux/u64_stats_sync.h> | 
 | 8 |  | 
| Amerigo Wang | e086cad | 2012-11-11 21:52:34 +0000 | [diff] [blame] | 9 | /* | 
 | 10 |  * Locking : hash tables are protected by RCU and RTNL | 
 | 11 |  */ | 
 | 12 |  | 
 | 13 | #define for_each_ip_tunnel_rcu(pos, start) \ | 
 | 14 | 	for (pos = rcu_dereference(start); pos; pos = rcu_dereference(pos->next)) | 
 | 15 |  | 
| Amerigo Wang | aa0010f | 2012-11-11 21:52:33 +0000 | [diff] [blame] | 16 | /* often modified stats are per cpu, other are shared (netdev->stats) */ | 
 | 17 | struct pcpu_tstats { | 
 | 18 | 	u64	rx_packets; | 
 | 19 | 	u64	rx_bytes; | 
 | 20 | 	u64	tx_packets; | 
 | 21 | 	u64	tx_bytes; | 
 | 22 | 	struct u64_stats_sync	syncp; | 
 | 23 | }; | 
| Masahide NAKAMURA | 6fd8bb8 | 2007-01-23 22:17:23 -0800 | [diff] [blame] | 24 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | #endif /* _IF_TUNNEL_H_ */ |