summaryrefslogtreecommitdiffstats
path: root/compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'compat.h')
-rw-r--r--compat.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/compat.h b/compat.h
index 39cb8ac..b012255 100644
--- a/compat.h
+++ b/compat.h
@@ -7,6 +7,7 @@
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
+
static inline struct rtable *ip_route_output_ports(struct net *net, struct sock *sk,
__be32 daddr, __be32 saddr,
__be16 dport, __be16 sport,
@@ -31,6 +32,41 @@ static inline struct rtable *ip_route_output_ports(struct net *net, struct sock
return rt;
}
+
+#endif
+
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
+
+static inline void __skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev)
+{
+ skb->dev = dev;
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
+ skb->rxhash = 0;
+#endif
+
+ skb_set_queue_mapping(skb, 0);
+ skb_dst_drop(skb);
+ nf_reset(skb);
+}
+
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 36)
+
+#define RTABLE_DST(rtable) (&(rtable)->u.dst)
+
+#else
+
+#define RTABLE_DST(rtable) (&(rtable)->dst)
+
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+
+#define rcu_dereference_protected(p, c) rcu_dereference(p)
+
#endif
#endif /* __QUICKTUN_COMPAT_H */