2005-04-17 06:20:36 +08:00
|
|
|
#ifndef _IF_TUNNEL_H_
|
|
|
|
#define _IF_TUNNEL_H_
|
|
|
|
|
2008-10-10 02:59:55 +08:00
|
|
|
#include <linux/ip.h>
|
2009-10-08 04:57:10 +08:00
|
|
|
#include <linux/in6.h>
|
2012-10-13 17:46:48 +08:00
|
|
|
#include <uapi/linux/if_tunnel.h>
|
2012-11-12 05:52:33 +08:00
|
|
|
#include <linux/u64_stats_sync.h>
|
|
|
|
|
2012-11-12 05:52:34 +08:00
|
|
|
/*
|
|
|
|
* 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))
|
|
|
|
|
2012-11-12 05:52:33 +08:00
|
|
|
/* 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;
|
|
|
|
};
|
2012-07-17 17:44:54 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#endif /* _IF_TUNNEL_H_ */
|