Standalone OAM acceleration engine
AssigneeAltera Corporation
InventorsAlexander Kugel, Mark Jonathan Lewis
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided herein for implementing an OAM co-processor that is connected to a switching device. The ingress engine may determine whether the received input data comprises OAM information, and the ingress engine may selectively process or forward the input data to the switching device. If the ingress engine determines that the input data does comprise OAM information, the ingress engine may intercept the input data and process it at the OAM co-processor. This may cause OAM information to be processed utilizing the latest known OAM technology, rather than the potentially dated OAM processing technology of the switching device.
Claims15
A method for implementing an Operation, Administration, and Management (OAM) co-processor that is connected to a switch, the method comprising:
- receiving input data at an ingress engine;
- determining whether the input data comprises OAM information;
- in response to determining that the input data does not comprise OAM information, transmitting the input data to the switch, wherein the input data is processed at the switch;
- and
- in response to determining that the input data does comprise OAM information, processing the input data at the ingress engine;
- receiving output data at an egress engine from the switch;
- determining whether the output data comprises OAM information;
- in response to determining that the output data does not comprise OAM information, forwarding the output data to a next hop;
- in response to determining that the output data does comprise OAM information, processing the output data at the egress engine;
- maintaining a first queue for a first plurality of output data including the output data, wherein the first plurality of output data is associated with a first traffic control parameter, and wherein the first plurality of output data comprises both OAM data and non-OAM data;
- maintaining a second queue for a second plurality of output data including the output data, wherein the second plurality of output data is associated with a second traffic control parameter, and wherein the second plurality of output data comprises both OAM data and non-OAM data;
- and
- selectively scheduling transmission of data in the first queue and the second queue based on the first traffic control parameter and the second traffic control parameter.
A system for implementing an Operation, Administration, and Management (OAM) co-processor that is connected to a switch, the system comprising:
- an ingress engine that:
- receives input data;
- determines whether the input data comprises OAM information;
- in response to determining that the input data does not comprise OAM information, transmits the input data to the switch, wherein the input data is processed at the switch;
- and
- in response to determining that the input data does comprise OAM information, processes the input data;
- and
- an egress engine that:
- receives output data from the switch;
- determines whether the output data comprises OAM information;
- in response to determining that the output data does not comprise OAM information, forwards the output data to a next hop;
- in response to determining that the output data does comprise OAM information, processes the output data;
- maintains a first queue for a first plurality of output data including the output data, wherein the first plurality of output data is associated with a first traffic control parameter, and wherein the first plurality of output data comprises both OAM data and non-OAM data;
- maintains a second queue for a second plurality of output data including the output data, wherein the second plurality of output data is associated with a second traffic control parameter, and wherein the second plurality of output data comprises both OAM data and non-OAM data;
- and
- selectively schedules transmission of data in the first queue and the second queue based on the first traffic control parameter and the second traffic control parameter.
A non-transitory machine-readable medium comprising instructions thereon for configuring a programmable integrated circuit device as an Operation, Administration, and Management (OAM) co-processor for connection to a switch, the instructions comprising:
- instructions to configure logic of the programmable integrated circuit device to receive input data at an ingress engine;
- instructions to configure the logic of the programmable integrated circuit device to determine whether the input data comprises OAM information;
- instructions to configure the logic of the programmable integrated circuit device to, in response to determining that the input data does not comprise OAM information, transmit the input data to the switch, wherein the input data is processed at the switch;
- and
- instructions to configure the logic of the programmable integrated circuit device to, in response to determining that the input data does comprise OAM information, process the input data at the ingress engine;
- instructions to configure the logic of the programmable integrated circuit device to maintain a first queue for a first plurality of output data including the output data, wherein the first plurality of output data is associated with a first traffic control parameter, and wherein the first plurality of output data comprises both OAM data and non-OAM data;
- instructions to configure the logic of the programmable integrated circuit device to maintain a second queue for a second plurality of output data including the output data, wherein the second plurality of output data is associated with a second traffic control parameter, and wherein the second plurality of output data comprises both OAM data and non-OAM data;
- and
- instructions to configure the logic of the programmable integrated circuit device to selectively schedule transmission of data in the first queue and the second queue based on the first traffic control parameter and the second traffic control parameter.
Dependencies are inferred from the claim text.