[libvirt] [RFC] [PATCH 3/3 v2] vepa+vsi: Some experimental code for 802.1Qbh
Scott Feldman
scofeldm at cisco.com
Sat May 22 19:17:05 UTC 2010
On 5/22/10 11:34 AM, "Dave Allan" <dallan at redhat.com> wrote:
> On Sat, May 22, 2010 at 11:14:20AM -0400, Stefan Berger wrote:
>> On Fri, 2010-05-21 at 23:35 -0700, Scott Feldman wrote:
>>> On 5/21/10 6:50 AM, "Stefan Berger" <stefanb at linux.vnet.ibm.com> wrote:
>>>
>>>> This patch may get 802.1Qbh devices working. I am adding some code to
>>>> poll for the status of an 802.1Qbh device and loop for a while until the
>>>> status indicates success. This part for sure needs more work and
>>>> testing...
>>>
>>> I think we can drop this patch 3/3. For bh, we don't want to poll for
>>> status because it may take awhile before status of other than in-progress is
>>> indicated. Link UP on the eth is the async notification of status=success.
>>
>> The idea was to find out whether the association actually worked and if
>> not either fail the start of the VM or not hotplug the interface. If we
>> don't do that the user may end up having a VM that has no connectivity
>> (depending on how the switch handles an un-associated VM) and start
>> debugging all kinds of things... Really, I would like to know if
>> something went wrong. How long would we have to wait for the status to
>> change? How does a switch handle traffic from a VM if the association
>> failed? At least for 802.1Qbg we were going to get failure notification.
>
> I tend to agree that we should try to get some indication of whether
> the associate succeeded or failed. Is the time that we would have to
> poll bounded by anything, or is it reasonably short?
It's difficult to put an upper bound on how long to poll. In most case,
status would be available in a reasonably short period of time, but the
upper bound depends on activity external to the host.
> Mostly I'm concerned about the failure case: how would the user know
> that something has gone wrong, and where would information to debug
> the problem appear?
Think of it as equivalent to waiting to get link UP after plugging in a
physical cable into a physical switch port. In some cases negotiation of
the link may take on the order of seconds. Depends on the physical media,
of course. A user can check for link UP using ethtool or ip cmd.
Similarly, a user can check for association status using ip cmd, once we
extend ip cmd to know about virtual ports (patch for ip cmd coming soon).
-scott
More information about the libvir-list
mailing list