Merge FreeBSD/1.212 and FreeBSD/1.213. These only appear to have an
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 26 Aug 2004 20:57:02 +0000 (20:57 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 26 Aug 2004 20:57:02 +0000 (20:57 +0000)
commit7db7d2dad0bf58f8ea66b5f9e1ec1b0945a69710
tree8dcbe0ddbdb10961c06d759d3a97cb94ace28334
parent6ba6f6424f09d71524aaac076edc9295305125d6
Merge FreeBSD/1.212 and FreeBSD/1.213.  These only appear to have an
effect when multi-cast routing is enabled.

Suggested-by: David Rhodus <sdrhodus@gmail.com>
1.213:
>date: 2004/04/07 10:01:38;  author: ru;  state: Exp;  lines: +8 -8
>Fixed a bug in previous revision: compute the payload checksum before
>we convert ip_len into a network byte order; in_delayed_cksum() still
>expects it in host byte order.
>
>The symtom was the ``in_cksum_skip: out of data by %d'' complaints
>from the kernel.
>
>To add to the previous commit log.  These fixes make tcpdump(1) happy
>by not complaining about UDP/TCP checksum being bad for looped back
>IP multicast when multicast router is deactivated.
>Reported by:    Vsevolod Lobko

1.212:
>date: 2004/03/25 08:46:27;  author: ru;  state: Exp;  lines: +3 -13
>Untangle IP multicast routing interaction with delayed payload checksums.
>
>Compute the payload checksum for a locally originated IP multicast where
>God intended, in ip_mloopback(), rather than doing it in ip_output() and
>only when multicast router is active.  This is more correct as we do not
>fool ip_input() that the packet has the correct payload checksum when in
>fact it does not (when multicast router is inactive).  This is also more
>efficient if we don't join the multicast group we send to, thus allowing
>the hardware to checksum the payload.
sys/netinet/ip_output.c