IP Library Granted Patent US 11,593,148
Granted Patent B2
US 11,593,148 · App. 17/174,330 · Granted Feb 28, 2023

Network control system for configuring middleboxes

Inventors: Ronghua Zhang (San Jose, CA); Teemu Koponen (San Francisco, CA); Pankaj Thakkar (Cupertino, CA); Amar Padmanabhan (Menlo Park, CA); Martin Casado (Portola Valley, CA)
Assignee: NICIRA, INC.
G06F9/45558G06F9/455G06F9/45533G06F15/177H04L41/08H04L41/0803H04L41/0806H04L41/0813H04L41/0823H04L41/0889H04L41/0893H04L41/12H04L45/64H04L45/74H04L49/70H04L61/2503H04L61/256H04L61/2517H04L61/2521H04L63/0218H04L67/1008G06F2009/4557G06F2009/45595H04L45/02H04L49/15
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 11,593,148
App. No.
17/174,330
Granted
Feb 28, 2023
Kind
B2
Abstract

Some embodiments provide a method for configuring a logical middlebox in a hosting system that includes a set of nodes. The logical middlebox is part of a logical network that includes a set of logical forwarding elements that connect a set of end machines. The method receives a set of configuration data for the logical middlebox. The method uses a stored set of tables describing physical locations of the end machines to identify a set of nodes at which to implement the logical middlebox. The method provides the logical middlebox configuration for distribution to the identified nodes.

Claims (38)

1. A method for performing middlebox operations at a middlebox element having a plurality of middlebox instances, the method comprising:

receiving a data packet from a first managed forwarding element via a tunnel between the managed forwarding element and the middlebox element, wherein the first managed forward element executes on a first host computer to implement a first plurality of logical networks;

based on a tag that the managed forwarding element associated with the data packet, selecting a particular middlebox instance associated with the tag from the plurality of middlebox instances;

using the selected middlebox instance to perform a middlebox operation on the received packet; and

sending the processed data packet to a second managed forwarding element that implements a second plurality of logical networks.

2. The method of claim 1 , wherein:

the tag identifies the particular middlebox instance; and

the particular middlebox instance is associated with a particular logical network.

3. The method of claim 2 , wherein the particular logical network belongs to the first and second pluralities of logical networks implemented respectively by the first and second managed forwarding elements.

4. The method of claim 2 , wherein the first managed forwarding element receives the data packet from a particular end machine that is associated with the particular logical network and executes on the first host computer, wherein the managed forwarding element selects the tag based on the particular logical network associated with the particular end machine from which the first managed forwarding element receives the data packet.

5. The method of claim 1 , wherein the middlebox element and the second managed forwarding element execute on a same computing device.

6. The method of claim 1 , wherein the second managed forwarding element is a pool node that performs logical network processing on the processed data packet and tunnels the processed data packet to a third managed forwarding element executing on a second host computer to implement a third plurality of logical networks.

7. The method of claim 6 , wherein a first end machine that is a source of the data packet executes on the first host computer and a second end machine that is a destination of the processed data packet executes on the second host computer.

8. The method of claim 7 , wherein:

the first end machine connects to a first logical switch of a particular logical network;

the second end machine connects to a second logical switch of the particular logical network; and

the first managed forwarding element is configured to associate the tag and send the data packet to the middlebox element based on a routing policy for a logical router to which the first and second logical switches connect, the routing policy based at least partially on a field other than a destination network address of the data packet.

9. The method of claim 8 , wherein the second managed forwarding element routes the processed data packet and tunnels the processed data packet to the third managed forwarding element based on the destination network address of the processed data packet.

10. The method of claim 1 , wherein selecting the particular middlebox instance comprises mapping the tag to the particular middlebox instance using a binding table stored by the middlebox element.

11. A non-transitory machine readable medium storing a middlebox element which when executed by at least one processsor performs middlebox operations, the middlebox element having a plurality of middlebox instances and comprising sets of instructions for:

receiving a data packet from a first managed forwarding element via a tunnel between the managed forwarding element and the middlebox element, wherein the first managed forward element executes on a first host computer to implement a first plurality of logical networks;

based on a tag that the managed forwarding element associated with the data packet, selecting a particular middlebox instance associated with the tag from the plurality of middlebox instances;

using the selected middlebox instance to perform a middlebox operation on the received packet; and

sending the processed data packet to a second managed forwarding element that implements a second plurality of logical networks.

12. The non-transitory machine readable medium of claim 11 , wherein:

the tag identifies the particular middlebox instance; and

the particular middlebox instance is associated with a particular logical network.

13. The non-transitory machine readable medium of claim 12 , wherein the particular logical network belongs to the first and second pluralities of logical networks implemented respectively by the first and second managed forwarding elements.

14. The non-transitory machine readable medium of claim 12 , wherein the first managed forwarding element receives the data packet from a particular end machine that is associated with the particular logical network and executes on the first host computer, wherein the managed forwarding element selects the tag based on the particular logical network associated with the particular end machine from which the first managed forwarding element receives the data packet.

15. The non-transitory machine readable medium of claim 11 , wherein the middlebox element and the second managed forwarding element execute on a same computing device.

16. The non-transitory machine readable medium of claim 11 , wherein the second managed forwarding element is a pool node that performs logical network processing on the processed data packet and tunnels the processed data packet to a third managed forwarding element executing on a second host computer to implement a third plurality of logical networks.

17. The non-transitory machine readable medium of claim 16 , wherein a first end machine that is a source of the data packet executes on the first host computer and a second end machine that is a destination of the processed data packet executes on the second host computer.

18. The non-transitory machine readable medium of claim 17 , wherein:

the first end machine connects to a first logical switch of a particular logical network;

the second end machine connects to a second logical switch of the particular logical network; and

the first managed forwarding element is configured to associate the tag and send the data packet to the middlebox element based on a routing policy for a logical router to which the first and second logical switches connect, the routing policy based at least partially on a field other than a destination network address of the data packet.

19. The non-transitory machine readable medium of claim 18 , wherein the second managed forwarding element routes the processed data packet and tunnels the processed data packet to the third managed forwarding element based on the destination network address of the processed data packet.

20. The non-transitory machine readable medium of claim 11 , wherein the set of instructions for selecting the particular middlebox instance comprises a set of instructions for mapping the tag to the particular middlebox instance using a binding table stored by the middlebox element.

Assignments (1)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
Continuity (6)
Continuation 16403487 · May 3, 2019
Continuation 15398709 · Jan 4, 2017
Continuation 14595195 · Jan 12, 2015
Continuation 13678485 · Nov 15, 2012
Provisional Application 61560279 · Nov 15, 2011
Related Publication 20210191750A1 · Jun 24, 2021
Cited By (1)
US 12,541,385