EP0785698A2

Buffering of multicast cells in switching networks

Abstract

Multicasting of an ingress cell received at one of a plurality of input ports is provided through a switch network to one or more of a plurality of output ports. The received ingress cell includes a data payload and a bitmap segment identifying the one or more output ports to which the data payload is to be outputted. The data payload is stored in an available cell buffer; associated with each cell buffer is a reference counter for storing a number equal to the number of ports to which that ingress cell is to be outputted. The bitmap segment is used to identify output ports to which the data payload is to be delivered, and a plurality of linked list queues in the memory, one for each of the output ports, is established. The bitmap segment is interpreted to identify output ports to which the data payload is to be delivered and an entry is made into the associated linked list output queue. The data payload is transmitted to each of the identified output ports, according to a sequence determined by the entries in the corresponding linked list queue.

EP0785698A2, drawing sheet 1
Sheet 1 of 57

Term

Term ended

Projected expiry passed 7 January 2017, 9.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 3 independent, 17 dependent

  1. 1
    Apparatus for multicasting an ingress cell received at one of a plurality of input ports of a switch network to one or more of a plurality of output ports, the apparatus comprising:(a) means for receiving the ingress cell including a data payload and a bitmap segment identifying the one or more output ports to which the data payload is to be outputted, (b) means for storing the data payload in an available cell buffer, (c) a plurality of linked list output queues, at least one for each of the output ports, (d) a reference counter, associated with each cell buffer, for storing a number equal to the number of ports to which that ingress cell is to be outputted, (e) means for interpreting the bitmap segment to identify output ports to which the data payload is to be delivered and for making an entry into one or more linked list output queues, (f) means for transmitting, to each of the identified output ports, one copy of the data payload according to a sequence determined by the entries in the corresponding linked list output queue, and (g) means for deleting, at each of the linked list output queues, an entry therefrom when the payload is outputted to an identified output port and decrementing the reference counter by one, and for making available the cell buffer when the reference counter equals zero.
  2. 11
    Switch apparatus for multicasting an ingress cell received at an input port to one or more of a plurality of output ports, the apparatus comprising:input port for receiving the ingress cell including a data payload and a bitmap segment identifying the one or more output ports to which the data payload is to be outputted;processing apparatus for processing the ingress cell by: (a) storing a data payload in an available cell buffer, (b) establishing a plurality of linked list output queues, at least one for each of the output ports, (c) associating with each cell buffer a reference counter for storing a number equal to the number of ports to which that ingress cell is to be outputted, (d) interpreting the bitmap segment to identify output ports to which the data payload is to be delivered, (e) at each of the identified output ports, making an entry into an associated linked list output queue, (f) transmitting, to each of the identified output ports, one copy of the data payload according to a sequence determined by the entries in the corresponding linked list output queue, (g) deleting, at each of the linked list output queues, an entry therefrom when the payload is outputted to an identified output port and decrementing the reference counter by one, and (h) making available the cell buffer when the reference counter equals zero;and output ports for outputting the payload received from the processing apparatus.
  3. 12
    A method of multicasting an ingress cell received at one of a plurality of input ports of a switch network to one or more of a plurality of output ports, the method comprising the steps of (a) receiving the ingress cell including a data payload and a bitmap segment identifying the one or more output ports to which the data payload is to be outputted, (b) storing the data payload in an available cell buffer, (c) establishing a plurality of linked list output queues, at least one for each of the output ports, (d) associating with each cell buffer a reference counter for storing a number equal to the number of ports to which that ingress cell is to be outputted, (e) interpreting the bitmap segment to identify output ports to which the data payload is to be delivered, (f) at each of the identified output ports, making an entry into the associated linked list output queue, (g) transmitting, to each of the identified output ports, one copy of the data payload according to a sequence determined by the entries in the corresponding linked list output queue, (h) deleting, at each of the linked list output queues, an entry therefrom when the payload is outputted to an identified output port and decrementing the reference counter by one, and (i) making available the cell buffer when the reference counter equals zero.