Exception handling system for packet processing system
First Claim
Patent Images
1. An exception handling system for a packet processing system comprising:
- a plurality of exception handlers;
a register for holding a data element having a data field with a value selecting one of the plurality of exception handlers, the selected exception handler configured to check for the presence of one or more potential exception conditions associated with the selected exception handler;
logic for allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system;
a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; and
a packet processor for selectively modifying the packet processing state data relating to the packet if one or more of the associated potential exception conditions is determined to be present by the selected exception handler;
wherein the one or more of the potential exception conditions that are checked are determined using a mask associated with the selected exception handler; and
wherein the mask is selected from a plurality of masks associated with the selected exception handler.
8 Assignments
0 Petitions
Accused Products
Abstract
An exception handling system for a packet processing system is described. In this exception handling system, there are several exception handlers. One of the exception handlers is selected based on packet processing state data relating to a packet undergoing processing by the packet processing system. The selected exception handler is configured to check for the presence of one or more potential exception conditions associated with the selected exception handler. If one or more of these potential exception conditions are determined to be present, a packet processor selectively modifies the packet processing state data relating to the packet.
-
Citations
24 Claims
-
1. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers; a register for holding a data element having a data field with a value selecting one of the plurality of exception handlers, the selected exception handler configured to check for the presence of one or more potential exception conditions associated with the selected exception handler; logic for allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; and a packet processor for selectively modifying the packet processing state data relating to the packet if one or more of the associated potential exception conditions is determined to be present by the selected exception handler; wherein the one or more of the potential exception conditions that are checked are determined using a mask associated with the selected exception handler; and wherein the mask is selected from a plurality of masks associated with the selected exception handler. - View Dependent Claims (2, 5, 6, 7, 8, 9, 10, 11, 13, 14)
-
-
3. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers; a register for holding a data element having a data field with a value selecting one of the plurality of exception handlers, the selected exception handler configured to check for the presence of one or more potential exception conditions associated with the selected exception handler; a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; a packet processor for selectively modifying the packet processing state data relating to the packet if one or more of the associated potential exception conditions is determined to be present by the selected exception handler; a second memory for holding a plurality of data elements, each with a data field having a value selecting one of the exception handlers; and logic for selecting one of the data elements from the second memory responsive to the packet processing state data relating to the packet as selectively modified by the packet processor and storing the selected data element in the register; wherein the one or more of the potential exception conditions that are checked are determined using a mask associated with the selected exception handler; and wherein the mask is selected from a plurality of masks associated with the selected exception handler.
-
-
4. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers; a register for holding a data element having a data field with a value selecting one of the plurality of exception handlers, the selected exception handler configured to check for the presence of one or more potential exception conditions associated with the selected exception handler; a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; a packet processor for selectively modifying the packet processing state data relating to the packet if one or more of the associated potential exception conditions is determined to be present by the selected exception handler; a second memory for holding a plurality of data elements, each with a data field having a value selecting one of the exception handlers; and logic for selecting one of the data elements from the second memory responsive to the packet processing state data relating to the packet as selectively modified by the packet processor and storing the selected data element in the register; wherein the packet processor is configured to process other packets in a packet pipeline maintained by the packet processor between the time that the packet processor selectively modifies the packet processing state data relating to the packet and the time that the logic selects one of the data elements from the second memory.
-
-
12. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers; a register for holding a data element having a data field with a value selecting one of the plurality of exception handlers, the selected exception handler configured to check for the presence of one or more potential exception conditions associated with the selected exception handler; logic for allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; and a packet processor for selectively modifying the packet processing state data relating to the packet if one or more of the associated potential exception conditions is determined to be present by the selected exception handler; wherein the one or more associated potential exception conditions that are checked are determined using a mask associated with the selected exception handler; wherein the mask is selected from a plurality of masks associated with the selected exception handler; and wherein the mask is selected using a value of a second data field in the data element stored in the register.
-
-
15. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers, one or more of which are each associated with one or more maskable potential exception conditions; a register for holding a data element having a data field with a value selecting one of the exception handlers, the selected exception handler configured to check for the presence of one or more unmasked potential exception conditions in the associated one or more potential exception conditions; logic for allowing the selected exception handler, and, therefore, the one or more unmasked potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; and a packet processor for selectively modifying the packet processing state data relating to a packet if at least one of the associated one or more potential exception conditions is determined by the selected exception handler to be present; wherein the one or more of the potential exception conditions that are checked are determined using a mask associated with the selected exception handler; and wherein the mask is selected from a plurality of masks associated with the selected exception handler.
-
-
16. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers, one or more of which are each associated with one or more maskable potential exception conditions; a register for holding a data element having a data field with a value selecting one of the exception handlers, the selected exception handler configured to check for the presence of one or more unmasked potential exception conditions in the associated one or more potential exception conditions; logic for allowing the selected exception handler, and, therefore, the one or more unmasked potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; a memory for holding packet processing state data relating to a packet undergoing processing by the packet processing system; and a packet processor for selectively modifying the packet processing state data relating to a packet if at least one of the associated one or more potential exception conditions is determined by the selected exception handler to be present; wherein the one or more of the potential exception conditions that are checked are determined using a mask associated with the selected exception handler; wherein the mask is selected from a plurality of masks associated with the selected exception handler; and wherein the mask is selected using the value of a second data field in the data element stored in the register.
-
-
17. A method of handling exceptions in a packet processing system comprising:
-
selecting an exception handler from a plurality of exception handlers responsive to packet processing state data relating to a packet undergoing processing by the packet processing system; in the selected exception handler, checking for the presence of one or more potential exception conditions associated with the selected exception handler; if one or more of the associated potential exception conditions is present, selectively updating the packet processing state data relating to the packet; and allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; wherein the one or more associated exception conditions are maskable; and wherein the checking step comprises selecting a mask from a plurality of masks associated with the selected exception handler, using the mask to determine one or more unmasked ones of the associated potential exception conditions, and checking for the presence of one or more of the unmasked potential exception conditions. - View Dependent Claims (19, 21, 22)
-
-
18. A method of handling exceptions in a packet processing system comprising:
-
selecting an exception handler from a plurality of exception handlers responsive to packet processing state data relating to a packet undergoing processing by the packet processing system; in the selected exception handler, checking for the presence of one or more potential exception conditions associated with the selected exception handler; if one or more of the associated potential exception conditions is present, selectively updating the packet processing state data relating to the packet; and allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; wherein the one or more associated exception conditions are maskable; wherein the checking step comprises selecting a mask from a plurality of masks associated with the selected exception handler, using the mask to determine one or more unmasked ones of the associated potential exception conditions, and checking for the presence of one or more of the unmasked potential exception conditions; and wherein the step of selecting a mask comprises selecting a mask depending on whether unicast, multicast, or bridge conditions are present.
-
-
20. A method of handling exceptions in a packet processing system comprising:
-
selecting an exception handler from a plurality of exception handlers responsive to packet processing state data relating to a packet undergoing processing by the packet processing system; in the selected exception handler, checking for the presence of one or more potential exception conditions associated with the selected exception handler; if one or more of the associated potential exception conditions is present, selectively updating the packet processing state data relating to the packet; and allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; wherein a potential exception condition associated with the selected exception handler and determined to be present is associated with a state value and a priority; wherein the packet processing state data relating to the packet state has a current state value and current priority; wherein the selectively updating step comprises replacing the current state value with the associated state value if the associated priority is greater than the current priority; and wherein the state value is representative of an egress port for the packet.
-
-
23. A method of handling exceptions in a packet processing system comprising:
-
selecting an exception handler from a plurality of exception handlers responsive to packet processing state data relating to a packet undergoing processing by the packet processing system; selecting a context from a plurality of contexts responsive to packet processing state data relating to the packet undergoing processing by the packet processing system; in the selected exception handler, checking for the presence of one or more potential exception conditions associated with the selected exception handler based on the selected context; if one or more of the associated potential exception conditions is present, selectively updating the packet processing state data relating to the packet; and allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; wherein the one or more associated exception conditions are maskable; and wherein the checking step comprises selecting a mask from a plurality of masks associated with the selected exception handler, using the mask to determine one or more unmasked ones of the associated potential exception conditions, and checking for the presence of one or more of the unmasked potential exception conditions.
-
-
24. An exception handling system for a packet processing system comprising:
-
a plurality of exception handlers; holding means for holding a data element having a data field with a value selecting one of the plurality of exception handers, the selected exception handlers for checking for the presence of one or more potential exception conditions associated with the selected exception handler; logic for allowing the selected exception handler, and, therefore, the one or more potential exception conditions that are checked, to dynamically vary as packets are processed by the packet processing system; a memory for holding packet processing state data relating to a packet; and a packet processor for selectively modifying the packet processing state data relating to the packet if one or more of the associated potential exception conditions in the associated set is determined to be present by the selected exception handler; wherein the one or more of the potential exception conditions that are checked are determined using a mask associated with the selected exception handler; and wherein the mask is selected from a plurality of masks associated with the selected exception handler.
-
Specification