# US 2019/0379558 A1 · Method and system for virtual and physical network integration

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0379558 A1
- Document ID: US20190379558A1
- Status: Published application
- Kind: A1
- Application number: 16/547,476
- Filed: 2019-08-21
- Published: 2019-12-12
- Earliest claimed: 2012-08-14
- Assignees: Nicira, Inc.
- Applicants: Nicira, Inc.
- Inventors: Thayumanavan Sridhar; Margaret Petrus; Mallik Mahalingam
- Web page: https://patentgrep.com/patent/US20190379558A1

## CPC

- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 12/413: with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 45/74: Address processing for routing
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The disclosure herein describes a virtual extensible local area network (VXLAN) gateway. During operation, the VXLAN gateway receives, from a physical host, an Ethernet packet destined for a virtual machine residing in a remote layer-2 network broadcast domain that is different from a local layer-2 network broadcast domain where the physical host resides. The VXLAN gateway then determines a VXLAN identifier for the received Ethernet packet. The VXLAN gateway further encapsulates the Ethernet packet with the virtual extensible local area network identifier and an Internet Protocol (IP) header, and forwards the encapsulated packet to an IP network, thereby allowing the packet to be transported to the virtual machine via the IP network and allowing the remote layer-2 network broadcast domain and the local layer-2 network broadcast domain to be part of a common layer-2 broadcast domain.

## Claims

### Claim at position 1

1-21. (canceled)

### Claim 22

For a physical device separate from sources and destinations of packets in a network, a method for implementing a gateway, the method comprising:
receiving, from a physical host separate from the physical device implementing the gateway, a packet destined for a virtual machine residing in a remote broadcast domain that is different from a local broadcast domain in which the physical host resides;
determining a logical network identifier for the received packet;
encapsulating the received packet with the logical network identifier and a network layer header; and
forwarding the encapsulated packet to an interconnecting network to which the physical device implementing the gateway connects, thereby allowing the packet to be transported to the virtual machine via the interconnecting network and allowing the remote broadcast domain and the local broadcast domain to be part of a common broadcast domain.

### Claim 23 (depends on 22)

The method of claim 22 further comprising:
maintaining a data structure that maps the logical network identifier to a multicast group; and
setting a destination network layer address in the network layer header to be an address corresponding to the multicast group when the received packet has a broadcast destination layer 2 address.

### Claim 24 (depends on 22)

The method of claim 22 further comprising maintaining a data structure that maps at least one of (i) a layer 2 address of the physical host and (ii) a virtual local area network (VLAN) tag of the physical host to the logical network identifier.

### Claim 25 (depends on 22)

The method of claim 22 further comprising:
receiving, via the interconnecting network, a second packet originating from the virtual machine, wherein the second packet includes outer network layer header, the logical network identifier, and an inner layer-2 header;
decapsulating the second packet by removing the outer network layer header and logical network identifier of the second packet; and
forwarding the decapsulated second packet out of the physical device implementing the gateway to the physical host.

### Claim 26 (depends on 22)

The method of claim 22 further comprising establishing a tunnel with a second gateway implemented by a second physical device, thereby joining the remote broadcast domain and the local broadcast domain with a common logical network identifier.

### Claim 27 (depends on 22)

The method of claim 22 further comprising receiving configuration information from a controller, wherein the configuration information comprises mapping information that maps a set of addresses to the logical network identifier.

### Claim 28 (depends on 22)

The method of claim 22, wherein:
the packet received from the physical host originates from a virtual machine that operates on the physical host;
the received packet is an unencapsulated packet when received by the physical device; and
a virtual switch that operates on the physical host is not configured for encapsulating packets with logical network identifiers.

### Claim 29 (depends on 22)

