1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _IF_TUNNEL_H_ 3*4882a593Smuzhiyun #define _IF_TUNNEL_H_ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/ip.h> 6*4882a593Smuzhiyun #include <linux/in6.h> 7*4882a593Smuzhiyun #include <uapi/linux/if_tunnel.h> 8*4882a593Smuzhiyun #include <linux/u64_stats_sync.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* 11*4882a593Smuzhiyun * Locking : hash tables are protected by RCU and RTNL 12*4882a593Smuzhiyun */ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #define for_each_ip_tunnel_rcu(pos, start) \ 15*4882a593Smuzhiyun for (pos = rcu_dereference(start); pos; pos = rcu_dereference(pos->next)) 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #endif /* _IF_TUNNEL_H_ */ 18