IP Library Granted Patent US 7,606,166
Granted Patent B2
US 7,606,166 · App. 11/097,430 · Granted Oct 20, 2009

System and method for computing a blind checksum in a host ethernet adapter (HEA)

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,606,166
App. No.
11/097,430
Granted
Oct 20, 2009
Kind
B2
Abstract

A system and method for computing a blind checksum includes a host Ethernet adapter (HEA) with a system for receiving a packet. The system determines whether or not the packet is in Internet protocol version four (IPv4). If the packet is not in IPv4, the system computes the checksum of the packet. If the packet is in IPv4, the system determines whether the packet is in transmission control protocol (TCP) or user datagram protocol (UDP). If the packet is not in either of TCP or UDP the system attaches a pseudo-header to the packet and computes the checksum of the packet based on the pseudo-header and the IPv4 standard.

Claims (43)

1. A method for computing a blind checksum in a host Ethernet adapter (HEA) comprising:

receiving a packet in the HEA;

determining whether the packet is in Internet protocol version four (IPv4) the packet having an IP header;

computing by the HEA, if the packet is not in IPv4, the checksum of the packet;

determining, if the packet is in IPv4, whether the packet is in transmission control protocol (TCP) or user datagram protocol (UDP);

parsing the packet for a source address and a destination address;

building the pseudo-header with the source address and the destination address;

giving the pseudo-header a length of the product of the IP header length field in the IPv4 Header with the number four, subtracted from the “Total Length” field in the IP header;

attaching, if the packet is in IPv4 and not in either of TCP or UDP, the pseudo-header to the packet; and

computing by the HEA, if the packet is in IPv4 and not in either of TCP or UDP, the checksum of the packet based on the pseudo-header and the IPv4 standard.

2. The method of claim 1 , determining whether the packet is in IPv4 further comprising:

parsing the IP header in order to determine the protocol.

3. The method of claim 1 , the packet further having a cyclic redundancy check (CRC), computing by the HEA, if the packet is not in IPv4 further comprising:

computing the checksum of layer three to the beginning of the CRC.

4. The method of claim 1 , computing by the HEA, if the packet is not in IPv4 further comprising:

computing by the HEA, if the packet is not in IPv4, the checksum of the packet over a layer-2 payloads.

5. The method of claim 1 , determining, if the packet is in IPv4 further comprising:

determining, if the packet is in IPv4, whether a layer-3 payload of the packet is in transmission control protocol (TCP) or user datagram protocol (UDP).

6. A computer readable medium encoded with computer-executable programming instructions for computing a blind checksum in a host Ethernet adapter (HEA), the programming instructions comprising:

receiving a packet in the HEA;

determining whether the packet is in Internet protocol version four (IPv4) packet having an IP header;

computing by the HEA, if the packet is not in Ipv4, the checksum of the packet;

determining, if the packet is in IPv4, whether the packet is in transmission control protocol (TCP) or user datagram protocol (UDP);

parsing the packet for a source address and a destination address;

building the pseudo-header with the source address and the destination address;

giving the pseudo-header a length of the product of the IP header length field in the IPv4 Header with the number four, subtracted from the “Total Length” field in the IP header;

attaching, if the packet is in Ipv4 and not in either of TCP or UDP, the pseudo-header to the packet; and

computing by the HEA, if the packet is in Ipv4 and not in either of TCP or UDP, the checksum of the packet based on the pseudo-header and the IPv4standard.

7. The computer readable medium of claim 6 , determining whether the packet is in IPv4 further comprising:

parsing the packet in order to determine the protocol.

8. The computer readable medium of claim 6 , the packet further having a cyclic redundancy check (CRC), computing by the HEA, if the packet is not in IPv4 further comprising:

computing the checksum of the packet at layer three to the beginning of the CRC.

9. The computer readable medium of claim 6 , computing by the HEA, if the packet is not in IPv4 further comprising:

computing by the HEA, if the packet is not in IPv4, the checksum of the packet over a layer-2 payload.

10. The computer readable medium of claim 6 , determining, if the packet is in IPv4 further comprising:

determining, if the packet is in IPv4, whether a layer-3 payload of the packet is in transmission control protocol (TCP) or user datagram protocol (UDP).

11. A system for computing a blind checksum comprising:

a host; and

a host Ethernet adapter (HEA) for receiving a packet, determining whether the packet is in Internet protocol version four (IPv4), the packet having an IP header, computing, if the packet is not in IPv4, the checksum of the packet, determining, if the packet is in Ipv4, whether the packet is in transmission control protocol (TCP) or user datagram protocol (UDP), parsing the packet for a source address and a destination address, for building the pseudo-header with the source address and the destination address, giving the pseudo-header a length of the product of the IP header length field in the Ipv4 Header with the number four, subtracted from the “Total Length” field in the IP header, attaching, if the packet is in IPv4 and not in either of TCP or UDP, the pseudo-header to the packet, and computing, if the packet is in IPv4 and not in either of TCP or UDP, the checksum of the packet based on the pseudo-header and the IPv4 standard.

12. The system of claim 11 , wherein the HEA further parses the packet in order to determine the protocol.

13. The system of claim 11 , the packet further having a cyclic redundancy check (CRC), wherein the HEA further computes the checksum of the packet at layer three to the beginning of the CRC.

14. The system of claim 11 , wherein the HEA further computes if the packet is not in IPv4, the checksum of the packet over a layer-2 payload.

15. The system of claim 11 , wherein the HEA further determines if the packet is in IPv4, whether a layer-3 payload of the packet is in transmission control protocol (TCP) or user datagram protocol (UDP).

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 29, 2015
From: BANK OF AMERICA, N.A.
To: FTI CONSULTING, INC.; FTI CONSULTING TECHNOLOGY LLC
Reel/Frame 036029/0233 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 10, 2012
From: FTI CONSULTING, INC.; FTI CONSULTING TECHNOLOGY LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 029434/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2005
From: BASSO, CLAUDE; CALVIGNAC, JEAN LOUIS; CHANG, CHIH-JEN; DAMON, PHILIPPE; FUHS, RONALD EDWARD; VAIDHYANATHAN, NATARAJAN; VERPLANKEN, FABRICE JEAN; VERRILLI, COLIN BEATON; WILLENBORG, SCOTT MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016376/0576 →