On Sat, 22 Jan 2005 15:04:29 +0100 Martin Josefsson (MJ) wrote: MJ> On Fri, 2005-01-21 at 22:32 -0800, Udo A. Steinberg wrote: MJ> > MJ> > Connection tracking does not compile...
MJ> The problem is when compiling without NAT... MJ> The patch below should fix it, I can compile both with and without NAT MJ> now. Thanks, this fixes my problem, too. Linus, please apply the following patch from Martin. -Udo. diff -X /home/gandalf/dontdiff.ny -urNp linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack.h --- linux-2.6.11-rc2.orig/include/linux/netfilter_ipv4/ip_conntrack.h 2005-01-22 12:17:39.000000000 +0100 +++ linux-2.6.11-rc2/include/linux/netfilter_ipv4/ip_conntrack.h 2005-01-22 13:55:25.000000000 +0100 @@ -122,33 +122,6 @@ do { \ #define IP_NF_ASSERT(x) #endif -struct ip_conntrack_expect -{ - /* Internal linked list (global expectation list) */ - struct list_head list; - - /* We expect this tuple, with the following mask */ - struct ip_conntrack_tuple tuple, mask; - - /* Function to call after setup and insertion */ - void (*expectfn)(struct ip_conntrack *new, - struct ip_conntrack_expect *this); - - /* The conntrack of the master connection */ - struct ip_conntrack *master; - - /* Timer function; deletes the expectation. */ - struct timer_list timeout; - -#ifdef CONFIG_IP_NF_NAT_NEEDED - /* This is the original per-proto part, used to map the - * expected connection the way the recipient expects. */ - union ip_conntrack_manip_proto saved_proto; - /* Direction relative to the master connection. */ - enum ip_conntrack_dir dir; -#endif -}; - struct ip_conntrack_counter { u_int64_t packets; @@ -206,6 +179,33 @@ struct ip_conntrack struct ip_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX]; }; +struct ip_conntrack_expect +{ + /* Internal linked list (global expectation list) */ + struct list_head list; + + /* We expect this tuple, with the following mask */ + struct ip_conntrack_tuple tuple, mask; + + /* Function to call after setup and insertion */ + void (*expectfn)(struct ip_conntrack *new, + struct ip_conntrack_expect *this); + + /* The conntrack of the master connection */ + struct ip_conntrack *master; + + /* Timer function; deletes the expectation. */ + struct timer_list timeout; + +#ifdef CONFIG_IP_NF_NAT_NEEDED + /* This is the original per-proto part, used to map the + * expected connection the way the recipient expects. */ + union ip_conntrack_manip_proto saved_proto; + /* Direction relative to the master connection. */ + enum ip_conntrack_dir dir; +#endif +}; + static inline struct ip_conntrack * tuplehash_to_ctrack(const struct ip_conntrack_tuple_hash *hash) { @@ -301,6 +301,7 @@ struct ip_conntrack_stat #define CONNTRACK_STAT_INC(count) (__get_cpu_var(ip_conntrack_stat).count++) +#ifdef CONFIG_IP_NF_NAT_NEEDED static inline int ip_nat_initialized(struct ip_conntrack *conntrack, enum ip_nat_manip_type manip) { @@ -308,5 +309,7 @@ static inline int ip_nat_initialized(str return test_bit(IPS_SRC_NAT_DONE_BIT, &conntrack->status); return test_bit(IPS_DST_NAT_DONE_BIT, &conntrack->status); } +#endif /* CONFIG_IP_NF_NAT_NEEDED */ + #endif /* __KERNEL__ */ #endif /* _IP_CONNTRACK_H */ diff -X /home/gandalf/dontdiff.ny -urNp linux-2.6.11-rc2.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c linux-2.6.11-rc2/net/ipv4/netfilter/ipt_CLUSTERIP.c --- linux-2.6.11-rc2.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c 2005-01-22 12:17:40.000000000 +0100 +++ linux-2.6.11-rc2/net/ipv4/netfilter/ipt_CLUSTERIP.c 2005-01-22 13:55:49.000000000 +0100 @@ -29,6 +29,7 @@ #include <linux/netfilter_ipv4/ip_tables.h> #include <linux/netfilter_ipv4/ipt_CLUSTERIP.h> #include <linux/netfilter_ipv4/ip_conntrack.h> +#include <linux/netfilter_ipv4/lockhelp.h> #define CLUSTERIP_VERSION "0.6"
pgpjUUY1JDlce.pgp
Description: PGP signature