Patent ID: 7840643

Claim:
A method of transferring data between first and second nodes of a network, comprising: requesting, by a first upper layer protocol (ULP) operating on the first node of the network, first data to be transferred, wherein the first data has a length equal to an integral number of smaller than a standard units of data and is located in a first user buffer; buffering, by a lower protocol layer of the first node of the network, the lower protocol layer being lower than the first ULP, second data in a send buffer for transfer to the second node, the second data including an integral number of standard size units of data, the second data including the first data; copying the second data from the send buffer to a first adapter memory of a first network adapter at the first node of the network; posting, by the first network adapter, the second data to the network for delivery to the second node of the network; receiving the second data by a second network adapter at the second node of the network; copying the received second data from a second adapter memory of the second network adapter to a receive buffer at the second node of the network; and from the received buffer, delivering the first data to a second ULP operating on the second node of the network, wherein the length of the first data as delivered is equal to the length of the first data to be transferred and not the length of the second data, such that remaining data of the second data is not delivered, and wherein the first data as delivered is located in a second user buffer at the second node of the network.