IP Library Patent Application 11434972
Patent Application
App. No. 11/434,972

Method and system for a one bit TCP offload

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 None
App. No.
11/434,972
Abstract

Certain aspects of a method and system for a one bit TCP offload may comprise initiating offload processing of TCP data based on assertion of at least one bit without receiving TCP connection state information from a host. The asserted at least one bit of data may comprise at least one of: a synchronous (SYN) control bit and an acknowledgement (ACK) bit a received packet of data. A TCP passive connection lookup table (PCLT) may be checked utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether the received packet of data comprising said asserted SYN control bit and said asserted ACK bit matches an entry in the PCLT.

Claims (30)

1 . A method for processing data via a transmission control protocol (TCP) offload engine, the method comprising initiating offload processing of TCP data based on assertion of at least one bit without receiving TCP connection state information from a host.

2 . The method according to claim 1 , further comprising determining whether said asserted said at least one bit is at least one of: a synchronous (SYN) control bit and an acknowledgement (ACK) bit in a received packet of data.

3 . The method according to claim 2 , further comprising checking a TCP active connection lookup table (ACLT) utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether said received packet of data comprising said asserted SYN control bit matches an entry in said ACLT.

4 . The method according to claim 3 , further comprising reactivating a timer if said received packet of data with said asserted SYN control bit matches an entry in said ACLT.

5 . The method according to claim 3 , further comprising if said received packet of data with said asserted SYN control bit does not match an entry in said ACLT, creating a new entry in said ACLT by recording a initial sequence number (ISN) of said received packet of data.

6 . The method according to claim 2 , further comprising checking a TCP passive connection lookup table (PCLT) utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether said received packet of data with said asserted SYN control bit and said asserted ACK bit matches an entry in said PCLT.

7 . The method according to claim 6 , further comprising if said received packet of data with said asserted SYN control bit and said asserted ACK bit matches said entry in said PCLT, comparing an initial sequence number (ISN) of said received packet of data with said matched entry in said PCLT.

8 . The method according to claim 7 , further comprising updating a timer if said ISN of said received packet of data matches said matched entry in said PCLT.

9 . The method according to claim 7 , further comprising if said ISN of said received packet of data does not match said matched entry in said PCLT, creating a new entry in said PCLT by recording said ISN of said received packet of data.

10 . The method according to claim 6 , further comprising if said received packet of data with said asserted SYN control bit and said asserted ACK bit does not match said entry in said PCLT, creating a new entry by recording at least one of: said ISN and an initial acknowledgement number (IAN) of said received packet of data in said PCLT.

11 . The method according to claim 2 , further comprising checking at least one of: a TCP active connection lookup table (ACLT) and a TCP passive connection lookup table (PCLT) utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether said received packet of data comprising said asserted ACK bit matches an entry in at least one of: said ACLT and said PCLT.

12 . The method according to claim 11 , further comprising if said received packet of data with said asserted ACK bit matches said entry in said ACLT, updating at least one of: a TCP sequence and a TCP window size of said received packet of data.

13 . The method according to claim 11 , further comprising if said received packet of data comprising said asserted ACK bit matches said entry in said PCLT, deleting said entry in said PCLT if a TCP sequence number of said received packet of data is not incremented.

14 . The method according to claim 11 , further comprising if said received packet of data comprising said asserted ACK bit matches said entry in said PCLT, offload processing of said TCP data to said TCP offload engine in response to said receiving said at least one bit of data from said host, if a TCP sequence number of said received packet of data is incremented.

15 . The method according to claim 1 , further comprising terminating said offload processing of said TCP data to said TCP offload engine, if at least one of: a reset (RST) control bit and a finish (FIN) control bit is asserted in a received packet of data.

16 . A system for processing data via a transmission control protocol (TCP) offload engine, the system comprising at least one processor that enables initiation of offload processing of TCP data based on assertion of at least one bit without receiving TCP connection state information from a host.

17 . The system according to claim 16 , wherein said at least one processor enables determining whether said asserted said at least one bit is at least one of: a synchronous (SYN) control bit and an acknowledgement (ACK) bit in a received packet of data.

18 . The system according to claim 17 , wherein said at least one processor enables checking a TCP active connection lookup table (ACLT) utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether said received packet of data comprising said asserted SYN control bit matches an entry in said ACLT.

19 . The system according to claim 18 , wherein said at least one processor enables reactivation of a timer if said received packet of data with said asserted SYN control bit matches an entry in said ACLT.

20 . The system according to claim 18 , wherein said at least one processor enables creation of a new entry in said ACLT by recording a initial sequence number (ISN) of said received packet of data, if said received packet of data comprising said asserted SYN control bit does not match an entry in said ACLT.

21 . The system according to claim 17 , wherein said at least one processor enables checking a TCP passive connection lookup table (PCLT) utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether said received packet of data with said asserted SYN control bit and said asserted ACK bit matches an entry in said PCLT.

22 . The system according to claim 21 , wherein said at least one processor enables comparing an initial sequence number (ISN) of said received packet of data with said matched entry in said PCLT, if said received packet of data with said asserted SYN control bit and said asserted ACK bit matches said entry in said PCLT.

23 . The system according to claim 22 , wherein said at least one processor enables updating a timer if said ISN of said received packet of data matches said matched entry in said PCLT.

24 . The system according to claim 22 , wherein said at least one processor enables creating a new entry in said PCLT by recording said ISN of said received packet of data, if said ISN of said received packet of data does not match said matched entry in said PCLT.

25 . The system according to claim 21 , wherein said at least one processor enables creating a new entry in said PCLT by recording at least one of: said ISN and an initial acknowledgement number (IAN) of said received packet of data, if said received packet of data comprising said asserted SYN control bit and said asserted ACK bit does not match said entry in said PCLT.

26 . The system according to claim 17 , wherein said at least one processor enables checking at least one of: a TCP active connection lookup table (ACLT) and a TCP passive connection lookup table (PCLT) utilizing at least one of: a source IP address, a destination IP address, a source TCP port, and a destination TCP port to determine whether said received packet of data comprising said asserted ACK bit matches an entry in at least one of: said ACLT and said PCLT.

27 . The system according to claim 26 , wherein said at least one processor enables updating at least one of: a TCP sequence and a TCP window size of said received packet of data, if said received packet of data comprising said asserted ACK bit matches said entry in said ACLT.

28 . The system according to claim 26 , wherein said at least one processor enables deletion of said entry in said PCLT, if a TCP sequence number of said received packet of data is not incremented and if said received packet of data comprising said asserted ACK bit matches said entry in said PCLT.

29 . The system according to claim 26 , wherein said at least one processor enables offload processing of said TCP data to said TCP offload engine in response to said receiving said at least one bit of data from said host, if a TCP sequence number of said received packet of data is incremented and if said received packet of data comprising said asserted ACK bit matches said entry in said PCLT.

30 . The system according to claim 16 , wherein said at least one processor enables termination of said offload processing of said TCP data to said TCP offload engine, if at least one of: a reset (RST) control bit and a finish (FIN) control bit is asserted in a received packet of data.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2006
From: FAN, KAN FRANKIE
To: BROADCOM CORPORATION
Reel/Frame 018497/0914 →