Fast-path apparatus for receiving data corresponding to a TCP connection
First Claim
1. A system comprising:
- a host containing a central processing unit (CPU) that establishes a Transmission Control Protocol (TCP) Control Block (TCB); and
a device coupled to the host as an interface, the device including a first processor that 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, such that the first processor updates the TCB in accordance with processing the first TCP header.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU. A preferred embodiment includes a trio of pipelined processors with separate processors devoted to transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
-
Citations
25 Claims
-
1. A system comprising:
-
a host containing a central processing unit (CPU) that establishes a Transmission Control Protocol (TCP) Control Block (TCB); and a device coupled to the host as an interface, the device including a first processor that 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, such that the first processor updates the TCB in accordance with processing the first TCP header. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a host containing a central processing unit (CPU) that establishes a Transmission Control Protocol (TCP) Control Block (TCB); and a device coupled to the host as an interface, the device including a first mechanism that protocol processes a receive packet, the receive packet containing a first TCP header, the device including a second mechanism that protocol processes a transmit packet, the transmit packet containing a second TCP header, wherein one of the mechanisms updates the TCB to reflect the processing of one of the packets. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a host containing a central processing unit (CPU) that establishes a Transmission Control Protocol (TCP) connection; and a network interface device coupled to the host, the network interface device including a first processor that processes a first packet to update the TCP connection, the network interface device including a second processor that processes a second packet to update the TCP connection, the network interface device including header processing hardware to parse the first packet and determine that the first packet includes a TCP header. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification