IP Library Granted Patent US 11,240,113
Granted Patent B2
US 11,240,113 · App. 16/568,332 · Granted Feb 1, 2022

Forwarding element slice identifying control plane

Inventors: Raja Kommula (Cupertino, CA); Constantine Polychronopoulos (Saratoga, CA); Thayumanavan Sridhar (Palo Alto, CA); Marc-Andre Bordeleau (Shawinigan, CA); Edward Choh (Richmond, CA); Ojas Gupta (Mountain View, CA); Robert Kidd (Champaign, IL); Georgios Oikonomou (Patras, GR); Jeremy Tidemann (Urbana, IL)
Assignee: VMWARE, INC.
H04L41/12G06F9/45541G06F9/45558G06F9/546H04L41/082H04L41/0893H04L41/0896H04L45/38H04L49/9068G06F2009/4557G06F2009/45595
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,240,113
App. No.
16/568,332
Granted
Feb 1, 2022
Kind
B2
Abstract

Some embodiments of the invention provide a novel method of performing network slice-based operations on a data message at a hardware forwarding element (HFE) in a network. For a received data message flow, the method has the HFE identify a network slice associated with the received data message flow. This network slice in some embodiments is associated with a set of operations to be performed on the data message by several network elements, including one or more machines executing on one or more computers in the network. Once the network slice is identified, the method has the HFE process the data message flow based on a rule that applies to data messages associated with the identified slice.

Claims (30)

1. A hardware forwarding element comprising:

a data plane forwarding circuit to perform slice-based data plane forwarding operations on a set of data messages received by the forwarding element; and

a control plane circuit comprising a set of processing units and a non-transitory machine-readable medium storing a slice identifier (ID) specifying program for execution by the set of processing units,

the program to specify slice IDs of network slices associated with data messages and to provide the slice IDs to the data plane forwarding circuit to perform slice-based forwarding operation based on the provided slice IDs,

the control plane providing the slice ID for a data message with a configuration instruction to configure the data plane forwarding circuit to store a record that associates a flow identifier of the data message with the slice ID,

wherein after matching another data message's flow identifier with the record's flow identifier, the data plane circuit uses the record's slice ID to identify another record that specifies a forwarding operation based on the slice ID.

2. The hardware forwarding element of claim 1 , wherein the data plane forwarding circuit provides to the control plane circuit each data message for which the control plane circuit needs to specify the slice ID.

3. The hardware forwarding element of claim 1 , wherein the data plane forwarding circuit provides to the control plane circuit a flow identifier for each data message for which the control plane circuit needs to specify the slice ID.

4. The hardware forwarding element of claim 1 , wherein the non-transitory machine readable further stores a set of one or more service programs to perform a set of slice-based service operations on data messages for which the slice-ID specifying program identifies slice IDs.

5. A hardware forwarding element comprising:

a data plane forwarding circuit to perform slice-based data plane forwarding operations on a set of data messages received by the forwarding element; and

a control plane circuit comprising a set of processing units and a non-transitory machine-readable medium storing a slice identifier (ID) specifying program for execution by the set of processing units,

the program to specify slice IDs of network slices associated with data messages and to provide the slice IDs to the data plane forwarding circuit to perform slice-based forwarding operation based on the provided slice IDs,

wherein:

the non-transitory machine readable further stores a set of one or more service programs to perform a set of slice-based service operations on data messages for which the slice-ID specifying program identifies slice IDs;

the control plane circuit configures, for each slice ID that the slice-ID specifying program specifies the slice ID, the data plane forwarding circuit to identify the slice ID; and

before the data plane forwarding circuit is configured for a flow, the set of service programs perform the set of slice-based operations on a group of data messages in the flow and the control plane circuit provides the processed data messages in the group to the data plane forwarding circuit to forward within a network.

6. A hardware forwarding element comprising:

a data plane forwarding circuit to perform slice-based data plane forwarding operations on a set of data messages received by the forwarding element; and

a control plane circuit comprising a set of processing units and a non-transitory machine-readable medium storing a slice identifier (ID) specifying program for execution by the set of processing units,

the program to specify slice IDs of network slices associated with data messages and to provide the slice IDs to the data plane forwarding circuit to perform slice-based forwarding operation based on the provided slice IDs,

wherein:

the non-transitory machine readable further stores a set of one or more service programs to perform a set of slice-based service operations on data messages for which the slice-ID specifying program identifies slice IDs;

the control plane circuit comprises a network interface controller;

the control plane circuit configures, for each slice ID that the slice-ID specifying program specifies the slice ID, the data plane forwarding circuit to identify the slice ID; and

before the data plane forwarding circuit is configured for a flow, the set of service programs perform the set of slice-based operations on a group of data messages in the flow and the control plane circuit uses the network interface controller to forward in a network the processed data messages in the group.

7. The hardware forwarding element of claim 1 , wherein the program is a Linux operating system with which at least one container is defined to perform a second set of data plane forwarding operations.

8. The hardware forwarding element of claim 1 , wherein the program is a container machine.

9. The hardware forwarding element of claim 1 , wherein the program is a virtual machine executing over a hypervisor executed by the set of processing units.

10. The hardware forwarding element of claim 1 , wherein the program is a hypervisor comprising at least one module that performs at least a subset of a second set of data plane forwarding operations.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2019
From: KOMMULA, RAJA; POLYCHRONOPOULOS, CONSTANTINE; SRIDHAR, THAYUMANAVAN; BORDELEAU, MARC-ANDRE; CHOH, EDWARD; GUPTA, OJAS; KIDD, ROBERT; OIKONOMOU, GEORGIOS; TIDEMANN, JEREMY
To: VMWARE, INC.
Reel/Frame 050358/0115 →
Continuity (2)
Provisional Application 62891425 · Aug 26, 2019
Related Publication 20210067416A1 · Mar 4, 2021
Cited By (5)
US 12,244,466 US 12,413,468 US 12,438,769 US 12,530,214 US 12,581,392