Abstract. This paper presents the Network Virtual Machine (NetVM), a virtual network processor optimized for implementation and execution of packet handling applications. As a Java Virtual Machine virtualizes a CPU, the NetVM virtualizes a network processor. The NetVM is expected to provide a unified layer for networking tasks (e.g., packet filtering, packet counting, string matching) performed by various network applications (firewalls, network monitors, intrusion detectors) so that they can be executed on any network device, ranging from high-end routers to small appliances. Moreover, the NetVM will provide efficient mapping of the elementary functionalities used to realize the above mentioned networking tasks onto specific hardware functional units (e.g., ASICs, FPGAs, and network processing elements) included in special purpose hardware systems possibly deployed to implement network devices.
The Network Virtual Machine (NetVM) REF [2] instead aims at enabling the portability of packet-processing applications without sacrificing performance.
Towards Effective Portability of Packet Handling Applications Across Heterogeneous Hardware Platforms