RS8234
6.0 Traffic Management
ATM ServiceSAR Plus with xBR Traffic Management
6.2 xBR Cell Scheduler Functional Description
N8234DSC
PRELIMINARY
6-19
When the user establishes a CBR tunnel, the user-defined transmit bandwidth
for that tunnel is reserved in the schedule table as schedule slots. The one to four
priority levels assigned to that tunnel are named at this time, and are written to the
PRI3, PRI2, PRI1 and PRI0 fields in the CBR_TUN_ID field for the schedule
slots reserved. PRI3 should specify the highest priority level for that tunnel, down
to PRI0 as the lowest assigned priority level for that tunnel. The scheduler
services the highest priority level that has data available on that priority queue at
each point a schedule slot for that tunnel becomes active. This serves as a
secondary shaping of the traffic assigned to these tunnel priorities. Any one
priority level can be assigned to only one CBR tunnel, and must not be assigned
as a priority to more than one tunnel. Additionally, all priority levels utilized
within a CBR tunnel need to be activated as a tunnel by setting the TUN_ENA(x)
bit(s) in the SCH_PRI and SCH_PRI2 registers.
Sixteen tunnels can be active at once, if each of these tunnels has only one
scheduling priority assigned. All may be VBR/ABR tunnels. Or the system
designer can establish four tunnels, each of which has four scheduling priorities
assigned to it, or any combination of tunnels, which includes up to a total of 16
scheduling priorities. Individual VCCs are assigned to the tunnel by the host, by
setting the PRI field in the VCC Table to the priority of the tunnel.
The 3-bit PRI0 field allows the entry of only priority levels 0 through 7. If the
system designer wishes to enter a priority level higher than priority 7 in PRI0, he
should assign the difference in values as an offset, in the TUN_PRI0_OFFSET
field in the SCH_CTRL register.
If both non-tunnel and tunnel scheduling priorities exist, the host must assign
the highest priority level(s) to CBR tunnel(s).
APPLICATION EXAMPLES: Tunnels
Figure 6-6, previously, shows priorities five and six used as CBR tunnels for UBR and VBR traffic.
The host assigns a fixed number of Schedule Table slots to the tunnel to reserve a fixed rate. Each
time an assigned slot is encountered by the Cell Scheduler, it selects a VCC from a round-robin queue
of active VCCs assigned to that priority.
For example, 100 UBR VCCs with PRI = 6 might currently be segmenting data. Each will get
1/100th of the CBR bandwidth assigned to the tunnel. Tunneling enables system level end users to
purchase CBR services from a WAN service provider. The purchaser may then dynamically manage
the traffic within this leased CBR tunnel as CBR and/or a combination of other service categories.
In this example, the user has configured the RS8234 to manage two independent tunnels. One,
priority five, is through a private ATM network, perhaps a corporate ATM campus backbone. The other,
priority six, carries traffic through a public network. This topology allows the end user to lease reserved
CBR bandwidth from an administrative domain, but manage the usage of the tunnel in an arbitrary
fashion.
Figure 6-11 illustrates a different use of CBR tunnels. In this example, the user has established
4 separate tunnels or pipes. Each can have an equal 1/4 share of the bandwidth available to the port by
In each of the tunnels, 4 priority levels are assigned. The highest priority in each tunnel is assigned to
real-time VBR, the next highest priority to non-real-time VBR, the third highest priority to ABR, and the
lowest priority to UBR. This in effect establishes four multi-service pipes, each on equal priority to the
others (since the scheduler will service each of the four pipes equally). Thus, the 4 rt-VBR priorities have
effectively the same priority, and so on through the four levels of priority serviced in each pipe.
provisioning every fourth schedule table slot to one tunnel for each of the four tunnels.
# of VBR/ABR priorities is 12. CBR_TUN = 1, SLOT_DEPTH = 110.
Highest VBR/ABR Scheduling priority is 15 (i.e., PRI=15). Thus, VBR_OFFSET = 3.