From owner-cvs-all@FreeBSD.ORG Fri Aug 29 20:59:17 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CD1D1065680; Fri, 29 Aug 2008 20:59:17 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 024608FC24; Fri, 29 Aug 2008 20:59:16 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 66E0E46BA1; Fri, 29 Aug 2008 16:59:16 -0400 (EDT) Date: Fri, 29 Aug 2008 21:59:16 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: "George V. Neville-Neil" In-Reply-To: <200808292043.m7TKhAaE088659@repoman.freebsd.org> Message-ID: References: <200808292043.m7TKhAaE088659@repoman.freebsd.org> User-Agent: Alpine 1.10 (BSF 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet ip_output.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Aug 2008 20:59:17 -0000 On Fri, 29 Aug 2008, George V. Neville-Neil wrote: > gnn 2008-08-29 20:42:58 UTC > > FreeBSD src repository > > Modified files: > sys/netinet ip_output.c > Log: > SVN rev 182463 on 2008-08-29 20:42:58Z by gnn > > Fix a bug whereby multicast packets that are looped back locally > wind up with the incorrect checksum on the wire when transmitted via > devices that do checksum offloading. It wouldn't surprise me if there are other related but obscure issues here that this change fixes -- the output path for IP and below generally believes pretty firmly that it owns and can write to the mbuf parts going down the stack, such as prepending headers encapsulation headers, rewriting packets in NAT, etc. Most will be very edge case because they probably work poorly or not at all with multicast anyway, but... Robert N M Watson Computer Laboratory University of Cambridge