Claims
- 1. A system comprising:
a network; a host coupled to the network, the host containing a central processing unit (CPU); and a device coupled as an interface between the host and the network, the device including a first processor that Transmission Control Protocol (TCP) processes a first TCP header that is contained in a first message packet, the device including a second processor that TCP processes a second TCP header that is contained in a second message packet.
- 2. The system of claim 1, wherein the first TCP header is TCP processed by the first processor at the same time that the second TCP header is TCP processed by the second processor.
- 3. The system of claim 1, wherein the first processor is pipelined with the second processor.
- 4. The system of claim 1, wherein the first processor is a receive processor and the second processor is a transmit processor.
- 5. The system of claim 1, wherein the device includes a receive sequencer coupled to at least one of said processors.
- 6. The system of claim 1, wherein the device includes a transmit sequencer coupled to at least one of said processors.
- 7. The system of claim 1, wherein the CPU establishes a Transmission Control Block (TCB) and the first packet corresponds to the TCB.
- 8. The system of claim 1, wherein the first packet corresponds to a first Transmission Control Block (TCB) and the second packet corresponds to a second TCB.
- 9. The system of claim 1, wherein the device is coupled to the host with a Peripheral Component Interface (PCI) bus.
- 10. A system comprising:
a network; a host coupled to the network, the host containing a central processing unit (CPU); and a device coupled as an interface between the host and the network, the device including a first mechanism that protocol processes a first packet received from the network, the first packet containing a first Transport Control Protocol (TCP) header, the device including a second mechanism that protocol processes a second packet transmitted to the network, the second packet containing a second TCP header, the second TCP header being TCP processed by the second mechanism at the same time as the first TCP header is TCP processed by the first mechanism.
- 11. The system of claim 10, wherein the first mechanism includes a first processor and the second mechanism includes a second processor.
- 12. The system of claim 11, wherein the first processor is pipelined with the second processor.
- 13. The system of claim 10, wherein the first mechanism includes a receive processor and the second mechanism a transmit processor, the receive processor TCP processing the first header and the transmit processor TCP processing the second header.
- 14. The system of claim 10, wherein the device includes a receive sequencer that classifies the first header as corresponding to TCP.
- 15. The system of claim 10, wherein the device includes a transmit sequencer that prepends the second TCP header to the second packet.
- 16. The system of claim 10, wherein the device is coupled to the host with a Peripheral Component Interface (PCI) bus.
- 17. The system of claim 10, wherein the CPU establishes a Transmission Control Block (TCB) and the first packet corresponds to the TCB.
- 18. The system of claim 10, wherein the first packet corresponds to a first Transmission Control Block (TCB) and the second packet corresponds to a second TCB.
- 19. A system comprising:
a network; a host coupled to the network, the host containing a central processing unit (CPU); and a network interface device coupled between the host and the network, the network interface device including a first processor that processes a first Transmission Control Protocol (TCP) header that is included in a first packet, the network interface device including a second processor that processes a second TCP header that is included in a second packet, the network interface device including header processing hardware to parse the first packet and determine that the first packet includes the first TCP header.
- 20. The system of claim 19, wherein the first processor is a receive processor and the second processor is a transmit processor.
- 21. The system of claim 19, wherein the header processing hardware is a receive sequencer.
- 22. The system of claim 19, further comprising a transmit sequencer coupled to at least one of said processors.
- 23. The system of claim 19, wherein the device is coupled to the host with a Peripheral Component Interface (PCI) bus.
- 24. The system of claim 19, wherein the CPU establishes a Transmission Control Block (TCB) and the first packet corresponds to the TCB.
- 25. The system of claim 19, wherein the first packet corresponds to a first Transmission Control Block (TCB) and the second packet corresponds to a second TCB.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. § 120 of U.S. patent application Ser. No. 10/092,967, entitled “FAST-PATH APPARATUS FOR RECEIVING DATA CORRESPONDING TO A TCP CONNECTION,” filed Mar. 6, 2002, by Laurence B. Boucher et al., which in turn claims the benefit under 35 U.S.C. § 120 of U.S. patent application Ser. No. 10/023,240 (Attorney Docket No. ALA-006A), entitled “TRANSMIT FAST-PATH PROCESSING ON TCP/IP OFFLOAD NETWORK INTERFACE DEVICE,” filed Dec. 15, 2001, by Laurence B. Boucher et al., which in turn claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 09/464,283 (Attorney Docket No. ALA-006), entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED COMMUNICATION”, filed Dec. 15, 1999, by Laurence B. Boucher et al., which in turn claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 09/439,603 (Attorney Docket No. ALA-009), entitled “INTELLIGENT NETWORK INTERFACE SYSTEM AND METHOD FOR ACCELERATED PROTOCOL PROCESSING”, filed Nov. 12, 1999, by Laurence B. Boucher et al., which in turn claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 09/067,544 (Attorney Docket No. ALA-002), entitled “INTELLIGENT NETWORK INTERFACE SYSTEM AND METHOD FOR ACCELERATED PROTOCOL PROCESSING”, filed Apr. 27, 1998, which in turn claims the benefit under 35 U.S.C. § 119(e)(1) of the Provisional Application filed under 35 U.S.C. §111(b) entitled “INTELLIGENT NETWORK INTERFACE CARD AND SYSTEM FOR PROTOCOL PROCESSING,” Serial No. 60/061,809 (Attorney Docket No. ALA-001), filed on Oct. 14, 1997.
[0002] This application also claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 09/384,792 (Attorney Docket No. ALA-008), entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED COMMUNICATION,” filed Aug. 27, 1999, which in turn claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 09/141,713 (Attorney Docket No. ALA-003), entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED PROTOCOL PROCESSING”, filed Aug. 28, 1998, which both claim the benefit under 35 U.S.C. § 119(e)(1) of the Provisional Application filed under 35 U.S.C. § 111 (b) entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED COMMUNICATION,” Serial No. 60/098,296 (Attorney Docket No. ALA-004), filed Aug. 27, 1998.
[0003] This application also claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 09/416,925 (Attorney Docket No. ALA-005), entitled “QUEUE SYSTEM FOR MICROPROCESSORS,” filed Oct. 13, 1999, U.S. patent application Ser. No. 09/514,425 (Attorney Docket No. ALA-007), entitled “PROTOCOL PROCESSING STACK FOR USE WITH INTELLIGENT NETWORK INTERFACE CARD,” filed Feb. 28, 2000, U.S. patent application Ser. No. 09/675,484 (Attorney Docket No. ALA-010A), entitled “INTELLIGENT NETWORK STORAGE INTERFACE SYSTEM,” filed Sep. 29, 2000, U.S. patent application Ser. No. 09/675,700 (Attorney Docket No. ALA-010B), entitled “INTELLIGENT NETWORK STORAGE INTERFACE DEVICE,” filed Sep. 29, 2000, U.S. patent application Ser. No. 09/789,366 (Attorney Docket No. ALA-013), entitled “OBTAINING A DESTINATION ADDRESS SO THAT A NETWORK INTERFACE DEVICE CAN WRITE NETWORK DATA WITHOUT HEADERS DIRECTLY INTO HOST MEMORY,” filed Feb. 20, 2001, U.S. patent application Ser. No. 09/801,488 (Attorney Docket No. ALA-011), entitled “PORT AGGREGATION FOR NETWORK CONNECTIONS THAT ARE OFFLOADED TO NETWORK INTERFACE DEVICES,” filed Mar. 7, 2001, U.S. patent application Ser. No. 09/802,551 (Attorney Docket No. ALA-012), entitled “INTELLIGENT NETWORK STORAGE INTERFACE SYSTEM,” filed Mar. 9, 2001, U.S. patent application Ser. No. 09/802,426 (Attorney Docket No. ALA-014), entitled “REDUCING DELAYS ASSOCIATED WITH INSERTING A CHECKSUM INTO A NETWORK MESSAGE,” filed Mar. 9, 2001, U.S. patent application Ser. No. 09/802,550 (Attorney Docket No. ALA-015), entitled “INTELLIGENT INTERFACE CARD AND METHOD FOR ACCELERATED PROTOCOL PROCESSING,” filed Mar. 9, 2001, U.S. patent application Ser. No. 09/855,979 (Attorney Docket No. ALA-016), entitled “NETWORK INTERFACE DEVICE EMPLOYING DMA COMMAND QUEUE,” filed Mar. 14, 2001, U.S. patent application Ser. No. 09/970,124 (Attorney Docket No. ALA-020), entitled “NETWORK INTERFACE DEVICE THAT FAST-PATH PROCESSES SOLICITED SESSION LAYER READ COMMANDS,” filed Oct. 2, 2001.
[0004] The subject matter of all of the above-identified patent applications (including the subject matter in the Microfiche Appendix of U.S. application Ser. No. 09/464,283), and of the two above-identified provisional applications, is incorporated by reference herein.