Apparatus and method for processing data frames in an internetworking device
First Claim
Patent Images
1. An internetworking device comprising:
- a buffer management circuit for providing addresses;
a memory having a plurality of addresses stored therein; and
an address management circuit, coupled to said buffer management circuit and said memory, said address management circuit for receiving addresses from said buffer management circuit and for searching addresses in said memory, wherein said address management circuit includes;
a search engine having first and second search circuits for simultaneously searching for first and second addresses in said memory; and
a network processor unit coupled to said search engine for accessing said memory and for providing an indication of a last address stored in said memory to said search engine,wherein each of said first and second search circuits of said search engine comprise;
a comparator having a first input terminal coupled to receive an address from said buffer management circuit and a second input terminal coupled to receive an address retrieved from said memory, wherein said comparator compares a first address received from said buffer management circuit and a second address received from said memory and provides an output indication thereof; and
a math unit, coupled to said comparator, said math unit for searching said memory and for identifying a next address to be provided to the second terminal of said comparator from said memory.
7 Assignments
0 Petitions
Accused Products
Abstract
An address management circuit and method of operation, for use in a communications internetworking device, includes a search engine having first and second search circuits for concurrently searching a network address table for source and destination addresses of a frame received by the communications internetworking device. Memory read cycles of the source and destination address searches are interleaved to allow a memory access to occur during every system cycle to thereby rapidly complete the searches for both the source and destination addresses.
193 Citations
22 Claims
-
1. An internetworking device comprising:
-
a buffer management circuit for providing addresses; a memory having a plurality of addresses stored therein; and an address management circuit, coupled to said buffer management circuit and said memory, said address management circuit for receiving addresses from said buffer management circuit and for searching addresses in said memory, wherein said address management circuit includes; a search engine having first and second search circuits for simultaneously searching for first and second addresses in said memory; and a network processor unit coupled to said search engine for accessing said memory and for providing an indication of a last address stored in said memory to said search engine, wherein each of said first and second search circuits of said search engine comprise; a comparator having a first input terminal coupled to receive an address from said buffer management circuit and a second input terminal coupled to receive an address retrieved from said memory, wherein said comparator compares a first address received from said buffer management circuit and a second address received from said memory and provides an output indication thereof; and a math unit, coupled to said comparator, said math unit for searching said memory and for identifying a next address to be provided to the second terminal of said comparator from said memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for installing an address in a network address table stored in a memory of an internetworking device comprising the steps of:
-
(a) determining where in a linear list of address entries in the network address table a new address entry belongs; (b) moving a last address entry in the network address table from its present position in the network address table to a position corresponding to a next free address entry position in the network address table; (c) moving an address entry located previous to the last address entry in the network address table from its present position in the network address table to a new position in the network address table, wherein the new position is one position closer to the next free address entry position than the present position; (d) repeating step (c) until all of the address entries above the new address entry in the network address table have been moved to create an available slot in the network address table; and (e) inserting the new address entry into the available slot in the network address table. - View Dependent Claims (13)
-
-
14. A method for removing an address in a network address table stored in a memory of an internetworking device comprising the steps of:
-
(a) determining where in a linear list of address entries in the network address table an old address entry resides; (b) moving an address entry located subsequent to the old address entry in the network address table from its present position in the network address table to the position of the old address entry in the network address table; (c) moving an address entry located subsequent to the last moved address entry in the network address table from its present position in the network address table to a new position in the network address table, wherein the new position is the former position of the last moved address entry in the network address table; and (d) repeating step (c) until all of the address entries above the old address entry in the network address table have been moved to fill in the open slot in the network address table created by the removed old address entry. - View Dependent Claims (15, 16, 17)
-
-
18. An address management circuit having a network address table coupled thereto, said address management circuit comprising:
-
a search engine for receiving a source address and a destination address and for simultaneously searching the network address table for the source and destination addresses; and a network processor unit coupled to said search engine for accessing the network address table and for providing a next free address indicator of the network address table to said search engine, wherein said search engine includes a pair of search circuits, each of said search circuits comprising; a comparator having a first input terminal coupled to receive a first one of a source address and a destination address and a second terminal adapted to receive an address retrieved from said network address table, wherein said comparator compares the first one of the source address and the destination address and the address retrieved from said network address table; and a math unit, coupled to said comparator, said math unit for searching said network address table and for identifying a next address to be provided from said network address table to the second terminal of said comparator. - View Dependent Claims (19)
-
-
20. A method for searching a memory of an internetworking device to find an active address, said method comprising steps of:
-
retrieving a first address from a network address table; comparing a particular source address with the first address retrieved from the network address table; and retrieving a second address from the network address table while simultaneously performing the step of comparing the particular source address with the first address retrieved from the network address table, comparing a particular destination address with the second address retrieved from the network address table; simultaneously retrieving a third address from the network address table; and performing an age cycle after said particular source address is matched with an address retrieved from the network address table. - View Dependent Claims (21, 22)
-
Specification