A network interface controller, NIC, for filtering network traffic on ingress, the NIC comprising: field vector generation circuitry configured to: extract data from a plurality of header fields of a header of a network packet received by the NIC; identify a type of the data extracted; insert the extracted data into a field vector, wherein the field vector includes a plurality of fields, wherein each of the plurality of fields comprises a predetermined location in which to store a corresponding type of data, and wherein the extracted data is inserted into a corresponding field in the field vector based on the type of the data extracted; and determine, subsequent to insertion of the extracted data into the field vector, an input set based on the field vector; and flow director circuitry configured to: compare each matching set of a plurality of matching sets against the input set until a match between a corresponding portion of the input set matches a matching set of a plurality of matching sets, wherein the input set comprises a set of characteristics of a received network packet, and wherein each of the plurality of matching sets corresponds to a different possible characteristic of the received network packet; and perform, subsequent to a determination that the match has been found as a result of the comparison, an action on the received network packet based on an actionable instruction associated with the matching set of a plurality of matching sets that resulted in the match. field vector generation circuitry configured to: extract data from a plurality of header fields of a header of a network packet received by the NIC; identify a type of the data extracted; insert the extracted data into a field vector, wherein the field vector includes a plurality of fields, wherein each of the plurality of fields comprises a predetermined location in which to store a corresponding type of data, and wherein the extracted data is inserted into a corresponding field in the field vector based on the type of the data extracted; and determine, subsequent to insertion of the extracted data into the field vector, an input set based on the field vector; and extract data from a plurality of header fields of a header of a network packet received by the NIC; identify a type of the data extracted; insert the extracted data into a field vector, wherein the field vector includes a plurality of fields, wherein each of the plurality of fields comprises a predetermined location in which to store a corresponding type of data, and wherein the extracted data is inserted into a corresponding field in the field vector based on the type of the data extracted; and determine, subsequent to insertion of the extracted data into the field vector, an input set based on the field vector; and flow director circuitry configured to: compare each matching set of a plurality of matching sets against the input set until a match between a corresponding portion of the input set matches a matching set of a plurality of matching sets, wherein the input set comprises a set of characteristics of a received network packet, and wherein each of the plurality of matching sets corresponds to a different possible characteristic of the received network packet; and perform, subsequent to a determination that the match has been found as a result of the comparison, an action on the received network packet based on an actionable instruction associated with the matching set of a plurality of matching sets that resulted in the match. compare each matching set of a plurality of matching sets against the input set until a match between a corresponding portion of the input set matches a matching set of a plurality of matching sets, wherein the input set comprises a set of characteristics of a received network packet, and wherein each of the plurality of matching sets corresponds to a different possible characteristic of the received network packet; and perform, subsequent to a determination that the match has been found as a result of the comparison, an action on the received network packet based on an actionable instruction associated with the matching set of a plurality of matching sets that resulted in the match.