System for steering data packets in communication network
First Claim
1. A system for steering data packets in a communication network, the system comprising:
- a plurality of compute nodes having a corresponding plurality of processors for executing a plurality of application and service virtual machines (VMs) and a corresponding plurality of traffic steering accelerators, wherein a first compute node includes;
a first processor configured for executing a first application VM and a first set of service VMs, wherein the first application VM outputs a first data packet; and
a first traffic steering accelerator connected to the first processor for receiving the first data packet;
a virtual local area network-identifier (VLAN-ID) assignment module for generating a plurality of records and associating the plurality of records with the plurality of service VMs, wherein each record includes a VLAN-ID set and a port number of a corresponding service VM, and wherein the VLAN-ID set includes input and output VLAN-IDs of the corresponding service VM;
a service-chaining module connected to the VLAN-ID assignment module for receiving the plurality of records and generating a plurality of service chaining rules associated with a plurality of n-Tuples configured for the plurality of application VMs; and
a traffic steering controller connected to the first traffic steering accelerator for receiving the first data packet, and to the service-chaining module for receiving the plurality of service chaining rules and the corresponding plurality of records, sequencing the plurality of records based on the plurality of service chaining rules for generating a plurality of chained records, and outputting a first chain of the chained records corresponding to a first n-Tuple based on the first data packet, wherein the first traffic steering accelerator receives the first chain of chained records and is configured to perform the steps of;
retrieving a first record of the first chain of chained records;
retrieving a first input VLAN-ID of the first record;
adding the first input VLAN-ID to the first data packet; and
transmitting the first data packet to at least one of a first service VM and a second traffic steering accelerator based on the first input VLAN-ID.
14 Assignments
0 Petitions
Accused Products
Abstract
A system for steering data packets in a communication network that includes compute nodes having processors for executing application and service virtual machines (VMs), and traffic steering accelerators. A virtual local area network-identifier (VLAN-ID) assignment module generates records and associates the records with the service VMs. Each record includes an input VLAN-ID, an output VLAN-ID, and a port number corresponding to one of the service VMs. A service-chaining module generates chaining rules associated with n-Tuples. A traffic steering controller generates a chain of the records based on the service chaining rules. The traffic steering accelerator then steers the data packets based on the input and output VLAN-IDs included in the data packet.
-
Citations
20 Claims
-
1. A system for steering data packets in a communication network, the system comprising:
-
a plurality of compute nodes having a corresponding plurality of processors for executing a plurality of application and service virtual machines (VMs) and a corresponding plurality of traffic steering accelerators, wherein a first compute node includes; a first processor configured for executing a first application VM and a first set of service VMs, wherein the first application VM outputs a first data packet; and a first traffic steering accelerator connected to the first processor for receiving the first data packet; a virtual local area network-identifier (VLAN-ID) assignment module for generating a plurality of records and associating the plurality of records with the plurality of service VMs, wherein each record includes a VLAN-ID set and a port number of a corresponding service VM, and wherein the VLAN-ID set includes input and output VLAN-IDs of the corresponding service VM; a service-chaining module connected to the VLAN-ID assignment module for receiving the plurality of records and generating a plurality of service chaining rules associated with a plurality of n-Tuples configured for the plurality of application VMs; and a traffic steering controller connected to the first traffic steering accelerator for receiving the first data packet, and to the service-chaining module for receiving the plurality of service chaining rules and the corresponding plurality of records, sequencing the plurality of records based on the plurality of service chaining rules for generating a plurality of chained records, and outputting a first chain of the chained records corresponding to a first n-Tuple based on the first data packet, wherein the first traffic steering accelerator receives the first chain of chained records and is configured to perform the steps of; retrieving a first record of the first chain of chained records; retrieving a first input VLAN-ID of the first record; adding the first input VLAN-ID to the first data packet; and transmitting the first data packet to at least one of a first service VM and a second traffic steering accelerator based on the first input VLAN-ID. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for steering data packets in a communication network that includes a virtual local area network identifier (VLAN-ID) assignment module, a service-chaining module, a traffic steering controller, and a plurality of compute nodes having a corresponding plurality of processors for executing a plurality of application and service virtual machines (VMs) and a corresponding plurality of traffic steering accelerators, wherein a first one of the compute nodes includes a first processor and a first one of the traffic steering accelerators, the method comprising:
-
generating a plurality of records by the VLAN-ID assignment module, wherein each of the records includes a VLAN-ID set and a port number of a corresponding one of the service VMs, and wherein the VLAN-ID set includes input and output VLAN-IDs of the corresponding service VM; associating the plurality of records with the plurality of service VMs; receiving the plurality of records at the service-chaining module; generating a plurality of service chaining rules associated with a plurality of n-Tuples configured for the plurality of application VMs; receiving the service chaining rules and the corresponding plurality of records at the traffic steering controller; sequencing the plurality of records based on the plurality of service chaining rules for generating a plurality of chained records; executing a first one of the application VMs and a first set of the service VMs by the first processor, wherein the first application VM outputs a first one of the data packets; receiving the first data packet at the first traffic steering accelerator; providing the first data packet to the traffic steering controller; providing a first chain of the chained records corresponding to a first one of the n-Tuples based on the first data packet to the first traffic steering accelerator; retrieving a first record of the first chain; retrieving a first input VLAN-ID of the first record; adding the first input VLAN-ID to the first data packet; and transmitting the first data packet to at least one of a first one of the service VMs and a second one of the traffic steering accelerators based on the first input VLAN-ID. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification