Generating an encapsulating header based on encapsulated information provided at protocol-dependent locations
First Claim
Patent Images
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.
6 Assignments
0 Petitions
Accused Products
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.
23 Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15)
-
-
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. - View Dependent Claims (17, 18)
-
-
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.
-
Specification