System and Method for TCP Offload
Abstract
A system for processing packets is disclosed and may including a network interface card (NIC). The NIC may include a TCP enabled Ethernet controller (TEEC). The TEEC may include an internal elastic buffer. The TEEC may process received incoming TCP packets once and may temporarily buffer at least a portion of the incoming TCP packets in the internal elastic buffer. The processing may occur without reassembly or retransmission. The internal elastic buffer may include a receive internal elastic buffer and a transmit internal elastic buffer. The receive internal elastic buffer may temporarily buffer at least a portion of the received incoming TCP packets. The transmit internal elastic buffer may temporarily buffer at least a portion of TCP packets to be transmitted. The TEEC may place at least a portion of the received incoming TCP packets data into at least a portion of a host memory.
Claims
exact text as granted — not AI-modified1 - 33 . (canceled)
34 . A system for processing packets during communication, the system comprising:
one or more circuits comprising a TCP enabled Ethernet controller (TEEC) and an internal elastic buffer within said TEEC, wherein said one or more circuits receives incoming TCP packets by said TEEC; and said one or more circuits temporarily buffers at least a portion of said received incoming TCP packets in an internal elastic buffer and processes said at least a portion of said buffered received incoming TCP packet once by said TEEC without reassembly and/or retransmission by said TEEC.
35 . The system according to claim 34 , wherein said internal elastic buffer comprises a receive internal elastic buffer and a transmit internal elastic buffer.
36 . The system according to claim 35 , wherein said one or more circuits enables temporary buffering of said at least a portion of said received incoming TCP packets in said receive internal elastic buffer.
37 . The system according to claim 35 , wherein said one or more circuits enables temporary buffering of at least a portion of TCP packets to be transmitted, in said transmit internal elastic buffer.
38 . The system according to claim 34 , wherein said one or more circuits places at least a portion of said processed at least a portion of said buffered incoming TCP packets in host memory.
39 . The system according to claim 34 , wherein said one or more circuits copies at least a portion of said processed at least a portion of said buffered incoming TCP packets to host memory via a single copy operation.
40 . The system according to claim 34 , wherein said one or more circuits places at least a portion of said processed at least a portion of said buffered incoming TCP packets in a highest hierarchy of buffer available in a host memory.
41 . The system according to claim 34 , wherein said one or more circuits enables DMA transfer of at least a portion of said processed at least a portion of said buffered incoming TCP packets to a host memory.
42 . The system according to claim 34 , wherein packets temporarily buffered in said internal elastic buffer are not buffered to enable reassembly by said TEEC.
43 . The system according to claim 34 , wherein packets temporarily buffered in said internal elastic buffer are not buffered to enable retransmission by said TEEC.
44 . The system according to claim 34 , wherein said one or more circuits places at least a portion of said processed at least a portion of said buffered incoming TCP packets at least a portion of said processed incoming TCP packet in host buffers in a host memory for processing.
45 . The system according to claim 34 , wherein said one or more circuits are integrated within a single chip.
46 . The system according to claim 34 , wherein said one or more circuits are integrated within network interface card (NIC).
47 . A system for processing packets, the system comprising:
a network interface card (NIC), said NIC comprising; a TCP enabled Ethernet controller (TEEC), said TEEC comprising,
an internal elastic buffer, wherein said TEEC processes received incoming TCP packets once and temporarily buffers at least a portion of said incoming TCP packets in said internal elastic buffer, wherein said processing occurs without reassembly or retransmission.
48 . The system according to claim 47 , wherein said internal elastic buffer comprises a receive internal elastic buffer and a transmit internal elastic buffer.
49 . The system according to claim 48 , wherein said receive internal elastic buffer temporarily buffers at least a portion of said received incoming TCP packets.
50 . The system according to claim 48 , wherein said transmit internal elastic buffer temporarily buffers at least a portion of TCP packets to be transmitted.
51 . The system according to claim 47 , wherein said TEEC places at least a portion of said received incoming TCP packets data into at least a portion of a host memory.
52 . The system according to claim 47 , wherein said NIC utilizes only said internal elastic buffer to temporarily buffer said at least a portion of said received incoming TCP packets.
53 . The system according to claim 47 , wherein out-of-order TCP packets within said received incoming TCP packets are not stored, re-ordered and/or re-assembled by said TEEC.
54 . The system according to claim 47 , wherein said NIC does not require a dedicated memory for re-ordering out-of-sequence TCP packets within said received incoming TCP packets.
55 . The system according to claim 47 , wherein said NIC does not require a dedicated memory for assembling and/or re-ordering IP packets fragmented at an IP layer.
56 . The system according to claim 47 , wherein said TEEC is enabled to place at least data from said received incoming TCP packets into a highest hierarchy of buffer available in a host memory.
57 . The system according to claim 47 , wherein said TEEC is enabled to copy at least data from said received incoming TCP packets to a buffer in host memory via a single copy operation.
58 . The system according to claim 47 , wherein said TEEC is enabled to DMA transfer at least a portion of said processed incoming TCP packets to a host memory.
59 . The system according to claim 47 , wherein said NIC does not require a TCP offload engine (TOE) dedicated memory for packet retransmission.
60 . The system according to claim 47 , wherein said NIC does not require a TCP offload engine (TOE) dedicated memory for packet reassembly.
61 . The system according to claim 47 , wherein said TEEC places at least a portion of said processed received incoming TCP packets into host buffers in a host memory for reassembly.
62 . The system according to claim 47 , wherein said TEEC comprises a single chip, having integrated therein, said internal elastic buffer.
63 . The system according to claim 47 , wherein said NIC comprises a single chip, having integrated therein, said TEEC and said internal elastic buffer.
64 . The system according to claim 47 , wherein said TEEC comprises a single chip, having integrated therein, said internal elastic buffer, and no internal buffers and interfaces to external buffers that are utilized for packet retransmission, packet reassembly and/or packet re-ordering.
65 . A method for processing packets, the method comprising:
in a TCP enabled Ethernet controller (TEEC), temporarily buffering at least a portion of received incoming TCP packets in an elastic buffer internal to said TEEC, wherein said TEEC is integrated within a network interface card I (NIC); and processing said temporarily buffered received incoming TCP packets once without reassembly and/or retransmission.
66 . The method according to claim 65 , wherein said internal elastic buffer comprises a receive internal elastic buffer and a transmit internal elastic buffer.
67 . The method according to claim 66 , wherein said receive internal elastic buffer temporarily buffers at least a portion of said received incoming TCP packets.
68 . The method according to claim 66 , wherein said transmit internal elastic buffer temporarily buffers at least a portion of TCP packets to be transmitted.
69 . The method according to claim 65 , comprising placing by said TEEC, at least a portion of said received incoming TCP packets data into at least a portion of a host memory.
70 . The method according to claim 65 , wherein said NIC utilizes only said internal elastic buffer to temporarily buffer said at least a portion of said received incoming TCP packets.
71 . The method according to claim 65 , wherein out-of-order TCP packets within said received incoming TCP packets are not stored, re-ordered and/or re-assembled by said TEEC.
72 . The method according to claim 65 , wherein said NIC does not require a dedicated memory for re-ordering out-of-sequence TCP packets within said received incoming TCP packets.
73 . The method according to claim 65 , wherein said NIC does not require a dedicated memory for assembling and/or re-ordering IP packets fragmented at an IP layer.
74 . The method according to claim 65 , comprising placing by said TEEC, at least data from said received incoming TCP packets into a highest hierarchy of buffer available in a host memory.
75 . The method according to claim 65 , comprising copying by said TEEC, at least data from said received incoming TCP packets to a buffer in host memory via a single copy operation.
76 . The method according to claim 65 , comprising DMA transferring by said TEEC, at least a portion of said processed incoming TCP packets to a host memory.
77 . The method according to claim 65 , wherein said NIC does not require a TCP offload engine (TOE) dedicated memory for packet retransmission.
78 . The method according to claim 65 , wherein said NIC does not require a TCP offload engine (TOE) dedicated memory for packet reassembly.
79 . The method according to claim 65 , comprising placing by said TEEC, at least a portion of said processed received incoming TCP packets into host buffers in a host memory for reassembly.
80 . The method according to claim 65 , wherein said TEEC comprises a single chip, having integrated therein, said internal elastic buffer.
81 . The method according to claim 65 , wherein said NIC comprises a single chip, having integrated therein, said TEEC and said internal elastic buffer.
82 . The method according to claim 65 , wherein said TEEC comprises a single chip, having integrated therein, said internal elastic buffer, and no internal buffers and interfaces to external buffers that are utilized for packet retransmission, packet reassembly and/or packet re-ordering.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.