Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
First Claim
1. A network offload acceleration unit, comprising:
- a. a first checksum engine to calculate a first checksum over a first block of data, said first block of data part of a first outbound packet;
b. a second checksum engine to calculate a second checksum over a second block of data, said second block of data part of a second outbound packet;
c. a third checksum engine to calculate a third checksum over a third block of data, said third block of data part of an inbound packet wherein said third checksum engine further comprises a queue to receive said third block of data and checksum processing logic circuitry to perform said calculation of said third checksum; and
,d. a bus coupled to said first outbound checksum engine, said second outbound checksum engine and said inbound checksum engine.
3 Assignments
0 Petitions
Accused Products
Abstract
A method is described that involves performing a checksum calculation on a section of data within an inbound packet before the section of data is first stored into a system memory. Another method is described that involves moving a section of data within an outbound packet from a system memory to an offload memory. Then, removing the section of data from the offload memory; and performing a checksum calculation on the section of data. An apparatus is described that includes a central processing unit that is communicatively coupled with a network processing offload unit, wherein the network processing offload unit calculates a checksum upon a section of data located within an inbound packet, and calculates a checksum upon a section of data within an outbound packet.
111 Citations
19 Claims
-
1. A network offload acceleration unit, comprising:
-
a. a first checksum engine to calculate a first checksum over a first block of data, said first block of data part of a first outbound packet; b. a second checksum engine to calculate a second checksum over a second block of data, said second block of data part of a second outbound packet; c. a third checksum engine to calculate a third checksum over a third block of data, said third block of data part of an inbound packet wherein said third checksum engine further comprises a queue to receive said third block of data and checksum processing logic circuitry to perform said calculation of said third checksum; and
,d. a bus coupled to said first outbound checksum engine, said second outbound checksum engine and said inbound checksum engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
a. a first checksum engine comprising first logic circuitry to calculate a first checksum over a first block of data, said first block of data part of a first outbound packet; b. a second checksum engine comprising second logic circuitry to calculate a second checksum over a second block of data, said second block of data part of a second outbound packet wherein said first checksum engine further comprises a queue to store said first block of data and said second checksum engine comprises a queue that can only store a piece of said second block of data as opposed to the entirety of said second block of data, said first outbound packet comprising a TCP packet, said second outbound packet comprising a UDP packet; c. a third checksum engine comprising third logic circuitry to calculate a third checksum over a third block of data, said third block of data part of an inbound packet; and
,d. a bus coupled to said first outbound checksum engine, said second outbound checksum engine and said inbound checksum engine. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification