摘要:
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.
摘要:
Certain embodiments of the invention may be found in a method and system for performing SCSI read operations with a CRC via a TCP offload engine. Aspects of the method may comprise receiving an iSCSI read command from an initiator. Data may be fetched from a buffer based on the received iSCSI read command. The fetched data may be zero copied from the buffer to the initiator and a TCP sequence may be retransmitted to the initiator. A digest value may be calculated, which may be communicated to the initiator. An accumulated digest value stored in a temporary buffer may be utilized to calculate a final digest value, if the buffer is posted. The retransmitted TCP sequence may be processed and the fetched data may be zero copied into an iSCSI buffer, if the buffer is posted. The calculated final digest value may be communicated to the initiator.
摘要:
Certain embodiments of the invention may be found in a method and system for performing SCSI read operations with a CRC via a TCP offload engine. Aspects of the method may comprise receiving an iSCSI read command from an initiator. Data may be fetched from a buffer based on the received iSCSI read command. The fetched data may be zero copied from the buffer to the initiator and a TCP sequence may be retransmitted to the initiator. A digest value may be calculated, which may be communicated to the initiator. An accumulated digest value stored in a temporary buffer may be utilized to calculate a final digest value, if the buffer is posted. The retransmitted TCP sequence may be processed and the fetched data may be zero copied into an iSCSI buffer, if the buffer is posted. The calculated final digest value may be communicated to the initiator.
摘要:
Provided is a system and method for performing smart offloads between computer applications module and a network interfacing device within a data communications system. The method includes receiving data requests from the computer applications module and determining whether the received data requests require offloading. The received requests are forwarded along a first data path to the network interfacing device if offloading is required. If offloading is not required, the received data requests are forwarded along a secondary data path to a host protocol stack for processing. Next, the protocol processing is performed and the processed data requests are forwarded to the network interfacing device.
摘要:
A method for processing network data includes collecting by a network interface controller (NIC), a plurality of transmit (TX) buffer indicators into a plurality of priority lists of connections. Each of the plurality of TX buffer indicators identifies transmit-ready data located externally to the NIC and not previously received by the NIC. One or more of the plurality of TX buffer indicators may be selected. The identified transmit-ready data may be retrieved into the NIC based on the selected one or more of the plurality of TX buffer indicators. At least a portion of the identified transmit-ready data may be transmitted. Each of the plurality of priority lists may be generated based on a particular connection priority characteristic and a particular connection type. The identified transmit-ready data may be associated with the same connection priority characteristic and the same connection type.
摘要:
Provided is a system and method for performing smart offloads between computer applications module and a network interfacing device within a data communications system. The method includes receiving data requests from the computer applications module and determining whether the received data requests require offloading. The received requests are forwarded along a first data path to the network interfacing device if offloading is required. If offloading is not required, the received data requests are forwarded along a secondary data path to a host protocol stack for processing. Next, the protocol processing is performed and the processed data requests are forwarded to the network interfacing device.
摘要:
Certain embodiments of the invention may be found in a method and system for multi-layer network interface controller (NIC) operation. An aspect of the invention may utilize a two (2) level work-conserving scheduling system for network interface controller operation and may comprise tracking for all L4/L5 offload connections with active transmit requirements as well as layer 2 (L2) level transmit requirements. The first level may comprise a round-robin scheme that may be utilized to select the next high priority, normal priority, and layer 2 (L2) transmit requirement independently. The send level arbitration may comprise a work-conserving programmable weighted round-robin priority scheme that may be utilized to select amongst the transmit tasks selected by the first level priority scheme.
摘要:
A method and system for handling received out-of-order network data using generic buffers for non-posting TCP applications is disclosed. When incoming out-of-order data is received and there is no application buffer posted, a TCP data placement may notify a TCP reassembler to terminate a current generic buffer, allocate a new current generic buffer, and DMA the incoming data into the new current generic buffer. The TCP data placement may notify the TCP reassembler the starting TCP sequence number and the length of the new current generic buffer. Moreover, the TCP data placement may add entries into a TCP out-of-order table when the incoming data creates a new disjoint area. The TCP data placement may adjust an existing disjoint area to reflect any updates. When a TCP application allocates or posts a buffer, then the TCP reassembler may copy data from a linked list of generic buffers into posted buffers.
摘要:
A method for processing network data includes collecting by a network interface controller (NIC), a plurality of transmit (TX) buffer indicators into a plurality of priority lists of connections. Each of the plurality of TX buffer indicators identifies transmit-ready data located externally to the NIC and not previously received by the NIC. One or more of the plurality of TX buffer indicators may be selected. The identified transmit-ready data may be retrieved into the NIC based on the selected one or more of the plurality of TX buffer indicators. At least a portion of the identified transmit-ready data may be transmitted. Each of the plurality of priority lists may be generated based on a particular connection priority characteristic and a particular connection type. The identified transmit-ready data may be associated with the same connection priority characteristic and the same connection type.
摘要:
Provided is a system and method for performing smart offloads between computer applications module and a network interfacing device within a data communications system. The method includes receiving data requests from the computer applications module and determining whether the received data requests require offloading. The received requests are forwarded along a first data path to the network interfacing device if offloading is required. If offloading is not required, the received data requests are forwarded along a secondary data path to a host protocol stack for processing. Next, the protocol processing is performed and the processed data requests are forwarded to the network interfacing device.