![](http://datasheet.mmic.net.cn/330000/PM7329-BI_datasheet_16444382/PM7329-BI_90.png)
PM7329 S/UNI-APEX-1K800
DATASHEET
PMC-2010141
ISSUE 2
ATM TRAFFIC MANAGER AND SWITCH
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
76
It is possible to mix VCs that have FCQ and WFQ scheduling within the same
class, and ClassPacket enabled. Non FCQ VCs and non-user cells (as defined
in Table 8) are treated as single cell packets.
All counters, control and limit fields for the class scheduler are located in the
class scheduler context memory. As stated earlier, memory is only allocated for
classes one, two, and three. Class zero does not require any class scheduler
context information.
10.9.3.2
Partial Packet Scheduling
A per-Port parameter, ClassFragEn, is provided to support packet fragmentation.
In this fragmentation mode, classes are selected on a strict priority basis. Once
a class is selected, the packet at the head of the class queue is transmitted up to
a programmable length or until the EOM is encountered, whichever comes first.
Non FCQ VCs and non-user cells (as defined in Table 8) are treated as single
cell packets. When the length/EOM is reached, the classes are evaluated once
again in a strict priority. The transmission of the original packet will resume once
the original class regains transmission rights. Note that by virtue of the strict
priority scheduling, Class0 will always have its packets transmitted in their
entirety.
10.9.4 Congestion Control
The congestion control decides whether to permit a cell to enter the queue
structure. The objective is to provide a minimum reserved buffer allocation to all
active VCs and to fairly allocate shared buffer resources to eligible VCs. The
algorithm is applied to both frame and non-frame traffic. The objectives of the
algorithm are as follows:
provide guaranteed resources to all active VCs
share available buffer resources to eligible VCs with excess buffering
requirements
restrict resource allocation on a per-VC, per-Class, per-Port, and per-
Direction basis to those levels that have exceeded their allotment of
resources.
avoid global synchronization
Provide interrupts and ID of the last maximum threshold discard invoked.
These objectives are achieved by having several thresholds and hierarchical
count values, at the per-Device, per-Direction, per-Port, per-Class, and per-VC