NetBSD/src 5bcTFDKsys/net if_loop.c

   Pull up following revision(s) (requested by msaitoh in ticket #424):

        sys/net/if_loop.c: revision 1.108
        sys/net/if_loop.c: revision 1.109

    Fix IP broadcast + checksum offload problem.

    When a machine sends a IP broadcast packet to an Ethernet interface that the
   checksum offload flags are set, the packet goes through ether_output() ->
   looutput() and the offload flags is cleared without calculating the checksum.

   And then, ip_input() calculate the packet's checksum because it's csum_flags is
   zero. It regard as bad checksum and it's dropped because the packet's ifp
   is s not lo0's. Fixes this bug by passing csum_flags as "calculated and good"
   when IN_LOOPBACK_NEED_CHECKSUM() is false. Advised by ryo@.

    This problem was seen when "routed -s" was used and the machine's interface's
   offload flags were set. bad checksum field of "netstat -s" was increased every
   30 seconds.

    Fix comment.
VersionDeltaFile
1.107.2.1+14-4sys/net/if_loop.c
+14-41 files

UnifiedSplitRaw