5. Multicast > Error Management of Multicast Packets
119
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
5.4.3
Multicast Maximum Latency Timer
It is expected that the time-outs required for multicast packets in many systems are shorter than that
required to enforce time-to-live time-outs for unicast packets, so a separate timer known as the
maximum latency timer is used. The maximum latency value is similar in concept to the timer, but
separate from it. This allows systems designers to enforce latency rules for multicast traffic that are
different from that of unicast traffic in the system.
Each broadcast buffer has a separate maximum latency timer to enforce latency limits for a packet and
has the capacity to hold a single maximum size packets or up to eight smaller packets (totaling up to,
but not more than, 280 bytes). The maximum latency timer starts counting when the packet is
completely received by the broadcast buffer. The multicast latency timer has a maximum period of
0xFFFFFF*6.4ns. The multicast latency timer is programmed using the
Latency Counter CSR” on page 396
The maximum latency timer is associated only with the packet at the head of the broadcast buffer. The
multicast latency timer is held in reset when a packet is being transferred from the broadcast buffer to
the egress port.
Once a packet is completely received in the broadcast buffer, the multicast latency timer starts
counting. If the multicast latency timer expires while the packet is in the broadcast buffer, an interrupt
is raised (see
“RapidIO Broadcast Buffer Maximum Latency Expired Error Register” on page 384
a port-write can be sent (if enabled). All packets in the broadcast buffer at the time the multicast latency
timer expires are discarded. A packet copy being transferred from the multicast work queue to the
broadcast buffer when the multicast latency timer expires is also discarded. Depending on the system
latency restrictions on multicast and the frequency with which the maximum latency timer expires,
discarding packets within the broadcast buffer can be sufficient to allow the system to continue to
operate. Note that the broadcast buffer is purged only once when the multicast latency timer expires.
The next packet copy coming from the multicast work queue is stored in the broadcast buffer as usual.
The multicast latency timer is reset and when the new packet reaches the head of the buffer, the timer
starts counting again.
In systems where exceeding the maximum latency timer is an indication of the failure of a port, system
designers can set the AUTODEAD bit in
“RapidIO Multicast Maximum Latency Counter CSR” on
to 1. If the AUTODEAD bit is 1 when the multicast latency timer expires, in addition to
packets being purged, the port is removed from multicast operation. By clearing the multicast latency
timer error for that failed port, the traffic from the MCE to the broadcast buffer is restored and new
packet copies can be received by the port. The AUTODEAD bit should only be set to 1 if the expiry of
the maximum multicast latency timer means that an error has been detected, and the continued
operation of the system requires removal of the offending port. Refer to
Maximum Latency Expired Error Register” on page 384
and to
“Global Interrupt Status Register” on
for the register bits related to notification and handling of a multicast latency timeout error.
“RapidIO Broadcast Buffer Maximum Latency Expired Override” on page 386
can be
used to verify the operation of software associated with
Maximum Latency Expired Error Register” on page 384
.