A multi-layer switch search engine architecture is provided. According to
one aspect of the present invention, a switch fabric includes a search
engine, and a packet header processing unit. The search engine may be
coupled to a forwarding database memory and one or more input ports. The
search engine is configured to schedule and perform accesses to the
forwarding database memory and to transfer forwarding decisions to the one
or more input ports. The header processing unit is coupled to the search
engine and includes an arbitrated interface for coupling to the one or
more input ports. The header processing unit is configured to receive a
packet header from one or more of the input ports and is further
configured to construct a search key for accessing the forwarding database
memory based upon a predetermined portion of the packet header. The
predetermined portion of the packet header is selected based upon a packet
class with which the packet header is associated.
Een multi-layer de motorarchitectuur wordt van het schakelaaronderzoek verstrekt. Volgens één aspect van de onderhavige uitvinding, omvat een schakelaarstof een onderzoeksmotor, en een pakketheader verwerkingseenheid. De onderzoeksmotor kan aan een het door:sturen gegevensbestandgeheugen en één of meerdere inputhavens worden gekoppeld. De onderzoeksmotor wordt gevormd aan programma en uitvoert toegangen tot het het door:sturen gegevensbestandgeheugen en tot overdracht die besluiten verstuurt aan de één of meerdere inputhavens. De header verwerkingseenheid wordt gekoppeld aan de onderzoeksmotor en omvat een gearbitreerde interface voor het koppelen aan de één of meerdere inputhavens. De header verwerkingseenheid wordt gevormd om pakketheader van één of meer van de inputhavens te ontvangen en verder gevormd om een onderzoekssleutel te construeren voor de toegang tot van het het door:sturen gegevensbestandgeheugen dat op een vooraf bepaald gedeelte van pakketheader wordt gebaseerd. Het vooraf bepaalde gedeelte van pakketheader wordt geselecteerd gebaseerd op een pakketklasse waarmee pakketheader wordt geassocieerd.