IP Library Granted Patent US 9,906,632
Granted Patent B2
US 9,906,632 · App. 14/571,260 · Granted Feb 27, 2018

Method and system for implementing logical port classifications

Inventors: Anupam Chanda (San Jose, CA); Bryan J. Fulton (San Francisco, CA); Teemu Koponen (San Francisco, CA)
Assignee: NICIRA, INC.
H04L69/22H04L41/12H04L61/35
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,906,632
App. No.
14/571,260
Granted
Feb 27, 2018
Kind
B2
Abstract

The network control system of some embodiments implements logical port classifications to implement different features of logical networks onto a physical network. The network control system of some embodiments modifies flow entries at forwarding elements of the physical network to implement the logical network. The network control system classifies logical source and destination ports into disjoint equivalence classes for logical network flows in a virtualized network, and encodes this information in the tunneled traffic carrying the logical flow. The network control system of some such embodiments provides logical port classifications to minimize the necessary flow entries at each forwarding element of the physical network.

Claims (31)

1. A method for managing a plurality of managed forwarding elements (MFEs) that forward data in a network, the method comprising:

identifying an equivalence class for each logical port in a plurality of logical ports of a logical forwarding element (LFE), the equivalence class for each logical port indicating an attribute of the logical port, wherein at least two different equivalence classes are identified for two different logical ports of the LFE;

generating a first set of instructions for configuring a set of the MFEs that implement the LFE to assign the equivalence classes to packets based on (i) physical ports of the MFEs at which the packets are received and (ii) addresses in header fields of the packets, wherein each logical port of the LFE maps to at least one physical port of an MFE;

generating a second set of instructions for configuring the set of MFEs to forward packets based on the equivalence class assigned to each of the packets; and

using the generated first and second sets of instructions to configure the set of MFEs to process packets according to the equivalence classes.

2. The method of claim 1 , wherein, for each packet, the address comprises one of a Media Access Control (MAC) address and an Internet Protocol (IP) address.

3. The method of claim 1 , wherein the set of MFEs forward the packets through the network based on the assigned equivalence class.

4. The method of claim 1 , wherein identifying an equivalence class for each logical port of the LFE comprises receiving a set of equivalence classes with a definition of the LFE.

5. The method of claim 1 further comprising translating logical forwarding plane data for the LFE from the logical forwarding plane to a physical control plane, wherein the set of MFEs performs a translation from the physical control plane to a physical forwarding plane.

6. The method of claim 1 , wherein the first and second sets of generated instructions comprises flow entries to be stored in a set of forwarding tables of the set of MFEs.

7. The method of claim 1 , wherein the set of MFEs implements the LFE by implementing the plurality of logical ports of the LFE.

8. A non-transitory machine readable medium storing a program which when executed by at least one processing unit generates a plurality of configuration instructions for managing a plurality of managed forwarding elements (MFEs) that forward data in a network, the program comprising sets of instructions for:

identifying an equivalence class for each logical port in a plurality of logical ports of a logical forwarding element (LFE), the equivalence class for each logical port indicating an attribute of the logical port, wherein at least two different equivalence classes are identified for two different logical ports of the LFE;

generating a first set of configuration instructions for configuring a set of the MFEs that implement the LFE to assign the equivalence classes to packets based on (i) physical ports of the MFEs at which the packets are received and (ii) addresses in header fields of the packets, wherein each logical port of the LFE maps to at least one physical port of an MFE;

generating a second set of configuration instructions for configuring the set of MFEs to forward packets based on the equivalence class assigned to each of the packets; and

using the generated first and second sets of configuration instructions to configure the set of MFEs to process packets according to the equivalence classes.

9. The non-transitory machine readable medium of claim 8 , wherein, for each packet, the address comprises one of a Media Access Control (MAC) address and an Internet Protocol (IP) address.

10. The non-transitory machine readable medium of claim 8 , wherein the set of MFEs forward the packets through the network based on the assigned equivalence class.

11. The non-transitory computer readable medium of claim 8 , wherein the set of instructions for identifying an equivalence class for each logical port of the LFE comprises a set of instructions for receiving a set of equivalence classes along with a definition of the LFE from a user.

12. The non-transitory computer readable medium of claim 8 , wherein the program further comprises a set of instructions for translating logical forwarding plane data for the LFE from the logical forwarding plane to a physical control plane, wherein the set of MFEs performs a translation from the physical control plane to a physical forwarding plane.

13. A controller computer of a network control system for managing a plurality of managed forwarding elements (MFEs) that forward data in a network, the controller comprising:

a set of processing units; and

a non-transitory computer readable medium storing a program which when executed by at least one processing unit of the set of processing units generates a plurality of configuration instructions for managing the plurality of MFEs, the program comprising sets of instructions for:

identifying an equivalence class for each logical port in a plurality of logical ports of a logical forwarding element (LFE), the equivalence class for each logical port indicating an attribute of the logical port, wherein at least two different equivalence classes are identified for two different logical ports of the LFE;

generating a first set of configuration instructions for configuring a set of the MFEs that implement the LFE to assign the equivalence classes to packets based on (i) physical ports of the MFEs at which the packets are received and (ii) addresses in header fields of the packets, wherein each logical port of the LFE maps to at least one physical port of an MFE;

generating a second set of configuration instructions for configuring the set of MFEs to forward packets based on the equivalence classes assigned to each of the packets; and

using the generated first and second sets of configuration instructions to configure the set of MFEs to process packets according to the equivalence classes.

14. The controller computer of claim 13 , wherein the set of instructions for identifying an equivalence class for each logical port of the LFE comprises a set of instructions for receiving a set of equivalence classes along with a definition of the LFE from a user.

15. The controller computer of claim 13 , wherein the program further comprises a set of instructions for translating logical forwarding plane data for the LFE from the logical forwarding plane to a physical control plane, wherein the set of MFEs performs a translation from the physical control plane to a physical forwarding plane.

16. The controller computer of claim 13 , wherein the first and second sets of configuration instructions comprises flow entries to be stored in a set of forwarding tables of the set of MFEs.

17. The controller computer of claim 13 , wherein the set of MFEs implements the LFE by implementing the plurality of logical ports of the LFE.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2014
From: CHANDA, ANUPAM; FULTON, BRYAN J.; KOPONEN, TEEMU
To: NICIRA, INC.
Reel/Frame 034511/0723 →
Continuity (3)
Provisional Application 62044984 · Sep 2, 2014
Provisional Application 62058088 · Sep 30, 2014
Related Publication 20160065469A1 · Mar 3, 2016