IP Library Granted Patent US 7,873,045
Granted Patent B2
US 7,873,045 · App. 10/662,583 · Granted Jan 18, 2011

Generating an encapsulating header based on encapsulated information provided at protocol-dependent locations

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,873,045
App. No.
10/662,583
Granted
Jan 18, 2011
Kind
B2
Abstract

An encapsulation packet is received as a sequence of parallel data segments. First information within the encapsulated packet is obtained based on second information indicative of a location of the first information within the encapsulated packet. The encapsulating header is modified based on the first information.

Claims (39)

1. An apparatus for processing an encapsulation packet including an encapsulating header and an encapsulated packet, comprising:

a data pipeline having an input for receiving the encapsulation packet formatted as a sequence of parallel data segments, said data pipeline including a plurality of pipeline stages, each said pipeline stage for holding therein successive ones of said data segments;

a modifier coupled to said data pipeline for replacing a portion of said encapsulating header with first information contained in said encapsulated packet; and

selection logic coupled between said data pipeline and said modifier, said selection logic having an input for receiving selectively programmable second information indicative of a location of said first information within said encapsulated packet, said selection logic responsive to said second information for routing said first information from said data pipeline to said modifier.

2. The apparatus of claim 1 , wherein said modifier is for removing header information from said encapsulating header.

3. The apparatus of claim 2 , wherein said modifier is for replacing said removed header information with said first-mentioned information.

4. The apparatus of claim 1 , wherein said selection logic includes a selector having an input coupled to said pipeline and having an output, and a shifter having an input coupled to said selector output and having an output coupled to said modifier.

5. The apparatus of claim 4 , wherein said modifier includes a selector having an input coupled to said pipeline and to said output of said shifter.

6. The apparatus of claim 1 , wherein said encapsulation packet is an OSI layer 2 packet, said encapsulating header is an OSI layer 2 header and said encapsulated packet is an OSI layer 3 packet.

7. The apparatus of claim 1 , wherein said first information includes address information.

8. An apparatus for processing an encapsulation packet including an encapsulating header and an encapsulated packet, comprising:

a data pipeline having an input for receiving the encapsulation packet formatted as a sequence of parallel data segments having a common data segment width, said data pipeline including a plurality of pipeline stages, each said pipeline stage for holding therein successive ones of said data segments, at least one of said pipeline stages having a data width that is greater than said common data segment width for holding therein a portion of the encapsulation packet that is larger than said data segments;

a modifier coupled to said data pipeline for replacing a portion of said encapsulating header with information contained in said encapsulated packet; and

selection logic coupled between said data pipeline and said modifier for routing said information from said data pipeline to said modifier.

9. The apparatus of claim 8 , wherein said portion of the encapsulation packet includes one of said data segments and part of another of said data segments.

10. The apparatus of claim 9 , wherein said part of said another data segment includes a portion of said information.

11. The apparatus of claim 9 , wherein said one and another data segments are adjacent one another in said sequence.

12. The apparatus of claim 11 , wherein said another data segment follows said one data segment in said sequence.

13. An apparatus for processing an encapsulation packet including an encapsulating header and an encapsulated packet, comprising:

a data pipeline having an input for receiving the encapsulation packet formatted as a sequence of parallel data segments, said data pipeline including a plurality of pipeline stages, each said pipeline stage for holding therein successive ones of said data segments, one of said pipeline stages coupled to an adjacent stage of said pipeline for combining, in said adjacent pipeline stage, part of a data segment currently held in said one pipeline stage with a data segment currently held in said adjacent pipeline stage;

a modifier coupled to said data pipeline for modifying said encapsulating header in response to information contained in said encapsulated packet; and

selection logic coupled between said data pipeline and said modifier for routing said information from said data pipeline to said modifier.

14. The apparatus of claim 13 , wherein said one pipeline stage is upstream from said adjacent pipeline stage in said data pipeline.

15. The apparatus of claim 13 , wherein said part of said data segment currently held in said one pipeline stage includes a portion of said information.

16. A method of processing an encapsulation packet including an encapsulating header and an encapsulated packet, comprising:

receiving the encapsulation packet formatted as a sequence of parallel data segments in a data pipeline of a network device, said encapsulated packet including information for use in modifying said encapsulating header;

insuring that said information is available in said sequence of parallel data segments, including combining a first of said parallel data segments and part of a second of said parallel data segments in a stage of said data pipeline occupied by said first parallel data segment as said sequence of parallel data segments advances in said data pipeline, wherein said first and second parallel data segments are in adjacent stages to one another in said data pipeline; and

modifying said encapsulating header based on said parallel-formatted information.

17. The method of claim 16 , wherein said second parallel data segment follows said first parallel data segment in said sequence.

18. The method of claim 16 , wherein said part of said second parallel data segment includes a portion of said information.

19. An apparatus for processing an encapsulation packet including an encapsulating header and an encapsulated packet, comprising:

means for receiving the encapsulation packet formatted as a sequence of parallel data segments in a data pipeline, said encapsulated packet including information for use in modifying said encapsulating header;

means for insuring that said information is available in said data pipeline, including means for combining a first of said parallel data segments with a portion of a second of said parallel data segments in a same stage of said data pipeline as said sequence of parallel data segments advances in said data pipeline, wherein said first and second parallel data segments are in adjacent stages to one another in said data pipeline; and means for modifying said encapsulating header based on said parallel-formatted information.

20. A method of processing an encapsulation packet including an encapsulating header and an encapsulated packet, comprising:

receiving the encapsulation packet as a sequence of parallel-formatted data segments in a data pipeline comprising a plurality of stages;

advancing the data segments through consecutive stages of the data pipeline such that at least some of the stages include a complete data segment and a partial data segment from a preceding stage, the partial data segment comprising redundant information within the data pipeline;

receiving selectively programmable first information indicative of a location of second information within said encapsulated packet;

obtaining said second information from said encapsulated packet based on said first information; and

replacing a portion of said encapsulating header with said second information, wherein said encapsulation packet is advanced through the stages of the data pipeline without decreasing a data rate of the encapsulation packet.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2015
From: STIFEL FINANCIAL CORP.
To: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
Reel/Frame 035168/0384 →
SECURITY INTEREST Recorded May 29, 2014
From: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
To: STIFEL FINANCIAL CORP.
Reel/Frame 033062/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2005
From: INFINEON TECHNOLOGIES AG
To: EXAR CORPORATION
Reel/Frame 015979/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2004
From: INFINEON TECHNOLOGIES NORTH AMERICA CORP.
To: INFINEON TECHNOLOGIES AG
Reel/Frame 014716/0264 →
MERGER Recorded Mar 4, 2004
From: INFINEON TECHNOLOGIES CATAMARAN, INC.
To: INFINEON TECHNOLOGIES NORTH AMERICA CORP.
Reel/Frame 014398/0732 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2003
From: BHARDWAJ, SANJAY
To: INFINEON TECHNOLOGIES CATAMARAN, INC.
Reel/Frame 014520/0043 →