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

Re: [libvirt] [PATCH v2] util: only register callbacks for CREATE operations in virnetdevmacvlan.c



On 04/18/2012 07:09 AM, D. Herrendoerfer wrote:
From: "D. Herrendoerfer"<d herrendoerfer 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 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


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