Technical Documentation

JUNOS Predefined Variables

JUNOS Software contains several predefined variables. The dynamic profile obtains and replaces data for these variables from an incoming client data packet and configuration (local and RADIUS). These variables are predefined—you use them in the body of a dynamic profile without first having to define the variables at the [dynamic-profiles profile-name variables] hierarchy level. Table 1 provides a list of predefined variables, their descriptions, and where in the JUNOS hierarchy you can configure them.

Table 1: JUNOS Predefined Variables and Definitions

Variable

Definition

Access and Access-Internal Routes

$junos-framed-route-cost

Cost metric of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access route address] hierarchy level for the metric statement.

$junos-framed-route-distance

Distance of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access route address] hierarchy level for the preference statement.

$junos-framed-route-ip-address-prefix

Route prefix of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access] hierarchy level for the route statement.

$junos-framed-route-ipv6-address-prefix

IPv6 route prefix of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access] hierarchy level for the route statement.

$junos-framed-route-ipv6-nexthop

IPv6 next-hop address of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access route address] hierarchy level for the next-hop statement.

$junos-framed-route-nexthop

Next-hop address of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access route address] hierarchy level for the next-hop statement.

$junos-framed-route-tag

Tag value of an access route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access route address] hierarchy level for the tag statement.

$junos-interface-name

Logical interface of an access-internal route. DHCP or PPP supplies this information when the subscriber logs in. You specify this variable at the [edit dynamic-profiles profile-name routing-options access-internal route address] hierarchy level for the qualified-next-hop statement.

This variable is also used for creating dynamic IP demux interfaces.

$junos-subscriber-ip-address

IP address of a subscriber identified in an access-internal route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access-internal] hierarchy level for the route statement.

This variable is also used for creating dynamic IP demux interfaces.

$junos-subscriber-mac-address

MAC address for a subscriber identified in an access-internal route. You specify this variable at the [edit dynamic-profiles profile-name routing-options access-internal route address qualified-next hop underlying-interface] hierarchy level for the mac-address statement.

Dynamic Protocols

$junos-igmp-access-group-name

Specifies the access list to use for the source (S) filter.

$junos-igmp-access-source-group-name

Specifies the access list to use for the source-group (S,G) filter.

$junos-igmp-enable

Ensures that IGMP is not disabled on the interface by an AAA-based authentication and management method (for example, RADIUS). You specify this variable at the [dynamic-profiles profile-name protocols igmp] hierarchy level for the interface statement.

$junos-igmp-immediate-leave

Enables IGMP immediate leave on the interface. You specify this variable at the [dynamic-profiles profile-name protocols igmp] hierarchy level for the interface statement.

$junos-igmp-version

IGMP version configured in a client access profile. The JUNOS Software obtains this information from the RADIUS server when a subscriber accesses the router. The version is applied to the accessing subscriber when the profile is instantiated. You specify this variable at the [dynamic-profiles profile-name protocols igmp] hierarchy level for the interface statement.

$junos-interface-name

Name of the dynamic interface to which the subscriber access client connects. Its use is in dynamically enabling IGMP on the subscriber interface. You specify this variable at the [dynamic-profiles profile-name protocols igmp] hierarchy level for the interface statement.

The interface name is derived from concatenating the $junos-interface-ifd-name and the $junos-underlying-interface-unit variables obtained when a subscriber is created dynamically at the [dynamic-profiles profile-name interfaces] hierarchy level.

$junos-ipv6-ndra-prefix

Prefix value for the router advertisement interface. The JUNOS Software obtains this information from the RADIUS server when a subscriber accesses the router. The prefix value is applied to the accessing subscriber when the profile is instantiated. You specify this variable at the [dynamic-profiles profile-name protocols router-advertisement interface $junos-interface-name] hierarchy level.

$junos-mld-access-group-name

Specifies the access list to use for the group (G) filter.

$junos-mld-access-source-group-name

Specifies the access list to use for the source-group (S,G) filter.

$junos-mld-enable

Ensures that MLD is not disabled on the interface by an AAA-based authentication and management method (for example, RADIUS). You specify this variable at the [dynamic-profiles profile-name protocols mld] hierarchy level for the interface statement.

$junos-mld-immediate-leave

Enables MLD immediate leave on the interface. You specify this variable at the [dynamic-profiles profile-name protocols mld] hierarchy level for the interface statement.

$junos-mld-version

MLD version configured in a client access profile. The JUNOS Software obtains this information from the RADIUS server when a subscriber accesses the router. The version is applied to the accessing subscriber when the profile is instantiated. You specify this variable at the [dynamic-profiles profile-name protocols mld] hierarchy level for the interface statement.

Dynamic CoS — Traffic-Shaping Parameters

$junos-cos-byte-adjust

