Roy, "But this stability is probably not because my code is better but because I don't use egress shaping so the crash reasons still unknown." I need both ingress and egress traffic shaping, that's why I used the classic IMQ version. > You can try my imq version, which dows not require paching anything > > http://pupa.da.ru/imq > and I think it should be more stable. > > > > > > Hi, > > I have successfully applied the IMQ patch for kernel-2.6.2 (final > > release) from http://www.linuximq.net, and now I have support for 4 IMQ > > devices loaded in kernel. But I don't know how to patch the iptables-1.2.9 > > to support the -j IMQ target. I tried the patch-o-matic for 2.4.x kernels, > > but it doesn't work for 2.6.x kernels. I also tried the patch-o-matic-ng > > for 2.6.x kernels, but when I give the batch script commands it says it's > > not implemented yet. I don't know how to manually apply the IMQ patches. > > > > ./runme --batch userspace/IMQ.patch > > > > Could anyone help me how to do this final step and append IMQ support to > > iptables? > > > > -------------------------------------------------------------------------- > - > > > > Hi again. > > I manually patched in the iptables-1.2.9/extensions directory, the files: > > .IMQ-test > > .IMQ-test6 > > libip6t-IMQ.c > > libipt-IMQ.c > > from the pom-20030625.diff file, and it passed. Now I have the imq devices > > up and running with kernel-2.6.2, but there is another problem: when I use > > iptables ..... -j IMQ I got Segmentation fault, and dmesg says: > > > > Unable to handle kernel NULL pointer dereference at virtual address > > 00000001 > > printing eip: > > c0372908 > > *pde = 18ddc067 > > Oops: 0000 [#1] > > CPU: 0 > > EIP: 0060:[<c0372908>] Not tainted > > EFLAGS: 00010202 > > EIP is at imq_target+0x8/0x30 > > eax: 00000001 ebx: c045f820 ecx: d8db7c04 edx: c045f820 > > esi: e08170f0 edi: e0817080 ebp: 00000001 esp: d8db7b64 > > ds: 007b es: 007b ss: 0068 > > Process iptables (pid: 1648, threadinfo=d8db6000 task=d9e69900) > > Stack: c03695ee d8db7c04 e0817080 e0817110 00000004 00000001 e0817080 > > d8db7ba8 > > d8db6000 deff9420 deff9480 00000070 00000000 00000000 00000000 > > 00000163 > > 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > > 00000000 > > Call Trace: > > [<c03695ee>] translate_table+0x4be/0x760 > > [<c0369e13>] do_replace+0x193/0x6e0 > > [<c0150087>] vfree+0x27/0x40 > > [<c036a5bd>] do_ipt_set_ctl+0x6d/0x70 > > [<c03079df>] nf_sockopt+0x12f/0x140 > > [<c0307a27>] nf_setsockopt+0x37/0x40 > > [<c032d317>] ip_setsockopt+0x4a7/0xd90 > > [<c0307964>] nf_sockopt+0xb4/0x140 > > [<c0307a67>] nf_getsockopt+0x37/0x40 > > [<c032e281>] ip_getsockopt+0x681/0x7c0 > > [<c01a2c01>] journal_stop+0x201/0x360 > > [<c0195d98>] ext3_mark_iloc_dirty+0x28/0x40 > > [<c0195ed0>] ext3_mark_inode_dirty+0x50/0x60 > > [<c019a5c4>] __ext3_journal_stop+0x24/0x50 > > [<c0195f49>] ext3_dirty_inode+0x69/0xd0 > > [<c0175d1e>] __mark_inode_dirty+0xde/0xf0 > > [<c013d0f1>] buffered_rmqueue+0xd1/0x170 > > [<c013d0f1>] buffered_rmqueue+0xd1/0x170 > > [<c013d22f>] __alloc_pages+0x9f/0x330 > > [<c013d22f>] __alloc_pages+0x9f/0x330 > > [<c013939c>] find_get_page+0x2c/0x60 > > [<c014726a>] do_anonymous_page+0x17a/0x260 > > [<c01473b5>] do_no_page+0x65/0x3a0 > > [<c014558b>] pte_alloc_map+0x9b/0xc0 > > [<c01478f4>] handle_mm_fault+0xd4/0x180 > > [<c011afec>] do_page_fault+0x2fc/0x4dc > > [<c034fce6>] inet_setsockopt+0x36/0x40 > > [<c02f69e2>] sys_setsockopt+0x82/0xd0 > > [<c02f7240>] sys_socketcall+0x220/0x2a0 > > [<c010aa35>] sysenter_past_esp+0x52/0x71 > > > > Code: 0f b6 00 8b 11 83 c8 80 88 82 94 00 00 00 8b 01 81 88 84 00 > > > > > > Does anybody know why it crashes and how can I handle this mess ? > _______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/