IP Library Granted Patent US 12,695,667
Granted Patent B2
US 12,695,667 · App. 18/633,415 · Granted Jul 28, 2026

Network control apparatus and method for populating logical datapath sets

Inventors: Martin Casado (Portola Valley, CA); Teemu Koponen (San Francisco, CA); W. Andrew Lambeth (Palo Alto, CA); Pankaj Thakkar (Cupertino, CA)
Assignee: VMware LLC
H04L41/0816H04L41/0813H04L41/0893H04L47/125H04L49/70
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 12,695,667
App. No.
18/633,415
Granted
Jul 28, 2026
Kind
B2
Abstract

For a network control system that receives, from a user, logical datapath sets that logically express desired forwarding behaviors that are to be implemented by a set of managed switching elements, a controller for managing several managed switching elements that forward data in a network that includes the managed switching elements is described. The controller includes a set of modules for detecting a change in one or more managed switching elements and for updating logical datapath set based on the detected change. The logical datapath set is for subsequent translation into a set of physical forwarding behaviors of the managed switching elements.

Claims (36)

1 . A method for operating a plurality of switching elements, the method comprising:

receiving a set of input logical control plane data that specifies a set of logical data path (LDP) sets; and

converting the set of input logical control plane data into a set of output logical forwarding plane data that defines the set of LDP sets in terms of a set of logical forwarding rules; and

based on changes, supplying the input logical control plane data to be converted into a set of output logical forwarding plane data that defines the set of LDP sets in terms of a set of logical forwarding rules;

wherein access control policies associated with the LDP sets is enforced by a master controller, the master controller being configured to:

determining an acceptance of requests to modify the LDP sets using access permissions recorded in a network information database (NIB),

partitions management of the logical datapath sets,

assign a controller instance to specify NIB records for a corresponding logical datapath set, and

perform table-mapping operations for the corresponding logical datapath set.

2 . The method of claim 1 , further comprising detecting the changes to one or more of the plurality of switching elements.

3 . The method of claim 1 , wherein the set of output logical forwarding plane data is for translation into a set of physical forwarding rules that directs the forwarding for a set of switching elements of the plurality of switching elements.

4 . The method of claim 1 , further comprising taking the output logical forwarding plane data from a set of tables.

5 . The method of claim 4 , further comprising publishing the output logical forwarding plane data to a virtualization application for subsequent translation by the virtualization application into physical control plane data that specifies rules for a set of switching elements to follow in order to implement the logical data path set.

6 . The method of claim 1 , further comprising storing the output logical forwarding plane data in a set of tables.

7 . The method of claim 1 , further comprising monitoring data storage structures that store data regarding the set of switching elements to detect changes.

8 . The method of claim 1 , wherein output logical forwarding plane data defines a set of logical forwarding flow entries in at least one logical forwarding table that is not accessible for input by a source of input of the input logical control plane data.

9 . The method of claim 8 , wherein the set of logical forwarding flow entries specifies forwarding rules for forwarding data between logical addresses connected by the switching elements.

10 . The method of claim 9 , wherein the at least one logical forwarding table is a layer 2 (L2) table and the set of logical forwarding flow entries specifies L2 forwarding rules.

11 . The method of claim 10 , wherein the L 2 forwarding rules are specified in terms of media access control (MAC) addresses.

12 . The method of claim 8 , wherein the at least one logical forwarding table is a layer 3 (L 3 ) table and the set of logical forwarding flow entries specifies L 3 forwarding rules.

13 . The method of claim 12 , wherein the L 3 forwarding rules are specified in terms of internet protocol (IP) addresses.

14 . A non-transitory machine readable medium of a controller in a network control system for controlling a plurality of switching elements that forward data in a network, the non-transitory machine readable medium storing a program for execution by a set of processing units of the controller, the program comprising sets of instructions for:

receiving a set of input logical control plane data that specifies a set of logical data path (LDP) sets; and

converting the set of input logical control plane data into a set of output logical forwarding plane data that defines the set of LDP sets in terms of a set of logical forwarding rules; and

based on changes, supplying the input logical control plane data to be converted into a set of output logical forwarding plane data that defines the set of LDP sets in terms of a set of logical forwarding rules;

wherein access control policies associated with the LDP sets is enforced by a master controller, the master controller being configured to:

determining an acceptance of requests to modify the LDP sets using access permissions recorded in a network information database (NIB),

partitions management of the logical datapath sets,

assign a controller instance to specify NIB records for a corresponding logical datapath set, and

perform table-mapping operations for the corresponding logical datapath set.

15 . The non-transitory machine readable medium of claim 14 , wherein output logical forwarding plane data defines a set of logical forwarding flow entries in at least one logical forwarding table that is not accessible for input by a source of input of the logical control plane data.

16 . The non-transitory machine readable medium of claim 15 , wherein the set of logical forwarding flow entries specifies forwarding rules for forwarding data between logical addresses connected by the switching elements.

17 . The non-transitory machine readable medium of claim 16 , wherein the set of logical forwarding flow entries specifies forwarding rules for forwarding data between logical addresses connected by the switching elements.

18 . The non-transitory machine readable medium of claim 17 , wherein the at least one logical forwarding table is a layer 2 (L2) table and the set of logical forwarding flow entries specifies L2 forwarding rules.

19 . The non-transitory machine readable medium of claim 15 , wherein the at least one logical forwarding table is a layer 3 (L3) table and the set of logical forwarding flow entries specifies L3 forwarding rules.

20 . The non-transitory machine readable medium of claim 14 , wherein the L3 forwarding rules are specified in terms of internet protocol (IP) addresses.