Re: 2.6.17-rc4: netfilter LOG messages truncated via NETCONSOLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Frank van Maarseveen wrote:
> On Wed, May 31, 2006 at 04:57:13PM +0200, Patrick McHardy wrote:
> 
>>The message means that there was recursion and netpoll fell back
>>to dev_queue_xmit This patch should fix the "protocol is buggy"
>>messages, netpoll didn't set skb->nh.raw. Please try if it also
>>makes the other problem go away.
> 
> 
> "protocol 0000 is buggy" is gone. The other problem is still there.


The messages might get dropped when the output queue is full.
Does one of the drop counters shown by "ip -s link list"
and "tc -s -d qdisc show" increase (the other counts might also
give some clues)? Otherwise please apply the attached patch
(should fix tcpdump, last patch was incomplete) and post a dump.


diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index e8e05ce..05ed18d 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -329,7 +329,7 @@ void netpoll_send_udp(struct netpoll *np
 	udph->len = htons(udp_len);
 	udph->check = 0;
 
-	iph = (struct iphdr *)skb_push(skb, sizeof(*iph));
+	skb->nh.iph = iph = (struct iphdr *)skb_push(skb, sizeof(*iph));
 
 	/* iph->version = 4; iph->ihl = 5; */
 	put_unaligned(0x45, (unsigned char *)iph);
@@ -346,7 +346,7 @@ void netpoll_send_udp(struct netpoll *np
 
 	eth = (struct ethhdr *) skb_push(skb, ETH_HLEN);
 
-	eth->h_proto = htons(ETH_P_IP);
+	eth->h_proto = skb->protocol = htons(ETH_P_IP);
 	memcpy(eth->h_source, np->local_mac, 6);
 	memcpy(eth->h_dest, np->remote_mac, 6);
 

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux