[an error occurred while processing this directive] [an error occurred while processing this directive]

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:

  1. Configure the access profile for the service activation.
    1. Configure the interfaces for the access profile.
      [edit]
      dynamic-profiles access-profile {
      interfaces {
      $junos-interface-ifd-name {
      unit $junos-underlying-interface-unit {
      family inet;
      }
      }
      }
      }
    2. 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

      Predefined Variable

      Tag

      Value

      $junos-cos-scheduler

      ef_sch

      $junos-cos-scheduler-tx

      T01

      10

      $junos-cos-scheduler-bs

      T02

      10

      $junos-cos-scheduler-pri

      T03

      low

      $junos-cos-scheduler-dropfile-low

      T04

      d3

      $junos-cos-scheduler-dropfile-medium-low

      T05

      d2

      $junos-cos-scheduler-dropfile-medium-high

      T06

      d1

      $junos-cos-scheduler-dropfile-high

      T07

      d0

      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

      Predefined Variable

      Tag

      Value

      $junos-cos-scheduler

      be_sch

      $junos-cos-scheduler-tx

      T01

      10

      $junos-cos-scheduler-bs

      T02

      10

      $junos-cos-scheduler-pri

      T03

      low

      $junos-cos-scheduler-dropfile-low

      T04

      d0

      $junos-cos-scheduler-dropfile-medium-low

      T05

      d1

      $junos-cos-scheduler-dropfile-medium-high

      T06

      d2

      $junos-cos-scheduler-dropfile-high

      T07

      d3

  2. 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;
    }
    }
    }
  3. 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


Published: 2009-07-16

[an error occurred while processing this directive]