When Running Linux on a multi-core processor, all of the network processing is processed by the operating system and the processing efficiency is very poor. To solve this problem, we describe a Multi-core Network Processing System (MNPS) in this paper. The MNPS divides the cores of a multi-core processor into two groups. One group runs MNPS-Linux, which is a modified Linux only retaining the same socket interface to the user applications. The other group runs MNPS-Stack, which processes the network stack without operating system and directly operates the hardware resources. Because of the offloading of network processing and no interrupt in MNPS-Linux and the directly operating the hardware resources and no operating system in MNPS-Stack, MNPS is very efficient. We can see from the result of the experiment that MNPS can get high performance but consumes less CPU resource.