Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Broadband Subscriber Services User Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Example: Configuring a Dynamic Interface Set of VLAN Subscribers

date_range 06-Dec-23

Requirements

This example uses the following software and hardware components:

  • MX Series Router with MPCs

Overview

In this example, the network administrator groups dynamic VLAN interfaces in an interface set. The interface set is configured in a dynamic profile, and enables hierarchical scheduling for the VLAN interfaces for a multiplay service.

DHCP is used as the access method, and RADIUS is used as the authentication method for the interfaces associated with the interface set.

Configuring the Dynamic VLANs

CLI Quick Configuration

To quickly configure the dynamic VLANs, copy the following commands and paste them into the router terminal window:

content_copy zoom_out_map
[edit]
edit dynamic-profiles vlan-prof
edit interfaces $junos-interface-ifd-name unit $junos-interface-unit
set vlan-id $junos-vlan-id
set demux-source inet 
set family inet unnumbered-address lo0.0 preferred-source-address 203.0.113.32
top
edit interfaces ge-1/0/0
set hierarchical-scheduler
set vlan-tagging
edit auto-configure vlan-ranges dynamic-profile vlan-prof
set ranges any
set accept inet
top
set interfaces lo0 unit 0 family inet address 203.0.113.32/32

Configuring the Dynamic Profile for the Autoconfigured VLANs

Step-by-Step Procedure

In this section, you create a dynamic profile for the VLAN IDs to be automatically assigned when subscribers log in.

To configure the dynamic profile for the VLANs:

  1. Configure the dynamic profile.

    content_copy zoom_out_map
    [edit]
    user@host#edit dynamic-profile vlan-prof
    
  2. Configure the interfaces.

    content_copy zoom_out_map
    [edit dynamic-profiles vlan-prof]
    user@host#edit interfaces $junos-interface-ifd-name unit $junos-interface-unit
    
  3. Add the VLAN ID variable.

    content_copy zoom_out_map
    [edit dynamic-profiles vlan-prof interfaces $junos-interface-ifd-name unit $junos-interface-unit]
    user@host#set vlan-id $junos-vlan-id
    
  4. Configure the demux source as IPv4.

    content_copy zoom_out_map
    [edit dynamic-profiles vlan-prof interfaces $junos-interface-ifd-name unit $junos-interface-unit]
    user@host#set demux-source inet
    
  5. Configure the family.

    content_copy zoom_out_map
    [edit dynamic-profiles vlan-prof interfaces $junos-interface-ifd-name unit $junos-interface-unit]
    user@host#set family inet unnumbered-address lo0.0 preferred-source-address 203.0.113.32
    

Configuring the VLAN Interfaces

Step-by-Step Procedure

To configure the VLAN interfaces:

  1. Create the VLAN interface.

    content_copy zoom_out_map
    [edit]
    user@host# edit interfaces ge-1/0/0
    
  2. Enable hierarchical scheduling.

    content_copy zoom_out_map
    [edit interfaces ge-1/0/0]
    user@host# set hierarchical-scheduler
    
  3. Configure VLAN tagging.

    content_copy zoom_out_map
    [edit interfaces ge-1/0/0]
    user@host# set vlan-tagging
    
  4. Configure auto-configuration for the dynamic profile.

    content_copy zoom_out_map
    [edit interfaces ge-1/0/0]
    user@host# edit auto-configure vlan-ranges dynamic-profile vlan-prof
    
  5. Configure any VLAN ID range.

    content_copy zoom_out_map
    [edit interfaces ge-1/0/0 auto-configure vlan-ranges dynamic-profile vlan-prof]
    user@host# set ranges any
    
  6. Specify IPv4 traffic for the VLAN.

    content_copy zoom_out_map
    [edit interfaces ge-1/0/0 auto-configure vlan-ranges dynamic-profile vlan-prof]
    user@host# set accept inet
    

Configuring the Loopback Interface

Step-by-Step Procedure

To configure the loopback interface:

  1. Create the loopback interface.

    content_copy zoom_out_map
    [edit]
    user@host# edit interfaces lo0
    
  2. Configure the unit and the family.

    content_copy zoom_out_map
    [edit intefaces lo0]
    user@host# set unit 0 family inet address 203.0.113.32/32
    

Configuring Dynamic Traffic Scheduling and Shaping

CLI Quick Configuration

To quickly configure the traffic scheduling and shaping parameters, copy the following commands and paste them into the router terminal window:

