Intelligent network interface system and method for accelerated protocol processing
First Claim
1. A system for communication between by a local host that is connectable by a network to a remote host, the system comprising:
- a communication processing device (CPD) that is integrated into the local host to connect the network and the local host, said CPD including hardware configured to analyze Internet Protocol (IP) and Transmission Control Protocol (TCP) headers of network packets, anda central processing unit (CPU) running protocol processing instructions in the local host to create a TCP connection between the local host and the remote host, said CPU providing to said CPD a media-access control (MAC) address, an IP address and a TCP port that correspond to said connection, wherein said CPD and said CPU are configured such that a message transferred between the network and the local host is generally processed by said CPD instead of said CPU when said CPD controls said connection and said message corresponds to said connection.
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 CPD provides a fast-path that avoids protocol processing for most large multipacket messages, greatly accelerating data communication. The CPD also assists the host CPU for those message packets that are chosen for processing by host software layers. A context for a message is defined that allows DMA controllers of the CPD to move data, free of headers, directly to or from a destination or source in the host. The context can be stored as a communication control block (CCB) that is controlled by either the CPD or by the host CPU. The CPD contains specialized hardware circuits that process media access control, network and transport layer headers of a packet received from the network, saving the host CPU from that processing for fast-path messages.
-
Citations
40 Claims
-
1. A system for communication between by a local host that is connectable by a network to a remote host, the system comprising:
-
a communication processing device (CPD) that is integrated into the local host to connect the network and the local host, said CPD including hardware configured to analyze Internet Protocol (IP) and Transmission Control Protocol (TCP) headers of network packets, and a central processing unit (CPU) running protocol processing instructions in the local host to create a TCP connection between the local host and the remote host, said CPU providing to said CPD a media-access control (MAC) address, an IP address and a TCP port that correspond to said connection, wherein said CPD and said CPU are configured such that a message transferred between the network and the local host is generally processed by said CPD instead of said CPU when said CPD controls said connection and said message corresponds to said connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for communication by a local host that is connectable by a network to a remote host, the system comprising:
-
a communication processing device (CPD) that is integrated into the local host to connect the network and the local host, said CPD including hardware configured to analyze Internet Protocol (IP) and Transmission Control Protocol (TCP) headers of network packets, and a central processing unit (CPU) running protocol processing instructions in the local host to create a TCP connection between the local host and the remote host, said CPU providing to said CPD a media-access control (MAC) address, an IP address and a TCP port that correspond to said connection, wherein said CPD and said CPU are configured such that a packet transferred between the network and the local host is processed by said CPD and not by said CPU when said CPD controls said connection and said packet corresponds to said connection. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A system for communication by a local host that is connectable by a network to a remote host, the system comprising:
-
a central processing unit (CPU) disposed in the local host and running protocol processing instructions to create a Transmission Control Protocol (TCP) connection between the local host and the remote host, said CPU processing a first network packet corresponding to said connection; and a communication processing device (CPD) integrated into the local host and connected to the network, said CPU providing to said CPD a media-access control (MAC) address, an Internet Protocol (IP) address and a Transmission Control Protocol (TCP) port that correspond to said connection, said CPD receiving control of said connection from said CPU, said CPD classifying a second network packet as corresponding to said connection and processing said second network packet without any protocol processing of said second network packet by said CPU. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification