IP Library Granted Patent US 7,995,596
Granted Patent B2
US 7,995,596 · App. 12/120,082 · Granted Aug 9, 2011

System and method for offloading packet protocol encapsulation from software

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,995,596
App. No.
12/120,082
Granted
Aug 9, 2011
Kind
B2
Abstract

A method is provided for offloading packet protocol encapsulation from software. In operation, pointer information is received. Furthermore, packet protocol encapsulation is offloaded from software by assembling packets in hardware, using the pointer information.

Claims (40)

1. A method of transmitting a network packet, comprising:

creating a packet using pointer information, the pointer information including a packet descriptor associated with packet data stored in a packet buffer memory allocated by a central processing unit;

placing the pointer information on a fast messaging network in the form of the packet descriptor;

placing the packet descriptor in a first FIFO;

routing the packet descriptor to a direct memory access (DMA) engine using pointers associated with the packet descriptor, if the packet descriptor is a P2P descriptor;

routing the packet through a multiplexer into a second FIFO if said packet descriptor is not a P2P descriptor;

sending the packet from the second FIFO to a third FIFO;

transmitting the packet data via a network interface of an egress unit from said third FIFO; and

releasing the packet buffer memory after the transmission of the packet, wherein the packet buffer memory is released by the egress unit.

2. The method of claim 1 , wherein said packet descriptor includes a Free Back ID (FBID) field, and said egress unit releases the packet buffer memory upon successful transmission of the network packet by setting said FBID field in the packet descriptor.

3. The method of claim 1 , wherein the pointer information includes an identifier of a processor to which the pointer information is to be returned, after at least one of the packets is assembled.

4. The method of claim 3 , wherein the processor includes a first processor that is different from a second processor from which the pointer information is received.

5. The method of claim 1 , wherein the pointer information includes an instruction for returning the pointer information to an available pointer buffer, after at least one of the packets is assembled.

6. The method of claim 1 , wherein the pointer information includes a list of pointers that is included in a data structure including additional information.

7. The method of claim 6 , wherein the pointers include length information and address information.

8. The method of claim 7 , wherein the address information is unaligned.

9. The method of claim 1 , wherein the pointer information include a single pointer that points to a plurality of pointers.

10. The method of claim 1 , wherein the pointer information is received from a fast messaging network.

11. The method of claim 1 , and further comprising using the pointer information to look up additional pointer information from memory.

12. The method of claim 1 , and further comprising using the pointer information to look up packet protocol encapsulation information from memory.

13. The method of claim 12 , wherein the packet protocol encapsulation information from memory includes at least one of virtual local area network (VLAN) information, Internet protocol (IP) information, security information, and multi-protocol label switching (MPLS) information.

14. The method of claim 1 , wherein the pointer information is stored in a buffer.

15. The method of claim 14 , wherein at least one pointer is utilized in conjunction with the buffer to handle re-transmission of the assembled packets.

16. The method of claim 1 , wherein the egress unit includes media access control (MAC) hardware.

17. The method of claim 1 , wherein a copy operation involving an assembled packet by software is avoided.

18. The method of claim 1 , wherein the pointer information includes a Free Back ID (FBID).

19. The method of claim 18 , wherein the FBID allows a consumed buffer to be automatically recycled to an original network interface by the egress unit.

20. The method of claim 1 , wherein said egress unit is configured for transmitting a packet using at least one of a TCP protocol, IP protocol or ethernet protocol.

21. A system, comprising:

one or more central processing units (CPUs), said CPUs configured to create a packet using pointer information including a packet descriptor associated with packet data stored in a packet buffer allocated by said one or more CPUs;

an egress unit comprising a network interface, said egress unit operably coupled to said CPUs, said egress unit configured to transmit the packet created by said one or more CPUs, and configured to release the packet buffer memory upon successful transmission of the packet;

a fast messaging network operably coupled to said one or more CPUs and to said egress unit, said one or more CPUs further configured to place the pointer information on the fast messaging network in the form of a packet descriptor, said fast messaging network configured to send data to any other agent on the fast messaging network; and

said egress unit further comprising:

a first FIFO for receiving a packet descriptor from said fast messaging network in the form of a packet descriptor;

a first FIFO for receiving the packet descriptor from said fast messaging network;

a direct memory access (DMA) engine to which the packet descriptor is routed from said first FIFO using pointers associated with the packet descriptor, if the packet descriptor is a P2P descriptor;

a multiplexer and a second FIFO to which a packet is routed through if said packet descriptor is not a P2P descriptor; and

a third FIFO for receiving a packet sent from said second FIFO and transferring the packet data to the network interface to be transmitted.

22. The system of claim 21 , wherein the egress unit includes media access control (MAC) hardware.

23. The system of claim 21 , wherein the packet descriptor includes a Free Back ID (FBID) field, and said egress unit releases the packet buffer memory upon successful transmission of the packet by setting said FBID field in the packet descriptor.

Assignments (7)
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 →
CHANGE OF NAME Recorded Apr 16, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035443/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035443/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2010
From: RMI CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 023926/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2008
From: KUILA, KAUSHIK; HASS, DAVID T.; SHAHID, AHMED
To: RMI CORPORATION
Reel/Frame 020946/0517 →