Byte adjustment value configured in a traffic-control profile in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the bytes option with the overhead-accountingstatement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

$junos-cos-delay-buffer-rate

Delay-buffer rate configured in a traffic-control profile in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the delay-buffer-rate statement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

$junos-cos-excess-rate

Excess rate configured in a traffic-control profile in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the excess-rate statement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

$junos-cos-guaranteed-rate

Guaranteed rate configured in a traffic-control profile in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the guaranteed-rate statement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

$junos-cos-scheduler-map

Scheduler-map name configured in a traffic-control profile in a dynamic profile for used for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the scheduler-map statement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

NOTE: The scheduler map can be defined dynamically (at the [edit dynamic-profiles profile-name class-of-service scheduler-maps] hierarchy level) or statically (at the [edit class-of-service scheduler-maps] hierarchy level).

$junos-cos-shaping-mode

Shaping mode configured in a traffic-control profile in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the overhead-accounting statement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

$junos-cos-shaping-rate

Shaping rate configured in a traffic-control profile in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the shaping-rate statement at the [edit dynamic-profiles profile-name class-of-service traffic-control-profiles profile-name] hierarchy level.

Dynamic CoS — Scheduler Parameters

$junos-cos-scheduler

Name of a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable at the [edit dynamic-profiles profile-name class-of-service schedulers] hierarchy level.

$junos-cos-scheduler-bs

Buffer size as a percentage of total buffer, specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the buffer-size statement with the percent option at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name] hierarchy level.

$junos-cos-scheduler-pri

Packet-scheduling priority value specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the priority statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name] hierarchy level.

$junos-cos-scheduler-dropfile-any

Name of the drop profile for random early detection (RED) for loss-priority level any specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the drop-profile statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name drop-profile-map loss-priority any protocol any] hierarchy level.

NOTE: The drop profile must be configured statically (at the [edit class-of-service drop-profiles] hierarchy level).

$junos-cos-scheduler-dropfile-high

Name of the drop profile for random early detection (RED) for loss-priority level high specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the drop-profile statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name drop-profile-map loss-priority high protocol any] hierarchy level.

NOTE: The drop profile must be configured statically (at the [edit class-of-service drop-profiles] hierarchy level).

$junos-cos-scheduler-dropfile-low

Name of the drop profile for random early detection (RED) for loss-priority level low specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the drop-profile statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name drop-profile-map loss-priority low protocol any] hierarchy level.

NOTE: The drop profile must be configured statically (at the [edit class-of-service drop-profiles] hierarchy level) for loss-priority low.

$junos-cos-scheduler-dropfile-medium-high

Name of the drop profile for random early detection (RED) for loss-priority level medium-high specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the drop-profile statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name drop-profile-map loss-priority medium-high protocol any] hierarchy level.

NOTE: The drop profile must be configured statically (at the [edit class-of-service drop-profiles] hierarchy level).

$junos-cos-scheduler-dropfile-medium-low

Name of the drop profile for random early detection (RED) for loss-priority level medium-low specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the drop-profile statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name drop-profile-map loss-priority medium-low protocol any] hierarchy level.

NOTE: The drop profile must be configured statically (at the [edit class-of-service drop-profiles] hierarchy level).

$junos-cos-scheduler-excess-priority

Priority value of the excess rate specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the excess-priority statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name hierarchy level.

$junos-cos-scheduler-excess-rate

Value of the excess rate specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the excess-rate statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name hierarchy level.

$junos-cos-scheduler-shaping-rate

Value of the shaping rate specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the shaping-rate statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name hierarchy level.

$junos-cos-scheduler-tx

Transmit rate specified for a scheduler configured in a dynamic profile for subscriber access. The JUNOS Software obtains this information from the RADIUS server when a subscriber authenticates over the static or dynamic subscriber interface to which the dynamic profile is attached.

You reference this variable in the transmit-rate statement at the [edit dynamic-profiles profile-name class-of-service schedulers scheduler-name] hierarchy level.

Filters — RADIUS-obtained Policies

$junos-input-filter

Attaches a filter based on RADIUS VSA 26-10 (Ingress-Policy-Name) or RADIUS attribute 11 (Filter-ID) to the interface.

$junos-input-ipv6-filter

Attaches a filter based on RADIUS VSA 26-106 (IPv6-Ingress-Policy-Name) to the interface.

$junos-output-filter

Attaches a filter based on RADIUS VSA 26-11 (Egress-Policy-Name) to the interface.

$junos-output-ipv6-filter

Attaches a filter based on RADIUS VSA 26-107 (IPv6-Egress-Policy-Name) to the interface.

Subscriber Interfaces — Dynamic Demux Interfaces

$junos-interface-ifd-name