The method of claim 22, wherein the physical host is a first physical host, the local broadcast domain is a first local broadcast domain, the received packet is a first packet, the machine is a first machine, the remote broadcast domain is a first remote broadcast domain, the logical network identifier is a first logical network identifier, and the network layer header is a first network layer header, the method further comprising:
receiving, from a second physical host separate from the physical device implementing the gateway, a second packet destined for a second virtual machine residing in a second remote broadcast domain that is different from a second local broadcast domain in which the second physical host resides;
determining a second logical network identifier for the second packet;
encapsulating the second packet with the determined second logical network identifier and a second network layer header; and
forwarding the second encapsulated packet to the interconnecting network to which the physical device implementing the gateway connects, thereby allowing the second packet to be transported to the second virtual machine via the interconnecting network and allowing the second remote broadcast domain and the second local broadcast domain at the first datacenter to be part of a common broadcast domain.

### Claim 30 (depends on 22)

The method of claim 22, wherein the network layer header comprises a source network address corresponding to the gateway.

### Claim 31 (depends on 30)

The method of claim 30, wherein the network layer header further comprises a destination network address corresponding to a physical host on which the virtual machine executes.

### Claim 32

A non-transitory machine readable medium storing a program which when executed by a set of processing units of a physical device separate from sources and destinations of packets in a network implements a gateway, the program comprising sets of instructions for:
receiving, from a physical host separate from the physical device implementing the gateway, a packet destined for a virtual machine residing in a remote broadcast domain that is different from a local broadcast domain in which the physical host resides;
determining a logical network identifier for the received packet;
encapsulating the received packet with the logical network identifier and a network layer header; and
forwarding the encapsulated packet to an interconnecting network to which the physical device implementing the gateway connects, thereby allowing the packet to be transported to the virtual machine via the interconnecting network and allowing the remote broadcast domain and the local broadcast domain to be part of a common broadcast domain.

### Claim 33 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the program further comprises sets of instructions for:
maintaining a data structure that maps the logical network identifier to a multicast group; and
setting a destination network layer address in the network layer header to be an address corresponding to the multicast group when the received packet has a broadcast destination layer 2 address.

### Claim 34 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the program further comprises a set of instructions for maintaining a data structure that maps at least one of (i) a layer 2 address of the physical host and (ii) a virtual local area network (VLAN) tag of the physical host to the logical network identifier.

### Claim 35 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the program further comprises sets of instructions for:
receiving, via the interconnecting network, a second packet originating from the virtual machine, wherein the second packet includes outer network layer header, the logical network identifier, and an inner layer-2 header;
decapsulating the second packet by removing the outer network layer header and logical network identifier of the second packet; and
forwarding the decapsulated second packet out of the physical device implementing the gateway to the physical host.

### Claim 36 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the program further comprises a set of instructions for establishing a tunnel with a second gateway implemented by a second physical device, thereby joining the remote broadcast domain and the local broadcast domain with a common logical network identifier.

### Claim 37 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the program further comprises a set of instructions for receiving configuration information from a controller, wherein the configuration information comprises mapping information that maps a set of addresses to the logical network identifier.

### Claim 38 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein:
the packet received from the physical host originates from a virtual machine that operates on the physical host;
the received packet is an unencapsulated packet when received by the physical device; and
a virtual switch that operates on the physical host is not configured for encapsulating packets with logical network identifiers.

### Claim 39 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the physical host is a first physical host, the local broadcast domain is a first local broadcast domain, the received packet is a first packet, the machine is a first machine, the remote broadcast domain is a first remote broadcast domain, the logical network identifier is a first logical network identifier, and the network layer header is a first network layer header, wherein the program further comprises sets of instructions for:
receiving, from a second physical host separate from the physical device implementing the gateway, a second packet destined for a second virtual machine residing in a second remote broadcast domain that is different from a second local broadcast domain in which the second physical host resides;
determining a second logical network identifier for the second packet;
encapsulating the second packet with the determined second logical network identifier and a second network layer header; and
forwarding the second encapsulated packet to the interconnecting network to which the physical device implementing the gateway connects, thereby allowing the second packet to be transported to the second virtual machine via the interconnecting network and allowing the second remote broadcast domain and the second local broadcast domain at the first datacenter to be part of a common broadcast domain.

### Claim 40 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the network layer header comprises a source network address corresponding to the gateway.

### Claim 41 (depends on 40)

The non-transitory machine readable medium of claim 40, wherein the network layer header further comprises a destination network address corresponding to a physical host on which the virtual machine executes.
