Re: Netfilter is broken (was Re: ip_defrag is broken (was: Re: test12 lockups -- need feedback))

From: David S. Miller (davem@redhat.com)
Date: Thu Dec 14 2000 - 19:11:10 EST


   Date: Fri, 15 Dec 2000 01:20:00 +0100
   From: Harald Welte <laforge@gnumonks.org>

   Or is there something wrong with:

   - packet arrives in net/ipv4/ip_input.c:ip_rcv()
   - netfilter hook NF_IP_PRE_ROUTING is called
   - net/ipv4/netfilter/ip_conntrack_core.c:ip_conntrack_in() is called
   - net/ipv4/netfilter/ip_conntrack_core.c:ip_ct_gather_frags() is called
   - net/ipv4/ip_input.c:ip_defrag() is called

   Isn't the skb->dev member supposed to still point to the receiving
   device?

No, once you submit the packet to the defrag layer, that SKB
instance is owned by the defrag layer.

One way to do what netfilter wants to do, but legally, is to
simply skb_clone() the SKB before passing it into the
defragmentation code.

I'm still deciding whether this is the best fix.

Later,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:31 EST