# US 12,111,787 B2 · Chassis controller

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

- Number: US 12,111,787 B2
- Document ID: US12111787B2
- Status: Granted
- Kind: B2
- Application number: 18/197,040
- Filed: 2023-05-13
- Published: 2023-09-14
- Granted: 2024-10-08
- Earliest claimed: 2011-10-25
- Assignees: Nicira, Inc.
- Applicants: Nicira, Inc.
- Inventors: Pankaj Thakkar; Teemu Koponen
- Web page: https://patentgrep.com/patent/US12111787B2

## CPC

- H04L 47/50: Queue scheduling
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 15/177: Initialisation or configuration control {(processor initialisation G06F9/4405)}
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 41/0226: Mapping or translating multiple network management protocols
- H04L 41/042: comprising distributed management centres cooperatively managing the network
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/20: {Network management software packages}
- H04L 41/50: Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L 45/38: {Flow based routing}
- H04L 45/42: Centralised routing
- H04L 45/66: {Layer 2 routing, e.g. in Ethernet based MAN's}
- H04L 47/10: Flow control; Congestion control
- H04L 47/825: {Involving tunnels, e.g. MPLS}
- H04L 49/254: {Centralised controller, i.e. arbitration or scheduling}
- G05B 11/01: electric
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A non-transitory machine readable medium storing a program that configures managed forwarding elements to establish tunnels between the managed forwarding elements is described. From a particular managed forwarding element, the program receives information regarding coupling of a network element to the first managed forwarding element. Upon receiving the information, the program generates a set of universal flow entries for configuring another managed forwarding element to establish a tunnel to the particular managed forwarding element.

## Claims

### Claim 1

A method of configuring a first managed forwarding element (MFE) executing on a first host computer to implement a logical forwarding element (LFE), the method comprising:
receiving, from a controller operating outside of the first host computer, a first set of configuration data associated with the LFE;
based on the received first set of configuration data, generating a second set of configuration data for defining forwarding behavior of the first MFE to implement the LFE; and
using the second set of configuration data to configure the first MFE to implement the LFE, in conjunction with a plurality of other MFEs executing on a plurality of other host computers;
wherein the LFE belongs to a logical network that logically connects a set of end machines that execute on the first host computer and a plurality of other end machines that execute on the plurality of other host machines, wherein the end machines are sources and destinations of logical network data traffic forwarded by the MFEs implementing the LFE.

### Claim 2 (depends on 1)

The method of claim 1, wherein the generating is performed by a controller application executing on the first host computer.

### Claim 3 (depends on 2)

The method of claim 2, wherein the controller operating outside of the first host computer also provides the first configuration data set to other controller applications executing on the other host computers, and the other controller applications uses the first configuration data set to generate additional configuration data sets for configuring MFEs executing on their respective host computers to implement the LFE.

### Claim 4 (depends on 2)

The method of claim 2, wherein the controller application further comprises a set of instructions for receiving MFE-specific data from the MFE.

### Claim 5 (depends on 4)

The method of claim 4, wherein said generating comprises generating the data based on (i) the received first set of configuration data and (ii) the received MFE-specific data.

### Claim 6 (depends on 5)

The method of claim 5, wherein the received MFE-specific data comprises a physical port number of the MFE to which a logical port of the LFE is mapped.

### Claim 7 (depends on 1)

The method of claim 1, wherein the LFE is a first LFE, the set of end machines is a first set of end machines, the logical network is a first logical network, and the plurality of other MFEs executing on the plurality of other host computers is a first plurality of other MFEs executing on a first plurality of other host computers the method further comprising:
receiving a third set of configuration data associated with a second LFE;
based on the received third set of configuration data, generating a fourth set of configuration data for defining forwarding behavior of the first MFE to implement the second LFE; and
using the fourth set of configuration data to configure the first MFE to implement the second LFE, in conjunction with a second plurality of other MFEs executing on a second plurality of other host computers.

### Claim 8 (depends on 7)

The method of claim 7, wherein
the controller operating outside of the first host computer is a first controller that manages a first logical network to which the first LFE belongs; and
receiving the third set of configuration data comprises receiving the third set of configuration data from a second controller computer that manages a second logical network to which the second LFE belongs.

### Claim 9 (depends on 8)

The method of claim 8, wherein the first logical network belongs to a first tenant while the second logical network belongs to a second different tenant.

### Claim 10

A non-transitory machine-readable medium storing a first controller application for execution by at least one processing unit of a first host computer, the first controller application comprising sets of instructions for:
receiving, from a controller operating outside of the first host computer, a first set of configuration data associated with the LFE;
based on the received first set of configuration data, generating a second set of configuration data for defining forwarding behavior of the first MFE to implement the LFE; and
using the second set of configuration data to configure the first MFE to implement the LFE, in conjunction with a plurality of other MFEs executing on a plurality of other host computers;
wherein the LFE belongs to a logical network that logically connects a set of end machines that execute on the first host computer and a plurality of other end machines that execute on the plurality of other host machines, wherein the end machines are sources and destinations of logical network data traffic forwarded by the MFEs implementing the LFE.

### Claim 11 (depends on 10)

The non-transitory machine-readable medium of claim 10, wherein the first MFE implements the LFE by mapping one or more logical ports of the LFE to one or more physical ports of the first MFE.

### Claim 12 (depends on 10)

The non-transitory machine-readable medium of claim 10, wherein the controller operating outside of the first host computer also provides the first configuration data set to other controller applications executing on the other host computers, and the other controller applications uses the first configuration data set to generate additional configuration data sets for configuring MFEs executing on their respective host computers to implement the LFE.

### Claim 13 (depends on 10)

The non-transitory machine-readable medium of claim 10, wherein the first controller application further comprises a set of instructions for receiving MFE-specific data from the MFE.

### Claim 14 (depends on 13)

The non-transitory machine-readable medium of claim 13, wherein said generating comprises generating the data based on (i) the received first set of configuration data and (ii) the received MFE-specific data.

### Claim 15 (depends on 14)

The non-transitory machine-readable medium of claim 14, wherein the received MFE-specific data comprises a physical port number of the MFE to which a logical port of the LFE is mapped.

### Claim 16 (depends on 10)

The non-transitory machine-readable medium of claim 10, wherein the LFE is a first LFE, the set of end machines is a first set of end machines, the logical network is a first logical network, and the plurality of other MFEs executing on the plurality of other host computers is a first plurality of other MFEs executing on a first plurality of other host computers the first controller application further comprising sets of instructions for:
receiving a third set of configuration data associated with a second LFE;
based on the received third set of configuration data, generating a fourth set of configuration data for defining forwarding behavior of the first MFE to implement the second LFE; and
using the fourth set of configuration data to configure the first MFE to implement the second LFE, in conjunction with a second plurality of other MFEs executing on a second plurality of other host computers.

### Claim 17 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein
the controller operating outside of the first host computer is a first controller that manages a first logical network to which the first LFE belongs; and
the set of instructions for receiving the third set of configuration data comprises receiving a set of instructions for the third set of configuration data from a second controller computer that manages a second logical network to which the second LFE belongs.

### Claim 18 (depends on 17)

The non-transitory machine-readable medium of claim 17, wherein the first logical network belongs to a first tenant while the second logical network belongs to a second different tenant.
