Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Configuring Schedulers in a Dynamic Profile for Subscriber Access

You use schedulers to define the parameters of output queues. These properties include the amount of interface bandwidth assigned to the queue, the size of the memory buffer allocated for storing packets, the priority of the queue, and the tail drop profiles associated with the queue.

You can configure up to four schedulers in a dynamic profile.

Within a dynamic profile, you can choose to define schedulers with static values, dynamic variables, or a combination of static values and dynamic variables. The dynamic variables enable RADIUS to provide the value for the scheduler parameter when the subscriber logs in.

Configuring Static Schedulers in a Dynamic Profile

This topic describes how to configure schedulers with static values in a dynamic profile for subscriber access.

To configure static scheduling and queuing in a dynamic profile:

  1. Configure the scheduler and queuing parameters.
    1. Specify the scheduler for which you want to configure parameters.
      [edit dynamic-profiles profile-name class-of-service]user@host# edit schedulers scheduler-name
    2. Configure the buffer size.
      [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set buffer-size remainder
    3. Configure the drop-profile map and drop profile.
      [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set drop-profile-map loss-priority any protocol any drop-profile d3
    4. Configure the priority.
      [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set priority low
    5. Configure the transmit rate.
      [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set transmit-rate percent 40
    6. Configure the excess rate.
      [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-rate percent 90
    7. (Optional) Configure the priority value for the excess-rate.
      [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-priority high
  2. Associate the scheduler with a scheduler map.
    1. Configure the scheduler map name.
      [edit dynamic-profiles profile-name class-of-service]user@host# set scheduler-maps data-smap
    2. Configure the forwarding class.
      [edit dynamic-profiles profile-name class-of-service scheduler-maps map-name]user@host# set forwarding-class be
    3. Configure the scheduler.
      [edit dynamic-profiles profile-name class-of-service scheduler-maps map-name forwarding-class forwarding-class-name]user@host# set scheduler be_sch

Configuring Dynamic Schedulers with Variables in a Dynamic Profile

You can configure variables for the dynamic scheduler parameters. These values are dynamically obtained by RADIUS when a subscriber logs in or changes a service using a RADIUS change of authorization (CoA) message.

To configure dynamic scheduling and queuing in a dynamic profile:

  1. Configure the scheduler and queuing parameters.
    1. Specify the scheduler name using a variable.
      [edit dynamic-profiles profile-name class-of-service]user@host# edit schedulers $junos-cos-scheduler
    2. Configure the variable for the buffer size.
      [edit dynamic-profiles profile-name class-of-service schedulers]user@host# set buffer-size (percent $junos-cos-scheduler-bs | temporal $junos-cos-scheduler-bs)
    3. Configure the variables for the drop-profile maps and the drop profile.
      [edit dynamic-profiles profile-name class-of-service schedulers]user@host# set drop-profile-map loss-priority low protocol any drop-profile $junos-cos-scheduler-lowuser@host# set drop-profile-map loss-priority medium-low protocol any drop-profile $junos-cos-scheduler-medium-lowuser@host# set drop-profile-map loss-priority medium-high protocol any drop-profile $junos-cos-scheduler-medium-highuser@host# set drop-profile-map loss-priority high protocol any drop-profile $junos-cos-scheduler-highuser@host# set drop-profile-map loss-priority any protocol any drop-profile $junos-cos-scheduler-any
    4. Configure the variable for the priority.
      [edit dynamic-profiles profile-name class-of-service schedulers]user@host# set priority $junos-cos-scheduler-pri
    5. Configure the variable for the transmit rate.
      [edit dynamic-profiles profile-name class-of-service schedulers]user@host# set transmit-rate $junos-cos-scheduler-tx
    6. Configure the variable for the excess rate.
      [edit dynamic-profiles profile-name class-of-service schedulers]user@host# set excess-rate percent $junos-cos-scheduler-excess-rate
    7. Configure the variable for the priority of the excess-rate.
      [edit dynamic-profiles profile-name class-of-service schedulers]user@host# set excess-priority $junos-cos-scheduler-excess-priority
  2. Associate the scheduler with a scheduler map.
    1. Configure the scheduler map name.
      [edit dynamic-profiles profile-name class-of-service]user@host# edit scheduler-maps scheduler-map-name
    2. Configure the forwarding class.
      [edit dynamic-profiles profile-name class-of-service scheduler-maps scheduler-map-name]user@host# set forwarding-class be
    3. Configure the scheduler.
      [edit dynamic-profiles profile-name class-of-service scheduler-maps scheduler-map-name]user@host# set scheduler $junos-cos-scheduler

Configuring a Combination of Static and Dynamic Scheduler Parameters in a Scheduler Definition

Within a dynamic profile, you can choose to configure one dynamic scheduler definition, or combine static and dynamic scheduler parameters in many static scheduler definitions.

Combining static and dynamic scheduler parameters enables you to provide subscribers with unique rate configurations that the RADIUS definitions for predefined variables do not allow.

To configure a scheduler definition that contains static and dynamic scheduling and queuing parameters:

  1. Configure the scheduler definition.
    1. Specify the scheduler name.

      Note: To configure a static scheduler that contains both static and dynamic parameters, you must specify a unique scheduler name, not the $junos-cos-scheduler variable.

      [edit dynamic-profiles profile-name class-of-service]user@host# edit schedulers scheduler-name
    2. Configure the buffer size.

      Do either of the following:

      • Configure a static value.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set buffer-size (percent percentage | remainder | temporal (microseconds)
      • Configure a variable.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set buffer-size (percent $junos-cos-scheduler-bs | temporal $junos-cos-scheduler-bs)
    3. Configure the drop-profile maps, the drop profile, and the priority.

      Do either of the following:

    4. Configure the priority.

      Do either of the following:

      • Configure a static value.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-priority high
      • Configure a variable.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-priority $junos-cos-scheduler-excess-priority
    5. Configure the transmit rate.

      Do either of the following:

      • Configure a static value.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set transmit-rate
      • Configure a variable.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set transmit-rate $junos-cos-scheduler-tx
    6. Configure the excess rate.

      Do either of the following:

      • Configure a static value.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-rate percent 250
      • Configure a variable.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-rate percent $junos-cos-scheduler-excess-rate
    7. Configure the priority for the excess-rate.

      Do either of the following:

      • Configure a static value.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-priority high
      • Configure a variable.
        [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name]user@host# set excess-priority percent $junos-cos-scheduler-excess-priority
  2. Associate the scheduler with a scheduler map.
    1. Configure the scheduler map name.
      [edit dynamic-profiles profile-name class-of-service]user@host# edit scheduler-maps scheduler-map-name
    2. Configure the forwarding class.
      [edit dynamic-profiles profile-name class-of-service scheduler-maps scheduler-map-name]user@host# set forwarding-class be
    3. Configure the scheduler.
      [edit dynamic-profiles profile-name class-of-service scheduler-maps scheduler-map-name]user@host# set scheduler $junos-cos-scheduler

Published: 2013-02-11