When you configure shared shaping, be sure to consider the following behaviors.
You can use both the shared-shaping-rate command and the shaping-rate command in a single scheduler profile. For example, you can shape the best-effort node or queue to accept less than the remainder of the shared-shaping rate as in the following commands:
- (config)#scheduler-profile shared-1mbps
- (config-scheduler-profile)#shared-shaping-rate 1000000 simple
- (config-scheduler-profile)#shaping-rate 500000
If you configure a shaping rate higher than the shared-shaping rate, the rate never exceeds the shared rate, so the router issues the following error message:
Although you can configure a shared-shaping rate and a shaping rate in the same scheduler profile, the shaping rate must not exceed the shared-shaping rate. A scheduler profile that includes a shaping rate must not contain a shared-shaping rate that specifies a constituent as weighted.
A scheduler profile that includes a shared-shaping rate cannot be associated with a queue other than the best-effort queue or a node other than the best-effort node.
A scheduler profile that is referenced by nodes or queues that are not best effort cannot be modified to include a shared-shaping rate command. A scheduler profile that includes a shared-shaping rate command cannot be associated with a group node.
When you configure shared shaping with ATM, be sure to consider the following behaviors.
On ATM line modules, providers can use the SAR to implement bandwidth sharing for VCs. When the SAR is operating in default mode (that is, when the no qos-mode-port command is in effect), the SAR backpressures the VC node in the default traffic-class group, but traffic that is queued through a named traffic-class group is unaffected by VC backpressure. In the absence of voice and video traffic, the VC runs data traffic at the shared rate. When voice and video traffic start streaming, the SAR backpressures just the VC node in the default traffic-class group, thus sharing the bandwidth.
However, providers need to configure shared shaping on more than just ATM VCs. The SAR cannot support shared shaping per virtual path on ATM, and there is no SAR on Ethernet line modules. The shared shaper implemented in the HRR scheduler can support shared shaping for all these different configurations.
JUNOSe releases before Release 6.0.0 implemented a carve-out scheduling model. If you configured multiple scheduler nodes for a VC or VP, the router added together the shaping rates for each scheduler node and shaped the corresponding VC or VP tunnel in the SAR to the sum of the rates. This implementation forced a strict-priority carve-out model for a logical interface, because the best-effort traffic cannot share unused bandwidth from the strict-priority traffic-class group.
Beginning with JUNOSe Release 6.0.0, the router synchronizes the SAR rate for a VC or VP to the shared-shaping rate for the best-effort scheduler node for the VC or VP, so that the default behavior for low-CDV mode becomes shared shaping. Applying shared shaping to the best-effort queue does not synchronize the rate for the corresponding VC or VP in the SAR.
JUNOSe releases before Release 6.1.0 had a different behavior than the current shared shaping model when multiple traffic-class groups were configured in low-CDV mode. In those releases, the shaping rates of the VC nodes in each group were added together, and the corresponding VC queue in the SAR was shaped to the sum. The same algorithm was used for shaping VP tunnels in the SAR—the shaping rates of all VP nodes in the hierarchical scheduler were added together to shape the VP tunnel in the SAR. This behavior implements a carve-out model for scheduling into VPs and VCs and generally is not as desirable as the shared shaping model supported in JUNOSe Release 6.1.0 and later releases.
Beginning with JUNOSe Release 6.1.0, low-CDV mode causes SAR shaping of VCs and VPs only when you specify the shared-shaping-rate command for the best-effort VC or VP node in the HRR scheduler.
For more information about configuring low-CDV mode, see ATM Integrated Scheduler Overview.
A shared shaper affects only the queues and nodes for a single interface. Queues associated with other interfaces are not constrained by the shared shaper. This behavior should cause no problems if you configure all queues for a single logical interface type. However, if you configure queues for multiple interface types, you may have problems with shared shaping.
For example, a shared shaper for VC 1 does not directly constrain the rate for a queue for IP 1 unless that queue is stacked above a node for VC 1 in the scheduler hierarchy. If the IP queue is stacked above a node for VC 1, then the shared shaper indirectly controls the queue bandwidth through the VC 1 node. But if the IP 1 queue is not stacked above a VC 1 node, it is immune to the shared shaper, and the total bandwidth for VC 1 can exceed the shared rate.
As another example, if a shared queue exists for VP 1 where VC 1 is contained within VP 1, the shared shaper for VC 1 does not constrain the bandwidth of a VP queue. The total bandwidth for VC 1 can again exceed the shared rate.
Figure 17 illustrates an example of mixed interface shaping and its implications for implicit constituent selection for compound shared shaping.
Figure 17: Implicit Constituent Selection for Compound Shared Shaper: Mixed Interface Types
Traffic in the strict-priority traffic-class group can starve out other traffic competing within the shared shaper. You might want to configure an individual shaping rate for strict-priority queues, thus reserving the remaining shared bandwidth for nonstrict traffic.
For example, the following scheduler profiles limit the subscriber's strict priority traffic to 1.0 Mbps and limits the subscriber's aggregate traffic to 1.5 Mbps. If scheduler profile strictOne specified a shaping rate greater than or equal to 1.5 Mbps, nonstrict traffic might face starvation.
- host1(config)#scheduler-profile strictOne
- host1(config-scheduler-profile)#shaping-rate 1000000
- host1(config)#scheduler-profile nonStrictOne
- host1(config-scheduler-profile)#shared-shaping-rate 1500000
Many providers configure voice and video queues that combine to oversubscribe the shared rate. An external admission control agent, such as RADIUS, controls traffic flows such that the offered load does not ever really oversubscribe the shared rate. The static oversubscribed configuration on the router removes the need for the provider to signal voice or video traffic to the router.
The burst size for constituents is typically shaped by the burst value that you specify in the scheduler profile with the shared-shaping-rate command. You can override this burst for a particular constituent by applying another scheduler profile to that constituent and specifying the burst value with the shaping-rate command.
The following commands configure a VC shared shaper with two constituents, best effort and voice. The best-effort constituent has a burst of 30000 and the voice constituent has a burst of 16384.
- host1(config)#scheduler-profile bestEffortBurst
- host1(config-scheduler-profile)#shared-shaping-rate 1000000 burst 30000
- host1(config)#scheduler-profile voiceBurst
- host1(config-scheduler-profile)#shaping-rate 300000 burst 16384
Configure the QoS profile that applies the scheduler profiles:
- host1(config)#qos-profile burstExample
- host1(config-qos-profile)#atm-vc node
- host1(config-qos-profile)#atm-vc node group EF
- host1(config-qos-profile)#atm-vc queue traffic-class best-effort scheduler-profile bestEffortBurst
- host1(config-qos-profile)#atm-vc queue traffic-class voice scheduler-profile voiceBurst