摘要:
Resources allocated to a group of ports include a plurality of storage regions. Each storage region includes a committed area and a shared area. A destination storage region is identified for a packet. A packet queuing engine stores the packet in the committed area of the determined destination storage region if it has a first drop precedence value, and if available storage space in the committed area exceeds a first threshold. The packet queuing engine stores the packet in the shared area of the determined destination storage region if the packet is not stored in the committed area, and if available storage space exceeds a second threshold defined by the packet's drop precedence value. If the packet is not stored either in the committed or shared area, it may be dropped.
摘要:
Resources allocated to a group of ports include a plurality of storage regions. Each storage region includes a committed area and a shared area. A destination storage region is identified for a packet. A packet queuing engine stores the packet in the committed area of the determined destination storage region if it has a first drop precedence value, and if available storage space in the committed area exceeds a first threshold. The packet queuing engine stores the packet in the shared area of the determined destination storage region if the packet is not stored in the committed area, and if available storage space exceeds a second threshold defined by the packet's drop precedence value. If the packet is not stored either in the committed or shared area, it may be dropped.
摘要:
A header analyzer unit generates attribute information regarding headers of a data unit. The header analyzer unit includes a programmable memory unit having a content addressable memory (CAM) with an input to receive a first portion of the data unit and a second portion of the data unit. The programmable memory unit also includes a memory separate from the CAM and coupled to an output of the CAM. The CAM stores indications of locations within the memory separate from the CAM, and the memory separate from the CAM programmably stores header attribute information regarding a plurality of different types of headers for data units having different formats.
摘要:
A packet processor for processing a data unit received from a network includes a header analyzer unit configured to obtain indications of locations in a header of the data unit of one or more fields to be parsed from the data unit to perform a packet processing operation on the data unit. The header analyzer unit comprises a ternary content addressable memory (TCAM), and a memory separate from the TCAM and coupled to an output of the TCAM, wherein a content of the TCAM and a content of the memory are programmable. The header analyzer unit is configured to obtain, responsive to a lookup of at least one portion of the data unit in the TCAM, indications of locations in a header of the data unit of one or more fields to be parsed from the data unit to perform a packet processing operation on the data unit. The packet processor further comprises a parser configured to parse the header using the indications of locations of one or more fields in the header to obtain data from the one or more fields.
摘要:
A packet processor for processing a data unit received from a network includes a header analyzer unit configured to obtain indications of locations in a header of the data unit of one or more fields to be parsed from the data unit to perform a packet processing operation on the data unit. The header analyzer unit comprises a ternary content addressable memory (TCAM), and a memory separate from the TCAM and coupled to an output of the TCAM, wherein a content of the TCAM and a content of the memory are programmable. The header analyzer unit is configured to obtain, responsive to a lookup of at least one portion of the data unit in the TCAM, indications of locations in a header of the data unit of one or more fields to be parsed from the data unit to perform a packet processing operation on the data unit. The packet processor further comprises a parser configured to parse the header using the indications of locations of one or more fields in the header to obtain data from the one or more fields.
摘要:
A flow classifier for a network device that processes packets including packet headers includes a hash generator that generates hash index values from search keys derived from the packet headers. A hash table receives the hash index values and outputs pointers. A flow table includes flow keys and corresponding actions. A variable length (VL) trie data structure uses the pointers to locate the flow keys for the search keys. The VL trie data structure selects different flow keys for the search keys that share a common hash index value. The pointers include node, NIL and leaf pointers. The flow classifier performs a default action for the NIL pointers. A pointer calculator accesses a VL trie table using the pointers.
摘要:
A packet processor includes a forwarding table configured to store address prefixes and a search engine configured to receive a packet and to search the forwarding table. The search engine includes a set bit counter configured to receive an address of the packet, to count set bits of a first bit vector associated with the packet, and to output a number of the set bits. A next hop table is configured to store a next hop pointer. A next bucket pointer receives the number of set bits and outputs one of the next hop pointers and the next bucket pointer based on the number of set bits.
摘要:
A network switch includes a matching device that employs a first data structure to select one of N address groups including a first partial address of an IP packet. An action table selects one of a next hop location corresponding to a longest prefix match and a first matching operation for the IP packet based on the selected one of the N groups. When the first matching operation is selected, the matching device employs a second data structure to select one of M address groups including a second partial address of the IP packet. The action table selects one of a next hop location corresponding to a longest prefix match and a second matching operation for the IP packet based on the selected one of the M groups. A routing engine routes the IP packet based on the first and second next hop locations.
摘要:
A search engine improves search speed and reduces required memory for a longest prefix matching (LPM) router that routes packets using IP addresses. The search engine includes a first bit vector with set bits corresponding to address ranges. A set bit counter counts the set bits in the bit vector based on a first portion of the address of the a first packet. A first next hop table contains first pointers for each of the set bits. One of the first pointers is selected based on a number of set bits counted by the set bit counter. For longer addresses, the addresses are split into address portions. The search engine includes a trie data structure that has n levels. The n levels of the trie data structure include nodes representing non-overlapping address space.
摘要:
A packet processor for a network device includes an incoming port that receives a first packet. The first packet includes a data portion, a control portion and a first outgoing port. A control data processing device receives the control portion from the incoming port while the data portion is stored in memory, and transmits the control portion to the first outgoing port. The first outgoing port transmits a first request for the data portion based on the control portion. A header altering device retrieves the data portion from the memory and strips, modifies, and encapsulates the data portion based on the first request.