Example: Configuring Initial CoS Parameters Dynamically Obtained from RADIUS
The following configuration is an example of a client dynamic profile in which initial CoS parameters are dynamically obtained from the RADIUS server when a subscriber authenticates over the interface to which the dynamic profile is applied.
For this example, assume that the RADIUS authentication server has been configured with traffic-shaping parameters (at Juniper Networks VSA 26-108) and CoS scheduling and queuing parameters (at Juniper Networks VSA 26–146).
The subscriber interface is a single-unit static gigabit Ethernet VLAN interface on an EQ DPC port:
- [edit]
- interfaces {
-
- ge-9/0/3 {
- hierarchical-scheduler;
- vlan-tagging;
-
- unit 100 {
- vlan-id 100;
-
- family inet {
- address 192.168.32.2/24;
- }
- }
- }
- }
The client dynamic profile residential_silver attaches the traffic-control profile tcp_1 to the subscriber interface:
- [edit]
- dynamic-profiles {
-
- residential_silver {
-
- interfaces {
-
- “$junos-interface-ifd-name” {
-
- unit “$junos-underlying-interface-unit” {
- family inet;
- }
- }
- }
-
- class-of-service {
-
- interfaces {
-
- “$junos-interface-ifd-name” {
-
- unit “$junos-underlying-interface-unit” {
- output-traffic-control-profile tcp1;
- }
- }
- }
- }
- }
- }
The traffic-control profile tcp_1, references JUNOS predefined variables to obtain a scheduler-map name and traffic-shaping parameter values from RADIUS when a subscriber logs in. For this example, assume that the RADIUS server replaces the JUNOS predefined variable $junos-cos-scheduler-mapscheduler-map name business_smap_1. The scheduler map business_smap_1 is configured in the client dynamic profile:
- [edit]
- dynamic-profiles {
-
- residential_silver {
-
- class-of-service {
-
- traffic-control-profiles {
-
- tcp_1 {
- scheduler-map “$junos-cos-scheduler-map”; #
’business_smap_1’
- shaping-rate "$junos-cos-shaping-rate";
- guaranteed-rate "$junos-cos-guaranteed-rate";
- delay-buffer-rate "$junos-cos-delay-buffer-rate";
- }
- }
-
- scheduler-maps {
-
- business_smap_1 {
- forwarding-class best-effort scheduler be_sched;
- forwarding-class ef scheduler home_sched
- }
- }
- }
- }
- }
A scheduler definition references JUNOS predefined variables to obtain scheduler configurations from RADIUS when a subscriber logs in. For this example, assume that the RADIUS server provides scheduler configurations for schedulers named be_sched and home_sched, which are included in the scheduler map business_smap_1:
- [edit]
- dynamic-profiles {
-
- residential_silver {
-
- class-of-service {
-
- schedulers {
-
- “$junos-cos-scheduler” { # ’be_sched’
and ’home_sched’
- transmit-rate "$junos-cos-scheduler-tx";
- buffer-size "$junos-cos-scheduler-bs";
- priority "$junos-cos-scheduler-pri";
- drop-profile-map loss-priority low protocol any drop-profile
“$junos-cos-scheduler-dropfile-low“;
- drop-profile-map loss-priority medium-low protocol any
drop-profile “$junos-cos-scheduler-dropfile-medium-low“;
- drop-profile-map loss-priority medium-high protocol any
drop-profile “$junos-cos-scheduler-dropfile-medium-high“;
- drop-profile-map loss-priority high protocol any drop-profile
“$junos-cos-scheduler-dropfile-high“;
- }
- }
- }
- }
- }
Static configurations for CoS consist of configurations for the forwarding classes used in the scheduler map business_smap_1 and configurations for drop-profile names provided by RADIUS for as part of the scheduler configurations provided (for be_sched and home_sched) when a subscriber logs in:
- [edit]
-
- class-of-service {
-
- forwarding-classes {
- queue 0 best-effort;
- queue 1 ef;
- }
-
- drop-profiles {
- . . . configurations_for_drop_profile_names_provided_by_RADIUS . . .
- }
- }
- }
