# US 2018/0324088 A1 · Route server mode for dynamic routing between logical and physical networks

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

- Number: US 2018/0324088 A1
- Document ID: US20180324088A1
- Status: Published application
- Kind: A1
- Application number: 16/015,137
- Filed: 2018-06-21
- Published: 2018-11-08
- Earliest claimed: 2015-04-04
- Assignees: Nicira, Inc.
- Applicants: Nicira, Inc.
- Inventors: Sreeram Ravinoothala; Ronghua Zhang
- Web page: https://patentgrep.com/patent/US20180324088A1

## CPC

- H04L 45/42: Centralised routing
- H04L 45/64: using an overlay routing layer
- H04L 45/28: using route fault recovery
- H04L 49/354: for supporting virtual local area networks [VLAN]
- H04L 49/70: {Virtual switches}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Some embodiments provide a method for configuring a logical router that interfaces with an external network. The method receives a configuration for a logical network that includes a logical router with several interfaces that connect to at least one physical router external to the logical network. The method selects a separate host machine to host a centralized routing component for each of the interfaces. The method selects a particular one of the host machines for operating a dynamic routing protocol control plane that receives routing protocol data from each of the centralized routing components and updates routing tables of each of the centralized routing components.

## Claims

### Claim at position 1

1-12. (canceled)

### Claim 13

A machine readable medium storing a program which when executed by at least one processing unit configures a logical router that interfaces with an external network, the program comprising sets of instructions for:
receiving a configuration for a logical network comprising [[a]] the logical router with a plurality of interfaces that connect to at least one physical router external to the logical network;
selecting a separate host machine to host a centralized routing component for each of the interfaces; and
selecting a particular one of the host machines for operating a dynamic routing protocol control plane that receives routing protocol data from each of the centralized routing components and updates routing tables of each of the centralized routing components.

### Claim 14 (depends on 13)

The machine readable medium of claim 13, wherein the configuration for the logical network comprises a set of logical switch subnets to advertise via the dynamic routing protocol to the at least one physical router.

### Claim 15 (depends on 13)

The machine readable medium of claim 13, wherein the program further comprises a set of instructions for generating an initial routing table for each of the centralized routing components.

### Claim 16

(canceled)

### Claim 17 (depends on 13)

The machine readable medium of claim 13, wherein when a centralized routing component operating on a first host machine that is not the particular host machine receives a routing protocol packet from an external physical router, the first centralized routing component forwards the packet to the particular host machine through a tunnel between the first host machine and the particular host machine.

### Claim 18 (depends on 13)

The machine readable medium of claim 13, wherein upon receiving a routing protocol packet from at least one of (i) an external physical router and (ii) a centralized routing component forwarding the routing protocol packet from an external physical router, the dynamic routing protocol control plane calculates updates to the routing tables of each of the centralized routing components and distributes the updates to the centralized routing components.

### Claim 19 (depends on 13)

The machine readable medium of claim 13, wherein the particular host machine is designated as an active machine for the dynamic routing protocol control plane, wherein each of the other host machines are designated as standby machines for the dynamic routing protocol control plane.

### Claim 20 (depends on 19)

The machine readable medium of claim 19, wherein when the particular host machine crashes, a designated one of the standby machines operates the dynamic routing protocol control plane as an active machine.

### Claim 21 (depends on 13)

The machine readable medium of claim 13, wherein the plurality of separate host machines are located within a cluster of host machines designated for hosting centralized routing components of logical routers.

### Claim 22 (depends on 13)

The machine readable medium of claim 13, wherein
the centralized routing components operate on the host machines as virtual machines, and
the dynamic routing protocol control plane operates on the virtual machine operating on the particular host machine.

### Claim 23 (depends on 13)

The machine readable medium of claim 13, wherein
the centralized routing components operate on the host machines as virtual machines, and
the dynamic routing protocol control plane operates on a second virtual machine operating on the particular host machine separate from the centralized routing component that operates on the particular host machine.

### Claim 24

A method for operating a logical router with a plurality of interfaces that connect to at least one physical router external to the logical network, the method comprising:
selecting, from a plurality of host machines each hosting a centralized routing component for a different interface of the logical router, a particular host machine;
configuring the particular host machine to operate a dynamic routing protocol control plane that receives routing protocol data from each of the centralized routing components and updates routing tables of each of the centralized routing components;
when the particular host machine fails, selecting and configuring another one of the host machines to operate the dynamic routing protocol control plane.

### Claim 25 (depends on 24)

The method of claim 24, wherein the dynamic routing protocol operated by the particular host machine advertises a set of logical switch subnets connected to the logical router to the external physical router.

### Claim 26 (depends on 24)

The method of claim 24, wherein each of the interfaces connects to a same set of external physical routers.

### Claim 27 (depends on 24)

The method of claim 24, wherein the dynamic routing protocol operated by the particular host machine generates an initial routing table for each of the centralized routing components.

### Claim 28 (depends on 24)

The method of claim 24, wherein
the centralized routing components operate on the host machines as virtual machines, and
the dynamic routing protocol control plane operates on the virtual machine operating on the particular host machine.

### Claim 29 (depends on 24)

The method of claim 24, wherein
the centralized routing components operate on the host machines as virtual machines, and
the dynamic routing protocol control plane operates on a second virtual machine operating on the particular host machine separate from the centralized routing component that operates on the particular host machine.

### Claim 30 (depends on 24)

The method of claim 24, wherein when a first centralized routing component operating on a first host machine that is not the particular host machine receives a routing protocol packet from an external physical router, the first centralized routing component forwards the packet to the particular host machine through a tunnel between the first host machine and the particular host machine.

### Claim 31 (depends on 24)

The method of claim 24, wherein upon receiving a routing protocol packet from at least one of (i) an external physical router and (ii) a centralized routing component forwarding the routing protocol packet from an external physical router, the dynamic routing protocol control plane calculates updates to the routing tables of each of the centralized routing components and distributes the updates to the centralized routing components.

### Claim 32

A non-transitory machine readable medium storing a program for operating a logical router with a plurality of interfaces that connect to at least one physical router external to the logical network, the program for execution by at least one processing unit of a computer, the program comprising sets of instructions for:
selecting, from a plurality of host machines each hosting a centralized routing component for a different interface of the logical router, a particular host machine;
configuring the particular host machine to operate a dynamic routing protocol control plane that receives routing protocol data from each of the centralized routing components and updates routing tables of each of the centralized routing components;
when the particular host machine fails, selecting and configuring another one of the host machines to operate the dynamic routing protocol control plane.

### Claim 33 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the dynamic routing protocol operated by the particular host machine advertises a set of logical switch subnets connected to the logical router to the external physical router.

### Claim 34 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein each of the interfaces connects to a same set of external physical routers.

### Claim 35 (depends on 32)

The non-transitory machine readable medium of claim 32, wherein the dynamic routing protocol operated by the particular host machine generates an initial routing table for each of the centralized routing components.
