IP Library Granted Patent US 9,998,375
Granted Patent B2
US 9,998,375 · App. 14/970,463 · Granted Jun 12, 2018

Transactional controls for supplying control plane data to managed hardware forwarding elements

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,998,375
App. No.
14/970,463
Granted
Jun 12, 2018
Kind
B2
Abstract

Some embodiments provide novel methods for controllers to communicate with managed hardware forwarding elements (MHFEs) in a transactional manner. The transactional communication methods of some embodiments ensure that an MHFE receives the entirety of a control plane update that a controller supplies to it, before the MHFE starts to modify its data plane forwarding data and operations. The transactional communication methods of some embodiments provide one or more transactional boundary controls to the controllers to define complete control plane data set updates. In some embodiments, the transactional controls ensure that an MHFE receives all of a control plane update before it starts to modify its data plane forwarding data. Controllers use one transactional control in some embodiments when they define logical forwarding elements (e.g., logical switches or routers) on the MHFEs.

Claims (18)

1. A non-transitory machine readable medium storing a program for configuring a managed hardware forwarding element (MHFE) to implement a logical switch along with a plurality of other managed forwarding elements operating outside of the MHFE, and to communicatively couple the logical switch with a private network, the MHFE comprising a database with a logical switch table, a unicast media access control (MAC) table, and a physical switch table, the program comprising sets of instructions for:

providing a plurality of data tuples for defining the logical switch on the MHFE, without providing a data tuple for binding the logical switch to a port of the MHFE, wherein said plurality of data tuples are stored in the logical switch table and the unicast MAC table; and

after providing the plurality of data tuples for defining the logical switch, providing the data tuple that binds the logical switch to a port of the MHFE, wherein said data tuple is stored in the physical switch table.

2. The non-transitory machine readable medium of claim 1 , wherein the program provides the data tuples to the MHFE according to an order in which the data tuple for binding the logical switch to the MHFE port is last.

3. The non-transitory machine readable medium of claim 1 , wherein the MHFE comprises (i) a module that retrieves the provided data tuples and uses the provided data tuples to configure dataplane forwarding records of the MHFE to implement the logical switch and (ii) a forwarding engine that uses the forwarding records to process data messages that the MHFE receives, wherein the module does not configure the dataplane forwarding records based on the provided data tuples until the data tuple for binding the logical switch to the MHFE port is provided.

4. The non-transitory machine readable medium of claim 1 , wherein the database uses a hardware VTEP (VXLAN Tunnel End Point) schema and the data tuples are provided to the database on the MHFE by using a OVSdb (open vswitch database) protocol.

5. The non-transitory machine readable medium of claim 1 , wherein the program further comprises a set of instructions for ensuring that the plurality of data tuples are received by the MHFE before providing the data tuple for binding the logical switch to the WIFE port.

6. The non-transitory machine readable medium of claim 1 , wherein the MHFE port is associated with multiple VLANs (virtual local area networks) and the binding data tuple binds the logical switch to a VLAN associated with the WIFE port.

7. The non-transitory machine readable medium of claim 1 , wherein the other forwarding elements that implement the logical switch along with the MHFE comprise a plurality of software forwarding elements that execute on host computers on which data compute nodes execute.

8. A method for configuring a managed hardware forwarding element (MHFE) to implement a logical switch along with a plurality of other managed forwarding elements operating outside of the MHFE, and to communicatively couple the logical switch with a private network, the MHFE comprising a database with a logical switch table, a unicast media access control (MAC) table, and a physical switch table the method comprising:

providing a plurality of data tuples for defining the logical switch on the MHFE, without providing a data tuple for binding the LFE to a port of the MHFE, wherein said plurality of data tuples are stored in the logical switch table and the unicast MAC table; and

after providing the plurality of data tuples for defining the logical switch, providing the data tuple that binds the logical switch to a port of the MHFE, wherein said data tuple is stored in the physical switch table.

9. The method of claim 8 , wherein the data tuples are provided to the MHFE according to an order in which the data tuple for binding the logical switch to the MHFE port is last.

10. The method of claim 8 , wherein the MHFE comprises (i) a module that retrieves the provided data tuples and uses the provided data tuples to configure dataplane forwarding records of the MHFE to implement the logical switch and (ii) a forwarding engine that uses the forwarding records to process data messages that the MHFE receives, wherein the module does not configure the dataplane forwarding records based on the provided data tuples until the data tuple for binding the logical switch to the MHFE port is provided.

11. The method of claim 8 , wherein the database uses a hardware VTEP (VXLAN Tunnel End Point) schema and the data tuples are provided to the database on the MHFE by using a OVSdb (open vswitch database) protocol.

12. The method of claim 8 further comprising ensuring that the plurality of data tuples are received by the MHFE before providing the data tuple for binding the logical switch to the MHFE port.

13. The method of claim 8 , wherein the MHFE port is associated with multiple VLANs (virtual local area networks) and the binding data tuple binds the logical switch to a VLAN associated with the MHFE port.

14. The method of claim 8 , wherein the other forwarding elements that implement the logical switch with the MHFE comprise a plurality of software forwarding elements that execute on host computers on which data compute nodes execute.

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, 2015
From: CHANDA, ANUPAM
To: NICIRA, INC.
Reel/Frame 037299/0105 →