The following configuration is an example of a client dynamic profile in which JUNOS internal variables for dynamic CoS are used to obtain CoS variables from the RADIUS server when a subscriber authenticates over a logical interface to which this dynamic profile is applied. The traffic-control profile tcp1 references internal variables to specify a RADIUS-obtained scheduler-map name and traffic-shaping parameter values. The scheduler configuration uses internal variables to specify a RADIUS-obtained scheduler name and parameter values:
- [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;
- }
- }
- }
-
- 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";
- }
- }
-
- scheduler-maps {
-
- business_smap_1 {
- forwarding-class fc_a scheduler af_scheduler;
- }
-
- business_smap_2 {
- forwarding-class fc_b scheduler be_scheduler;
- }
-
- business_smap_3 {
- forwarding-class fc_c scheduler ef_scheduler;
- }
-
- business_smap_4 {
- forwarding-class fc_d scheduler nc_scheduler;
- }
- }
-
- schedulers {
-
- $junos-cos-scheduler {
- 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;
- }
- }
- }
- }
- }
For this example, assume the following: