Implementing a software defined network based on event records
First Claim
1. A network switch for implementing a Software Defined Network, the network switch comprising:
- one or more memory resources storing a flow table and including a buffer;
wherein the network switch implements packet processing logic, causing the network switch to;
receive data packets, each respective data packet comprising header information;
analyze the header information in the respective data packet to generate a lookup key;
using the lookup key, perform a lookup in the flow table to determine a rule number for the respective data packet;
based on the rule number, generate an event record for the respective data packet;
store the respective event record in a block of the buffer;
when the block of the buffer is full, stream a set of event records from the buffer to a processing resource to enable the processing resource to update counter tables, external to the network switch, to implement the Software Defined Network; and
compressing the set of event records prior to storing the set of event records in the buffer;
wherein compressing the set of event records comprises utilizing a cache indexed by rule number to combine event records; and
wherein rule number values are reduced to correspond with a working set of rule number values that comprises fewer than a total set of rule number values.
3 Assignments
0 Petitions
Accused Products
Abstract
A network switch for implementing a Software Defined Network can include one or more memory resources storing a flow table and including a buffer. The network switch can receive and analyze data packets to generate a lookup key for each respective data packet. Using the lookup key, the network switch can perform a lookup in the flow table to determine a rule number for the respective data packet. Based on the rule number, the network switch can generate an event record for the respective data packet, and store the event record in a block of the buffer. When the block is full, the network switch can stream a set of event records from the buffer to a processing resource to enable the processing resource to update counter tables, external to the network switch, to implement the Software Defined Network.
-
Citations
13 Claims
-
1. A network switch for implementing a Software Defined Network, the network switch comprising:
-
one or more memory resources storing a flow table and including a buffer; wherein the network switch implements packet processing logic, causing the network switch to; receive data packets, each respective data packet comprising header information; analyze the header information in the respective data packet to generate a lookup key; using the lookup key, perform a lookup in the flow table to determine a rule number for the respective data packet; based on the rule number, generate an event record for the respective data packet; store the respective event record in a block of the buffer; when the block of the buffer is full, stream a set of event records from the buffer to a processing resource to enable the processing resource to update counter tables, external to the network switch, to implement the Software Defined Network; and compressing the set of event records prior to storing the set of event records in the buffer; wherein compressing the set of event records comprises utilizing a cache indexed by rule number to combine event records; and wherein rule number values are reduced to correspond with a working set of rule number values that comprises fewer than a total set of rule number values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for implementing a Software Defined Network, the method being performed by a network switch and comprising:
-
receiving data packets, each respective data packet comprising header information; analyzing the header information in the respective data packet to generate a lookup key; using the lookup key, performing a lookup in the flow table to determine a rule number for the respective data packet; based on the rule number, generating an event record for the respective data packet; storing the respective event record in a block of the buffer; when the block of the buffer is full, streaming a set of event records from the buffer to a processing resource to enable the processing resource to update counter tables, external to the network switch, to implement the Software Defined Network; and compressing the set of event records prior to storing the set of event records in the buffer; wherein compressing the set of event records comprises utilizing a cache indexed by rule number to combine event records; and wherein rule number values are reduced to correspond with a working set of rule number values that comprises fewer than a total set of rule number values. - View Dependent Claims (10, 11)
-
-
12. A switching system comprising:
-
a processing resource; a memory resource storing a plurality of counter tables utilized by the processing resources to implement a Software Defined Network; and a network switch to receive data packets, each respective data packet comprising header information; analyze the header information in the respective data packet to generate a lookup key; using the lookup key, perform a lookup in a flow table of the network switch to determine a rule number for the respective data packet; based on the rule number, generate an event record for the respective data packet; store the respective event record in a buffer block; and when the block of the buffer is full, stream a set of event records from the buffer block to the processing resource; and compress the set of event records prior to storing the set of event records in the buffer; wherein compressing the set of event records comprises utilizing a cache indexed by rule number to combine event records; wherein rule number values are reduced to correspond with a working set of rule number values that comprises fewer than a total set of rule number values; and wherein the processing resource updates the plurality of counter tables based on the streamed set of event records from the network switch to implement the Software Defined Network. - View Dependent Claims (13)
-
Specification