content_copy zoom_out_map
[edit]
edit dynamic-profiles multiplay class-of-service schedulers be_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit ef_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit af_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit nc_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit voice_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit video_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit game_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up
edit data_sch
set transmit-rate percent 12 
set buffer-size percent 12
set priority low
up 2
edit scheduler-maps all_smap
set forwarding-class be scheduler be_sch
set forwarding-class ef scheduler ef_sch
set forwarding-class af scheduler af_sch
set forwarding-class nc scheduler nc_sch
set forwarding-class voice scheduler voice_sch
set forwarding-class video scheduler video_sch
set forwarding-class game scheduler game_sch
set forwarding-class data scheduler data_sch
up 2
edit traffic-control-profiles multiplay
set scheduler-map all_smap
set shaping-rate 100m
set guaranteed-rate 20m

Configuring the Schedulers in the Dynamic Profile

Step-by-Step Procedure

In this section, you create a dynamic profile for the multiplay service and configure scheduling and shaping.

To configure the schedulers:

  1. Create the multiplay dynamic profile.

    content_copy zoom_out_map
    [edit]
    user@host# edit dynamic-profiles multiplay class-of-service schedulers
    
  2. Configure the best effort scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit be_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  3. Configure the expedited forwarding scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit ef_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  4. Configure the assured forwarding scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit af_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  5. Configure the network control scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit nc_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  6. Configure the voice scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit voice_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  7. Configure the video scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit video_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  8. Configure the gaming scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit game_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    
  9. Configure the data scheduler.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service schedulers]
    user@host# edit data_sch
    user@host# set transmit-rate percent 12
    user@host# set buffer-size percent 12
    user@host# set priority low
    

Configuring the Scheduler Map in the Dynamic Profile

Step-by-Step Procedure

To configure the scheduler map:

  1. Configure the scheduler map for all of the services.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service]
    user@host# edit scheduler-maps all_smap
    
  2. Configure the forwarding classes for each service in the scheduler map.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service scheduler-maps all_smap]
    user@host# set forwarding-class be scheduler be_sch
    user@host# set forwarding-class ef scheduler ef_sch
    user@host# set forwarding-class af scheduler af_sch
    user@host# set forwarding-class nc scheduler nc_sch
    user@host# set forwarding-class voice scheduler voice_sch
    user@host# set forwarding-class video scheduler video_sch
    user@host# set forwarding-class game scheduler game_sch
    user@host# set forwarding-class data scheduler data_sch
    

Configuring the Traffic-Control Profile in the Dynamic Profile

Step-by-Step Procedure

To configure the traffic-control profile the interface set:

  1. Configure the traffic-control profile.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service]
    user@host# edit traffic control-profiles multiplay
    
  2. Configure the scheduler map.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service traffic control-profiles multiplay]
    user@host# set scheduler-map all_smap
    
  3. Configure the shaping rate.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service traffic control-profiles multiplay]
    user@host# set shaping-rate 100m
    
  4. Configure the guaranteed rate.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay class-of-service traffic control-profiles multiplay]
    user@host# set guaranteed-rate 20m
    

Configuring the Interface Set in the Dynamic Profile

CLI Quick Configuration

To quickly configure the interface set, copy the following commands and paste them into the router terminal window:

content_copy zoom_out_map
[edit]
edit dynamic-profiles multiplay
edit interfaces interface-set $junos-interface-set-name
set interface $junos-interface-ifd-name unit $junos-underlying-interface-unit
top
edit class-of-service interfaces interface-set 
set output-traffic-control-profile multiplay

Configuring the Interfaces for the Interface Set

Step-by-Step Procedure

To configure the interface variable for the interface set:

  1. Configure the dynamic profile for the interface set.

    content_copy zoom_out_map
    [edit]
    user@host#edit dynamic-profiles multiplay
    
  2. Configure the interface using the Junos OS predefined variable.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay]
    user@host#edit interfaces $junos-interface-ifd-name unit $junos-underlying-interface-unit
    
  3. Configure the family.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay interfaces $junos-interface-set-name unit $junos-underlying-interface-unit]
    user@host#set family inet unnumbered-address lo0.0 preferred-source-address 203.0.113.32
    

Configuring the Interface Set

Step-by-Step Procedure

To configure the interface set:

  1. Configure the interface set using the Junos OS predefined variable.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay]
    user@host#edit interfaces interface-set $junos-interface-set-name
    
  2. Add the dynamic VLAN interfaces to the interface set.

    content_copy zoom_out_map
    [edit dynamic-profiles multiplay interfaces $junos-interface-set-name]
    user@host#set interface $junos-interface-ifd-name unit $junos-underlying-interface-unit
    

