From owner-freebsd-virtualization@FreeBSD.ORG Thu Jan 13 20:07:15 2011 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96F3A10656A3 for ; Thu, 13 Jan 2011 20:07:15 +0000 (UTC) (envelope-from jamesbrandongooch@gmail.com) Received: from mail-ey0-f182.google.com (mail-ey0-f182.google.com [209.85.215.182]) by mx1.freebsd.org (Postfix) with ESMTP id 280768FC16 for ; Thu, 13 Jan 2011 20:07:14 +0000 (UTC) Received: by eyf6 with SMTP id 6so1085666eyf.13 for ; Thu, 13 Jan 2011 12:07:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=HIZqsKZjPpKZwUWzEdy71UG94WbkW8JsdOJw/YafEgg=; b=R+VAcO8ma2DjYHAlKvRP16ME0Oa7rarOmGdIUfyO3qI+q9cSxiH/Pw7B6oOvoITec1 QhybzV6FxV9h0FE+SHtWayX8kPqTkjVUyZsNFgKz2ik3in39dVlRsmPIcw0T/ihsEVTp K2mreU830RvGd2KZnhQl2+AsLfrTJnThumjSw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=akHoT+sQvEyHQ/TaSi4tMS5z88TDKVT0JqSibJfIY0BK6T8jKRiuNkBYyEdwLbnnXD pY4hdoP5VBBrpOe5lYHfmmwNuVjhBBE5uGG9Fkm9hWTBNdpStFIEUoov7Z0JYyWYOmk6 6L6IPCUR4ZMxLbYTBu2Gco+yy+zXaX8hM+++4= MIME-Version: 1.0 Received: by 10.216.18.194 with SMTP id l44mr1089837wel.87.1294949051617; Thu, 13 Jan 2011 12:04:11 -0800 (PST) Received: by 10.216.36.71 with HTTP; Thu, 13 Jan 2011 12:04:11 -0800 (PST) In-Reply-To: References: Date: Thu, 13 Jan 2011 14:04:11 -0600 Message-ID: From: Brandon Gooch To: Ryan Stone Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Jack F Vogel , freebsd-virtualization@freebsd.org Subject: Re: Would there be interest in virtualization of the ixgbe driver? X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 13 Jan 2011 20:07:15 -0000 On Tue, Jan 4, 2011 at 4:50 PM, Ryan Stone wrote: > At $WORK I've implemented an extension of the ixgbe driver that > provides multiple virtualized ixgbe interfaces. =A0The implementation > uses the 8259[89]'s virtualization features, so the rx and tx paths of > the virtual interfaces are completely independent. =A0From the > perspective of everything above the ixgbe driver, it's as if there are > multiple physical interfaces present. > > The use-case for the feature at $WORK is very specific to our > architecture, but I can imagine that having hardware-based virtual > interfaces could be useful with jails, vnet or when using FreeBSD as > the host OS for something like VirtualBox. =A0I'm really not very > familiar with what people do or want to do with virtualization on > FreeBSD, so I don't have any kind of idea as to whether this feature > could be useful to the community. > > Currently the code is not in a state that could be submitted to jfv@ > for consideration: I disabled certain features like RSS because I > didn't need them in my implementation, and interfaces can only be > created at boot(via tunable). =A0Before I start working on cleaning it > up, I want to know if people think that such a feature would be > worthwhile or useful to them. > > The way that I envision this working is that you'd run something like > "ifconfig vix0 create parent ix1" to create a new virtual interface > sharing the same physical interface as ix1. =A0From that point on, vix0 > would be a completely different interface from ix1, with its own MAC, > vlan table, IPs, etc. It would be nice to split up the hardware for use with vnet jails. The virtualization technique you are describing -- it sounds similar to how network device virtualization is done in the Solaris "Project Crossbow" implementation. Can you comment on this? In other words, would we have the ability to have a vnet jail tied to specific hardware resources (Rx/Tx rings with their own DMA channels and interrupts, etc...). I'm sorry, I don't have a link to the "Project Crossbow" features to which I'm referring. -Brandon