Name of the device to which the subscriber access client connects. All interfaces are created on this device. Its primary use is in creating single or multiple subscribers on a statically created interface. You specify this variable at the [dynamic-profiles profile-name interfaces] hierarchy level.

When creating a logical underlying interface for a dynamic VLAN demux interface.configuring dynamic VLAN demux interfaces, you must also specify this variable at the [dynamic-profiles profile-name interfaces demux0 unit $junos-interface-unit demux-options underlying-interface] hierarchy level.

$junos-interface-unit

Creates a unit number assigned to the logical interface. The router supplies this information when the subscriber accesses the network. You specify this variable at the [dynamic-profiles profile-name interfaces interface-name] hierarchy level for the unit statement.

$junos-ipv6-address

Selects the IPv6 address of the interface the subscriber uses. You specify this variable at the [edit dynamic-profiles profile-name interfaces interface-name unit logical-unit-number family family], [edit dynamic-profiles profile-name interfaces demux0 unit logical-unit-number family family], [edit dynamic-profiles profile-name interfaces pp0 unit “$junos-interface-unit” family family], and [edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family family] hierarchy level for the address statement.

$junos-loopback-interface

Selects the loopback interface the subscriber uses. You specify this variable at the [dynamic profiles profile-name interfaces demux0 unit "$junos-interface-unit" family inet] hierarchy level for the unnumbered-address statement.

$junos-preferred-source-address

Selects the preferred source address associated with the loopback address used for the subscriber. You specify this variable at the [dynamic profiles profile-name interfaces demux0 unit "$junos-interface-unit" family inet unnumbered-address “$junos-loopback-interface”] hierarchy level for the preferred-source-address statement.

$junos-subscriber-ip-address

IP address of the subscriber. You specify this variable at the [dynamic-profiles profile-name interfaces demux0 unit family inet demux-source] hierarchy level.

This variable is also used for creating access-internal routes.

$junos-underlying-interface

Creates a logical underlying interface for a dynamic IP demux interface. The client logs in on this interface. You specify this variable at the [dynamic profiles profile-name interfaces demux0 unit "$junos-interface-unit" demux-options] hierarchy level for the underlying-interface statement.

When configured, the underlying interface is used to determine the $junos-underlying-interface, $junos-underlying-interface-unit, and $junos-ifd-name variables. For example, if the receiving logical interface is ge-0/0/0.1, the $junos-underlying-interface variable is set to ge-0/0/0 and the $junos-underlying-interface-unit variable is set to 1.

This variable is also used for creating access-internal routes.

Subscriber Interfaces — Static VLAN Interfaces

$junos-interface-ifd-name

Name of the device to which the subscriber access client connects. All interfaces are created on this device. Its primary use is in creating single or multiple subscribers on a statically created interface. You specify this variable at the [dynamic-profiles profile-name interfaces] hierarchy level.

$junos-underlying-interface-unit

Obtains the unit number for the underlying interface. It specifies the use of the underlying interface for the subscriber. You specify this variable at the [dynamic-profiles profile-name interfaces $junos-interface-ifd-name] hierarchy for the unit statement.

Subscriber Interfaces — Dynamic PPPoE Interfaces

$junos-interface-unit

Specifies the logical unit number when the router dynamically creates a PPPoE logical interface. The $junos-interface-unit predefined variable is dynamically replaced with the unit number supplied by the network when the PPPoE subscriber logs in. You specify this variable at the [edit dynamic-profiles profile-name interfaces pp0] hierarchy level for the unit statement.

$junos-underlying-interface

Specifies the name of the underlying Ethernet interface on which the router dynamically creates the PPPoE logical interface. The $junos-underlying-interface predefined variable is dynamically replaced with the name of the underlying interface supplied by the network when the PPPoE subscriber logs in. You specify this variable at the [edit dynamic-profiles profile-name interfaces pp0 unit “$junos-interface-unit” pppoe-options] hierarchy level for the underlying-interface statement.

Wholesale Networking

$junos-interface-name

Name of the dynamic interface to which the subscriber access client connects. Its use is in identifying the subscriber interface. You specify this variable at the [dynamic-profiles profile-name routing-instance $junos-routing-instance] hierarchy level for the interface statement.

The interface name is derived from concatenating the $junos-interface-ifd-name and the $junos-underlying-interface-unit variables obtained when a subscriber is created dynamically at the [dynamic-profiles profile-name routing-instance $junos-routing-instance interface] hierarchy level.

$junos-routing-instance

Name of the routing instance to which the subscriber is assigned. This variable triggers a return value from the RADIUS server for LSRI-Name (VSA 26–1).

You reference this variable in the statement at the [dynamic-profiles profile-name] hierarchy level for the routing-instance statement.


Published: 2010-04-15