Darren,

Using the good old-fashioned printf-based debugging "technique", the
problem seems to be that the I/O netfilter hook callback in
ip_fil_linux.c is unable to recognize the packet version:

        sk = *skbp;
        ip = MTOD(sk, ip_t *);
        if (ip->ip_v == 4) {
                hlen = ip->ip_hl << 2;
                ip->ip_len = ntohs(ip->ip_len);
                ip->ip_off = ntohs(ip->ip_off);
#ifdef USE_INET6
        } else if (ip->ip_v == 6) {
                hlen = sizeof(ip6_t);
#endif
        } else {
                printk("Dropping unknown IP version packet.\n");
                return NF_DROP;
        }

I see the "Dropping unknown IP version packet" message pop-up for
every incoming/outgoing packet. This is so basic that any general
problem would have been caught in your testing - I am not sure if it
is related to 32-bit/64-bit. (Not sure if you test IP filter in 64-bit
mode on Linux.)

- Ashwani



On Fri, May 1, 2009 at 11:10 AM, Ashwani Wason <[email protected]> wrote:
> Filed bug 2785189.
>
> - Ashwani
>
>
>
> On Fri, May 1, 2009 at 10:28 AM, Darren Reed <[email protected]> 
> wrote:
>> Please make sure any bugs/issues/problems are recorded in source forge
>> so that they can be tracked appropriately:
>>
>> https://sourceforge.net/tracker/?group_id=169098&atid=849053
>>
>> Darren
>>
>>
>>
>

Reply via email to