Blame SOURCES/lldpad-0.9.46-migrate-properly-with-vepa.patch

3e0fe9
diff --git a/lldp_vdp.c b/lldp_vdp.c
3e0fe9
index 57133d1..2a6e828 100644
3e0fe9
--- a/lldp_vdp.c
3e0fe9
+++ b/lldp_vdp.c
3e0fe9
@@ -1479,13 +1479,18 @@ struct vsi_profile *vdp_add_profile(struct vdp_data *vd,
3e0fe9
 		}
3e0fe9
 		profile = p;
3e0fe9
 	} else {
3e0fe9
-
3e0fe9
-		profile->response = VDP_RESPONSE_NO_RESPONSE;
3e0fe9
+		/* Libvirt sends dis-assoc command and no profile active */
3e0fe9
+		if (profile->mode == VDP_MODE_DEASSOCIATE) {
3e0fe9
+			profile->response = VDP_RESPONSE_SUCCESS;
3e0fe9
+			LLDPAD_DBG("%s: dis-assoc without profile\n", __func__);
3e0fe9
+		} else
3e0fe9
+			profile->response = VDP_RESPONSE_NO_RESPONSE;
3e0fe9
 
3e0fe9
 		LIST_INSERT_HEAD(&vd->profile_head, profile, profile);
3e0fe9
 	}
3e0fe9
 
3e0fe9
-	vdp_somethingChangedLocal(profile, true);
3e0fe9
+	if (profile->response != VDP_RESPONSE_SUCCESS)
3e0fe9
+		vdp_somethingChangedLocal(profile, true);
3e0fe9
 
3e0fe9
 	return profile;
3e0fe9
 }