IP Library Granted Patent US 7,472,311
Granted Patent B1
US 7,472,311 · App. 11/251,360 · Granted Dec 30, 2008

Method and apparatus for testing an interface between a TCP offload engine and an operating system

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,472,311
App. No.
11/251,360
Granted
Dec 30, 2008
Kind
B1
Abstract

One embodiment of the present invention provides a system that can test an interface between a TCP (Transmission Control Protocol) Offload Engine (TOE) and an OS (Operating System) that has a TCP software stack. Note that the TOE is a specialized integrated circuit which allows TCP-related computations to be offloaded from the processor that executes the OS. During operation, the system receives a request from the OS to perform a TCP-related computation on the TOE, wherein the TCP-related computation is associated with a portion of the TCP software stack. The system then performs the TCP-related computation by executing the portion of the TCP software stack on a processor, which can either be the same as the one that is executing the OS, or it can be a different processor. Note that performing the TCP-related computation on a processor, instead of the TOE, allows the interface between the TOE and the OS to be tested without requiring an actual TOE chip.

Claims (34)

1. A method for testing an interface between a TCP (Transmission Control Protocol) Offload Engine (TOE) and an OS (Operating System) that has a TCP software stack, wherein the TOE is a specialized integrated circuit which allows TCP-related computations to be offloaded from a first processor that executes the OS, the method comprising:

receiving a request from the OS to perform a TCP-related computation on the TOE, wherein the TCP-related computation is associated with a portion of the TCP software stack; and

performing the TCP-related computation by executing the portion of the TCP software stack on a second processor;

wherein performing the TCP-related computation on the second processor, instead of the TOE, allows the interface between the TOE and the OS to be tested without requiring an actual TOE chip; and

wherein the first processor and the second processor are the same processor.

2. The method of claim 1 , wherein performing the TCP-related computation by executing the portion of the TCP software stack which is already present in the OS allows the interface to be tested without requiring emulation software that is specifically created to emulate the behavior of the TOE.

3. The method of claim 1 , wherein the TCP-related computation can involve:

generating a checksum;

segmenting a message into a set of protocol data units; or

assembling a set of protocol data units to form a message.

4. The method of claim 1 , wherein the method is used to quickly evaluate a new TOE feature by making appropriate modifications to the TCP software stack.

5. The method of claim 1 , wherein the method is used to perform regression tests for software that uses TOE functionality, wherein the regression tests are performed without using an actual TOE chip.

6. A computer-readable storage device storing instructions that when executed by a computer cause the computer to perform a method for testing an interface between a TCP (Transmission Control Protocol) Offload Engine (TOE) and an OS (Operating System) that has a TCP software stack, wherein the TOE is a specialized integrated circuit which allows TCP-related computations to be offloaded from a first processor that executes the OS, the method comprising:

receiving a request from the OS to perform a TCP-related computation on the TOE, wherein the TCP-related computation is associated with a portion of the TCP software stack; and

performing the TCP-related computation by executing the portion of the TCP software stack on a second processor;

wherein performing the TCP-related computation on the second processor, instead of the TOE, allows the interface between the TOE and the OS to be tested without requiring an actual TOE chip; and

wherein the first processor and the second processor are the same processor.

7. The computer-readable storage device of claim 6 , wherein performing the TCP-related computation by executing the portion of the TCP software stack which is already present in the OS allows the interface to be tested without requiring emulation software that is specifically created to emulate the behavior of the TOE.

8. The computer-readable storage device of claim 6 , wherein the TCP-related computation can involve:

generating a checksum;

segmenting a message into a set of protocol data units; or

assembling a set of protocol data units to form a message.

9. The computer-readable storage device of claim 6 , wherein the method is used to quickly evaluate a new TOE feature by making appropriate modifications to the TCP software stack.

10. The computer-readable storage device of claim 6 , wherein the method is used to perform regression tests for software that uses TOE functionality, wherein the regression tests are performed without using an actual TOE chip.

11. An apparatus for testing an interface between a TCP (Transmission Control Protocol) Offload Engine (TOE) and an OS (Operating System) that has a TCP software stack, wherein the TOE is a specialized integrated circuit which allows TCP-related computations to be offloaded from a first processor that executes the OS, the apparatus comprising:

a receiving mechanism configured to receive a request from the OS to perform a TCP-related computation on the TOE, wherein the TCP-related computation is associated with a portion of the TCP software stack; and

a second processor configured to perform the TCP-related computation by executing the portion of the TCP software stack;

wherein performing the TCP-related computation on the second processor, instead of the TOE, allows the interface between the TOE and the OS to be tested without requiring an actual TOE chip; and

wherein the first processor and the second processor are the same processor.

12. The apparatus of claim 11 , wherein performing the TCP-related computation by executing the portion of the TCP software stack which is already present in the OS allows the interface to be tested without requiring emulation software that is specifically created to emulate the behavior of the TOE.

13. The apparatus of claim 11 , wherein the TCP-related computation can involve:

generating a checksum;

segmenting a message into a set of protocol data units; or

assembling a set of protocol data units to form a message.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2005
From: CHU, HSIAO-KENG J.; CHENG, ERIC T.; TRIPATHI, SUNAY
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017102/0856 →