# US 11,909,637 B2 · Orchestration of tenant overlay network constructs

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

- Number: US 11,909,637 B2
- Document ID: US11909637B2
- Status: Granted
- Kind: B2
- Application number: 17/376,106
- Filed: 2021-07-14
- Published: 2023-01-19
- Granted: 2024-02-20
- Earliest claimed: 2021-07-14
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Akshay Kale; Anil Lohiya; Fang Peng; Maheedhar Nallapareddy; Jianjun Shen
- Web page: https://patentgrep.com/patent/US11909637B2

## CPC

- H04L 45/64: using an overlay routing layer
- 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/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 45/586: of virtual routers
- H04L 2012/4629: {using multilayer switching, e.g. layer 3 switching}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for creating overlay networking constructs to establish network connectivity between virtual routers and remote physical gateways is provided. An orchestrator receives a mapping between tenant network identifiers for multiple tenant networks and overlay network identifiers for multiple overlay networks. The orchestrator attaches a virtual router to a parent logical port of an overlay logical switch for connectivity between a physical gateway and the multiple tenant networks. The orchestrator creates multiple child logical ports that are sub-interfaces of the parent logical port. Each child logical port is uniquely identified by a tenant network identifier. The orchestrator connects multiple child logical switches to the multiple child logical ports according to the received mapping. Each child logical switch is uniquely identified by an overlay network identifier. The orchestrator establishes multiple overlay networks based on the child logical switches to tunnel data between the physical gateway and the child logical ports.

## Claims

### Claim 1

A method for connecting a physical gateway to a plurality of virtual local area networks (VLANs), the method comprising:
on a host computer that executes a virtual router and a virtual switch:
receiving a mapping between (i) VLAN identifiers for a plurality of tenant networks and (ii) overlay virtual network identifiers (VNIs) for a plurality of overlay networks associated with the plurality of tenant networks;
associating an interface of the virtual router with a parent logical port of the virtual switch in order to facilitate connectivity between the physical gateway and the plurality of tenant networks;
creating, for each particular tenant network, a child port on the virtual switch to serve as an interface for the particular tenant network, each particular child port associated with a particular VNI of the particular tenant network for which the particular child port is created;
associating the plurality of child ports with a plurality of child logical switches each of which is associated with one tenant network; and
for a packet received at the parent logical port of the virtual switch, (i) using the received mapping to map the packet's associated VLAN identifier to a particular VNI specified for a particular tenant network, (ii) passing the packet to the child port associated with the particular VNI, and (iii) sending the packet to the physical gateway from the particular child port along a tunnel with the associated particular VNI embedded in a header of the tunnel.

### Claim 2 (depends on 1)

The method of claim 1, wherein the host computer is a particular host computer, wherein the virtual router, the virtual switch, the plurality of child ports, and the plurality of child logical switches are implemented by one or more host computers running virtualization software including the particular host computer.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of overlay networks are virtual extensible local area networks (VXLANs).

### Claim 4 (depends on 1)

The method of claim 1, wherein each overlay network carries data traffic that is tagged with a VLAN identifier and encapsulated with a corresponding VNI according to the mapping.

### Claim 5 (depends on 1)

The method of claim 1, further comprising validating the mapping between the VLAN identifiers and VNIs based on a pool of available VNIs.

### Claim 6 (depends on 1)

The method of claim 1, wherein receiving the mapping comprises exposing an application program interface (API) and receiving a definition and update of the mapping from the API.

### Claim 7 (depends on 6)

The method of claim 6, further comprising receiving, from the API, an overlay transport zone definition that identifies a collection of host computers that are within a span of the virtual switch.

### Claim 8 (depends on 1)

The method of claim 1, wherein the virtual router comprises two or more parent logical ports, each parent logical port associated with a plurality of child ports.

### Claim 9 (depends on 1)

The method of claim 1, wherein a first tenant has a first mapping between VLAN identifiers and VNIs and a second tenant has a second mapping between VLAN identifiers and VNIs, wherein a particular VLAN identifier is mapped to a first VNI for the first tenant and is mapped to a second, different VNI for the second tenant.

### Claim 10

A computing device comprising:
one or more processors; and
a computer-readable storage medium storing a plurality of computer-executable components that are executable by the one or more processors to perform a plurality of actions for connecting a physical gateway to a plurality of virtual local area networks (VLANs), the plurality of actions comprising:
receiving a mapping between (i) VLAN identifiers for a plurality of tenant networks and (ii) overlay virtual network identifiers (VNIs) for a plurality of overlay networks associated with the plurality of tenant networks;
associating an interface of a virtual router executing on the computing device with a parent logical port of a virtual switch executing on the computing device, in order to facilitate connectivity between the physical gateway and the plurality of tenant networks;
creating, for each particular tenant network, a child port on the virtual switch to serve as an interface for the particular tenant network, each particular child port associated with a particular VNI of the particular tenant network for which the particular child port is created;
associating the plurality of child ports with a plurality of child logical switches each of which is associated with one tenant network; and
for a packet received at the parent logical port of the virtual switch, (i) using the received mapping to map the packet's associated VLAN identifier to a particular VNI specified for a particular tenant network, (ii) passing the packet to the child port associated with the particular VNI, and (iii) sending the packet to the physical gateway from the particular child port along a tunnel with the associated particular VNI embedded in a header of the tunnel.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the host computer is a particular host computer, wherein the virtual router, the virtual switch, the plurality of child ports, and the plurality of child logical switches are implemented by one or more host computers running virtualization software including the particular host computer.

### Claim 12 (depends on 10)

The computing device of claim 10, wherein the plurality of overlay networks are virtual extensible local area networks (VXLANs).

### Claim 13 (depends on 10)

The computing device of claim 10, wherein each overlay network carries data traffic that is tagged with a VLAN identifier and encapsulated with a corresponding VNI according to the mapping.

### Claim 14 (depends on 10)

The computing device of claim 10, wherein the plurality of actions further comprises validating the mapping between the VLAN identifiers and VNIs based on a pool of available VNIs.

### Claim 15 (depends on 10)

The computing device of claim 10, wherein receiving the mapping comprises exposing an application program interface (API) and receiving a definition and update of the mapping from the API.

### Claim 16 (depends on 15)

The computing device of claim 15, wherein the plurality of actions further comprises receiving, from the API, an overlay transport zone definition that identifies a collection of host computers that are within a span of the virtual switch.

### Claim 17 (depends on 10)

The computing device of claim 10, wherein the virtual router comprises two or more parent logical ports, each parent logical port associated with a plurality of child ports.

### Claim 18 (depends on 10)

The computing device of claim 10, wherein a first tenant has a first mapping between VLAN identifiers and VNIs and a second tenant has a second mapping between VLAN identifiers and VNIs, wherein a particular VLAN identifier is mapped to a first VNI for the first tenant and is mapped to a second, different VNI for the second tenant.
