IP Library Granted Patent US 11,677,588
Granted Patent B2
US 11,677,588 · App. 16/435,522 · Granted Jun 13, 2023

Network control apparatus and method for creating and modifying logical switching elements

Inventor: Bryan J. Fulton (San Francisco, CA)
Assignee: NICIRA, INC.
H04L12/56H04L41/0893H04L45/42H04L47/50H04L49/254H04L49/70H04L2101/668
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,677,588
App. No.
16/435,522
Granted
Jun 13, 2023
Kind
B2
Abstract

Some embodiments of the invention provide a method for implementing a logical switching element that includes multiple logical ports through which the logical switching element receives and sends data packets. The method configures multiple managed forwarding elements to implement the logical switching element. The method also determines that port isolation has been enabled for the logical switching element. The method further provides a set of data directing the managed forwarding elements to drop a particular data packet received through a first logical port when the particular data packet is addressed to a second logical port different than the first logical port to implement the port isolation.

Claims (34)

1. A method for implementing a logical switching element comprising a plurality of logical ports through which the logical switching element receives and sends a plurality of data packets, the method comprising:

configuring a plurality of managed forwarding elements to implement the logical switching element;

determining that port isolation has been enabled for the logical switching element; and

providing a set of data directing the plurality of managed forwarding elements to drop a particular data packet in the plurality of data packets received through a first logical port when the particular data packet is addressed to a second logical port different than the first logical port to implement the port isolation.

2. The method of claim 1 , wherein each data packet in the plurality of data packets comprises a source network address that is associated with a source device from which the data packet originated and a destination network address that is associated with a destination device to which the data packet is destined.

3. The method of claim 2 , wherein

the particular data packet is a first data packet, and

the provided set of data does not direct the plurality of managed forwarding elements to drop a second data packet in the plurality of data packets received through the first logical port when the second data packet is addressed to a destination device that is a device shared by all devices that are associated with the logical ports of the logical switching element.

4. The method of claim 1 , wherein the provided set of data is a set of high priority tables and the logical switching element processes data including the provided set of data according to a set of forwarding behaviors specified in the set of high priority tables over forwarding behaviors specified in tables other than the high priority tables.

5. The method of claim 4 , wherein the set of high priority tables comprises information that directs the plurality of managed forwarding elements to drop data packets from a source device to a set of destination devices.

6. The method of claim 5 , wherein the set of high priority tables do not include entries directing the plurality of managed forwarding elements (1) to allow a data packet destined for a device shared by all devices that are associated with the logical ports of the logical switching element and (2) to block a data packet destined for a device shared by all devices that are associated with the logical ports of the logical switching element.

7. The method of claim 4 , wherein at least one table not included in the set of high priority tables is an access control list table.

8. The method of claim 1 , wherein the provided set of data is an update to an access control list.

9. The method of claim 1 , wherein determining that port isolation has been enabled for the logical switching element comprises detecting that a user input enabling port isolation has been received.

10. The method of claim 1 , wherein

the particular data packet is a first data packet, and

a second data packet is addressed to the second logical port when a destination network address is associated with a destination device associated with the second logical port.

11. A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for implementing a logical switching element comprising a plurality of logical ports through which the logical switching element receives and sends a plurality of data packets, the program comprising sets of instructions for:

configuring a plurality of managed forwarding elements to implement the logical switching element;

determining that port isolation has been enabled for the logical switching element; and

providing a set of data directing the plurality of managed forwarding elements to drop a particular data packet in the plurality of data packets received through a first logical port when the particular data packet is addressed to a second logical port different than the first logical port to implement the port isolation.

12. The non-transitory machine readable medium of claim 11 , wherein each data packet in the plurality of data packets comprises a source network address that is associated with a source device from which the data packet originated and a destination network address that is associated with a destination device to which the data packet is destined.

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

the particular data packet is a first data packet, and

the provided set of data does not direct the plurality of managed forwarding elements to drop a second data packet in the plurality of data packets received through the first logical port when the second data packet is addressed to a destination device that is a device shared by all devices that are associated with the logical ports of the logical switching element.

14. The non-transitory machine readable medium of claim 11 , wherein the provided set of data is a set of high priority tables and the logical switching element processes data including the provided set of data according to a set of forwarding behaviors specified in the set of high priority tables over forwarding behaviors specified in tables other than the high priority tables.

15. The non-transitory machine readable medium of claim 14 , wherein the set of high priority tables comprises information that directs the plurality of managed forwarding elements to drop data packets from a source device to a set of destination devices.

16. The non-transitory machine readable medium of claim 15 , wherein the set of high priority tables do not include entries directing the plurality of managed forwarding elements (1) to allow a data packet destined for a device shared by all devices that are associated with the logical ports of the logical switching element and (2) to block a data packet destined for a device shared by all devices that are associated with the logical ports of the logical switching element.

17. The non-transitory machine readable medium of claim 14 , wherein at least one table not included in the set of high priority tables is an access control list table.

18. The non-transitory machine readable medium of claim 11 , wherein the provided set of data is an update to an access control list.

19. The non-transitory machine readable medium of claim 11 , wherein the set of instructions for determining that port isolation has been enabled for the logical switching element comprises a set of instructions for detecting that a user input enabling port isolation has been received.

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

the particular data packet is a first data packet, and

a second data packet is addressed to the second logical port when a destination network address is associated with a destination device associated with the second logical port.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2023
From: FULTON, BRYAN J.
To: NICIRA, INC.
Reel/Frame 063180/0285 →
Cited By (1)
US 12,695,667