摘要:
A protocol processor is a specialized processor dedicated to extracting data (i.e., a payload) from an incoming communication (e.g., packet) and configuring outgoing data for transmission, and includes one or more protocol processing elements (PPE). Each PPE may be programmed to handle any set of communication protocols, and includes a set of large registers (e.g., 128 bytes, 256 bytes). A PPE also includes a parse unit for parsing packets to retrieve certain information and a lookup unit for accessing a control block indicating how to process an incoming packet or outgoing payload. A modification unit removes headers from incoming packets and/or adds them to outgoing data. A timer unit manages a large number of timers (e.g., for different communication streams). A control block cache may store recently accessed control blocks, and a data streaming unit streams packets (or packet portions) into and out of the registers.
摘要:
A switch fabric (210) provides access to a forwarding database (140) on behalf of a processor (161). The switch fabric (210) includes a memory access interface configured to arbitrate access to a forwarding database (140) memory. The switch fabric (210) also includes a search engine coupled to the memory access interface and to multiple input ports (140). The search engine is configured to schedule and perform accesses to the forwarding database (140) memory and to transfer forwarding decisions retrieved therefrom to the input ports (205). The switch fabric (210) further includes command execution logic that is configured to interface with the processor (161) for performing forwarding database (140) accesses requested by the processor. One or more commands are provided for 1) learning a supplied address; 2) reading associated data corresponding to a search key; 3) ageing forwarding database (140) entries; 4) invalidating entries; (5) accessing mask data; 6) replacing forwarding database (140) entries; and 7) accessing entries in the forwarding database (140).