Supported Platforms
Interface Ranges
![]() | Note: This task uses Junos OS for EX Series switches with support for the Enhanced Layer 2 Software (ELS) configuration style. If your switch runs software that does not support ELS, see Interface Ranges. For ELS details, see Getting Started with Enhanced Layer 2 Software. |
Junos OS allows you to group a range of identical interfaces into an interface range. You first specify the group of identical interfaces in the interface range. Then you can apply a common configuration to the specified interface range, reducing the number of configuration statements required and saving time while producing a compact configuration.
- Configuring Interface Ranges
- Expanding Interface Range Member and Member Range Statements
- Configuration Inheritance for Member Interfaces
- Member Interfaces Inheriting Configuration from Configuration Groups
- Interfaces Inheriting Common Configuration
- Configuring Inheritance Range Priorities
- Configuration Expansion Where Interface Range Is Used
Configuring Interface Ranges
To configure an interface range, include the interface-range statement at the [edit interfaces] hierarchy level.
The interface-range statement accepts only physical networking interface names in its definition.
Interfaces can be grouped either as a range of interfaces or using a number range under the interface-range statement definition.
Interfaces in an interface-range definition can be added as part of a member range or as individual members or multiple members using a number range.
To specify a member range, use the member-range statement at the [edit interfaces interface-range name] hierarchy level.
To specify interfaces in lexical order, use the member-range start-range to end-range statement.
A range for a member statement must contain the following:
- *—All, specifies sequential interfaces
from 0 through 47.
Caution: The wildcard * in a member statement does not take into account the interface numbers supported by a specific interface type. Irrespective of the interface type, * includes interface numbers ranging from 0 through 47 to the interface group. Therefore, use * in a member statement with caution.
- num—Number; specifies one specific interface by its number.
- [low-high]—Numbers between low to high; specifies a range of sequential interfaces.
- [num1, num2, num3]—Numbers num1, num2, and num3 specify multiple specific interfaces.
Example: Specifying an Interface Range Member Range
To specify one or multiple members, use the member statement at the [edit interfaces interface-range name] hierarchy level.
To specify the list of interface range members individually or for multiple interfaces using regex, use the member list of interface names statement.
Example: Specifying an Interface Range Member
Regex or wildcards are not supported for interface-type prefixes. For example, prefixes ge, fe, and xe must be mentioned explicitly.
An interface-range definition can contain both member and member-range statements within it. There is no maximum limit on the number of member or member-range statements within an interface-range. However, at least one member or member-range statement must exist within an interface-range definition.
Example: Interface Range Common Configuration
Configuration common to an interface range can be added as a part of the interface-range definition, as follows:
An interface-range definition having just member or member-range statements and no common configurations statements is valid.
These defined interface ranges can be used in other configuration hierarchies, in places where an interface node exists.
Example: Interface-Range foo Used Under the Protocols Hierarchy
foo should be an interface-range defined at the [interfaces] hierarchy level. In the above example, the interface node can accept both individual interfaces and interface ranges.
![]() | Tip: To view an interface range in expanded configuration, use the (show | display inheritance) command. For more information, see the CLI User Guide. |
The defined interface ranges can be used at places where the interface node is used in the following configuration hierarchies:
- forwarding-options analyzer name input egress interface
- forwarding-options analyzer name input ingress interface
- poe interface
- protocols dot1x authenticator interface
- protocols igmp interface
- protocols isis interface
- protocols layer2-control bpdu-block interface
- protocols link-management peer name lmp-control-channel
- protocols link-management te-link name interface
- protocols lldp interface
- protocols lldp-med interface
- protocols mstp interface
- protocols oam ethernet link-fault-management interface
- protocols ospf area area-id interface
- protocols pim interface
- protocols router-advertisement interface
- protocols router-discovery interface
- protocols rsvp interface
- protocols sflow interfaces
- protocols vstp vlan vlan-id interface
- switch-options redundant-trunk-group group-name interface
- switch-options voip interface
Expanding Interface Range Member and Member Range Statements
All member and member-range statements in an interface range definition are expanded to generate the final list of interface names for the specified interface range.
Example: Expanding Interface Range Member and Member Range Statements
For the member-range statement, all possible interfaces between start-range and end-range are considered in expanding the members. For example, the following member-range statement:
member-range ge-0/0/0 to ge-4/0/20
expands to:
[ge-0/0/0, ge-0/0/1 ... ge-0/0/max_ports ge-0/1/0 ge-0/1/1 ... ge-0/1/max_ports ge-0/2/0 ge-0/2/1 ... ge-0/2/max_ports . . ge-0/MAX_PICS/0 ... ge-0/max_pics/max_ports ge-1/0/0 ge-1/0/1 ... ge-1/0/max_ports . ge-1/MAX_PICS/0 ... ge-1/max_pics/max_ports . . ge-4/0/0 ge-4/0/1 ... ge-4/0/max_ports]
The following member statement:
ge-5/[0-5]/*
expands to:
ge-5/0/0 ... ge-5/0/max_ports ge-5/1/0 ... ge-5/0/max_ports . . ge-5/5/0 ... ge-5/5/max_ports
The following member statement:
ge-5/1/[2,3,6,10]
expands to:
ge-5/1/2 ge-5/1/3 ge-5/1/6 ge-5/1/10
Configuration Inheritance for Member Interfaces
When Junos OS expands the member and member-range statements present in an interface-range, it creates interface objects if they are not explicitly defined in the configuration. The common configuration is copied to all its member interfaces in the interface-range.
Example: Configuration Priorities
Foreground interface configuration takes priority over configuration inherited by the interface through the interface-range.
In the preceding example, interface ge-1/0/1 will have an MTU value of 1024.
This can be verified with output of the show interfaces | display inheritance command, as follows:
user@host: # show interfaces | display inheritance
## 'ge-1/0/0' was expanded from interface-range 'range-1' ## ge-1/0/0 { ## ## '256' was expanded from interface-range 'range-1' ## mtu 256; } ge-1/0/1 { mtu 1024; } ## ## 'ge-1/0/2' was expanded from interface-range 'range-1' ## ge-1/0/2 { ## ## '256' was expanded from interface-range 'range-1' ## mtu 256; } ......... ......... ## ## 'ge-10/0/47' was expanded from interface-range 'range-1' ## ge-10/0/47 { ## ## '256' was expanded from interface-range 'range-1' ## mtu 256; }
Member Interfaces Inheriting Configuration from Configuration Groups
Interface range member interfaces inherit the config-groups configuration like any other foreground configuration. interface-range is similar to any other foreground configuration statement. The only difference is that the interface-range goes through a member interfaces expansion before Junos OS reads this configuration.
The hold-time configuration is applied to all members of interface-range range-1.
This can be verified with show interfaces | display inheritance as follows:
user@host# show interfaces | display inheritance
ge-1/0/0 { ## ## '256' was expanded from interface-range 'range-1' ## mtu 256; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; } ge-1/0/1 { ## ## '256' was expanded from interface-range 'range-1' ## mtu 256; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; } ge-10/0/47 { ## ## '256' was expanded from interface-range 'range-1' ## mtu 256; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; }
Interfaces Inheriting Common Configuration
If an interface is a member of several interface ranges, that interface will inherit the common configuration from all of those interface ranges.
In this example, interfaces ge-10/0/0 through ge-10/0/47 will have both hold-time and mtu.
Configuring Inheritance Range Priorities
The interface ranges are defined in the order of inheritance priority, with the first interface range configuration data taking priority over subsequent interface ranges.
Interface ge-1/1/1 exists in both interface-range int-grp-one and interface-range int-grp-two. This interface inherits mtu 256 from interface-range int-grp-one because it was defined first.
Configuration Expansion Where Interface Range Is Used
In this example, interface-range range-1 is used under the protocols hierarchy:
The interface node present under authenticator is expanded into member interfaces of the interface-range range-1 as follows:
The interface range-1 statement is expanded into two interfaces, ge-10/1/1 and ge-5/5/1, and configuration retries 1 is copied under those two interfaces.
This configuration can be verified using the show protocols dot1x | display inheritance command.