A data packet processing method, wherein the method is applied to a computing device, the computing device comprises a network interface card, NIC, a host and a virtual switch running on the host, the NIC establishes a communications connection to the host, the NIC establishes a communications connection to an external network, a virtual machine, VM, runs on the host, wherein a NIC external network port is configured on the NIC, the NIC external network port is configured to establish a communications connection to the external network, at least one virtual switch port is configured on the virtual switch running on the host, each virtual switch port is corresponding to one VM running on the host, wherein the virtual switch communicates with the NIC by using multiple queues, and one specific queue of the multiple queues is corresponding to the NIC external network port and used for communication between a virtual switch external port and the NIC, and the method comprises: receiving, by the NIC, configuration information of the virtual switch port; configuring, by the NIC, at least one NIC port on the NIC according to the configuration information of the virtual switch port, wherein each NIC port connects, by using a single-root input/output virtualization, SR-I/OV, technology, to one VM running on the host; receiving, by the NIC, a first data packet of a data flow sent by a source VM; querying, by the NIC, a flow table set according to matching information of the first data packet; when a flow table corresponding to the data flow cannot be obtained in the flow table set, forwarding, by the NIC, the first data packet to the virtual switch running on the host; after receiving the first data packet, the virtual switch obtains the flow table corresponding to the data flow from a software-defined networking, SDN, controller, so that the flow table corresponding to the data flow is added to the flow table set; and after the forwarding, by the NIC, the first data packet to the virtual switch, the method further comprises: receiving, by the NIC, the first data packet from said specific queue; and forwarding, by the NIC, the first data packet to the external network according to queue information of the queue, wherein the queue information is used to notify the NIC that the first data packet comes from the queue. receiving, by the NIC, configuration information of the virtual switch port; configuring, by the NIC, at least one NIC port on the NIC according to the configuration information of the virtual switch port, wherein each NIC port connects, by using a single-root input/output virtualization, SR-I/OV, technology, to one VM running on the host; receiving, by the NIC, a first data packet of a data flow sent by a source VM; querying, by the NIC, a flow table set according to matching information of the first data packet; when a flow table corresponding to the data flow cannot be obtained in the flow table set, forwarding, by the NIC, the first data packet to the virtual switch running on the host; after receiving the first data packet, the virtual switch obtains the flow table corresponding to the data flow from a software-defined networking, SDN, controller, so that the flow table corresponding to the data flow is added to the flow table set; and after the forwarding, by the NIC, the first data packet to the virtual switch, the method further comprises: receiving, by the NIC, the first data packet from said specific queue; and forwarding, by the NIC, the first data packet to the external network according to queue information of the queue, wherein the queue information is used to notify the NIC that the first data packet comes from the queue. receiving, by the NIC, the first data packet from said specific queue; and forwarding, by the NIC, the first data packet to the external network according to queue information of the queue, wherein the queue information is used to notify the NIC that the first data packet comes from the queue.