US 12,267,257 B2
Virtual machine migration in cloud infrastructure networks
Nitin Parab, Palo Alto, CA (US); Aaron Dean Brown, Sunnyvale, CA (US); Anupama Ashok Lolage, Santa Clara, CA (US); Binny Sher Gill, San Jose, CA (US); and Blinston Savio Fernandes, Chinchinim (IN)
Assigned to Nutanix, Inc., San Jose, CA (US)
Filed by Nutanix, Inc., San Jose, CA (US)
Filed on Jan. 31, 2020, as Appl. No. 16/778,754.
Claims priority of provisional application 62/939,569, filed on Nov. 22, 2019.
Claims priority of provisional application 62/939,567, filed on Nov. 22, 2019.
Claims priority of provisional application 62/894,734, filed on Aug. 31, 2019.
Claims priority of provisional application 62/894,675, filed on Aug. 30, 2019.
Prior Publication US 2021/0067466 A1, Mar. 4, 2021
Int. Cl. H04L 49/00 (2022.01); G06F 9/455 (2018.01); H04L 61/103 (2022.01); H04L 61/255 (2022.01); H04L 61/2592 (2022.01); H04L 61/2596 (2022.01); H04L 61/50 (2022.01); H04L 61/5007 (2022.01); H04L 61/5061 (2022.01); H04L 67/10 (2022.01); H04L 12/46 (2006.01); H04L 101/622 (2022.01)
CPC H04L 49/3009 (2013.01) [G06F 9/45558 (2013.01); H04L 61/103 (2013.01); H04L 61/255 (2013.01); H04L 61/2592 (2013.01); H04L 61/2596 (2013.01); H04L 61/50 (2022.05); H04L 61/5007 (2022.05); H04L 61/5061 (2022.05); H04L 67/10 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45595 (2013.01); H04L 12/4633 (2013.01); H04L 12/4641 (2013.01); H04L 2101/622 (2022.05)] 24 Claims
OG exemplary drawing
 
1. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor cause acts comprising:
providing, by a tenant or by a third party on behalf of the tenant, a tenant virtualization system deployed on a bare metal infrastructure, the bare metal infrastructure provided by a cloud provider and comprising a plurality of bare metal computing nodes interconnected over a cloud provider communications network of the cloud provider, wherein the plurality of bare metal computing nodes are addressable by respective cloud provider media access control (MAC) addresses provided by the cloud provider;
receiving, by the tenant virtualization system, the cloud provider MAC addresses from the cloud provider, wherein individual cloud provider MAC addresses correspond to individual hardware network interfaces of the bare metal computing nodes;
generating, by the tenant virtualization system, tenant virtualization system MAC addresses, wherein individual tenant virtualization system MAC addresses correspond to individual virtual machines provided by the tenant, or by a third party on behalf of the tenant, on the bare metal computing nodes;
maintaining, on multiple bare metal nodes corresponding to the tenant virtualization system, respective MAC translation tables having at least a subset of the cloud provider MAC addresses received from the cloud provider and at least a subset of the tenant virtualization system MAC addresses generated by the tenant virtualization system, wherein at least one cloud provider MAC address of a bare metal computing node is mapped to multiple tenant virtualization system MAC addresses that each correspond to a respective virtual machine of the individual virtual machines on the bare metal computing node;
routing a packet to an individual virtual machine on an individual bare metal computing node of the plurality of bare metal computing nodes corresponding to the tenant virtualization system at least by:
sending the packet from a sender bare metal computing node, wherein the packet is outgoing from a sender virtual machine; and
modifying the packet by changing a sender tenant virtualization system MAC address corresponding to the sender virtual machine to a sender cloud provider MAC address corresponding to a sender hardware network interface of the sender bare metal computing node based at least on an entry having the sender tenant virtualization system MAC address in a sender MAC translation table;
receiving the packet at the individual bare metal computing node, wherein the packet is addressed to the individual bare metal computing node of the tenant virtualization system using an individual cloud provider MAC address; and
modifying the packet by changing the individual cloud provider MAC address to an individual tenant virtualization system MAC address based at least on an entry having the individual tenant virtualization system MAC address in an individual MAC translation table.