Patent ID: 7472261

Claim:
A method, in data processing system having a control plane processor and one or more data plane processors, comprising: processing, in a data plane processor of the data processing system, an instruction requiring external assistance by a function or service that is not available in the data plane processor but is available on the control plane processor; generating, in the data plane processor, an assisted call message for requesting assistance from the control plane processor; signaling the control plane processor to process the assisted call message; receiving, in the data plane processor, one or more return values from the control plane processor, wherein the one or more return values are generated based on the control plane processor executing the function or service based on the assisted call message; generating a parameter area in a local store associated with the data plane processor; copying input parameter data from one or more data registers of the data plane processor to the parameter area; inserting a stop-and-signal instruction in an execution stack associated with the data plane processor based on the parameter area; executing, in the data plane processor, the stop-and-signal instruction, wherein the stop-and-signal instruction causes execution of instructions by the data plane processor to stop and initiates the signaling of the control plane processor to process the assisted call message; inserting the assisted call message into the execution stack immediately following the stop-and-signal instruction; modifying a value of a next program counter associated with the data plane processor, in response to executing the stop-and-signal instruction, to point to a location in the execution stack following the assisted call message; fetching the one or more return values from the parameter area; writing the one or more return values to one or more return data registers associated with the data plane processor; and restarting execution of instructions of the data plane processor at an instruction in the execution stack pointed to by the modified value of the next program counter.