Method and system for internet transport acceleration without protocol offload
Abstract
A packet classifier within a network adapter detects an application packet header belonging to a packet in a data stream associated with an application that uses a network protocol, such as TCP/IP, SNA or IPX. Offsets included within the application header are identified and a plurality of registers is loaded with the identified offsets. Each of a plurality direct data placement patterns are masked with contents of the loaded registers. Each direct data placement pattern is associated with an application packet header and includes a corresponding I/O context. Additionally, each direct data placement pattern includes a corresponding connection path for direct placement of a payload corresponding to the detected application header in a memory that is utilized by the application.
Claims
exact text as granted — not AI-modified1 . A method for direct data placement of data for an application that uses a network protocol, the method comprising:
detecting an application packet header using a packet classifier within a network adapter, the application packet header belonging to a packet in a data stream associated with the application; identifying offsets included within the application header; loading a plurality of registers with the identified offsets; initiating direct data placement of data associated with the application packet header when a result of masking a set of values corresponding to a direct data placement pattern with contents of the loaded registers matches one of at least one direct data placement pattern, each direct data placement pattern being associated with an application packet header.
2 . The method according to claim 1 , wherein a plurality of direct data placement patterns are available for masking with the contents of the loaded registers.
3 . The method according to claim 2 , further comprising masking each of the plurality direct data placement patterns with contents of the loaded registers.
4 . The method according to claim 1 , wherein each direct data placement pattern includes a corresponding I/O context.
5 . The method according to claim 1 , wherein each direct data placement pattern includes a corresponding connection path for direct placement of a payload corresponding to the detected application header in a memory that is utilized by the application.
6 . The method according to claim 1 , wherein initiating direct data placement includes:
extracting information corresponding to the detected application header; and mapping a payload of the detected applications header to a memory based on the direct data placement pattern.
7 . The method according to claim 6 , wherein the memory is a predetermined region of memory associated with the application.
8 . The method according to claim 1 , further comprising generating only one interrupt of a host processor for the network adapter for each message.
9 . The method according to claim 1 , wherein when initiating direct data placement of data associated with the application packet header is performed, a host processor for the network adapter does not perform copy and checksum processing.
10 . The method according to claim 1 , wherein the network protocol is TCP/IP.
11 . The method according to claim 1 , wherein the network protocol is SNA.
12 . The method according to claim 1 , wherein the network protocol is IPX.
13 . A network adapter, comprising:
an interface to a protocol-based network; and a packet classifier, the packet classifier detecting an application packet header, the application packet header belonging to a packet in a data stream associated with an application that uses the protocol, the packet classifier identifying offsets included within the application header, loading a plurality of registers with the identified offsets, and initiating direct data placement of data associated with the application packet header when a result of masking a set of values corresponding to a direct data placement pattern with contents of the loaded registers matches one of at least one direct data placement pattern, each direct data placement pattern being associated with an application packet header.
14 . The network adapter according to claim 13 , wherein a plurality of direct data placement patterns are available for masking with the contents of the loaded registers.
15 . The network adapter according to claim 14 , wherein the packet classifier masks each of the plurality direct data placement patterns with contents of the loaded registers.
16 . The network adapter according to claim 13 , wherein each direct data placement pattern includes a corresponding I/O context.
17 . The network adapter according to claim 13 , wherein each direct data placement pattern includes a corresponding connection path for direct placement of a payload corresponding to the detected application header in a memory that is utilized by the application.
18 . The network adapter according to claim 13 , wherein when the packet classifier initiates direct data placement, the packet classifier extracts information corresponding to the detected application header and DMA-s a payload of the detected applications header to a memory based on the direct data placement pattern.
19 . The network adapter according to claim 18 , wherein the memory is a predetermined region of memory associated with the application.
20 . The network adapter according to claim 13 , wherein the packet classifier generates only one interrupt of a host processor for the network adapter for each TCP message.
21 . The network adapter according to claim 13 , wherein when the packet classifier initiates direct data placement of data associated with the application packet header is performed, a host processor for the network adapter does not perform copy and checksum processing.
22 . The network according to claim 13 , wherein the network protocol is TCP/IP.
23 . The network according to claim 13 , wherein the network protocol is SNA.
24 . The network according to claim 13 , wherein the network protocol is IPX.Join the waitlist — get patent alerts
Track US2005097242A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.