[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] Network device abstraction aka virtual switch - V3

On 06/16/2011 09:56 PM, Christian Benvenuti (benve) wrote:
Laine Stump wrote:
Interface Pools

In many cases, a single host network may have multiple physical
network devices associated with it (especially in the case of an
SRIOV-capable ethernet card, which will have several "virtual
functions" associated with a single physical ethernet connection). The
host will at least want to balance the load of multiple guests between
these multiple devices, and may even require (in the case of
passthrough mode, for example) that only a single guest interface be
attached to each host device.
Even though vnlink does not use 'passthrough' (it uses 'private' mode),
actually comes with the same requirement: the lower device cannot be
In the case of mode='passthrough', only one guest interface can be
connected to a device at a time.
In the case of BH that I mentioned above, the libvirt/BH code does
not currently enforce it, but it does have the same requirement.


Can this (the fact that the desired mode of operation will not allow for sharing of interfaces) be determined absolutely from the existing config information? In other words, is it safe to say that any time you have the combination of "direct"/"private"/"802.1Qbh" that interfaces can't be shared, but that for direct/private/<not-802.1Qbh> they *can* be shared?

I'm currently writing the code that picks an interface to use from the pool; the information I have is roughly equivalent to what gets configured for current libvirt domain interfaces:

| <interface type='direct'>
| <source dev='XYZ' mode='private'/>
| <virtualport type='802.1Qbh">
| <parameters
| </virtualport>
| </interface>

I want to avoid adding an explicit config item to the XML to allow/prevent interface sharing if at all possible (I already prevent sharing for passthrough mode; if adding a check for private mode with virtualport type='802.1Qbh' would be enough, then I'm happy)

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]