Results 1 to 4 of 4
I have a kernel module that uses netfilter to catch the packets at NF_IP_LOCAL_OUT hook.These are udp packets which encapsulate tcp packets withing them like ip->udp->ip'->tcp.
In the hook, I ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 02-15-2010 #1Just Joined!
- Join Date
- Feb 2010
- Posts
- 2
udp packets cause kernel oops in ip_push_pending_frames linux 2.6.23.5
I have a kernel module that uses netfilter to catch the packets at NF_IP_LOCAL_OUT hook.These are udp packets which encapsulate tcp packets withing them like ip->udp->ip'->tcp.
In the hook, I strip the ip and udp header out to recover the ip->tcp original packet.Sometimes , I get this message.
ip_push_pending_frames+0x38b/0x46c
and it kills my process.
Any ideas on how to prevent this ? This is very important for me.
Thank you advanced
- 02-15-2010 #2Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 10,141
Without looking at your souce code, there isn't much to say at this point.
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!
- 02-16-2010 #3Just Joined!
- Join Date
- Feb 2010
- Posts
- 2
the source is as follows:
iph=(struct iphdr*)skb->network_header;
skb->data=skb->data+iph->ihl*4+sizeof(struct udphdr);
skb->len-=iph->ihl*4+sizeof(struct udphdr);
skb->network_header=skb->data;
iph=(struct iphdr*)skb->network_header;
skb->transport_header=skb->data+iph->ihl*4;
- 02-16-2010 #4Linux Guru
- Join Date
- Apr 2009
- Location
- I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
- Posts
- 10,141
Someone else might make something of that, but I need more context. If you put your code inside code
blocks, it will be easier to read since it will maintain indentation, etc.Code:/* place code here */
Sometimes, real fast is almost as good as real time.
Just remember, Semper Gumbi - always be flexible!


Reply With Quote
