# US 11,029,982 B2 · Configuration of logical router

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

- Number: US 11,029,982 B2
- Document ID: US11029982B2
- Status: Granted
- Kind: B2
- Application number: 16/680,432
- Filed: 2019-11-11
- Published: 2020-03-12
- Granted: 2021-06-08
- Earliest claimed: 2013-10-13
- Assignees: Nicira, Inc.
- Applicants: Nicira, Inc.
- Inventors: Ganesan Chandrashekhar; Rahul Korivi Subramaniyam; Ram Dular Singh; Vivek Agarwal; Howard Wang
- Web page: https://patentgrep.com/patent/US11029982B2

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- H04L 45/586: of virtual routers
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 45/44: Distributed routing
- H04L 45/741: Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Some embodiments provide a method of operating several logical networks over a network virtualization infrastructure. The method defines a managed physical switching element (MPSE) that includes several ports for forwarding packets to and from a plurality of virtual machines. Each port is associated with a unique media access control (MAC) address. The method defines several managed physical routing elements (MPREs) for the several different logical networks. Each MPRE is for receiving data packets from a same port of the MPSE. Each MPRE is defined for a different logical network and for routing data packets between different segments of the logical network. The method provides the defined MPSE and the defined plurality of MPREs to a plurality of host machines as configuration data.

## Claims

### Claim 1

A method for configuring a plurality of host computers to implement a logical router for a logical network, the method comprising:
receiving a description of a logical network that comprises a logical router;
generating configuration data for a plurality of host computers, the configuration data for each host computer of the plurality of host computers comprising (i) instructions to execute a managed physical routing element (MPRE) for implementing the logical router, the MPRE connecting to a port of a managed physical switching element (MPSE) that also executes on the host computer and (ii) a list of logical interfaces (LIFs) of the logical router, each LIF corresponding to a different segment of the logical network; and
providing the generated configuration data to the plurality of host computers.

### Claim 2 (depends on 1)

The method of claim 1, wherein the configuration data for each host computer of the plurality of host computers further comprises (i) a first link layer address that is generic to all of the host computers of the plurality of host computers and (ii) a second link layer address that is unique to the host computer among the plurality of host computers.

### Claim 3 (depends on 2)

The method of claim 2, wherein packets transmitted within a host computer between the MPSE executing on the host computer and the MPRE executing on the host computer to implement the logical router use the first link layer address to address the MPRE while packets transmitted between host computers use the second link layer address to address the MPRE.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the MPRE executing on a particular host computer is a first MPRE, the logical router is a first logical router, and the logical network is a first logical network;
the configuration data for the particular host computer further comprises (i) instructions to execute a second MPRE for implementing a second logical router of a second logical network and (ii) a list of logical interfaces of the second logical router, each LIF of the second logical router corresponding to a different segment of the second logical network; and
the second MPRE connects to the same port of the MPSE as the first MPRE.

### Claim 5 (depends on 1)

The method of claim 1, wherein the configuration data generated for each host computer of the plurality of host computers further comprises data specifying a network controller address for retrieving updated configuration data.

### Claim 6 (depends on 1)

The method of claim 1, wherein the configuration data generated for each host computer of the plurality of host computers further comprises a routing table.

### Claim 7 (depends on 1)

The method of claim 1, wherein the configuration data generated for each host computer of the plurality of host computers further comprises a set of addresses for each logical interface of the logical router, wherein different network addresses are associated with each of the logical interfaces.

### Claim 8 (depends on 1)

The method of claim 1, wherein providing the generated configuration data to the plurality of host computers comprises providing the configuration data to a local control agent executing at each of the host computers of the plurality of host computers.

### Claim 9 (depends on 1)

The method of claim 1 further comprising distributing routes to the plurality of host computers for use by the MPREs implementing the logical router, at least a subset of the routes learned through dynamic routing protocols by an edge machine.

### Claim 10 (depends on 1)

The method of claim 1, wherein the different network segments are different layer 2 domains, wherein each logical interface is a default gateway for its corresponding layer 2 domain.

### Claim 11

A non-transitory machine readable medium storing a program which when executed by at least one processing unit configures a plurality of host computers to implement a logical router for a logical network, the program comprising set of instructions for:
receiving a description of a logical network that comprises a logical router;
generating configuration data for a plurality of host computers, the configuration data for each host computer of the plurality of host computers comprising (i) instructions to execute a managed physical routing element (MPRE) for implementing the logical router, the MPRE connecting to a port of a managed physical switching element (MPSE) that also executes on the host computer and (ii) a list of logical interfaces (LIFs) of the logical router, each LIF corresponding to a different segment of the logical network; and
providing the generated configuration data to the plurality of host computers.

### Claim 12 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the configuration data for each host computer of the plurality of host computers further comprises (i) a first link layer address that is generic to all of the host computers of the plurality of host computers and (ii) a second link layer address that is unique to the host computer among the plurality of host computers.

### Claim 13 (depends on 12)

The non-transitory machine readable medium of claim 12, wherein packets transmitted within a host computer between the MPSE executing on the host computer and the MPRE executing on the host computer to implement the logical router use the first link layer address to address the MPRE while packets transmitted between host computers use the second link layer address to address the MPRE.

### Claim 14 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein:
the MPRE executing on a particular host computer is a first MPRE, the logical router is a first logical router, and the logical network is a first logical network;
the configuration data for the particular host computer further comprises (i) instructions to execute a second MPRE for implementing a second logical router of a second logical network and (ii) a list of logical interfaces of the second logical router, each LIF of the second logical router corresponding to a different segment of the second logical network; and
the second MPRE connects to the same port of the MPSE as the first MPRE.

### Claim 15 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the configuration data generated for each host computer of the plurality of host computers further comprises data specifying a network controller address for retrieving updated configuration data.

### Claim 16 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the configuration data generated for each host computer of the plurality of host computers further comprises a routing table.

### Claim 17 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the configuration data generated for each host computer of the plurality of host computers further comprises a set of addresses for each logical interface of the logical router, wherein different network addresses are associated with each of the logical interfaces.

### Claim 18 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the set of instructions for providing the generated configuration data to the plurality of host computers comprises a set of instructions for providing the configuration data to a local control agent executing at each of the host computers of the plurality of host computers.

### Claim 19 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the program further comprises a set of instructions for distributing routes to the plurality of host computers for use by the MPREs implementing the logical router, at least a subset of the routes learned through dynamic routing protocols by an edge machine.

### Claim 20 (depends on 11)

The non-transitory machine readable medium of claim 11, wherein the different network segments are different layer 2 domains, wherein each logical interface is a default gateway for its corresponding layer 2 domain.
