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.
_______________________________________________
freebsd-virtualization@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"

Reply via email to