HEAD
====
Changes:
-- remove support for Linux 2.6.17--2.6.18
+- remove support for Linux 2.6.17--2.6.19
v1.47.1 (2010-10-15)
}
#endif
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
-# define skb_ifindex(skb) \
- (((skb)->input_dev != NULL) ? (skb)->input_dev->ifindex : 0)
-# define skb_nfmark(skb) (((struct sk_buff *)(skb))->nfmark)
-#elif LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 32)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 32)
# define skb_ifindex(skb) (skb)->iif
# define skb_nfmark(skb) (((struct sk_buff *)(skb))->mark)
#else
EXPORT_SYMBOL_GPL(xtnu_proto_csum_replace4);
#endif
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
-int xtnu_neigh_hh_output(struct hh_cache *hh, struct sk_buff *skb)
-{
- unsigned int hh_alen;
-
- read_lock_bh(&hh->hh_lock);
- hh_alen = HH_DATA_ALIGN(hh->hh_len);
- memcpy(skb->data - hh_alen, hh->hh_data, hh_alen);
- read_unlock_bh(&hh->hh_lock);
- skb_push(skb, hh->hh_len);
- return hh->hh_output(skb);
-}
-EXPORT_SYMBOL_GPL(xtnu_neigh_hh_output);
-
-static inline __wsum xtnu_csum_unfold(__sum16 n)
-{
- return (__force __wsum)n;
-}
-
-void xtnu_csum_replace4(__sum16 *sum, __be32 from, __be32 to)
-{
- __be32 diff[] = {~from, to};
- *sum = csum_fold(csum_partial((char *)diff, sizeof(diff),
- ~xtnu_csum_unfold(*sum)));
-}
-
-void xtnu_csum_replace2(__sum16 *sum, __be16 from, __be16 to)
-{
- xtnu_csum_replace4(sum, (__force __be32)from, (__force __be32)to);
-}
-EXPORT_SYMBOL_GPL(xtnu_csum_replace2);
-#endif
-
void *HX_memmem(const void *space, size_t spacesize,
const void *point, size_t pointsize)
{
#define DEBUGP Use__pr_debug__instead
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19)
-# warning Kernels below 2.6.19 not supported.
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
+# warning Kernels below 2.6.20 not supported.
#endif
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
# warning You need either CONFIG_NF_CONNTRACK or CONFIG_IP_NF_CONNTRACK.
#endif
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
-# define neigh_hh_output xtnu_neigh_hh_output
-# define IPPROTO_UDPLITE 136
-# define CSUM_MANGLED_0 ((__force __sum16)0xffff)
-#endif
-
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 24)
# define NF_INET_PRE_ROUTING NF_IP_PRE_ROUTING
# define NF_INET_LOCAL_IN NF_IP_LOCAL_IN
# define xt_unregister_matches xtnu_unregister_matches
#endif
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
-# define csum_replace2 xtnu_csum_replace2
-# define csum_replace4 xtnu_csum_replace4
-# define inet_proto_csum_replace4 xtnu_proto_csum_replace4
-#elif LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 24)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 24)
# define csum_replace2 nf_csum_replace2
# define csum_replace4 nf_csum_replace4
# define inet_proto_csum_replace4 xtnu_proto_csum_replace4
#include <linux/netfilter/x_tables.h>
#include <linux/spinlock.h>
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
-typedef __u16 __bitwise __sum16;
-typedef __u32 __bitwise __wsum;
-#endif
-
struct flowi;
-struct hh_cache;
struct module;
struct net_device;
struct rtable;
return q;
}
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
-static inline __wsum csum_unfold(__sum16 n)
-{
- return (__force __wsum)n;
-}
-#endif
-
extern int xtnu_ip_local_out(struct sk_buff *);
extern int xtnu_ip_route_me_harder(struct sk_buff **, unsigned int);
extern int xtnu_skb_make_writable(struct sk_buff **, unsigned int);
extern void xtnu_unregister_targets(struct xtnu_target *, unsigned int);
extern struct xt_match *xtnu_request_find_match(unsigned int,
const char *, uint8_t);
-extern int xtnu_neigh_hh_output(struct hh_cache *, struct sk_buff *);
-extern void xtnu_csum_replace2(__u16 __bitwise *, __be16, __be16);
-extern void xtnu_csum_replace4(__u16 __bitwise *, __be32, __be32);
extern void xtnu_proto_csum_replace4(__u16 __bitwise *, struct sk_buff *,
__be32, __be32, bool);
extern int xtnu_ipv6_skip_exthdr(const struct sk_buff *, int,