摘要:
A network interface device for use with a host computer that includes a host processor and a memory, and which is configured to concurrently run a master operating system and at least one virtual operating system. The device includes a bus interface that communicates over a bus with the host processor and the memory, and a network interface, which is coupled to send and receive data packets carrying data over a packet network. A protocol processor is coupled between the bus interface and the network interface so as to convey the data between the network interface and the memory while performing protocol processing on the data packets under instructions from the at least one virtual operating system, while bypassing the master operating system.
摘要:
A network interface device includes a bus interface that communicates over a bus with a host processor and memory, and a network interface, including at least first and second physical ports, which are coupled to send and receive data packets carrying data over a packet network. A protocol processor includes a single transmit processing pipeline and a single receive processing pipeline, which are coupled between the bus interface and the network interface so as to convey the data between both of the first and second physical ports of the network interface and the memory via the bus interface while performing protocol offload processing on the data packets.
摘要:
A network interface device includes a bus interface that communicates over a bus with a host processor and memory, and a network interface that sends and receive data packets carrying data over a packet network. A protocol processor conveys the data between the network interface and the memory via the bus interface while performing protocol offload processing on the data packets in accordance with multiple different application flows. The bus interface queues the data for transmission over the bus in a plurality of queues that are respectively assigned to the different application flows, and transmits the data over the bus according to the queues.
摘要:
A method for communication includes inputting from a host processor to a network interface device a sequence of work requests indicative of operations to be carried out by the network interface device with respect to a plurality of the connections. The device looks ahead through the sequence in order to identify at least first and second operations that are to be carried out with respect to one of the connections in response to first and second work requests, respectively, wherein the second work request does not immediately follow the first work request in the sequence. The device loads the context data for the one of the connections from a host memory into a context cache, and performs at least the first and second operations sequentially while the context data are held in the cache.
摘要:
Certain aspects of a method and system for host software concurrent processing of a network connection using multiple central processing units (CPUs) may be disclosed. Exemplary aspects of the method may include a network system comprising a plurality of processors and a NIC. After completion of one or more received I/O requests, a plurality of completions may be distributed among two or more of the plurality of CPUs. The plurality of CPUs may be enabled to handle processing for one or more network connections and each network connection may be associated with a plurality of completion queues. Each CPU may be associated with at least one global event queue.
摘要:
Certain aspects of a method and system for coalescing task completions may include coalescing a plurality of completions per connection associated with an I/O request. An event may be communicated to a global event queue, and an entry may be posted to the global event queue for a particular connection based on the coalesced plurality of completions. At least one central processing unit (CPU) may be interrupted based on the coalesced plurality of completions.