Applying the Traffic-Control Profile to the Interface Set

Step-by-Step Procedure

You apply the traffic-control profile outside of the dynamic profile in the [edit class-of-service] hierarchy.

To apply the traffic-control profile:

  1. Specify the interface set to which you want to apply the traffic-control profile.

    content_copy zoom_out_map
    [edit class-of-service]
    user@host#edit interfaces interface-set dynamic-set
    
  2. Attach the output traffic-control profile defined in the dynamic profile to the interface set.

    content_copy zoom_out_map
    [edit class-of-service interfaces]
    user@host#set output-traffic-control-profile multiplay
    

Configuring DHCP Access

CLI Quick Configuration

To quickly configure DHCP access, copy the following commands and paste them into the router terminal window:

content_copy zoom_out_map
[edit]
edit system services dhcp-local-server authentication
set password $ABC123
set username-include user-prefix multiplay
up 1
set dynamic-profile dhcp-vlan-prof aggregate-clients replace
set group vlans interface ge-1/0/0
top
edit access address-assignment pool v4 family inet
set network 203.0.113.0/16
set range limited low 203.0.113.10
set range limited high 203.0.113.250
set dhcp-attributes maximum-lease-time 84600

Configuring the DHCP Local Server

Step-by-Step Procedure

To configure DHCP access:

  1. Configure the DHCP local server.

    content_copy zoom_out_map
    [edit system]
    user@host# edit services dhcp-local-server authentication
    
  2. Set the password.

    content_copy zoom_out_map
    [edit system services dhcp-local-server authentication]
    user@host# set password $ABC123
    
  3. Specify that you want to include optional information in the username.

    content_copy zoom_out_map
    [edit system services dhcp-local-server authentication]
    user@host# set username-include user-prefix multiplay
    
  4. Attach the dynamic profile with the interface set.

    content_copy zoom_out_map
    [edit system services dhcp-local-server]
    user@host# set dynamic-profile dhcp-vlan-prof aggregate-clients replace
    
  5. Configure a group for the VLAN interface.

    content_copy zoom_out_map
    [edit system services dhcp-local-server]
    user@host# set group vlans interface ge-1/0/0
    

Configuring Address Assignment Pools

Step-by-Step Procedure

To configure address assignment pools:

  1. Configure the pool of IPv4 addresses.

    content_copy zoom_out_map
    [edit access]
    user@host#edit address-assignment pool v4 family inet
    
  2. Configure the family of interfaces in the pool.

    content_copy zoom_out_map
    [edit access address-assignment pool v4]
    user@host#set network 203.0.113.0/16
    
  3. Configure the upper and lower bounds of the address range.

    content_copy zoom_out_map
    [edit access address-assignment pool v4]
    user@host#set range limited low 203.0.113.10
    user@host#set range limited high 203.0.113.250
    
  4. Configure the maximum length of time in seconds for which a subscriber can request and hold a lease.

    content_copy zoom_out_map
    [edit access address-assignment pool v4]
    user@host#set dhcp-attributes maximum-lease-time 84600
    

Configuring RADIUS Authentication

CLI Quick Configuration

To quickly configure RADIUS authentication, copy the following commands and paste them into the router terminal window:

content_copy zoom_out_map
[edit]
edit access radius-server 192.51.100.108 
set secret $ABC123ABC123ABC123
set timeout 5
set retry 5
up 2
edit profile acc-prof 
set authentication-order radius
set radius authentication-server 192.51.100.108

Configuring RADIUS Access

Step-by-Step Procedure

To configure RADIUS access:

  1. Configure the RADIUS server.

    content_copy zoom_out_map
    [edit access]
    user@host#edit radius-server 192.51.100.108 
    
  2. Configure the required secret (password) that the local router or switch passes to the RADIUS client.

    content_copy zoom_out_map
    [edit access radius-server 192.51.100.108]
    user@host# set secret $ABC123ABC123ABC123
    
  3. Configure the length of time that the local router or switch waits to receive a response from a RADIUS server.

    content_copy zoom_out_map
    [edit access radius-server 192.51.100.108]
    user@host# set timeout 5
    
  4. Configure the number of times that the router or switch attempts to contact a RADIUS accounting server.

    content_copy zoom_out_map
    [edit access radius-server 192.51.100.108]
    user@host# set retry 5
    
  5. Configure the access profile.

    content_copy zoom_out_map
    [edit access]
    user@host#edit profile acc-prof 
    
  6. Configure the authentication order.

    content_copy zoom_out_map
    [edit access profile acc-prof ]
    user@host# set authentication-order radius
    
  7. Configure the authentication server.

    content_copy zoom_out_map
    [edit access profile acc-prof]
    user@host#set radius authentication-server 192.51.100.108
    

