1. A network processor comprising: a shared memory; an input/output module arranged on a ring bus to communicate tasks from a source to a destination on the ring bus, the input/output module to receive a packet and store the received packet in the shared memory; a packet processing module arranged on the ring bus; and a processor core arranged on the ring bus and having a local memory; wherein the packet processing module to: classify the received packet stored in the shared memory, identify which flow of one or more of known flows the received packet pertains to, retrieve structural metadata corresponding to the identified flow of the received packet, and pass the structural metadata to the processor core, wherein the structural metadata is retrieved from at least one configuration table corresponding to the identified flow out of a plurality of configuration tables, and includes one of at least an offset and length of the received packet for determining what addresses in the shared memory are to be pre-fetched to obtain the portion of packet data of the received packet and an identifying address and length of the software instructions in the shared memory to be pre-fetched; and wherein the processor core to: pre-fetch content at address locations in the shared memory specified by the structural metadata, store the pre-fetched content into the local memory, and process the pre-fetched content stored in the local memory, wherein the pre-fetched content comprises (i) at least a portion of packet data of the received packet, and (ii) software instructions corresponding to the identified flow, which are used to process the packet data.