Would there be interest in virtualization of the ixgbe driver?

Brandon Gooch jamesbrandongooch at gmail.com
Thu Jan 13 20:07:15 UTC 2011


On Tue, Jan 4, 2011 at 4:50 PM, Ryan Stone <rysto32 at gmail.com> wrote:
> 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.

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


More information about the freebsd-virtualization mailing list