From owner-freebsd-net@FreeBSD.ORG Tue Mar 25 19:33:44 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 01777BC7 for ; Tue, 25 Mar 2014 19:33:44 +0000 (UTC) Received: from mail.iXsystems.com (newknight.ixsystems.com [206.40.55.70]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D45B6AF0 for ; Tue, 25 Mar 2014 19:33:43 +0000 (UTC) Received: from localhost (mail.ixsystems.com [10.2.55.1]) by mail.iXsystems.com (Postfix) with ESMTP id 42E58721AA; Tue, 25 Mar 2014 12:33:43 -0700 (PDT) Received: from mail.iXsystems.com ([10.2.55.1]) by localhost (mail.ixsystems.com [10.2.55.1]) (maiad, port 10024) with ESMTP id 86558-04-4; Tue, 25 Mar 2014 12:33:43 -0700 (PDT) Received: from kruse-47.3.ixsystems.com (kruse-47.3.ixsystems.com [10.2.3.47]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.iXsystems.com (Postfix) with ESMTPSA id 0937972196; Tue, 25 Mar 2014 12:33:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ixsystems.com; s=newknight0; t=1395776011; bh=BEup5g2Ltv4yCstgjlfCPjSMSFL+/z0enBaOc0b9EHE=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=ZetbJeYLv+yOpjaZOSJYiwU5KI/Q6qCbBe6G0yS2v/ASMD2GJVXqYv98GX5xpHkbp 1x1NM0JPKBhQ179X6AekYlhsMvZon5ZQewSJ2C9kR8/nwiYxk5Zcu09YG3gKB1twZL axUI7cKUV2BzRePdoQfJMKQyWZv4qJ9q31TCFoeY= Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) Subject: Re: Non-interrupt packet sending and receiving From: Sean Fagan In-Reply-To: Date: Tue, 25 Mar 2014 12:33:30 -0700 Content-Transfer-Encoding: 7bit Message-Id: References: <27D25BFC-7BB3-400F-8405-43B8D08135D2@ixsystems.com> To: Ryan Stone X-Mailer: Apple Mail (2.1874) Cc: freebsd-net X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Mar 2014 19:33:44 -0000 On Mar 25, 2014, at 12:15 PM, Ryan Stone wrote: > You might want to take a look at the projects/sv branch, which > implement kernel core dumps over the network. We had to solve a > similar problem there (in lem, em, igb and ixgbe) and ended up > piggybacking on most of the DEVICE_POLLING code to do it. The work > ended up stalling over objections over calling into the mbuf allocator > (which I guess may be a stumbling block for your work). Unfortunately > we weren't able to come up with a clean way to share the existing > rx/tx paths in the drivers while separating the mbuf allocations out. I checked the XNU drivers I could find online, and it turns out that they did mbuf allocations. Since I was using that as my model, I went with it for now. I was aware of the network core dump work, but not until I'd started to make some progress with this. (The kdp protocol theoretically has support for dumping a core over the network, but I haven't implemented that at all.) Looking at if_lem.c, it appears similar to a large degree. Perhaps I should start from scratch... Sean.