From owner-cvs-src@FreeBSD.ORG Mon Nov 17 02:36: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 7AE3716A4CE for ; Mon, 17 Nov 2003 02:36:55 -0800 (PST) Received: from mailtoaster1.pipeline.ch (mailtoaster1.pipeline.ch [62.48.0.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F38A43FA3 for ; Mon, 17 Nov 2003 02:36:52 -0800 (PST) (envelope-from oppermann@pipeline.ch) Received: (qmail 56134 invoked from network); 17 Nov 2003 10:39:50 -0000 Received: from unknown (HELO pipeline.ch) ([62.48.0.53]) (envelope-sender ) by mailtoaster1.pipeline.ch (qmail-ldap-1.03) with SMTP for ; 17 Nov 2003 10:39:50 -0000 Message-ID: <3FB8A4C2.33E25285@pipeline.ch> Date: Mon, 17 Nov 2003 11:36:50 +0100 From: Andre Oppermann X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Brian Feldman References: <200311170317.hAH3HnIW057958@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org 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 10:36:55 -0000 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. Ugh... Thank you. It seems I missed that in ip_divert when doing the change in ip_input and ip_output. Bad me... I'm working on moving this to real m_tags (Sam has also done a couple of things in perforce). However I've got the tcp_hostcache stuff on the boiler plate first and there are some performance implications with m_tags. Although I think it's more important to be correct if the impact is only a couple of %. In addition it hits only if one is actually doing divert or ipfw fwd. But then you are already taking a hit with sending the packet out to userland natd and back again. So overall it probably doesn't make any difference in practice and using m_tags shouldn't pose any penalty. -- Andre