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 . . . } } }