From owner-freebsd-virtualization@FreeBSD.ORG Tue Jan 4 23:11:56 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 ECFAB1065694; Tue, 4 Jan 2011 23:11:56 +0000 (UTC) (envelope-from rysto32@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 5E8128FC0A; Tue, 4 Jan 2011 23:11:55 +0000 (UTC) Received: by eyf6 with SMTP id 6so6667844eyf.13 for ; Tue, 04 Jan 2011 15:11:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:cc:content-type; bh=wFz33R5HmDrW6yD0YUGeFLSKLZu1lXHGR3OSrPxD4Mo=; b=FfpbEeJ0xE4U8TKlX1SJGNeEPIw/AVI73G8drqwl+lC0/ilEU47qGyPxG0q0c5XTAS HfWyZ3WoORsqoxZ2cjiEWMZ23Fz7xIrJGMGvwDX2sBPV5wk+gtnB8x5421Kgzhd0fhvA EKo4Wv1FGJV+jGnzDDulJVCyF+GHpfLCXHU2I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=nH0ceSMXHij0D+L7cu94qF7gbKyFuT7Z4nnHdQ73tZWlvfM8eHqmOY1mYPq69tSOxv VGNOGzwTSxsNWVmWCu7CLNNi9V/WAyArKkfqgsInteVCQ0xxRMJs9na2n5MWgYbwK+hq Q8OPCq8Nd+rpzWSKo89qkrdkrw8EZ00yZB74Q= MIME-Version: 1.0 Received: by 10.213.10.143 with SMTP id p15mr13802523ebp.0.1294181414283; Tue, 04 Jan 2011 14:50:14 -0800 (PST) Received: by 10.213.22.14 with HTTP; Tue, 4 Jan 2011 14:50:14 -0800 (PST) Date: Tue, 4 Jan 2011 17:50:14 -0500 Message-ID: From: Ryan Stone To: freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Mailman-Approved-At: Tue, 04 Jan 2011 23:21:47 +0000 Cc: Jack F Vogel Subject: 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: Tue, 04 Jan 2011 23:11:57 -0000 At $WORK I've implemented an extension of the ixgbe driver that provides multiple virtualized ixgbe interfaces. The implementation uses the 8259[89]'s virtualization features, so the rx and tx paths of the virtual interfaces are completely independent. From 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. I'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). Before 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. From that point on, vix0 would be a completely different interface from ix1, with its own MAC, vlan table, IPs, etc. Any comments as to whether this would be useful(or useless) would be welcome.