Patent ID: 7647416

Claim:
A hardware-based TCP/IP traffic offload engine (TOE) device between a host and a physical layer for processing traffic offload of network packets, the device comprising: a TOE interface, which is installed on a bus slot of the host for transmitting/receiving network packet data and including: an flow scoreboard memory, which records online connection information of transmitting/receiving network packets; a timer, which is connected to the flow scoreboard memory for processing the transmission/reception of network packets according to a protocol state; a TCP/IP output module, which generates a transmission network packet according to a transmission request from the host, updates the flow scoreboard memory at the same time, and sends the transmission network packet to the physical layer; and a TCP/IP input module, which analyzes and classifies a network packet received from the physical layer and updates the flow scoreboard memory at the same time, wherein the timer includes a processing procedure that periodically drives the TCP/IP output module to generate the transmission network packet, wherein the periodically processing procedure is accordance to a request of the TCP/IP input module; and a TOE driver, which executes under the operating system (OS) kernel of the host for controlling the TOE interface to process the transmission/reception of the network packet and including: a pointer buffer block, which records the states of a plurality of memory block pointers used by the TOE interface; and a TOE path processing module, which processes the transmission/reception of network packets according to the received transmission request by the TCP/IP input module, to determine if the transmission request is a TOE interface processable request that is without protocol stacking, converts the transmission request and generates a corresponding TOE interface information when receiving a transmission request from a utility of the host, reads online connection information according to a protocol state, combines the TOE information to generate the transmission network packet, and updates the pointer buffer block when receiving data transmitted from the TOE interface.