From owner-cvs-src@FreeBSD.ORG Mon Nov 17 09:29:55 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D4DE16A4CF; Mon, 17 Nov 2003 09:29:55 -0800 (PST) Received: from ebb.errno.com (ebb.errno.com [66.127.85.87]) by mx1.FreeBSD.org (Postfix) with ESMTP id 201A543FDD; Mon, 17 Nov 2003 09:29:54 -0800 (PST) (envelope-from sam@errno.com) Received: from 66.127.85.91 ([66.127.85.91]) (authenticated bits=0) by ebb.errno.com (8.12.9/8.12.9) with ESMTP id hAHHTq0x058254 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO); Mon, 17 Nov 2003 09:29:53 -0800 (PST) (envelope-from sam@errno.com) From: Sam Leffler Organization: Errno Consulting To: Brian Feldman , src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Date: Mon, 17 Nov 2003 09:32:12 -0800 User-Agent: KMail/1.5.3 References: <200311170317.hAH3HnIW057958@repoman.freebsd.org> In-Reply-To: <200311170317.hAH3HnIW057958@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200311170932.12308.sam@errno.com> Subject: Re: cvs commit: src/sys/netinet ip_divert.c ip_input.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Nov 2003 17:29:55 -0000 On Sunday 16 November 2003 07:17 pm, Brian Feldman wrote: > green 2003/11/16 19:17:49 PST > > FreeBSD src repository > > Modified files: > sys/netinet ip_divert.c ip_input.c > Log: > Fix a few cases where MT_TAG-type "fake mbufs" are created on the stack, > but do not have mh_nextpkt initialized. Somtimes what's there is "1", and > the ip_input() code pukes trying to m_free() it, rendering divert sockets > and such broken. > This really underscores the need to get rid of MT_TAG. I've got most of the changes for that done along with mods to cleanup the "backdoor linkage" between parts of the network code; but it's not ready to commit yet. Switching over dummynet cleans up that code (IMO) and adds no cost as there was already a malloc'd data structure for each packet, but ipfw is a bit more tricky. The goal of all this is to eliminate all MT_TAG usage and also the global function pointer hooks (the latter are replaced by pfil_hooks which then become necessary for many packages and so will be needed in a GENERIC kernel). Sam