On 04/18/2012 07:09 AM, D. Herrendoerfer wrote:
From: "D.
Herrendoerfer"<d.herrendoerfer(a)herrendoerfer.name>
currently upon a migration a callback is created when a 802.1qbg link
is set to PREASSOCIATE, this should not happen because this is
a no-op on most switches, and does not lead to an ASSOCIATE state.
This patch only creates callbacks when CREATE is requested.
A VM restore also leads to an association creation and it is also
covered here.
Migration and libvirtd restart scenarios are already handeled elsewhere.
Signed-off-by: D. Herrendoerfer<d.herrendoerfer(a)herrendoerfer.name>
---
src/util/virnetdevmacvlan.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index 17ea883..1890759 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -945,9 +945,14 @@ create_name:
goto disassociate_exit;
}
- if (virNetDevMacVLanVPortProfileRegisterCallback(cr_ifname, macaddress,
- linkdev, vmuuid, virtPortProfile, vmOp)< 0
)
- goto disassociate_exit;
+ if (vmOp == VIR_NETDEV_VPORT_PROFILE_OP_CREATE ||
+ vmOp == VIR_NETDEV_VPORT_PROFILE_OP_RESTORE ) {
+ /* Only directly register upon a create/restore -
+ migration and restart are handled elsewhere */
+ if (virNetDevMacVLanVPortProfileRegisterCallback(cr_ifname, macaddress,
+ linkdev, vmuuid,
virtPortProfile, vmOp)< 0 )
+ goto disassociate_exit;
+ }
return rc;
I'd ACK this assuming this has no negative effects on the 802.1Qbh
support. CC'ing Roopa.
Stefan