1. A system for distributing network traffic among multiple direct hardware access datapaths, comprising: a processor operatively connected to a host computer system; a plurality of activated physical network interface cards (PNICs) operatively connected to the host computer system, wherein each one of the plurality of activated PNICs is configured to send and receive data packets over a network, wherein each one of the plurality of activated PNICs is configured with one of a plurality of virtual functions, wherein the plurality of activated PNICs comprises a first activated PNIC configured with a first virtual function from the plurality of virtual functions; a host operating system executing on the host computer system; a first virtual machine executing on the host computer system, comprising: a first virtual network interface card (VNIC); and a first virtual link aggregator, wherein the first virtual link aggregator is configured to maintain a first list identifying the plurality of activated PNICs; wherein each one of a plurality of virtual function mappings for the first virtual machine associates the first virtual machine with one of the plurality of virtual functions, wherein the plurality of virtual function mappings comprises a first virtual function mapping associating the first virtual machine with the first virtual function configured for the first activated PNIC, wherein the first virtual link aggregator is further configured to: select from the first list, the first activated PNIC from the plurality of activated PNICs for servicing a first network connection; and determine the first virtual function based on the first activated PNIC and the first virtual function mapping, wherein the first VNIC uses the first virtual function to directly transfer network traffic for the first network connection between the first virtual machine and the first activated PNIC, and wherein the first activated PNIC sends network traffic for the first network connection over the network.