Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Example: Configuring Dynamic Hierarchical 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 VLAN interface 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 OS 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" {classifiers {ieee-802.1 l2_classifier;}rewrite-rules {ieee-802.1 l2_rewrite;}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

        4m

        Table 2 lists the initial values defined by the RADIUS administrator for the voice (expedited forwarding) scheduler.

        Table 2: Initial CoS Values for the Voice 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

        medium-high

        $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 data (best effort) scheduler.

        Table 3: Initial CoS Values for the Data 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 classifiers, drop profiles, forwarding classes, and rewrite rules in the static [edit class-of-service] hierarchy.
      [edit]
      class-of-service {classifiers {dscp dscp_classifier {forwarding-class be {loss-priority low code-points 000000;}forwarding-class af {loss-priority medium-low code-points 000001;}}ieee-802.1 l2_classifier {forwarding-class be {loss-priority medium-low code-points 000;}forwarding-class ef {loss-priority medium-low code-points 100;}forwarding-class af {loss-priority medium-low code-points 010;}}}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;}}rewrite-rules {ieee-802.1 l2_rewrite {forwarding-class be {loss-priority medium-low code-point 000;}forwarding-class ef {loss-priority medium-low code-point 001;}forwarding-class af {loss-priority medium-low code-point 100;}dscp l2_rewrite {forwarding-class be {loss-priority medium-low code-points 000;}forwarding-class ef {loss-priority medium-low code-points 001;}forwarding-class af {loss-priority medium-low code-points 001;}}}
    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 OS 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_sch default-value af_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_sch”;}}schedulers {"$af_sch" {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 “$sch-drop-any”;}}}}

    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

    Table 5 lists the values defined by the RADIUS administrator for the video (assured forwarding) scheduler.

    Table 5: Upgraded CoS Values for the Video Scheduler

    Predefined Variable

    Tag

    Value

    $junos-cos-scheduler

    af_sch

    $junos-cos-scheduler-tx

    T01

    10

    $junos-cos-scheduler-bs

    T02

    10

    $junos-cos-scheduler-pri

    T03

    medium

    $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 6 lists the values defined by the RADIUS administrator for the expedited forwarding scheduler in the CoA message. The values are the same as the initial service.

    Table 6: 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

    medium-high

    $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 7 lists the values defined by the RADIUS administrator for the best effort scheduler in the CoA message. The values are the same as the initial service.

    Table 7: 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

    Published: 2013-02-11