Internetworking device with enhanced packet header translation and memory
First Claim
1. An internetworking device for interconnecting a plurality of networks, said device comprising:
- a memory comprising a plurality of buffers, each buffer assigned to a respective network and adapted for storing a packet received from said respective network, said packet including a header having an address portion; and
a buffer manager, interconnecting said plurality of networks and said memory, said buffer manager controlling storage of said packet in one of said buffers assigned to said respective network, wherein said address portion of said header is separated from a remaining portion of said packet in said buffer by a gap.
7 Assignments
0 Petitions
Accused Products
Abstract
An internetworking device providing enhanced packet header translation for translating the format of a header associated with a source network into a header format associated with a destination network of a different type than the source network. The device includes a memory for storing an address portion of a received packet header in a first block of buffer locations and the remainder of the received packet in a second block of buffer locations, spaced from the first block of buffer locations by a gap. The gap permits supplemental header information to be written into the buffer when necessary for translation. The device further includes a split memory, having an SRAM portion and a DRAM portion allocated to each buffer, with at least the address portion of a received packet and the gap located in the SRAM portion, so as to optimize the translation performance of the device.
378 Citations
25 Claims
-
1. An internetworking device for interconnecting a plurality of networks, said device comprising:
-
a memory comprising a plurality of buffers, each buffer assigned to a respective network and adapted for storing a packet received from said respective network, said packet including a header having an address portion; and a buffer manager, interconnecting said plurality of networks and said memory, said buffer manager controlling storage of said packet in one of said buffers assigned to said respective network, wherein said address portion of said header is separated from a remaining portion of said packet in said buffer by a gap. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A buffer for storing a packet received by an internetworking device from a source network prior to transmission to a destination network, said packet including a header having an address portion, comprising:
-
a first storage area for storing said address portion of said packet header; and a second storage area for storing a portion of the remainder of said packet, wherein said first and second storage areas are spaced by a gap in said buffer. - View Dependent Claims (8, 9, 10)
-
-
11. A method for storing a packet having a header received by an internetworking device from a first network prior to transmission to a second network, comprising the steps of:
-
reading an address portion of said packet header into a first plurality of sequential locations of a buffer, starting at a header offset location; and reading a remaining portion of said packet into a second plurality of sequential locations of said buffer, starting at a body offset location, wherein said body offset location is spaced from said header offset location to provide a gap in said buffer after said address portion and before said remaining portion of said packet. - View Dependent Claims (12)
-
-
13. An internetworking device for interconnecting a plurality of networks, said device comprising:
-
a memory comprising a plurality of buffers, each buffer assigned to a respective one of said plurality of networks and adapted for storing a packet received from said respective network, said packet including a header having an address portion, wherein each of said buffers comprises a first portion having a first access latency and a second portion having a second access latency longer than said first access latency; and a buffer manager, interconnecting said plurality of networks and said memory, said buffer manager controlling storage of said packet in one of said buffers assigned to said respective network. - View Dependent Claims (14, 15, 16)
-
-
17. An internetworking device for interconnecting a plurality of networks, said device comprising:
-
a memory comprising a plurality of buffers, each buffer assigned to a respective one of said plurality of networks and adapted for storing a packet received from said respective network, said packet including a header having an address portion, wherein each of said buffers comprises a first portion having a first access latency and a second portion having a second access latency longer than said first access latency and wherein said first portion of each of said buffers is SRAM and said second portion of each of said buffers is DRAM; and a buffer manager, interconnecting said plurality of networks and said memory, said buffer manager controlling storage of said packet in one of said buffers assigned to said respective network, wherein said buffer manager assigns addresses in said SRAM portion of said buffer for storing said address portion of said header and wherein said buffer manager increments said assigned addresses in said SRAM portion of said buffer once said address portion of said header has been stored, so as to provide a gap in the SRAM portion of said buffer between said address portion of said header and a remaining portion of said packet, following said address portion. - View Dependent Claims (18)
-
-
19. A memory for storing a packet during transmission of said packet from a first network to a second network, said packet having a predetermined length and including a header having an address portion, said memory comprising:
-
a first memory portion having a first access latency, said first memory portion having a predetermined size and being adapted to store at least said address portion of said header; and a second memory portion having a second access latency, longer than said first access latency and adapted to store a portion of said packet if said predetermined packet length exceeds said predetermined size of said first memory portion. - View Dependent Claims (20, 21)
-
-
22. A method for storing a packet during transmission of said packet from a first network to a second network, said packet having a predetermined length and including a header having an address portion, comprising the steps of:
-
storing said address portion of said header in a first portion of memory having a first access latency, said first portion of memory having a predetermined size; and storing a portion of said packet in a second portion of memory having a second access latency, longer than said first access latency if said predetermined packet length exceeds said predetermined size of said first portion of memory. - View Dependent Claims (23, 24)
-
-
25. A method for storing a packet during transmission of said packet from a first network to a second network, said packet having a predetermined length and including a header having an address portion, comprising the steps of:
-
storing said address portion of said header in a first plurality of sequential locations of said first portion of memory having a first access latency, said first portion of memory having a predetermined size; storing a remaining portion of said packet in a second plurality of sequential locations of said first portion of memory; storing a portion of said packet in a second portion of memory having a second access latency, longer than said first access latency if said predetermined packet length exceeds said predetermined size of said first portion of memory; spacing said first plurality of sequential locations of said first portion of memory from said second plurality of sequential locations of said first portion of memory to provide a gap between said address portion of said header and said remaining portion of said packet; and inserting supplemental header information into said gap to convert said received packet into a packet compatible with said second network.
-
Specification