Skip site navigation (1)Skip section navigation (2)
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>