Re: ip6tables on sparc32: filter Table does not exist
On Tue, 18 Feb 2003, Peter Keel wrote:
> Hello
>
> I finally managed to compile 2.4.20 on my SS10. Since I recently got
> 2001:8A8:30:30::/60 I now definitely want to do ipv6. It works, BUT:
>
> josephine:~# ip6tables -L
> ip6tables v1.2.6a: can't initialize ip6tables table `filter': Table
> does not exist (do you need to insmod?)
> Perhaps iptables or your kernel needs to be upgraded.
>
> This happens with the stock kernel, but also with the usagi-patch.
> So there's definitly something amess with the kernel itself.
Here is the patch I used to get it to work on 2.4.20. I forget who sent
me the original patch for 2.4.19, but here goes..
Regards,
Aaron
--- net/ipv6/netfilter/ip6_tables.c.orig 2002-11-28 18:53:15.000000000 -0500
+++ net/ipv6/netfilter/ip6_tables.c 2003-02-10 04:32:43.000000000 -0500
@@ -101,10 +101,8 @@
unsigned int hook_entry[NF_IP6_NUMHOOKS];
unsigned int underflow[NF_IP6_NUMHOOKS];
- char padding[SMP_ALIGN((NF_IP6_NUMHOOKS*2+2)*sizeof(unsigned int))];
-
/* ip6t_entry tables: one per CPU */
- char entries[0];
+ char entries[0] ____cacheline_aligned;;
};
static LIST_HEAD(ip6t_target);
@@ -1450,8 +1448,7 @@
int ret;
struct ip6t_table_info *newinfo;
static struct ip6t_table_info bootstrap
- = { 0, 0, 0, { 0 }, { 0 }, { }, { } };
-
+ = { 0, 0, 0, { 0 }, { 0 }, { } };
MOD_INC_USE_COUNT;
newinfo = vmalloc(sizeof(struct ip6t_table_info)
+ SMP_ALIGN(table->table->size) * smp_num_cpus);
Reply to: