mirror of
git://git.code.sf.net/p/xtables-addons/xtables-addons
synced 2025-09-08 21:54:57 +02:00
src: compile fixes for 2.6.18 and 2.6.19
I did not test f30793f591
on all
supported kernel versions and noticed too late.
This commit is contained in:
@@ -20,6 +20,11 @@
|
|||||||
#include "compat_skbuff.h"
|
#include "compat_skbuff.h"
|
||||||
#include "compat_xtnu.h"
|
#include "compat_xtnu.h"
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
|
||||||
|
typedef __u16 __bitwise __sum16;
|
||||||
|
typedef __u32 __bitwise __wsum;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 22)
|
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 22)
|
||||||
static int xtnu_match_run(const struct sk_buff *skb,
|
static int xtnu_match_run(const struct sk_buff *skb,
|
||||||
const struct net_device *in, const struct net_device *out,
|
const struct net_device *in, const struct net_device *out,
|
||||||
@@ -384,16 +389,21 @@ int xtnu_neigh_hh_output(struct hh_cache *hh, struct sk_buff *skb)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(xtnu_neigh_hh_output);
|
EXPORT_SYMBOL_GPL(xtnu_neigh_hh_output);
|
||||||
|
|
||||||
static inline void csum_replace4(__sum16 *sum, __be32 from, __be32 to)
|
static inline __wsum xtnu_csum_unfold(__sum16 n)
|
||||||
|
{
|
||||||
|
return (__force __wsum)n;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void xtnu_csum_replace4(__sum16 *sum, __be32 from, __be32 to)
|
||||||
{
|
{
|
||||||
__be32 diff[] = {~from, to};
|
__be32 diff[] = {~from, to};
|
||||||
*sum = csum_fold(csum_partial((char *)diff, sizeof(diff),
|
*sum = csum_fold(csum_partial((char *)diff, sizeof(diff),
|
||||||
~csum_unfold(*sum)));
|
~xtnu_csum_unfold(*sum)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void xtnu_csum_replace2(__sum16 *sum, __be16 from, __be16 to)
|
void xtnu_csum_replace2(__sum16 *sum, __be16 from, __be16 to)
|
||||||
{
|
{
|
||||||
csum_replace4(sum, (__force __be32)from, (__force __be32)to);
|
xtnu_csum_replace4(sum, (__force __be32)from, (__force __be32)to);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(xtnu_csum_replace2);
|
EXPORT_SYMBOL_GPL(xtnu_csum_replace2);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -82,5 +82,6 @@ extern void xtnu_unregister_targets(struct xtnu_target *, unsigned int);
|
|||||||
extern struct xt_match *xtnu_request_find_match(unsigned int,
|
extern struct xt_match *xtnu_request_find_match(unsigned int,
|
||||||
const char *, uint8_t);
|
const char *, uint8_t);
|
||||||
extern int xtnu_neigh_hh_output(struct hh_cache *, struct sk_buff *);
|
extern int xtnu_neigh_hh_output(struct hh_cache *, struct sk_buff *);
|
||||||
|
extern void xtnu_csum_replace2(__u16 __bitwise *, __be16, __be16);
|
||||||
|
|
||||||
#endif /* _COMPAT_XTNU_H */
|
#endif /* _COMPAT_XTNU_H */
|
||||||
|
Reference in New Issue
Block a user