Because of user demands for better quality of service, network-aware applications have been of increasing necessity. To enable more control, the end-host operating system (OS) is the entity responsible for providing appropriate service level and API to user applications. However, most of the work in this area remains domain-specific and without a generalizable scheme for providing network control as an OS service. We propose an OS service, namely the virtualization of network interface, that lies between network interface and userland. The virtual network interface is hierarchically attachable to various OS-supported entity, such as threads, processes, and sockets. We argue that the mechanism provides flexible control, as well as the system protection that is required for operating system services. For a proof of the concept, we show an implementation on a PC-Unix, using the procfs file system abstraction. We also carried out a systematic evaluation. The system exhibited the expected control behavior, while keeping the performance small.