Macro 32 Ramblings

Mind Archive

JunOS OS Predefined Variables

Junos OS 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
OS hierarchy you can configure them.

Table 1: Junos OS 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 OS 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 OS 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 OS 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 OS 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-accounting statement 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 OS 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 OS 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 OS 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
OS 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 OS 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 OS 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 OS 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 OS 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 OS
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 OS 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 OS 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 OS 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 OS
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 OS
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 OS
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 OS 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 OS 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 OS 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, 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 Virtual-Router (VSA 26–1).

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

 

Related Documentation

  • MX Series
  • Dynamic Variables Overview
  • Configuring Predefined Dynamic Variables in Dynamic Profiles
  • Junos OS Predefined Variables That Correspond to RADIUS Attributes and VSAs
  • User-Defined Variables
 

Published: 2011-05-10