Results

content_copy zoom_out_map
dynamic-profiles {
    vlan-prof {
        interfaces {
            “$junos-interface-ifd-name” {
                unit "$junos-interface-unit" {
                    vlan-id "$junos-vlan-id";
                    demux-source inet;
                    family inet {
                        unnumbered-address lo0.0 preferred-source-address 203.0.113.32;
                    }
                }
            }
        }
    }
    multiplay {
        class-of-service {
            traffic-control-profiles {
                multiplay {
                    scheduler-map all_smap;
                    shaping-rate 100m;
                    guaranteed-rate 20m;
                }
            }
            interfaces {
                    interface-set “$junos-interface-set-name” {
                        interface “$junos-interface-ifd-name” {
                            unit “$junos-underlying-interface-unit”;
                        }
                    }
                “$junos-interface-ifd-name” {
                    unit "$junos-interface-unit" {
                        output-traffic-control-profile multiplay;
                    }
                }
            }
            scheduler-maps {
                all_smap {
                    forwarding-class be scheduler be_sch;
                    forwarding-class ef scheduler ef_sch;
                    forwarding-class af scheduler af_sch;
                    forwarding-class nc scheduler nc_sch;
                    forwarding-class voice scheduler voice_sch;
                    forwarding-class video scheduler video_sch;
                    forwarding-class game scheduler game_sch;
                    forwarding-class data scheduler data_sch;
                }
            }
            schedulers {
                be_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                ef_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                af_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                nc_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                voice_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                video_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                game_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
                data_sch {
                    transmit-rate percent 12;
                    buffer-size percent 12;
                    priority low;
                }
            }
            }
        }
        access {
            radius-server {
                192.51.100.108 {
                    secret "$ABC123ABC123ABC123"; ## SECRET-DATA
                    timeout 5;
                    retry 5;
                }
            }
            profile acc-prof {
                authentication-order radius;
                radius {
                    authentication-server 192.51.100.108;
                }
            }
            address-assignment {
                pool v4 {
                    family inet {
                        network 203.0.113.0/16;
                        range limited {
                            low 203.0.113.10;
                            high 203.0.113.250;
                        }
                        dhcp-attributes {
                            maximum-lease-time 84600;
                        }
                    }
                }
            }
        }
        class-of-service {
            interfaces {
                interface-set dynamic-set {
                    output-traffic-control-profile multiplay;
                }
            }
        }
        interfaces {
            interface-set “$junos-interface-set-name” {
                interface "$junos-interface-ifd-name" {
                    unit "$junos-underlying-interface-unit";
                }
            }
            "$junos-interface-ifd-name" {
                unit "$junos-underlying-interface-unit" {
                    family inet {
                        unnumbered-address lo0.0 preferred-source-address 203.0.113.32;
                    }
                }
            }
        }
    }
}
    interfaces {
        ge-1/0/0 {
            hierarchical-scheduler;
            vlan-tagging;
            auto-configure {
                vlan-ranges {
                    dynamic-profile vlan-prof {
                        accept inet;
                        ranges {
                            any;
                        }
                    }
                }
            }
        }
        lo0 {
            unit 0 {
                family inet {
                    address 203.0.113.32/32;
                }
            }
        }
    }
    system {
        services {
            dhcp-local-server {
                authentication {
                    password $ABC123;
                    username-include {
                        user-prefix multiplay;
                    }
                }
                dynamic-profile multiplay aggregate-clients replace;
                group vlans {
                    interface ge-1/0/0.0;
                }
            }
        }
    }

Verification

To confirm that the configuration is correct, perform these tasks:

Verifying the Interfaces that are Included in the Interface Set

Purpose

Verify the interfaces included in the interface set.

Action

content_copy zoom_out_map
user@host> show interfaces interface-set dynamic-set terse

Verifying the Traffic Scheduling and Shaping Parameters for the Interface Set

Purpose

Verify that the traffic scheduling and shaping parameters are applied properly to an interface included in the interface set.

Action

content_copy zoom_out_map
user@host> show class-of-service interface
footer-navigation