A system for supporting efficient virtualization in a lossless interconnection network, comprising: one or more microprocessors; one or more switches (501, 502, 503, 504), each switch storing a primary linear forwarding table, LFT, and a secondary linear forwarding table; a plurality of host channel adapters (510, 520, 530), wherein each of the host channel adapters comprises at least one virtual function (514, 515, 516), at least one virtual switch, and at least one physical function, and wherein the plurality of host channel adapters are interconnected via the one or more switches; a plurality of hypervisors (511, 521, 531), wherein each of the plurality of hypervisors is associated with at least one host channel adapter of the plurality of host channel adapters; and a plurality of virtual machines (550, 551, 552), wherein each of the plurality of virtual machines is associated with at least one virtual function; wherein the plurality of host channel adapters is arranged with one or more of a virtual switch with prepopulated local identifiers, LIDs, architecture or a virtual switch with dynamic LID assignment architecture; wherein each of the virtual switches is assigned a unique physical LID, pLID, of a plurality of pLIDs, the assigned pLID corresponding to a pLID of an associated physical function; and wherein each of the plurality of virtual machines is assigned a unique virtual LID, vLID, of a plurality of vLIDs; wherein the plurality of pLIDs and the plurality of vLIDs are comprised within an LID space; wherein one or more primary linear forwarding tables, LFTs, each entry thereof comprising a destination LID and an output port, are calculated according to a routing algorithm and based at least upon the pLIDs assigned to each of the virtual switches, each of the one or more primary LFTs, based at least upon the pLIDs, being associated with a switch of the one or more switches; and wherein one or more secondary linear forwarding tables, each entry thereof comprising a destination LID and an output port, are calculated according to the routing algorithm and based at least upon the vLIDs assigned to each of the plurality of virtual machines, each of the secondary LFTs, based at least upon the vLIDs, being associated with a switch of the one or more switches, wherein upon a migration of a virtual machine, one or more of the secondary LFTs are updated based on the vLID assigned to the migrated virtual machine, and wherein said one or more of the secondary LFTs are selected to be updated depending on the existing primary and secondary LFTs stored in each associated switch of the one or more switches. one or more microprocessors; one or more switches (501, 502, 503, 504), each switch storing a primary linear forwarding table, LFT, and a secondary linear forwarding table; a plurality of host channel adapters (510, 520, 530), wherein each of the host channel adapters comprises at least one virtual function (514, 515, 516), at least one virtual switch, and at least one physical function, and wherein the plurality of host channel adapters are interconnected via the one or more switches; a plurality of hypervisors (511, 521, 531), wherein each of the plurality of hypervisors is associated with at least one host channel adapter of the plurality of host channel adapters; and a plurality of virtual machines (550, 551, 552), wherein each of the plurality of virtual machines is associated with at least one virtual function; wherein the plurality of host channel adapters is arranged with one or more of a virtual switch with prepopulated local identifiers, LIDs, architecture or a virtual switch with dynamic LID assignment architecture; wherein each of the virtual switches is assigned a unique physical LID, pLID, of a plurality of pLIDs, the assigned pLID corresponding to a pLID of an associated physical function; and wherein each of the plurality of virtual machines is assigned a unique virtual LID, vLID, of a plurality of vLIDs; wherein the plurality of pLIDs and the plurality of vLIDs are comprised within an LID space; wherein one or more primary linear forwarding tables, LFTs, each entry thereof comprising a destination LID and an output port, are calculated according to a routing algorithm and based at least upon the pLIDs assigned to each of the virtual switches, each of the one or more primary LFTs, based at least upon the pLIDs, being associated with a switch of the one or more switches; and wherein one or more secondary linear forwarding tables, each entry thereof comprising a destination LID and an output port, are calculated according to the routing algorithm and based at least upon the vLIDs assigned to each of the plurality of virtual machines, each of the secondary LFTs, based at least upon the vLIDs, being associated with a switch of the one or more switches, wherein upon a migration of a virtual machine, one or more of the secondary LFTs are updated based on the vLID assigned to the migrated virtual machine, and wherein said one or more of the secondary LFTs are selected to be updated depending on the existing primary and secondary LFTs stored in each associated switch of the one or more switches.