IP Library Granted Patent US 9,077,664
Granted Patent B2
US 9,077,664 · App. 13/225,554 · Granted Jul 7, 2015

One-hop packet processing in a network with managed switching 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,077,664
App. No.
13/225,554
Granted
Jul 7, 2015
Kind
B2
Abstract

For a logical switching element implemented across several managed switching elements, some embodiments provide a method that receives a packet for processing through the logical switching element. The method performs a set of logical forwarding operations for determining a particular destination at the logical switching element to forward the packet. Based on the particular destination at the logical switching element, the method performs a set of physical forwarding operations for determining a destination at a managed switching element of the several managed switching elements that corresponds to the particular destination at the logical switching element. The method forwards the packet to the destination at the managed switching element.

Claims (33)

1. For a first managed switching element that implements a logical switching element along with a plurality of additional managed switching elements, a method comprising:

receiving a packet for processing through the logical switching element at an ingress port of the first managed switching element that connects to a source of the packet;

at the first managed switching element, performing a set of ingress context mapping operations to determine a logical context of the received packet;

at the first managed switching element, performing a set of logical ingress access control list (ACL) operations to determine whether to further process the packet based on the logical context of the packet;

when the logical ingress ACL operations determine to continue processing the packet, performing a set of logical forwarding operations at the first managed switching element to determine a destination logical port of the logical switching element to which to forward the packet;

at the first managed switching element, performing a set of logical egress ACL operations to determine whether to further process the packet through the logical switching element based on the destination logical port of the logical switching element;

when the logical ACL operations determine to continue processing the packet, performing a set of physical forwarding operations to determine a destination physical port of a second managed switching element of the plurality of managed switching elements that corresponds to the destination logical port of the logical switching element; and

forwarding the packet to the destination physical port of the second managed switching element.

2. The method of claim 1 , wherein the set of logical forwarding operations comprises a set of operations for processing the packet through a logical forwarding plane of the logical switching element in order to determine the destination logical port.

3. The method of claim 1 , wherein the set of logical forwarding operations comprises performing a forwarding operation at a logical data link layer.

4. The method of claim 1 , wherein the set of logical forwarding operations comprises performing a forwarding operation at a logical network layer.

5. The method of claim 1 further comprising, when the logical ACL operations determine to not continue processing the packet, dropping the packet rather than performing the set of physical forwarding operations.

6. The method of claim 1 , wherein the set of ingress ACL operations comprises a determination as to whether to further process the packet based on a logical ingress port of the logical switching element.

7. The method of claim 1 , wherein forwarding the packet to the destination physical port of the second managed switching element comprises placing the packet in a particular queue at the first managed switching element.

8. The method of claim 1 , wherein the set of logical forwarding operations comprises matching a particular destination address stored in a header of the received packet to the destination logical port of the logical switching element.

9. A non-transitory computer readable medium storing a program which when executed by at least one processing unit of a first managed switching element implements a logical switching element along with a plurality of additional managed switching elements, the program comprising sets of instructions for:

receiving a packet for processing through the logical switching element at an ingress port of the first managed switching element that connects to a source of the packet;

at the first managed switching element, performing a set of ingress context mapping operations to determine a logical context of the received packet;

at the first managed switching element, performing a set of logical ingress access control list (ACL) operations to determine whether to further process the packet based on the logical context of the packet;

when the logical ingress ACL operations determine to continue processing the packet, performing a set of logical forwarding operations at the first managed switching element to determine a destination logical port of the logical switching element to which to forward the packet;

at the first managed switching element, performing a set of logical egress ACL operations to determine whether to further process the packet with the logical switching element based on the destination logical port of the logical switching element;

when the logical ACL operations determine to continue processing the packet, performing a set of physical forwarding operations to determine a destination physical port of a second managed switching element of the plurality of managed switching elements that corresponds to the destination logical port of the logical switching element; and

forwarding the packet to the destination physical port of the second managed switching element.

10. The non-transitory computer readable medium of claim 9 , wherein the set of logical forwarding operations comprises a set of operations for processing the packet through a logical forwarding plane of the logical switching element in order to determine the destination logical port.

11. The non-transitory computer readable medium of claim 9 , wherein the set of logical forwarding operations comprises a forwarding operation at a logical data link layer.

12. The non-transitory computer readable medium of claim 9 , wherein the set of logical forwarding operations comprises performing a forwarding operation at a logical network layer.

13. The non-transitory computer readable medium of claim 9 , wherein the program further comprises a set of instructions for dropping the packet rather than performing the set of physical forwarding operations when the logical ACL operations determine to not continue processing the packet.

14. The non-transitory computer readable medium of claim 9 , wherein the set of instructions for performing a set of ingress context mapping comprises a set of instructions for, prior to performing the set of logical forwarding operations, performing a lookup on the packet to identify the logical switching element through which to process the packet.

15. The non-transitory computer readable medium of claim 14 , wherein the lookup is based on a set of fields included in a header of the packet.

16. The non-transitory computer readable medium of claim 15 , wherein the set of fields comprises a source media access control (MAC) address field that corresponds to a logical ingress port of the logical switching element.

17. The non-transitory computer readable medium of claim 9 , wherein the first managed switching element is a hardware switching element that implements a plurality of logical switching elements.

18. The non-transitory computer readable medium of claim 9 , wherein the first managed switching element is a software switching element that implements a plurality of logical switching elements, wherein the processing unit is a processing unit of a physical machine on which the first managed switching element operates.

19. The non-transitory computer readable medium of claim 18 , wherein the physical machine is further for hosting at least one virtual machine that connects to the logical switching element.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
CHANGE OF NAME Recorded Jun 15, 2012
From: NICIRA NETWORKS, INC.
To: NICIRA, INC.
Reel/Frame 028381/0048 →