A method for routing a packet. The method includes receiving the packet
from a first network into a network interface card (NIC), where the NIC
is operatively connected to a host and the host includes a first virtual
network stack and a second virtual network stack. The method further
includes sending the packet to a first virtual network stack, where the
first virtual network stack includes a first filter, a first network
layer, and a first transport layer. In addition, the first filter, the
first network layer, and the first transport layer are isolated from the
second virtual network stack. If the packet is permitted through the
first filter in the first virtual network stack, then the packet is sent
to a first virtual NIC.