Multi-engine packet processing with table updates
AssigneeGoogle Inc.
InventorsHariharan Lakshminarayanan Thantry, Rajeev Nair
Life of this patent
Estimating the term…
Abstract
Generally disclosed herein is an approach for maintaining packet ordering in a flow in the presence of table updates. The approach may provide a solution that mitigates correctness issues when there is an addition of instructions to hardware such as a circuit switch or a router while maintaining high packet processing rates. The approach may also include adding a software interface for a table update that is capable of receiving a certain ordering constraint that may influence table operation commands.
Claims20
An apparatus, comprising:
- one or more processing engines configured to process data packets received by the apparatus in accordance with a packet flow;
- one or more processing cores adapted to receive updates associated with the packet flow;
- a scheduler communicatively coupled to the one or more processing cores and one or more processing engines;
- wherein in response to a notification that at least one of the one or more processing cores received a first update associated with the packet flow, the scheduler selects a first processing engine of the one or more processing engines to process one or more unprocessed data packets of the packet flow.
A method for packet processing in a system comprising multiple packet processing engines, the method comprising:
- receiving, at a scheduler operating in a first mode in which packets are distributed among the multiple packet processing engines for processing, an ordering request;
- switching, by the scheduler in response to the ordering request, to a second mode of operation in which all packets belonging to a same ordering domain are sent to a given engine for in-order processing;
- determining, by the scheduler, that the in-order processing is complete;
- and
- switching, by the scheduler, to the first mode.
Dependencies are inferred from the claim text.