Network stack layer interface
First Claim
1. A network stack layer interfacing method for communication between network layers when transmitting network storage data via a computer network, the method comprising the operations of:
- generating a first SCSI information descriptor (SID), a second SID, and a third SID, wherein the first SID includes a data memory address pointer to a first memory address of data to be transmitted via a computer network;
passing the data memory address pointer from the first SID to the second SID;
assigning a storage header memory address pointer to the second SID;
passing the storage header memory address pointer and the data memory address pointer from the second SID to the third SID;
assigning a first transport header memory address pointer to the third SID; and
affording a network interface device access to the third SID, wherein the network interface device utilizes the third SID to transmit at least a portion of the data via the computer network.
5 Assignments
0 Petitions
Accused Products
Abstract
A network stack layer interface is provided for efficient communication between network stack layers. The network stack layer interface includes a header portion that defines various characteristics of the network stack layer interface. In addition, a buffer descriptor is included that defines data that was, or will be, transmitted over the computer network. The buffer descriptor includes a memory address pointer to the data. In this manner, information is passed between network stack layers via the network stack interface, resulting in fast network data transfer with reduced data copying.
50 Citations
15 Claims
-
1. A network stack layer interfacing method for communication between network layers when transmitting network storage data via a computer network, the method comprising the operations of:
-
generating a first SCSI information descriptor (SID), a second SID, and a third SID, wherein the first SID includes a data memory address pointer to a first memory address of data to be transmitted via a computer network;
passing the data memory address pointer from the first SID to the second SID;
assigning a storage header memory address pointer to the second SID;
passing the storage header memory address pointer and the data memory address pointer from the second SID to the third SID;
assigning a first transport header memory address pointer to the third SID; and
affording a network interface device access to the third SID, wherein the network interface device utilizes the third SID to transmit at least a portion of the data via the computer network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network stack layer interfacing method for communication between software layers when receiving network storage data via a computer network, the method comprising the operations of:
-
generating a first SCSI information descriptor (SID), a second SID, and a third SID, wherein the third SID includes a first memory address pointer to a first packet buffer having data from a first received data packet;
passing the first memory address pointer from the third SID to the second SID;
modifying the first memory address pointer of the second SID to address a first offset memory address in the packet buffer, the first offset memory address being offset from the beginning address of the first packet buffer, wherein transport header data within the first packet buffer is skipped;
passing the first memory address pointer from the second SID to the first SID;
modifying the first memory address pointer of the first SID to address a second offset memory address in the packet buffer offset from the beginning address of the packet buffer, wherein the second offset memory address addresses a data chunk within the packet buffer; and
copying the data chunk from the first packet buffer to system memory. - View Dependent Claims (9, 10, 11, 12)
passing the second memory address pointer from the fifth SID to the fourth SID; and
modifying the second memory address pointer of the fourth SID to address a third offset memory address in the second packet buffer, the third offset memory address being offset from the beginning address of the second packet buffer, wherein transport header data within the second packet buffer is skipped.
-
-
11. A network stack layer interfacing method as recited in claim 10, further comprising the operation of passing the second memory address pointer from the fourth SID to the first SID.
-
12. A network stack layer interfacing method as recited in claim 11, further comprising the operation of copying the data chunk from the second packet buffer to system memory.
-
13. A network stack layer interface unit for communication between software layers during network storage data transfer, the network stack layer interface unit comprising:
-
a header portion defining characteristics of the network stack, the header portion including a common header portion and a layer specific header portion; and
a buffer descriptor defining a data buffer, the buffer descriptor including a memory address pointer having a memory address of the data buffer, the buffer descriptor further including a buffer length variable defining a size of the data buffer, wherein the memory address pointer is passed between network stack layers via the network stack interface unit, and wherein a first network stack layer creates the network stack interface unit and passes the network stack layer interface unit to another network stack layer. - View Dependent Claims (14, 15)
-
Specification