A system for supporting virtual machine live migration in a subnet using a Single Root Input/Output Virtualization "SR-IOV" vSwitch architecture, comprising: one or more switches (501, 502, 503, 504), the one or more switches comprising at least a leaf switch, wherein each of the one or more switches comprises a plurality of ports and a linear forwarding table, wherein the linear forwarding table of each switch designates a specific port through which incoming subnet traffic having a specific destination local identifier is forwarded; a first host channel adapter and a second host channel adapter, wherein the first and second host channel adapters are interconnected via the one or more switches and are each arranged with a virtual switch with prepopulated local identifiers architecture; a first hypervisor associated with and able to access the first host channel adapter and a second hypervisor associated with and able to access the second host channel adapter; and a virtual machine run by the first hypervisor, wherein the virtual machine is associated with a local identifier and at least one virtual function assigned to it by the first hypervisor, wherein the at least one virtual function is a lightweight instance of a virtualized physical device, which is assigned to the virtual machine as a passthrough device; wherein after the virtual machine running on the first hypervisor is migrated to the second hypervisor, the system is configured to send: a subnet management packet to each switch that needs to be updated of the one or more switches; a first subnet management packet to the first hypervisor and a second subnet management packet to the second hypervisor to update a local identifier associated with the migrated virtual machine; wherein the subnet management packet instructs the switch to which it is sent to update a block of destination local identifiers in the linear forwarding table at that switch that includes the local identifier associated with the virtual machine to swap an entry of the local identifier associated with the virtual machine with an entry of a local identifier of a virtual function that is to be used by the migrated virtual machine at the second hypervisor; wherein updating the block includes changing the port through which incoming subnet traffic specifying the local identifier associated with the virtual machine as the destination local identifier is forwarded; and wherein only one or two subnet management packets are sent to each switch that needs to be updated for each migration. one or more switches (501, 502, 503, 504), the one or more switches comprising at least a leaf switch, wherein each of the one or more switches comprises a plurality of ports and a linear forwarding table, wherein the linear forwarding table of each switch designates a specific port through which incoming subnet traffic having a specific destination local identifier is forwarded; a first host channel adapter and a second host channel adapter, wherein the first and second host channel adapters are interconnected via the one or more switches and are each arranged with a virtual switch with prepopulated local identifiers architecture; a first hypervisor associated with and able to access the first host channel adapter and a second hypervisor associated with and able to access the second host channel adapter; and a virtual machine run by the first hypervisor, wherein the virtual machine is associated with a local identifier and at least one virtual function assigned to it by the first hypervisor, wherein the at least one virtual function is a lightweight instance of a virtualized physical device, which is assigned to the virtual machine as a passthrough device; wherein after the virtual machine running on the first hypervisor is migrated to the second hypervisor, the system is configured to send: a subnet management packet to each switch that needs to be updated of the one or more switches; a first subnet management packet to the first hypervisor and a second subnet management packet to the second hypervisor to update a local identifier associated with the migrated virtual machine; a subnet management packet to each switch that needs to be updated of the one or more switches; a first subnet management packet to the first hypervisor and a second subnet management packet to the second hypervisor to update a local identifier associated with the migrated virtual machine; wherein the subnet management packet instructs the switch to which it is sent to update a block of destination local identifiers in the linear forwarding table at that switch that includes the local identifier associated with the virtual machine to swap an entry of the local identifier associated with the virtual machine with an entry of a local identifier of a virtual function that is to be used by the migrated virtual machine at the second hypervisor; wherein updating the block includes changing the port through which incoming subnet traffic specifying the local identifier associated with the virtual machine as the destination local identifier is forwarded; and wherein only one or two subnet management packets are sent to each switch that needs to be updated for each migration.