Date: Thu, 13 Jan 2011 14:04:11 -0600 From: Brandon Gooch <jamesbrandongooch@gmail.com> To: Ryan Stone <rysto32@gmail.com> Cc: Jack F Vogel <jfv@freebsd.org>, freebsd-virtualization@freebsd.org Subject: Re: Would there be interest in virtualization of the ixgbe driver? Message-ID: <AANLkTi=8Gzq3BPyY=wNh4cMRMey7nUZ-bMUR8sSxCdhC@mail.gmail.com> In-Reply-To: <AANLkTi=jQsfODp9CzEGpVMQJBC7fKR5_GzZmS=DVq=F4@mail.gmail.com> References: <AANLkTi=jQsfODp9CzEGpVMQJBC7fKR5_GzZmS=DVq=F4@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 4, 2011 at 4:50 PM, Ryan Stone <rysto32@gmail.com> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=8Gzq3BPyY=wNh4cMRMey7nUZ-bMUR8sSxCdhC>