From owner-freebsd-net@FreeBSD.ORG  Wed Apr 25 18:53:41 2012
Return-Path: <owner-freebsd-net@FreeBSD.ORG>
Delivered-To: net@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 5C54F106564A;
	Wed, 25 Apr 2012 18:53:41 +0000 (UTC) (envelope-from bz@freebsd.org)
Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25])
	by mx1.freebsd.org (Postfix) with ESMTP id D2DD38FC0C;
	Wed, 25 Apr 2012 18:53:40 +0000 (UTC)
Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587])
	(using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.sbone.de (Postfix) with ESMTPS id D03BE25D3A00;
	Wed, 25 Apr 2012 18:53:39 +0000 (UTC)
Received: from content-filter.sbone.de (content-filter.sbone.de
	[IPv6:fde9:577b:c1a9:31::2013:2742])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.sbone.de (Postfix) with ESMTPS id EAF7DBE59D1;
	Wed, 25 Apr 2012 18:53:38 +0000 (UTC)
X-Virus-Scanned: amavisd-new at sbone.de
Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587])
	by content-filter.sbone.de (content-filter.sbone.de
	[fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024)
	with ESMTP id GiC1C+NlZvzd; Wed, 25 Apr 2012 18:53:37 +0000 (UTC)
Received: from orange-en1.sbone.de (orange-en1.sbone.de
	[IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by mail.sbone.de (Postfix) with ESMTPSA id 25B06BE59CF;
	Wed, 25 Apr 2012 18:53:37 +0000 (UTC)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset=us-ascii
From: "Bjoern A. Zeeb" <bz@freebsd.org>
In-Reply-To: <CAHM0Q_Nrqy9+AcGjVQsr+K2Pu2L6WbjPcinRYfYoYydrB=ATKQ@mail.gmail.com>
Date: Wed, 25 Apr 2012 18:53:36 +0000
Content-Transfer-Encoding: 7bit
Message-Id: <F39D57D6-A48B-4F4F-B6C7-308BE9557578@freebsd.org>
References: <20120419133018.GA91364@onelab2.iet.unipi.it>
	<4F907011.9080602@freebsd.org>
	<20120419204622.GA94904@onelab2.iet.unipi.it>
	<B143A8975061C446AD5E29742C531723C7C16A@pwsvl-excmbx-05.internal.cacheflow.com>
	<20120424163423.GA59530@onelab2.iet.unipi.it>
	<CAHM0Q_MLRVX09_jeSXmCY0=z5D+pfZgwqt1UGM+hVRU-=-Bbbw@mail.gmail.com>
	<5C2FC09E-1873-4A97-8980-07B336D3DC44@netasq.com>
	<B143A8975061C446AD5E29742C531723C7CA6A@pwsvl-excmbx-05.internal.cacheflow.com>
	<7FC5708C-429D-4077-9A3C-6272AB1316D9@FreeBSD.org>
	<CAHM0Q_Nrqy9+AcGjVQsr+K2Pu2L6WbjPcinRYfYoYydrB=ATKQ@mail.gmail.com>
To: K. Macy <kmacy@freebsd.org>
X-Mailer: Apple Mail (2.1084)
Cc: current@freebsd.org, net@freebsd.org
Subject: Re: Some performance measurements on the FreeBSD network stack
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net>
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Apr 2012 18:53:41 -0000

On 25. Apr 2012, at 15:45 , K. Macy wrote:

> a) Where is the possible leak in the legacy path?

It's been somewhere in ip_output() in one of the possible combinations
go through the code flow.  I'd probably need to apply a patch to a tree
to get there again.  It's been more than 6 months for me as well.  I think
it was related to the flowtable path but I could completely misremember.


> b) Where were the panics in v6?

Again completely quoting from memory.
I think the problem was that the INVARIANTS check in what's currently
nd6_output_lle() was hit given both the rtentry and llentry were passed in
but no *chain.  Fixing this seems trivial even when trying to keep the
current invariants checked.
However the bigger problem then was that the cached value was never updated
as the *ro passed down had been lost on the way.  Whatever came then, is
again off my head without the patch in front of me.

Btw. you don't need more than two machines connected, virtual or not, worst
two vnet instances on a lab machine, to enable and do IPv6. No need for
global connectivity at all, as would not be required for IPv4 either.


If you can get the patch updated to apply to a modern HEAD and compile (even
if as-is) I'll try to help solving those to my best (though limited)
availability to help you to get that thing in.


/bz

-- 
Bjoern A. Zeeb                                 You have to have visions!
   It does not matter how good you are. It matters what good you do!