A computing system, comprising: a processor; and a memory storing instructions that when executed by the processor cause the system to perform a method, the method comprising: detecting appearance of a first virtual machine running on a hypervisor of a first host machine coupled to a first switch in a network of interconnected switches; identifying a first virtual local area network, VLAN, associated with the first virtual machine; if the first VLAN is configured in a second switch and no overlay tunnel exists between the first switch and the second switch coupling a second virtual machine belonging to the first VLAN, generating an instruction for the first and second switches to establish a first overlay tunnel between the first and second switches; detecting removal of the first virtual machine from the first host machine; determining whether the first overlay tunnel provides an overlay service to the first and second switches; in response to determining that the first overlay tunnel does not provide an overlay service, generating an instruction for the first and second switches to terminate the first overlay tunnel between the first and second switches. a processor; and a memory storing instructions that when executed by the processor cause the system to perform a method, the method comprising: detecting appearance of a first virtual machine running on a hypervisor of a first host machine coupled to a first switch in a network of interconnected switches; identifying a first virtual local area network, VLAN, associated with the first virtual machine; if the first VLAN is configured in a second switch and no overlay tunnel exists between the first switch and the second switch coupling a second virtual machine belonging to the first VLAN, generating an instruction for the first and second switches to establish a first overlay tunnel between the first and second switches; detecting removal of the first virtual machine from the first host machine; determining whether the first overlay tunnel provides an overlay service to the first and second switches; in response to determining that the first overlay tunnel does not provide an overlay service, generating an instruction for the first and second switches to terminate the first overlay tunnel between the first and second switches. detecting appearance of a first virtual machine running on a hypervisor of a first host machine coupled to a first switch in a network of interconnected switches; identifying a first virtual local area network, VLAN, associated with the first virtual machine; if the first VLAN is configured in a second switch and no overlay tunnel exists between the first switch and the second switch coupling a second virtual machine belonging to the first VLAN, generating an instruction for the first and second switches to establish a first overlay tunnel between the first and second switches; detecting removal of the first virtual machine from the first host machine; determining whether the first overlay tunnel provides an overlay service to the first and second switches; in response to determining that the first overlay tunnel does not provide an overlay service, generating an instruction for the first and second switches to terminate the first overlay tunnel between the first and second switches.