1. A computer system comprising: a general purpose multi-core processor including a plurality of processing cores; at least one network interface device communicably coupled with the general purpose multi-core processor; and memory communicably coupled with the general purpose multi-core processor, wherein the memory includes: instructions to allocate a shared memory portion of the memory, wherein the shared memory is accessible from more than one context of execution; instructions to process a frame in a plurality of processing stages, wherein each stage may be processed by a context of execution; instructions to bind each of the plurality of processing stages to a processing core of the multi-core processor; and instructions to connect one or more processing stages with a point-to-point communication mechanism that operates in shared memory.