From owner-freebsd-virtualization@FreeBSD.ORG Mon Sep 8 23:17:53 2014 Return-Path: Delivered-To: freebsd-virtualization@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 46C29E40 for ; Mon, 8 Sep 2014 23:17:53 +0000 (UTC) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 0896B342 for ; Mon, 8 Sep 2014 23:17:52 +0000 (UTC) Received: from dommail.onthenet.com.au (dommail.OntheNet.com.au [203.13.70.57]) by alto.onthenet.com.au (Postfix) with ESMTPS id 70E0F125FC; Tue, 9 Sep 2014 09:17:50 +1000 (EST) Received: from Peter-Grehans-MacBook-Pro-2.local ([64.245.0.210]) by dommail.onthenet.com.au (MOS 4.4.4-GA) with ESMTP id BYF88601 (AUTH peterg@ptree32.com.au); Tue, 9 Sep 2014 09:17:49 +1000 Message-ID: <540E391A.6040701@freebsd.org> Date: Mon, 08 Sep 2014 16:17:46 -0700 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Nikolay Denev Subject: Re: Bhyve virtio-net indirect descriptors References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-virtualization@freebsd.org X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Sep 2014 23:17:53 -0000 Hi Nikolay, > Any reason why bhyve is not advertising indirect descriptors for virtio-net? Indirect descriptors never seemed to make a lot of sense to me for networking. It requires allocations at the end of the transmit path which could potentially fail, or requires large amounts of preallocation to deal with maximum-sized segments. So, the initial version of bhyve's virtio-net didn't support it since I felt it impacted guest drivers. However, with Chris Torek's contribution of virtio.c, the additional work of dealing with the descriptors is hidden in the virtio api. For transmit it should just work, but there has to be some extra code added for receive. Did you have any particular guests in mind ? later, Peter.