Packet switching
First Claim
1. An apparatus comprising:
- an integrated circuit including switch circuitry to determine, at least in part, an action to be executed involving a packet, determination of the action being based, at least in part, upon flow information determined, at least in part, from the packet, and packet processing policy information, the switch circuitry being to examine, at least in part, the policy information to determine, at least in part, whether a previously-established packet processing policy has been established that corresponds, at least in part, to the flow information, and if the switch circuitry determines, at least in part, that the policy has not been established and the packet is a first packet in a flow corresponding at least in part to the flow information, the switch circuitry being to request that at least one switch control program module establish, at least in part, a new packet processing policy corresponding, at least in part, to the flow information;
if the switch circuitry determines, at least in part, that the previously-established policy has not been established, the switch circuitry is also to place the packet in a queue and increment a counter indicating, at least in part, a number of packets in the flow that are in the queue;
after the packet has been placed in the queue, the switch circuitry also is to re-examine, at least in part, the policy information to determine, at least in part, whether the new packet processing policy has been established;
after re-examining, at least in part, the policy information, if the switch circuitry determines, at least in part, that the new packet processing policy has been established, the switch circuitry is to remove the packet from the queue and decrement the counter; and
if, after the packet has been placed in the queue, the packet becomes a head of the queue and no action has been indicated, at least in part, in a tuple corresponding at least in part to the flow information, the switch circuitry is to carry out the action after the action has been indicated, at least in part, in the tuple, the tuple to be stored in the integrated circuit, the tuple to store values in mutual association with each other, the values representing at least one packet bit mask, at least one offset in a given packet at which the flow information is expected to be found, the flow information, the action, and the counter.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, an apparatus is provided that may include an integrated circuit including switch circuitry to determine, at least in part, an action to be executed involving a packet. This determination may be based, at least in part, upon flow information determined, at least in part, from the packet, and packet processing policy information. The circuitry may examine the policy information to determine whether a previously-established packet processing policy has been established that corresponds, at least in part, to the flow information. If the circuitry determines, at least in part, that the policy has not been established and the packet is a first packet in a flow corresponding at least in part to the flow information, the switch circuitry may request that at least one switch control program module establish, at least in part, a new packet processing policy corresponding, at least in part, to the flow information.
97 Citations
17 Claims
-
1. An apparatus comprising:
-
an integrated circuit including switch circuitry to determine, at least in part, an action to be executed involving a packet, determination of the action being based, at least in part, upon flow information determined, at least in part, from the packet, and packet processing policy information, the switch circuitry being to examine, at least in part, the policy information to determine, at least in part, whether a previously-established packet processing policy has been established that corresponds, at least in part, to the flow information, and if the switch circuitry determines, at least in part, that the policy has not been established and the packet is a first packet in a flow corresponding at least in part to the flow information, the switch circuitry being to request that at least one switch control program module establish, at least in part, a new packet processing policy corresponding, at least in part, to the flow information; if the switch circuitry determines, at least in part, that the previously-established policy has not been established, the switch circuitry is also to place the packet in a queue and increment a counter indicating, at least in part, a number of packets in the flow that are in the queue; after the packet has been placed in the queue, the switch circuitry also is to re-examine, at least in part, the policy information to determine, at least in part, whether the new packet processing policy has been established; after re-examining, at least in part, the policy information, if the switch circuitry determines, at least in part, that the new packet processing policy has been established, the switch circuitry is to remove the packet from the queue and decrement the counter; and if, after the packet has been placed in the queue, the packet becomes a head of the queue and no action has been indicated, at least in part, in a tuple corresponding at least in part to the flow information, the switch circuitry is to carry out the action after the action has been indicated, at least in part, in the tuple, the tuple to be stored in the integrated circuit, the tuple to store values in mutual association with each other, the values representing at least one packet bit mask, at least one offset in a given packet at which the flow information is expected to be found, the flow information, the action, and the counter. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
determining, at least in part from a packet, flow information; determining at least in part by switch circuitry comprised in an integrated circuit an action to be executed involving the packet, the determining, at least in part, of the action being based, at least in part, upon the flow information and packet processing policy information, the packet processing policy information being determined based at least in part upon examining, at least in part, by the switch circuitry of the packet processing policy information to determine whether a previously-established packet processing policy has been established that corresponds, at least in part, to the flow information, and if the switch circuitry determines, at least in part, that the policy has not been established and the packet is a first packet in a flow corresponding at least in part to the flow information, the switch circuitry being to request that at least one switch control program module establish, at least in part, a new packet processing policy corresponding, at least in part, to the flow information; if the switch circuitry determines, at least in part, that the previously-established policy has not been established, the switch circuitry is also to place the packet in a queue and increment a counter indicating, at least in part, a number of packets in the flow that are in the queue; after the packet has been placed in the queue, the switch circuitry also is to re-examine, at least in part, the policy information to determine, at least in part, whether the new packet processing policy has been established; after re-examining, at least in part, the policy information, if the switch circuitry determines, at least in part, that the new packet processing policy has been established, the switch circuitry is to remove the packet from the queue and decrement the counter; and if, after the packet has been placed in the queue, the packet becomes a head of the queue and no action has been indicated, at least in part, in a tuple corresponding at least in part to the flow information, the switch circuitry is to carry out the action after the action has been indicated, at least in part, in the tuple, the tuple to be stored in the integrated circuit, the tuple to store values in mutual association with each other, the values representing at least one packet bit mask, at least one offset in a given packet at which the flow information is expected to be found, the flow information, the action, and the counter. - View Dependent Claims (8, 9, 10, 11)
-
-
12. Machine-readable memory storing one or more instructions that when executed by a machine result in execution of operations comprising:
-
determining, at least in part from a packet, flow information; determining at least in part by switch circuitry comprised in an integrated circuit an action to be executed involving the packet, the determining, at least in part, of the action being based, at least in part, upon the flow information and packet processing policy information, the packet processing policy information being determined based at least in part upon examining, at least in part, by the switch circuitry of the packet processing policy information to determine whether a previously-established packet processing policy has been established that corresponds, at least in part, to the flow information, and if the switch circuitry determines, at least in part, that the policy has not been established and the packet is a first packet in a flow corresponding at least in part to the flow information, the switch circuitry being to request that at least one switch control program module establish, at least in part, a new packet processing policy corresponding, at least in part, to the flow information; if the switch circuitry determines, at least in part, that the previously-established policy has not been established, the switch circuitry is also to place the packet in a queue and increment a counter indicating, at least in part, a number of packets in the flow that are in the queue; after the packet has been placed in the queue, the switch circuitry also is to re-examine, at least in part, the policy information to determine, at least in part, whether the new packet processing policy has been established; after re-examining, at least in part, the policy information, if the switch circuitry determines, at least in part, that the new packet processing policy has been established, the switch circuitry is to remove the packet from the queue and decrement the counter; and if, after the packet has been placed in the queue, the packet becomes a head of the queue and no action has been indicated, at least in part, in a tuple corresponding at least in part to the flow information, the switch circuitry is to carry out the action after the action has been indicated, at least in part, in the tuple, the tuple to be stored in the integrated circuit, the tuple to store values in mutual association with each other, the values representing at least one packet bit mask, at least one offset in a given packet at which the flow information is expected to be found, the flow information, the action, and the counter. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification