Re: [PATCH] SNMPv2 udpInDatagrams counter error

From: Wei Yongjun <hidden>
Date: 2006-07-31 10:14:33

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.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help