Example: Configuring Dynamic Scheduling and Queuing for Subscriber Access
In this example, subscribers are provided with a data and voice service defined in an access profile when they initially log in. The RADIUS administrator supplies the initial values on the RADIUS server, and the service activation is performed at subscriber login.
After the initial login, the subscriber adds an assured forwarding service that is not defined in the original access profile. A service profile is used to configure the schedulers and a RADIUS CoA activates the service. The queues defined for the schedulers in the initial scheduler map and the new scheduler map are merged.
In addition, the values for the initial data and voice service are upgraded by the RADIUS administrator through a separate RADIUS CoA message.
To configure the initial service and enable the activation through a RADIUS CoA:
- Configure the access profile for the service activation.
- Configure the interfaces for the access profile.
- Configure the class of service parameters in the access
profile. In this example, you configure JUNOS predefined variables
that provide the initial scheduler name and scheduler parameters obtained
from the RADIUS authentication server when the subscriber logs in.
Include the configurations for the interfaces, schedulers, and the scheduler maps.
- [edit]
- dynamic-profiles access-profile {
-
- class-of-service {
-
- traffic-control-profiles {
-
- tcp1 {
- scheduler-map $junos-cos-scheduler-map;
- shaping-rate $junos-cos-shaping-rate;
- guaranteed-rate $junos-cos-guaranteed-rate;
- delay-buffer-rate $junos-cos-delay-buffer-rate;
- }
- }
-
- interfaces {
-
- $junos-interface-ifd-name {
-
- unit $junos-underlying-interface-unit {
- output-traffic-control-profile tcp1;
- }
- }
- }
-
- schedulers {
-
- $junos-cos-scheduler {
- buffer-size percent $junos-cos-scheduler-bs;
- priority $junos-cos-scheduler-pri;
- transmit-rate percent $junos-cos-scheduler-tx;
- drop-profile-map loss-priority low protocol any $junos-cos-scheduler-low;
- drop-profile-map loss-priority medium-low protocol any $junos-cos-scheduler-medium-low;
- drop-profile-map loss-priority medium-high protocol any $junos-cos-scheduler-medium-high;
- drop-profile-map loss-priority high protocol any $junos-cos-scheduler-high;
- }
- }
-
- scheduler-maps {
-
- data_voice_smap {
- forwarding-class be scheduler be_sch;
- forwarding-class ef scheduler ef_sch;
- }
- }
- }
- }
Table 1 lists the initial values defined by the RADIUS administrator for the scheduler map and shaping rates.
Table 1: Initial Scheduler Map and Shaping Values at Subscriber Login
Predefined Variable
RADIUS Tag
Value
$junos-cos-scheduler-map
T01
data_voice_smap
$junos-cos-shaping-rate
T02
6m
$junos-cos-guaranteed-rate
T03
4m
$junos-cos-delay-buffer-rate
T04
1m
Table 2 lists the initial values defined by the RADIUS administrator for the expedited forwarding scheduler.
Table 2: Initial CoS Values for the Expedited Forwarding Scheduler at Subscriber Login
Table 3 lists the initial values defined by the RADIUS administrator for the best effort scheduler.
Table 3: Initial CoS Values for the Best Effort Scheduler at Subscriber Login
- Configure the forwarding classes
in the static [edit class-of-service] hierarchy.
- [edit]
- class-of-service {
-
- drop-profiles {
-
- d0 {
- fill-level 25 drop-probability 100;
- fill-level 0 drop-probability 0;
- }
-
- d1 {
- fill-level 50 drop-probability 100;
- fill-level 0 drop-probability 0;
- }
-
- d2 {
- fill-level 75 drop-probability 100;
- fill-level 0 drop-probability 0;
- }
-
- d3 {
- fill-level 0 drop-probability 0;
- fill-level 100 drop-probability 100;
- }
- }
-
- forwarding-classes {
- queue 0 be;
- queue 1 ef;
- queue 2 af;
- queue 3 nc;
- }
-
- interfaces {
-
- ge-1/2/9 {
- shaping-rate 100m;
- }
- }
- }
- Configure the service profile enable
RADIUS to activate the video service after login. The video service
corresponds to assured forwarding PHB.
In this example, you configure JUNOS predefined variables that provide the initial scheduler name and scheduler parameters obtained from the RADIUS authentication server when the subscriber logs in.
- [edit]
- dynamic-profiles service-af {
-
- variables {
- af_fc default-value video;
- af_sched default-value video_sch;
- sch-drop-any default-value all;
- sch-pri-2 default-value strict-high;
- sch-bs-2 default-value 40;
- sch-tx-2 default-value 3m;
- smap default-value any
- }
-
- class-of-service {
-
- scheduler-maps {
-
- "$smap" {
- forwarding-class “$af_fc” scheduler “$af_sched”;
- }
- }
-
- schedulers {
-
- "$video_sched" {
- transmit-rate percent "$sch-tx-2";
- buffer-size percent "$sch-bs-2";
- priority "$sch-pri-2";
- drop-profile-map loss-priority any protocol any drop-profile all;
- }
- }
- }
- }
After the three services are activated, subscribers receive upgraded values for the data and voice service when RADIUS sends a change of authorization (CoA). In this case, the CoS parameters are replaced, because multiple subscribers were not enabled on the logical interface.
Table 4 lists the upgraded values defined by the RADIUS administrator.
Table 4: Upgraded CoS Values for the Video Service
Variable |
RADIUS Tag |
Value |
|---|---|---|
junos-cos-scheduler-map |
T01 |
data_voice_smap |
junos-cos-shaping-rate |
T02 |
14m |
junos-cos-guaranteed-rate |
T03 |
13m |
junos-cos-delay-buffer-rate |
T04 |
12m |

