This change does not effect to tcpdump, only let UDP filter can not received UDP datagrams with checksum error. It is not a good idea, but I think is the best way to resolve this problem. If you want to capture error UDP packet, you can used tcpdump.
On Monday 31 July 2006 04:57, Gerrit Renker wrote: > Hi, > > | if (!sk->sk_filter && skb->ip_summed != CHECKSUM_UNNECESSARY) { > | > | IPv6 doesn't do this, so I think delete condition 'sk->sk_filter' is > | better. Do you think so? > > I think the sk->sk_filter is there for a good reason. If you delete it, > that routine is forced to always compute UDP checksums, even if the only > receiving application is a tcpdump process. I may be wrong here, but I > think that deleting the sk_filter statement is not at a good idea. > > The other alternatives discussed (afaik) so far were: > > 1) Move the increment of UDP_MIB_INDATAGRAMS from udp_queue_rcv_skb() to > udp_recvmsg() (first patch uploaded to > http://bugzilla.kernel.org/show_bug.cgi?id=6660). This was discussed: not a > good idea, since in-kernel applications may use the data_ready handler > rather than udp_recvmsg(). > > 2) Decrement UDP_MIB_INDATAGRAMS in udp_recvmsg() when the checksum turns > out to be wrong (second patch uploaded to above address). This would be a > fix to the problem you are stating, it also solves the problem of missing > out the data_ready handlers in (1), and was suggested earlier on this > mailing list. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html