IP Library Granted Patent US 7,965,714
Granted Patent B2
US 7,965,714 · App. 12/040,165 · Granted Jun 21, 2011

Method and system for offloading network processing

Assignee: Oracle America, Inc.
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,965,714
App. No.
12/040,165
Granted
Jun 21, 2011
Kind
B2
Abstract

The invention relates to a method for processing a packet. The method includes receiving the packet by a physical network interface, determining a target virtual network interface card (VNIC) using the destination address and a virtual switching table (VST), transferring the packet to a receive ring (RR) associated with the target VNIC, wherein the RR is located on the NEM, determining, by the target VNIC, that the packet is in the RR, determining, by the target VNIC, that the packet is to be processed using an offload engine, transferring the packet to offload memory located on an offload computer, wherein the offload computer is operatively connected to the NEM via the chassis interconnect and wherein the offload engine is executing on the offload computer, processing the packet by the offload engine to obtain a processed packet, and transferring the processed packet to a target computer memory using the chassis interconnect.

Claims (38)

1. A method for processing a packet, comprising:

receiving the packet by a physical network interface, wherein the packet comprises a destination address;

determining a target virtual network interface card (VNIC) using the destination address and a virtual switching table (VST), wherein the VST is located on a network express manager (NEM) and the target VNIC is located on a target computer operatively connected to the NEM via a chassis interconnect;

transferring the packet to a receive ring (RR) associated with the target VNIC, wherein the RR is located on the NEM;

determining, by the target VNIC, that the packet is in the RR;

determining, by the target VNIC, that the packet is to be processed using an offload engine;

transferring the packet to offload memory located on an offload computer, wherein the offload computer is operatively connected to the NEM via the chassis interconnect and wherein the offload engine is executing on the offload computer;

processing the packet by the offload engine to obtain a processed packet; and

transferring the processed packet to a target computer memory using the chassis interconnect,

wherein the chassis interconnect comprises a Peripheral Component Interface Express (PCI-E) backplane, and wherein the VST comprises a mapping of the target VNIC to a PCI-E endpoint on the PCI-E backplane.

2. The method of claim 1 , wherein processing the packet comprises at least one selected from a group consisting of decrypting at least a portion of the packet and authenticating the packet.

3. The method of claim 1 , wherein processing the packet comprises processing the packet in accordance a Transmission Control Protocol (TCP).

4. The method of claim 1 , wherein determining that the packet is in the RR comprises receiving an interrupt by the target computer from the NEM.

5. The method of claim 1 , wherein determining that the packet is in the RR comprises polling the RR by the target computer to determine whether packets are present in the RR.

6. The method of claim 1 , wherein the target computer and the offload computer are blades.

7. A system comprising:

a computer comprising memory, a virtual network interface (VNIC), a network stack associated with the VNIC, and a packet destination associated with the network stack;

an offload computer comprising an offload engine and offload memory;

a chassis interconnect configured to communicatively couple the computer and the offload computer, wherein the chassis interconnect comprises a Peripheral Component Interface Express (PCI-E) backplane;

a network express manager (NEM) communicatively coupled to the chassis interconnect and comprising a physical network interface, a virtual switching table (VST), and a receive ring (RR) associated with the VNIC, wherein the VST comprises a mapping of the VNIC to a PCI-E endpoint on the PCI-E backplane;

wherein the NEM is configured to:

receive a packet, using the physical network interface, wherein the packet comprises a destination address,

transfer the packet to the RR using the VST and the destination address;

wherein the computer is configured to:

determine that the packet is in the RR,

determine that the packet is to be processed using the offload engine, and

initiate transfer of the packet to the offload memory,

wherein the NEM is further configured to:

transfer the packet from the RR to the offload memory;

wherein the offload engine is configured to:

process the packet to obtain a processed packet, and

initiate transfer of the processed packet to the computer; and

wherein the computer is further configured to:

receive the processed packet from the offload engine.

8. The system of claim 7 , wherein processing the packet comprises at least one selected from a group consisting of decrypting at least a portion of the packet and authenticating the packet.

9. The system of claim 7 , wherein processing the packet comprises processing the packet in accordance a Transmission Control Protocol (TCP).

10. The system of claim 7 , wherein determining that the packet is in the RR comprises performing at least one selected from a group consisting of polling the RR by the computer to determine whether packets are present in the RR and receiving an interrupt by the target computer from the NEM.

11. The system of claim 7 , wherein the target computer and the offload computer are blades.

Assignments (2)
MERGER Recorded Sep 15, 2010
From: SUN MICROSYSTEMS, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 024993/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2008
From: TRIPATHI, SUNAY; DROUX, NICOLAS G.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 020591/0373 →
Continuity (1)
Related Publication 20090219936A1 · Sep 3, 2009