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 that is defined in the dynamic profile using the $junos-interface-ifd-name predefined variable.
[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 tcp_1;
}
}
}
}
}
}
The traffic-control profile tcp_1, references
Junos OS 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 OS predefined variable $junos-cos-scheduler-map scheduler-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 OS 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 . . .
}
}
}