From: D. Herrendoerfer Date: Fri, 13 Apr 2012 12:41:16 +0000 (+0200) Subject: util: only register callbacks for CREATE operations in virnetdevmacvlan.c X-Git-Tag: v0.9.12-rc1~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6146c35f1dfa6979367b32355c9bf845c5b3ea0;p=thirdparty%2Flibvirt.git util: only register callbacks for CREATE operations in virnetdevmacvlan.c 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 or RESTORE is requested. Migration and libvirtd restart scenarios are already handled elsewhere. Signed-off-by: D. Herrendoerfer --- diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c index 326e29c4ab..879d846e85 100644 --- a/src/util/virnetdevmacvlan.c +++ b/src/util/virnetdevmacvlan.c @@ -945,9 +945,18 @@ create_name: goto disassociate_exit; } - if (virNetDevMacVLanVPortProfileRegisterCallback(cr_ifname, macaddress, - linkdev, vmuuid, virtPortProfile, vmOp) < 0 ) + if (vmOp == VIR_NETDEV_VPORT_PROFILE_OP_CREATE || + vmOp == VIR_NETDEV_VPORT_PROFILE_OP_RESTORE) { + /* Only directly register upon a create or restore (restarting + * a saved image) - migration and libvirtd restart are handled + * elsewhere. + */ + if (virNetDevMacVLanVPortProfileRegisterCallback(cr_ifname, macaddress, + linkdev, vmuuid, + virtPortProfile, + vmOp) < 0 ) goto disassociate_exit; + } return rc;