Abstract:
Examples of methods of synchronized mode of flow table and apparatus using the same are described. A method may involve receiving a first key associated with a first flow engine through a first port and a second key associated with a second flow engine through a second port. The method may also involve utilizing a match key in one or more flow entries in a flow table to obtain a first instruction for the first flow engine and a second instruction for the second flow engine.
Abstract:
A packet processing apparatus has an ingress packet processing circuit, an egress packet processing circuit, and a traffic manager. The ingress packet processing circuit processes ingress packets received from ingress ports. The egress packet processing circuit processes egress packets to be forwarded through egress ports. The traffic manager deals with at least packet queuing and scheduling. At least one of the ingress packet processing circuit and the egress packet processing circuit includes a first packet processing unit located at a first packet flow path, and a second packet processing unit located at a second packet flow path. The first packet flow path is parallel with the second packet flow path, and programmability of the first packet processing unit is higher than programmability of the second packet processing unit.
Abstract:
Methods and apparatuses regarding shared buffer arbitration for packet-based switching are described. A data packet may be received by a packet buffer including a first plurality of banks of memory units and a second plurality of banks of memory units. Each memory unit may store one cell of data and accommodate one access operation in one clock cycle. In an event that the data packet includes at least two cells of data, the at least two cells of the data packet may be alternately written into at least one memory unit in the first plurality of banks of memory units and at least one memory unit in the second plurality of banks of memory units. Cells of data packets may be read from the first plurality of banks of memory units and the second plurality of banks of memory units according to a time-division multiplexing (TDM) scheme.
Abstract:
A packet processing apparatus has an ingress packet processing circuit, an egress packet processing circuit, a traffic manager, and a processor. The ingress packet processing circuit processes an ingress packet received from an ingress port to generate at least one parameter. The egress packet processing circuit has at least one programmable look-up table, refers to the at least one parameter to determine at least one action command set, and executes the at least one action command set for generating an egress packet to be forwarded through an egress port. The traffic manager is coupled between the ingress packet processing circuit and the egress packet processing circuit. The processor programs the at least one programmable look-up table. No action command in the at least one action command set is transmitted from the ingress packet processing circuit to the egress packet processing circuit through the traffic manager.
Abstract:
A packet processing apparatus has an ingress packet processing circuit, an egress packet processing circuit, and a traffic manager. The ingress packet processing circuit processes ingress packets received from ingress ports. The egress packet processing circuit processes egress packets to be forwarded through egress ports. The traffic manager deals with at least packet queuing and scheduling. At least one of the ingress packet processing circuit and the egress packet processing circuit includes a first packet processing unit located at a first packet flow path, and a second packet processing unit located at a second packet flow path. The first packet flow path is parallel with the second packet flow path, and programmability of the first packet processing unit is higher than programmability of the second packet processing unit.
Abstract:
Examples of packet header deflation for network virtualization are described. A method may involve receiving a data packet having a first length. The method may also involve abbreviating a header of the data packet to deflate the data packet into a deflated data packet having a second length shorter than the first length. The method may further involve forwarding the shortened data packet.
Abstract:
A method for accessing a multi-port memory module comprising a plurality of banks is provided, wherein the plurality of banks comprise at least a first bank, a second bank and a reference bank, and the method comprises: when first data is requested to be written into the first bank, reading reference data from the reference bank, and encoding the first data with the reference data to generate first encoded data, and writing the first encoded data into the first bank; and when second data is requested to be written into the second bank, reading the same reference data from the reference bank, and encoding the second data with the reference data to generate second encoded data, and writing the second encoded data into the second bank.
Abstract:
A method for accessing a multi-port memory module comprising a plurality of banks is provided. In one embodiment, the method comprises: generating a plurality of parities, wherein each parity is generated according to bits of a portion of the banks; and writing the parities into the banks, respectively. In another embodiment, the method comprises: when two bits corresponding to two different addresses within a specific bank are requested to be read in response to two read commands, directly reading the bit corresponding to one of the two different address of the specific bank; and generating the bit corresponding to the other address of the specific bank by reading the bits of the other banks without the specific bank.
Abstract:
Methods and apparatuses regarding shared buffer arbitration for packet-based switching are described. A data packet may be received by a packet buffer including a first plurality of banks of memory units and a second plurality of banks of memory units. Each memory unit may store one cell of data and accommodate one access operation in one clock cycle. In an event that the data packet includes at least two cells of data, the at least two cells of the data packet may be alternately written into at least one memory unit in the first plurality of banks of memory units and at least one memory unit in the second plurality of banks of memory units. Cells of data packets may be read from the first plurality of banks of memory units and the second plurality of banks of memory units according to a time-division multiplexing (TDM) scheme.
Abstract:
A network switch includes a plurality of identical dies and an interconnection network packaged in a package. The identical dies include at least a first die and a second die, each having a plurality of ingress ports used to receive ingress packets, an ingress packet processing circuit used to process the ingress packets, and a traffic manager circuit used to store packets processed by ingress packet processing circuits of the first die and the second die. The interconnection network is used to transmit an output of the ingress packet processing circuit in the first die to the traffic manager circuit of the second die, and transmit an output of the ingress packet processing circuit of the second die to the traffic manager circuit of the first die.