Subject: kern/11911: icmp6 syslogs checksum errors
To: None <gnats-bugs@gnats.netbsd.org>
From: John Hawkinson <jhawk@mit.edu>
List: netbsd-bugs
Date: 01/07/2001 15:28:12
>Number:         11911
>Category:       kern
>Synopsis:       icmp6 syslogs checksum errors
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 07 15:28:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     John Hawkinson
>Release:        -current of 6 Jan 2000
>Organization:
MIT
>Environment:
	
System: NetBSD zorkmid.mit.edu 1.5Q NetBSD 1.5Q (ZORKMID-$Revision: 1.6 $) #82: Sun Jan 7 02:08:53 EST 2001 jhawk@zorkmid.mit.edu:/usr/local/netbsd-current/src/sys/arch/i386/compile/ZORKMID i386


>Description:
	When an ICMP6 checksum failure is detected, the kernel logs this
event:

        if ((sum = in6_cksum(m, IPPROTO_ICMPV6, off, icmp6len)) != 0) {
                log(LOG_ERR,
                    "ICMP6 checksum error(%d|%x) %s\n",
                    icmp6->icmp6_type,
                    sum,
                    ip6_sprintf(&ip6->ip6_src));
                icmp6stat.icp6s_checksum++;


	Almost any other checksum condition merely increments a counter.
If you have a broken L2 interface such that everything causes checksum failures,
getting spewage about them from ICMP6 and nothing else seems broken.

	Since the standard seems to be silence about such things, it would
be good for ICMP6 to conform to it.
>How-To-Repeat:
	Break your L2 driver such that most packets produce checksum failures. See
what happens.
>Fix:
	Just remove the log() call?
>Release-Note:
>Audit-Trail:
>Unformatted: