Configuration Tasks
Configuring an MPLS network consists of the following sets of tasks:
- Global tasksPerform these tasks to configure settings common to all MPLS usage on a given LSR.
- (Optional) Interface profile tasksPerform these tasks to configure LDP or RSVP-TE interface profiles.
- Interface tasksPerform these tasks to configure each interface on an LSR that uses MPLS.
- Tunnel or topology-driven LSP tasksPerform these tasks to configure MPLS tunnels or topology-driven LSPs.
- (Optional) Tunnel profile tasksPerform these tasks to configure a profile that contains settings to be used by multiple MPLS tunnels.
In this section, pure MPLS configuration tasks are distinguished from LDP and RSVP-TE configuration tasks.
Many users find it convenient to configure MPLS by completing the tasks in each category before moving to the next category. However, you do not have to complete the tasks in the listed order.
The type of network you want to implement determines which sets of tasks you must complete, as indicated in Table 25.
While the basic configuration tasks are covered in this section, additional configuration tasks are described in later sections of this chapter.
Global Configuration Tasks
Complete these tasks to configure a virtual router as an LSR. You perform these commands in Global Configuration mode. The following sequence is arbitrary; you can perform these tasks in any order.
After you have completed the global configuration tasks, proceed to LDP Interface Profile Configuration Tasks and Command.
MPLS Tasks and Commands
In a typical network, you perform only the first task. You might also perform the optional configuration tasks, but typically do not need to do so.
- Enable MPLS on a virtual router.
host1(config)#mpls- (Optional) Configure the time-to-live field placed in the MPLS header when a label is first added to an IP packet.
host1(config)#mpls ip propagate-ttl forwarded- (Optional) Configure the tunneling model for differentiated services. See MPLS and Differentiated Services for more information and command descriptions.
host1(config)#mpls tunnel-model uniform- (Optional) Specify whether to use the TOS value or the UPC value of the packet as the value of the EXP bits when the router acts as an LER. See MPLS and Differentiated Services for more information and command descriptions.
host1(config)#mpls copy-upc-to-exp- (Optional) Specify whether the EXP bits for VPN MPLS labels can be modified by EXP bit mapping or by policy for differentiated services. See MPLS and Differentiated Services for more information and command descriptions.
host1(config)#mpls preserve-vpn-exp- (Optional) Specify whether to create dynamic IP interfaces on top of MPLS major interfaces and optionally what profile to use for them.
host1(config)#mpls create-dynamic-interfaces ip on-major-interfaces- (Optional) Remove and then reestablish existing dynamic IPv4 and IPv6 interfaces on top of MPLS major interfaces.
host1#clear mpls dynamic-interfaces on-major-interfacesclear mpls dynamic-interfaces on-major-interfaces
- Use to remove and re-create dynamic IPv4 interfaces and dynamic IPv6 interfaces from MPLS major interfaces.
- Use the ip keyword to specify that only IPv4 interfaces are removed and recreated. Use the ipv6 keyword to specify that only IPv6 interfaces are removed and recreated. When you do not include either of these keywords, both IPv4 and IPv6 dynamic interfaces are removed and recreated.
- You can specify an interface type and specifier from which the dynamic interfaces are removed. Otherwise, the dynamic interfaces are removed from all MPLS major interfaces.
- You can use this command to reapply policies related to dynamic IPv4 and IPv6 interfaces on top of MPLS major interfaces.
- Example
host1#clear mpls dynamic-interfaces ipv6 on-major-interfacesThere is no no version. mpls
- Use to create, enable, disable, or delete MPLS on a virtual router.
- MPLS does not exist by default and must be created, either explicitly with this command, or implicitly with another mpls configuration command. If you create MPLS implicitly, for example by issuing the command mpls lsp retries 10, MPLS remains disabled until you enable it, by issuing the mpls command.
- Example
host1(config)#mplsUse the no version to halt MPLS on the virtual router and delete the MPLS configuration. mpls create-dynamic-interfaces
- Use to specify whether dynamic IP interfaces are created on top of MPLS major interfaces, and what profile to use to create them.
- By default, one IPv4 dynamic interface without a profile is created and used for both VPN and non-VPN traffic. If IPv6 is enabled on the virtual router, then by default, one IPv6 dynamic interface without a profile is created and used for both VPN and non-VPN traffic.
- Example
host1(config)#mpls create-dynamic-interfaces ip on-major-interfaces profile v4intfUse the no version to restore the default behavior. mpls ip propagate-ttl
- Use to configure the time-to-live field placed in the MPLS header when a label is first added to an IP packet.
- This command is enabled by default, causing the TTL field to be copied from the IP packet header and enabling the traceroute command to show all the hops in the network.
- This command applies only to the tunnel ingress.
- Example
host1(config)#mpls ip propagate-ttlUse the default version to revert to the global default, causing the TTL field to be copied from the IP packet header and enabling the traceroute command to show all the hops in the network. Use the no version to specify a fixed TTL value of 255 to hide the structure of the MPLS network (all packets) from all traffic, preventing a traceroute command from discovering and displaying LSP hops. The no mpls ip propagate-ttl command changes the TTL processing tunnel model from the default uniform model to the pipe model. You can specify the types of packets to be hidden from traceroute by using the following keywords with the no version:
- forwardedtraceroute cannot show the hops for forwarded packets; this most common application of the command enables you to hide the structure of the MPLS network from your customers. Sets the tunnel model to pipe for forwarded packets.
host1(config)#no mpls ip propagate-ttl forwardedlocaltraceroute cannot show the hops for local packets. Sets the tunnel model to pipe for locally originated packets. host1(config)#no mpls ip propagate-ttl localYou can subsequently specify these keywords with the affirmative version of the command to stop hiding the packets from traceroute.
LDP Tasks and Commands
Typically, you do not configure anything for LDP at the global level, but you can perform the following optional tasks.
- (Optional) Enable LDP and topology-driven LSP. Any LDP-related command creates LDP implicitly, negating the need to issue this command.
host1(config)#mpls ldp- (Optional) Configure the redistribution of IGP routes to LDP.
host1(config)#mpls ldp redistribute ospf route-map boston5- (Optional) Configure lists of peer addresses that targeted hello messages are sent to or accepted from.
host1(config)#mpls ldp targeted-hello send list 10.21.5.87host1(config)#mpls ldp targeted-hello receive list 192.168.45.25- (Optional) Configure the hold time and interval values for targeted hello messages used in LDP extended discovery.
host1(config)#mpls ldp targeted-hello holdtime 90host1(config)#mpls ldp targeted-hello interval 30- (Optional) Configure LDP session retry values.
host1(config)#mpls ldp session retry-time 2host1(config)#mpls ldp session retries 1800- (Optional) Configure the period that LDP negotiates with its peer for which the LDP session is maintained in the absence of any LDP messages.
host1(config)#mpls ldp session holdtime 1800- (Optional) Configure the interval at which LDP sends session keepalive messages.
host1(config)#mpls ldp session keepalive-time 180- (Optional) Specify an IP address to be advertised to peers as the transport address in discovery hello messages.
host1(config)#mpls ldp discovery transport-address 192.168.34.2- (Optional) Configure independent control as the method of label distribution that LDP uses.
host1(config)#mpls ldp independent-control- (Optional) Configure LDP to advertise the explicit null label or a non-null label for the egress router to achieve ultimate hop popping.
host1(config)#mpls ldp egress-label explicit-nullFor topology-driven LSPs, perform the following LDP configuration tasks.
- (Optional) Configure the LSR to create topology-driven LSPs. Enabling LDP automatically creates topology-driven LSPs.
host1(config)#mpls topology-driven-lsp- (Optional) Specify filters for the routes and peers to which the labels are advertised.
host1(config)#mpls ldp advertise-labels host-only- (Optional) Specify the LSPs to be put into the IP routing table for forwarding plain IP traffic.
NOTE: This step is not optional if you are using a topology-driven network to forward plain IP packets.
host1(config)#ldp ip-forwarding host-only- (Optional) Establish a policy governing the distribution of incoming LDP labels.
host1(config)#mpls ldp advertise-labels for boston1- (Optional) Remove and then reestablish existing LDP LSPs.
host1#clear mpls ldpclear mpls ldp
- Use to remove and then reestablish all existing LDP LSPs; this action affects data traffic on an LSP that is in use when you issue the command.
- You can clear all LDP LSPs, or only those that are established to a particular prefix or neighbor.
- Use this command when you when you want to restart topology-driven LDP.
- Use this command when you have modified or created policies or access lists (with the mpls ldp-ip-forwarding and mpls ldp advertise-labels commands) and want them to be applied to LDP LSPs that are already in an up state.
- Example
host1#clear mpls ldpThere is no no version. mpls ldp
- Use to enable LDP and automatically enable topology-driven LSPs.
- Because any LDP-related command creates LDP implicitly, you do not need to issue this command.
- Example
host1(config)#mpls ldpUse the no version to globally remove the LDP configuration. mpls ldp advertise-labels
- Use to control LDP label distribution.
- You can issue the command one or more times to construct a filter that determines whether and where incoming (locally assigned) labels are distributed. If you do not specify a toAccessList, the action is taken for all peers.
- By default, LDP advertises label mappings for all IGP prefixes to all LDP peers. In this case, mappings are not advertised for interface addresses. You can alternatively specify that LDP labels be distributed for a particular interface itself, in addition to the subnet that the interface is on. This behavior enables LSPs to be set up to the LSR configured with the interface address.
- When the LSR learns an IGP route and tries to decide whether to advertise a label for the destination to a particular LDP neighbor, it attempts to match the destination against a route access list specified by this command, in the order in which the commands were issued. The first match determines the action taken, and no further matching is attempted for that destination. If the destination matches, labels are advertised to peers subject to any specified neighbor address list. If either access list is not matched, the labels are not advertised.
- Example
host1(config)#mpls ldp advertise-labels for net25 to euro3host1(config)#mpls ldp advertise-labels for boston1In this example, suppose the LSR receives a label for destination 10.10.11.12. If net25 specifies 10.10.11.12, then the access list actionpermit or denyis taken with the destination. If the action is permit, the peer that the label is advertised to is subject to the access list euro3. If net25 does not include 10.10.11.12, the LSR attempts to match it against boston1. If 10.10.11.12 is present in that access list, the specified action is taken for all peers. If boston1 does not include the destination, the label is not advertised to any peer.
mpls ldp discovery transport-address
- Use to specify the transport address advertised in LDP discovery hello messages for interfaces that use the platform label space. The peer router uses the transport address to establish the session TCP connection.
- Example
host1(config)#mpls ldp discovery transport-address 10.21.5.6Use the no version to return to using the default transport address, the LSR router ID. mpls ldp egress-label
- Use to advertise the explicit null label (label 0) or a non-null label, for the LSR that is the egress router for the prefix.
- By default, LDP on the egress router advertises the implicit null label (label 3) for directly connected prefixes. This label causes the router's upstream neighbor to perform a penultimate hop pop.
- Issuing this command automatically creates LDP or MPLS on the current virtual router if they do not yet exist there.
- This command takes effect immediately.
- Example
host1(config)#mpls ldp egress-label explicit-nullUse the no version to restore the default condition, where LDP advertises the implicit null label (label 3) for directly connected prefixes. mpls ldp independent-control
- Use to specify independent control as the method of label distribution to be used.
- By default, ordered control is used as the method of label distribution for LDP.
- Issuing this command automatically creates LDP or MPLS on the current virtual router if they do not yet exist there.
- This command takes effect immediately.
- Example
host1(config)#mpls ldp independent-controlUse the no version to restore the default condition, wherein ordered control is the label distribution control mode. mpls ldp ip-forwarding
- Use to specify LSPs to be placed into the IP routing table for forwarding plain IP traffic.
- This command replaces the deprecated mpls topology-driven-lsp ip-interfaces command.
- You can specify access lists or prefix lists that describe the LSPs, or include all LSPs in the routing table.
- Example
host1(config)#mpls ldp ip-forwarding access-list someLSPsUse the no version to prevent the inclusion of the listed LSPs or all LSPs in the routing table. mpls ldp profile
- Use to create or modify a configuration profile for LDP. Places the CLI in LDP Configuration mode.
- When you issue this command from Global Configuration mode, the interface keyword is currently optional in the affirmative version of the command, but mandatory in the no version. In a future release it may become mandatory in both versions. We recommend that you use this keyword for both versions.
- If you do not specify a profile name, the factory default profile is assumed. If you specify a profile not previously configured, it is created with the factory default settings.
- Any change to a profile affects all interfaces that use the profile; changes are effective the next time the interface comes up.
- The following values are defined for the implicit default LDP profile:
host1(config)#mpls ldp interface profile ldp1Use the no version to delete the profile. mpls ldp redistribute
- Use to redistribute routes from a specified IGP to LDP, enabling LDP to advertise labeled BGP routes for the inter-AS option C two-stack scenario.
- You can specify a route map to redistribute more specific routes to LDP. Only routes that pass the maps clauses are redistributed. If you do not use a route map for fine-grained control of route distribution, and you do not want to redistribute BGP routes, then you do not need to issue this command.
- For backward compatibility, if you do not issue this command, LDP continues to advertise labels for IGP routesincluding connected, static, IS-IS, OSPF, and RIP routes, but excluding BGP routes. That is, IGP routes other than BGP are redistributed to LDP by default.
- Example
host1(config)#mpls ldp redistribute ospf route-map boston5Use the no version to halt redistribution from the specified IGP or according to the specified route map. mpls ldp session holdtime
- Use to specify the period for which an LSR maintains the session with its LDP peer without receipt of any LDP message from that peer. The LDP session is terminated when the timer expires.
- Each LSR peer sends the session hold time in its initialization message; peers negotiate to use the minimum of the session hold times proposed by the pair of LSRs. This negotiated session hold time is used by the keepalive timer to maintain the session.
- The keepalive timer is reset with the receipt of any session message from the peer. In the absence of other LDP protocol messages are being sent, peers periodically send a keepalive message to maintain the LDP session.
- Specify a number in the range 1565535, corresponding to the period in seconds.
- Example
host1(config)#mpls ldp session holdtime 1800Use the no version to restore the default value, 180 seconds. mpls ldp session keepalive interval
- Use to specify the interval at which LDP sends session keepalive messages to maintain the LDP session.
- Keepalive messages are sent to LDP peers at this interval in the absence of any other LDP traffic over the session.
- Issuing this command automatically creates LDP or MPLS on the current virtual router if they do not yet exist there.
- This command takes effect immediately.
- Specify a number in the range 165535, corresponding to the period in seconds.
- Example
host1(config)#mpls ldp session keepalive interval 180Use the no version to restore the default value, 20 seconds. mpls ldp session retries
- Use to specify the number of attempts to be made to set up an MPLS LDP session.
- Specify a number in the range 065535. The default value of 0 means the attempts will be made until successful.
- Example
host1(config)#mpls ldp session retries 1800Use the no version to restore the default value, 0. mpls ldp session retry-time
- Use to specify the interval in seconds between attempts to set up an MPLS LDP session.
- Specify a number in the range 060.
- Example
host1(config)#mpls ldp session retry-time 2Use the no version to restore the default value, 30 seconds. mpls ldp targeted-hello holdtime
- Use to specify the period for which a sending LSR maintains a record of targeted hello messages from the receiving LSR without receipt of another targeted hello message from that LSR.
- Each LSR peer sends the hold time in its targeted hello messages; peers negotiate to use the minimum of the hold times proposed by the pair of LSRs.
- The hold timer is restarted whenever the LSR receives a targeted hello from the peer in the targeted hello adjacency. The timer expires if no targeted hello is received from the peer within the hold time. The LSR deletes the targeted hello adjacency when the timer expires. If all targeted hello adjacencies are deleted for an LDP session, then the LSR terminates the LDP session.
- Issuing this command automatically creates LDP or MPLS on the current virtual router if they do not yet exist there.
- This command takes effect immediately.
- Specify a number in the range 165535, corresponding to the period in seconds.
- Example
host1(config)#mpls ldp targeted-hello holdtime 90Use the no version to restore the default value, 45 seconds. mpls ldp targeted-hello interval
- Use to specify the interval between targeted hello packets sent by LDP.
- Issuing this command automatically creates LDP or MPLS on the current virtual router if they do not yet exist there.
- This command takes effect immediately.
- Specify a number in the range 165535, corresponding to the interval in seconds.
- Example
host1(config)#mpls ldp targeted-hello interval 30Use the no version to restore the default value, 15 seconds. mpls ldp targeted-hello receive list
- Use to configure the list of peer addresses from which MPLS accepts targeted hello messages.
- This command is unnecessary if you configure the mpls ldp targeted-hello send list command.
- You can specify one or more access lists or IP addresses as members of the list.
- If a receive list is configured, hello messages are accepted only from list members. If no list is configured, hello messages are accepted from all addresses.
- Example
host1(config)#mpls ldp targeted-hello receive list concord3Use the no version to remove the list of peer addresses. mpls ldp targeted-hello send list
- Use to configure the list of peer addresses to which MPLS sends and accepts targeted hello messages.
- You can specify one or more access lists or IP addresses as members of the list.
- Example
host1(config)#mpls ldp targeted-hello send list 10.56.84.21Use the no version to remove the list of peer addresses. mpls topology-driven-lsp
- Use to turn on topology-driven LSP, where the LSR automatically creates LSPs when it learns a new IGP route.
- The router advertises labels for new routes immediately to all peers without waiting for a label request message from an upstream peer or a label mapping message from a downstream peer. This mode is downstream-unsolicited, independent control.
- Example
host1(config)#mpls topology-driven-lspUse the no version to disable topology-driven LSPs. RSVP-TE Tasks and Commands
Typically, you do not configure anything for RSVP-TE at the global level, but you can perform the following optional tasks.
- (Optional) Enable RSVP-TE. Any RSVP-TErelated command creates RSVP-TE implicitly, negating the need to issue this command.
host1(config)#mpls rsvp- (Optional) Configure retry timer options globally (to apply to all tunnels) to set up an LSP after a setup failure. You can also configure timers for a specific tunnel; see Tunnel Configuration Tasks.
host1(config)#mpls lsp retries 35host1(config)#mpls lsp retry-time 55- (Optional) Configure the interval at which the bandwidth values are flooded.
host1(config)#mpls traffic-eng link-management timers periodic-flooding 10- (Optional) Configure reoptimizationHow often MPLS searches for better paths for the tunnel.
host1(config)#mpls reoptimize timers frequency 180You can also force an immediate search for better paths for all existing LSPs.
host1#mpls reoptimize
- (Optional) Enable refresh reduction and message bundling.
host1(config)#mpls rsvp refresh-reductionhost1(config)#mpls rsvp message-bundling- (Optional) Configure the egress router to advertise the explicit null label.
host1(config)#mpls rsvp egress-label explicit-nullmpls lsp no-route retries
- Use to specify the number of attempts to be made to set up an RSVP-TE tunnel after a failure due to no available route.
- Specify a number in the range 065535. The default value of 0 means the attempts will be made until successful.
- Example
host1(config)#mpls lsp no-route retries 3200Use the no version to restore the default value, 0. mpls lsp no-route retry-time
- Use to specify the interval in seconds between attempts to set up an RSVP-TE tunnel after a failure due to no available route.
- Specify a number in the range 160.
- Example
host1(config)#mpls lsp no-route retry-time 45Use the no version to restore the default value, 5 seconds. mpls lsp retries
- Use to specify the number of attempts to be made to set up an RSVP-TE tunnel after a failure other than one due to no available route.
- Specify a number in the range 065535. The default value of 0 means the attempts will be made until successful.
- Example
host1(config)#mpls lsp retries 40Use the no version to restore the default value, 0. mpls lsp retry-time
- Use to specify the interval in seconds between attempts to set up an RSVP-TE tunnel after a failure other than one due to no available route.
- Specify a number in the range 160.
- Example
host1(config)#mpls lsp retry-time 15Use the no version to restore the default value, 5 seconds. mpls reoptimize
host1#mpls reoptimizeThere is no no version. mpls reoptimize timers frequency
- Use to specify the frequency with which existing tunnels are searched for better paths.
- Specify a number in the range 0604800, corresponding to the period between searches in seconds.
- A value of 0 means no reoptimization is performed.
- Example
host1(config)#mpls reoptimize timers frequency 86400Use the no version to restore the default value, 3600 seconds. mpls rsvp
- Use to enable RSVP-TE.
- Because any RSVP-TErelated command creates RSVP-TE implicitly, you do not need to issue this command.
- Example
host1(config)#mpls rsvpUse the no version to disable RSVP-TE. mpls rsvp egress-label
- Use to configure the egress router to advertise the explicit null label or a real label. This advertisement ensures that packets received from upstream include a label and that the egress router performs ultimate hop popping.
- Use the explicit-null keyword to advertise the explicit null label. Use the non-null label to advertise a real label.
- Example
host1(config)#mpls rsvp egress-label explicit-nullUse the no version to restore the default value, where the egress router advertises the implicit null label. mpls rsvp message-bundling
- Use to enable RSVP-TE to send bundle messages, each of which includes multiple standard RSVP-TE messages, to reduce the overall message processing overhead.
- Example
host1(config)#mpls rsvp message-bundlingUse the no version to disable RSVP-TE message bundling. mpls rsvp profile
- Use to create or modify a configuration profile for RSVP-TE. Places the CLI in RSVP Configuration mode.
- When you issue this command from Global Configuration mode, the interface keyword is currently optional in the affirmative version of the command, but mandatory in the no version. In a future release it may become mandatory in both versions. We recommend that you use this keyword for both versions.
- If you do not specify a profile name, the factory default profile is assumed. If you specify a profile not previously configured, it is created with the factory default settings.
- Any change to a profile affects all interfaces that use the profile; changes are effected the next time the interface comes up.
- The following values are defined for the implicit default RSVP profile:
host1(config)#mpls rsvp interface profile rsvp1Use the no version to delete the profile. mpls rsvp refresh-reduction
- Use to enable RSVP-TE summary refresh and reliability features, including the message ID object, the message ack object, and summary refresh messages.
- Example
host1(config)#mpls rsvp refresh-reductionUse the no version to disable summary refresh and reliability. mpls traffic-eng link-management timers periodic-flooding
- Use to specify in seconds how often the bandwidth change is flooded throughout the network.
- To turn periodic flooding off, set the value to 0.
- Specify a number in the range 03600.
- Example
host1(config)#mpls traffic-eng link-management timers periodic-flooding 240Use the no version to restore the default value, 180 seconds. BGP Tasks
For BGP global configuration tasks, see Chapter 1, Configuring BGP Routing and Chapter 3, Configuring BGP-MPLS Applications.
LDP Interface Profile Configuration Tasks and Command
Complete these optional tasks to configure the label distribution options. Creating or accessing an interface profile places the CLI in LDP Configuration mode. When you have completed the interface profile configuration tasks, proceed to the section Interface Configuration Tasks.
- Access the desired profile configuration mode.
host1(config)#mpls ldp interface profile ldp5- Configure interface profile settings, changing the values from the implicit default values.
host1(config-ldp)#hello hold-time 30host1(config-ldp)#hello interval 10hello hold-time
- Use to specify the period for which a sending LSR maintains a record of link hello messages from the receiving LSR without receipt of another link hello message from that LSR.
- Each LSR peer sends the hold time in its link hello messages; peers negotiate to use the minimum of the hold times proposed by all LSRs on the same subnet.
- The hold timer is restarted whenever the LSR receives a link hello from the adjacent peer. The timer expires if no link hello is received from the adjacent peer within the hold time. The LSR deletes the link hello adjacency when the timer expires. If all link hello adjacencies are deleted for an LDP session, then the LSR terminates the LDP session.
- Specify a number in the range 165535, corresponding to the period in seconds.
- Example
host1(config-ldp)#hello hold-time 55Use the no version to restore the default value, 15 seconds. hello interval
- Use to specify the interval between link hello packets sent by LDP.
- Specify a number in the range 165535, corresponding to the interval in seconds.
- Example
host1(config-ldp)#hello interval 10Use the no version to restore the default interval, 5 seconds. RSVP Interface Profile Configuration Tasks and Commands
Complete these optional tasks to configure the label distribution options. Creating or accessing an interface profile places the CLI in RSVP Configuration mode. When you have completed the interface profile configuration tasks, proceed to the section Interface Configuration Tasks.
- Access the desired profile configuration mode.
host1(config)#mpls rsvp interface profile rsvp4- Configure interface profile settings, changing the values from the implicit default values.
host1(config-rsvp)#refresh-periodhost1(config-rsvp)#cleanup-timeout-factorcleanup-timeout-factor
- Use to specify the number of refresh messages that can be lost before the path or resv state is ended.
- Together with the refresh period, defines the RSVP tunnel timeout period. See RSVP-TE Messages and Sessions for more information.
- Example
host1(config-rsvp)#cleanup-timeout-factor 9Use the no version to restore the default value of 3. refresh-period
- Use to specify the timeout period in milliseconds between generation of refresh messages.
- Specify a value in the range 04294967295; the default value is 30,000 milliseconds.
- Together with the cleanup timeout factor, defines the RSVP tunnel timeout period. See RSVP-TE Messages and Sessions for more information.
- Example
host1(config-rsvp)#refresh-period 60000Use the no version to restore the default value, 30000 milliseconds. Interface Configuration Tasks
These tasks are performed at the major interface over which you want to run MPLS. Creating or accessing an interface places the CLI in Interface Configuration mode. You can then configure MPLS options on that interface. The following sequence is arbitrary; you can perform these tasks in any order.
NOTE: Loop detection is always enabled in the JUNOSe MPLS implementation.
When you have completed the interface configuration tasks, proceed to Tunnel Configuration Tasks.
MPLS Tasks and Commands
host1(config-if)#no mpls disable
- (Optional) Configure the interface label space with the VPI and VCI ranges.
host1(config-if)#mpls atm vpi range 10 200host1(config-if)#mpls atm vci range 33 4000Only ATM AAL5 interfaces support the interface label space.
- (Optional) Specify an interface for signaling for an MPLS major interface in the interface label space.
host1(config-if)#mpls signaling-interface atm 4/0.5mpls
- Use to create or delete MPLS on an interface.
- MPLS interfaces are also implicitly created by any other MPLS commands issued in Interface Configuration mode.
- Example
host1(config-if)#mplsUse the no version to halt MPLS on the interface and delete the MPLS interface configuration. mpls atm vci range
- Use to specify the range for virtual circuit identifiers for LSPs on ATM AAL5 major interfaces.
- An interface can support RSVP-TE as the label distribution protocol For MPLS interfaces using the interface label space, you must configure the both the VPI and VCI range. If you do not, the interface will remain operationally down.
- Specify the lowest and highest allowed VCI numbers, each in the range 3365535.
- Example
host1(config-if)#mpls atm vci range 45 4000Use the no version to remove the range. mpls atm vpi range
- Use to specify the range for virtual path identifiers for LSPs on ATM AAL5 major interfaces.
- An interface can support RSVP-TE as the label distribution protocol For MPLS interfaces using the interface label space, you must configure the both the VPI and VCI range. If you do not, the interface will remain operationally down.
- Specify the lowest and highest allowed VPI numbers, each in the range 0255.
- Example
host1(config-if)#mpls atm vpi range 10 200Use the no version to remove the range. mpls disable
host1(config-if)#mpls disableUse the no version to bring the interface administratively up. mpls signaling-interface
- Use to specify a layer 2 interface for an MPLS major interface. MPLS uses the IPv4 interfaces stacked on that layer 2 interface as the signaling interface for this MPLS major interface.
- Typically, you issue this command for MPLS major interfaces stacked on ATM AAL5 interfaces. For example, multiple ATM1483 interfaces might be stacked on the ATM AAL5 interface. You can issue this command to select one of these ATM1483 interfaces for signaling.
- If you do not issue this command, then MPLS nondeterministically selects a layer 2 interface for signaling.
- You can configure this command only for interfaces that use the interface label space. For interfaces that use the platform label space, the signaling interface is always next to the MPLS major interface, that is, stacked on the same lower interface and is not configurable.
- Example
host1(config-if)#mpls signaling-interface atm 4/0.5Use the no version to restore the default behavior, wherein MPLS nondeterministically selects a layer 2 interface for signaling. LDP Tasks and Command
host1(config-if)#mpls ldpUsing a previously created profile: host1(config-if)#mpls ldp profile ldp5
- (Optional) Suppress transmission of link hello messages to all LSRs.
host1(config-if)#mpls ldp link-hello disablempls ldp disable
host1(config-if)#mpls ldp disableUse the no version to reenable LDP on the interface. mpls ldp link-hello disable
- Use to suppress the transmission of LDP link hello messages.
- This command requires the use of targeted hello messages to form LDP peer adjacencies.
- Example
host1(config-if)#mpls ldp link-hello disableUse the no version to restore the default, where the LSR sends multicast link hello messages. mpls ldp profile
- Use to configure LDP on the interface.
- You can specify a profile name. If you specify a profile not previously configured, it is created with the factory default settings. If you do not specify a profile, the factory-supplied default profile values are used.
- Example
host1(config-if)#mpls ldp profile ldp45Use the no version to revert to the default profile on the interface. RSVP-TE Tasks and Commands
host1(config-if)#mpls rsvpUsing a previously created profile: host1(config-if)#mpls rsvp profile rsvp4
- (Optional) Configure total bandwidth available on the interface.
host1(config-if)#bandwidth 8192- (Optional) Configure total bandwidth reservable for MPLS on the interface.
host1(config-if)#mpls bandwidth 4096- (Optional) Specify thresholds that trigger bandwidth flooding when crossed by an increase or decrease in the total reservable bandwidth.
host1(config-if)#mpls traffic-eng flood thresholds up 15host1(config-if)#mpls traffic-eng flood thresholds down 15- (Optional) Specify the resource attributes for the interface so that tunnels can discriminate among interfaces.
host1(config-if)#mpls traffic-eng attribute-flags 0x000001f9- (Optional) Configure an administrative weight for the interface that overrides the weight assigned by the IGP.
host1(config-if)#mpls traffic-eng administrative-weight 25bandwidth
host1(config-if)#bandwidth 262144Use the no version to remove the admission control configuration (all internal CAC records) from the interface. mpls bandwidth
- Use to specify the total bandwidth in kilobits per second reservable for MPLS on the interface.
- Use the mpls version of the command for the JUNOSe implementation.
- Use the ip rsvp version of the command for compatibility with implementations on routers from other vendors.
- Example
host1(config-if)#mpls bandwidth 32768Use the no version to restore the default value, 0. mpls rsvp disable
host1(config-if)#mpls rsvp disableUse the no version to reenable RSVP-TE on the interface. mpls rsvp profile
- Use to configure RSVP-TE on the interface.
- You can specify a profile name. If you specify a profile not previously configured, it is created with the factory default settings. If you do not specify a profile, the factory-supplied default profile values are used.
- Example
host1(config-if)#mpls rsvp profile ldp45Use the no version to revert to the default profile on the interface. mpls traffic-eng administrative-weight
- Use to specify an administrative weight for the interface.
- For MPLS traffic-engineering purposes, this value supersedes any weight conferred upon the link by the IGP and can be in the range 04294967295.
- Example
host1(config-if)#mpls traffic-eng administrative-weight 150Use the no version to restore the default value, which matches the IGP-determined weight. mpls traffic-eng attribute-flags
- Use to specify traffic-engineering attributes for an interface; attributes are compared with tunnel affinity bits to determine links eligibility for the tunnel.
- Specify a hexadecimal value in the range 0x00xFFFFFFFF. The attribute values have only the meaning that you assign to them; they serve to place the interface within one or more resource classes.
- Example
host1(config-if)#mpls traffic-eng attribute-flags 0x100F0010Use the no version to restore the default value, 0x0. mpls traffic-eng flood thresholds
- Use to specify the thresholds that trigger the flooding of the current reservable bandwidth throughout the network.
- Bandwidth is flooded when the percentage of total reservable bandwidth increases past any up threshold or decreases past any down threshold.
- You can list more than one percentage; flooding is triggered by all percentages specified.
- Example
host1(config-if)#mpls traffic-eng flood thresholds up 25host1(config-if)#mpls traffic-eng flood thresholds down 25Use the no version to restore the default values:
- For increases in bandwidth15, 30, 45, 60, 75, 80, 85, 90, 95, 97, 98, 99, 100
- For decreases in bandwidth100, 99, 98, 97, 96, 95, 90, 85, 80, 75, 60, 45, 30, 15
Tunnel Configuration Tasks
Complete the following tasks to configure a tunnel interface. Configure the tunnel endpoint last; anything configured after the tunnel endpoint does not take effect until the tunnel is brought up the next time. You can perform all other tasks in any order.
NOTE: Tunnel configuration tasks are relevant only for traffic engineering networks.
- Create the MPLS tunnel interface.
host1(config)#interface tunnel mpls:boston- (Optional) Configure the LSP to announce its endpoint to an IGP (sometimes referred to as registering the endpoint).
host1(config-if)#tunnel mpls autoroute announce isis- (Optional) Specify a tunnel metric to be used by an IGP in its SPF calculation.
host1(config-if)#tunnel mpls autoroute metric absolute 100- (Optional) Configure the path options used for the tunnel.
host1(config-if)#tunnel mpls path-option 3 dynamic isis- (Optional) Configure the bandwidth required for the tunnel.
host1(config-if)#tunnel mpls bandwidth 1240- (Optional) Configure preemption hold or setup priority.
host1(config-if)#tunnel mpls traffic-eng priority 4 4- (Optional) Configure resource class affinity.
host1(config-if)#tunnel mpls traffic-eng affinity 0x1100 mask 0xFFFF- (Optional) Configure retry timers options to apply to a specific tunnel to set up an LSP after a setup failure.
host1(config-if)#tunnel mpls no-route retries 100host1(config-if)#tunnel mpls no-route retry-time 45host1(config-if)#tunnel mpls retries 250host1(config-if)#tunnel mpls retry-time 65- (Optional) Associate a text description with the tunnel.
host1(config-if)#tunnel mpls description southshore- Configure the tunnel endpoint.
host1(config-if)#tunnel destination 10.12.21.5interface tunnel
- Use to create a tunnel interface for MPLS.
- You can specify that the tunnel be established in the routing space of a virtual router other than the current VR. If you specify another VR, all MPLS tunnel commands apply to the tunnel in that VR. If you do not specify another VR, tunnel commands apply to the current VR.
- Example 1tunnel in current VR
host1(config)#interface tunnel mpls:5Example 2tunnel in another VR host1(config)#interface tunnel mpls:5 transport-virtual-router vr5Use the no version to remove the tunnel interface. tunnel destination
- Use to configure the tunnel endpoint for the tunnel.
- The IP address for the destination must be one of the following if the destination is on another E-series router:
host1(config-if)#tunnel destination 10.12.21.Use the no version to delete the endpoint. tunnel mpls affinity
- Use to configure an affinity constraint on a given tunnel.
- The affinity value specifies the class of resourcesresource attributesassociated with the tunnel. Affinity values range from 0x0 to 0xFFFFFFFF; the default is 0x0.
- Applying the mask to the affinity bits determines the value of the attribute flags that a link (interface) must have in order to be used by a tunnel. If a mask bit is one, the corresponding interface attribute flag must match the tunnel's corresponding affinity bit. If a mask bit is zero, the attribute flag does not have to match the tunnel's affinity bit. Mask values range from 0x0 to 0xFFFFFFFF; the default is 0x0000FFFF.
- In the current release, RSVP-TE does not include the affinity bits in its messages. As a result RSVP-TE cannot use any configured affinity restraint for portions of tunnels beyond the ingress router's local area.
- Example 1matches only links configured with attribute flags 0x000C3000
host1(config-if)#tunnel mpls affinity 0x000C3000 0xFFFFFFFFExample 2matches only links configured with attribute flags 0x000C3000 or 0x000C3001 host1(config-if)#tunnel mpls affinity 0x000C3000 0xFFFFFFFEExample 3matches only links configured with attribute flags from 0x000C3000 to 0x000C3003 host1(config-if)#tunnel mpls affinity 0x000C3000 0xFFFFFFFCExample 4matches only links configured with attribute flags from 0x000C3000 to 0x000C300F host1(config-if)#tunnel mpls affinity 0x000C3000 0xFFFFFFF0Use the no version to delete the affinity constraint from the tunnel. tunnel mpls autoroute announce
- Use to configure the LSP to register its endpoint (the egress router) with the configured routing protocolIS-IS or OSPFso that the protocol can use the tunnel to determine routes.
- If you do not specify a routing protocol, the default behavior is to announce to both IS-IS and OSPF.
- Example
host1(config-if)#tunnel mpls autoroute announce isisUse the no version to disable endpoint announcements. tunnel mpls autoroute metric
- Use to specify the tunnel metric. The value determines tunnel preference when there is more than one tunnel or native IP path to a tunnel endpoint. A lower value is preferred to a higher value.
- If you set up multiple tunnels, when the primary tunnel goes down, the existing tunnel with the lowest metric is used immediately.
- If you specify an absolute value in the range 12147483647, this value overrides the metric for the path provided by the IGP.
- If you specify a relative value from -10 to +10, this value is subtracted from (-) or added to (+) the metric for the path provided by the IGP.
- Example
host1(config-if)#tunnel mpls autoroute metric relative -5Use the no version to restore the default value, relative 0, meaning that the tunnel metric is the IGP value. tunnel mpls bandwidth
- Use to configure a bandwidth constraint on a given tunnel in kilobits per second.
- When you specify bandwidth for a traffic engineering tunnel, MPLS automatically creates and attaches a QoS profile to the tunnel to enforce the bandwidth reservation.
The QoS profile creates a scheduler node at the LSP level, with a scheduler profile that has an assured rate corresponding to the reserved bandwidth.
The QoS profile also creates queues above the scheduler node so that traffic of a particular class will be subject to the scheduler node. If no queue are created at the LSP level for a particular class, the traffic of that class enters that class's queue at a lower level, bypassing the bandwidth reservation enforcement.
host1(config-if)#tunnel mpls bandwidth 2148Use the no version to delete the bandwidth constraint from the tunnel. tunnel mpls description
- Use to associate a text description with the tunnel.
- Specify a string of up to 40 alphanumeric characters.
- Example
host1(config-if)#tunnel mpls description boston2dcUse the no version to delete the description. tunnel mpls no-route retries
- Use to specify the number of attempts to be made to set up an RSVP-TE tunnel after a failure due to no available route.
- Specify a number in the range 065535. The default value of 0 means the attempts will be made until successful.
- Example
host1(config-if)#tunnel mpls no-route retries 3200Use the no version to restore the default value, 0. tunnel mpls no-route retry-time
- Use to specify the interval in seconds between attempts to set up an RSVP-TE tunnel after a failure due to no available route.
- Specify a number in the range 160.
- Example
host1(config-if)#tunnel mpls no-route retry-time 45Use the no version to restore the default value, 5 seconds. tunnel mpls path-option
- Use to specify the path options for the tunnel. You can configure one or more path optionseach identified by a unique numberfor a given tunnel.
- Options include whether the path is dynamic or explicit and whether hop-by-hop, IS-IS, or OSPF routing is used.
- Options with a lower number are preferred; path option 1 is the most preferred. If an LSP goes down on the currently used path option, the path option with the next highest preference is used.
- Example
host1(config-if)#tunnel mpls path-option 3 dynamic isisUse the no version to delete the path options. tunnel mpls priority
- Use to configure a priority for a given tunnel, ranging from the highest priority of 0 to the lowest priority of 7.
- You can configure a setup priority or both a setup priority and a hold priority for the tunnel:
- Setup priorityPriority of an LSP while it is being established; default value is 4
- Hold priorityPriority of an LSP after it has been established; default value is equal to the specified setup priority
If insufficient resources exist for a new LSP to be established, its setup priority is evaluated against the hold priorities of existing LSPs. If the new LSP has a higher priority, it preempts the resources from the lower-priority existing LSP(s) and is established.
- A setup priority of 0 can preempt all nonzero hold priorities.
- The setup priority cannot be better (lower numerically) than the hold priority. For example, if the setup priority for a tunnel is 2, the hold priority must be 2, 1, or 0.
- Example
host1(config-if)#tunnel mpls priority 3 2Use the no version to change the priority to the default value, 4 for both setup and hold priorities. tunnel mpls retries
- Use to specify the number of attempts to be made to set up an RSVP-TE tunnel after a failure other than one due to no available route.
- Specify a number in the range 065535. The default value of 0 means the attempts will be made until successful.
- Example
host1(config-if)#tunnel mpls retries 1275Use the no version to restore the default value, 0. tunnel mpls retry-time
- Use to specify the interval in seconds between attempts to set up an RSVP-TE tunnel after a failure other than one due to no available route.
- Specify a number in the range 160.
- Example
host1(config-if)#tunnel mpls retry-time 15Use the no version to restore the default value, 5 seconds. Tunnel Profile Configuration Tasks
If you anticipate having multiple tunnels to share the same configuration, you can reduce your configuration time by using tunnel profiles to configure your tunnels. When you create a tunnel profile, you can use most of the commands presented in Tunnel Configuration Tasks; see that section for descriptions of the commands.
In the profile, configure the tunnel endpoint last; anything configured after the tunnel endpoint does not take effect until the tunnel is brought up the next time. You can perform all other tasks in any order.
NOTE: Tunnel profile configuration tasks are relevant only for traffic engineering networks.
To configure a tunnel profile:
- Enter Tunnel Profile Configuration mode.
host1(config)#mpls tunnels profile Lisbon- (Optional) Configure the LSP to announce its endpoint to an IGP.
host1(config-tunnelprofile)#tunnel mpls autoroute announce isis- (Optional) Specify a tunnel metric to be used by an IGP in its SPF calculation.
host1(config-tunnelprofile)#tunnel mpls autoroute metric absolute 100- (Optional) Configure the path options used for the tunnel.
host1(config-tunnelprofile)#tunnel mpls path-option 3 dynamic isis- (Optional) Configure the bandwidth required for the tunnel.
host1(config-tunnelprofile)#tunnel mpls bandwidth 1240- (Optional) Configure preemption hold or setup priority.
host1(config-tunnelprofile)#tunnel mpls priority 4 4- (Optional) Configure resource class affinity.
host1(config-tunnelprofile)#tunnel mpls affinity 0x1100 mask 0xFFFF- (Optional) Configure retry timers options to apply to a specific tunnel to set up an LSP after a setup failure.
host1(config-tunnelprofile)#tunnel mpls no-route retries 100host1(config-tunnelprofile)#tunnel mpls no-route retry-time 45host1(config-tunnelprofile)#tunnel mpls retries 250host1(config-tunnelprofile)#tunnel mpls retry-time 65- (Optional) Associate a text description with the tunnel.
host1(config-tunnelprofile)#tunnel mpls description southshore- Configure the tunnel endpoint.
host1(config-tunnelprofile)#tunnel destination 10.1.2.5 10.1.2.6All tunnels to the specified destination(s) are configured with the profile settings.
host1(config-tunnelprofile)#tunnel destination isis-level-2 access-list madrid3When an endpoint is dynamically learned from the specified routing protocol, MPLS searches its tunnel profiles for a match. The dynamic tunnel is established using the settings from the first matching profile.
mpls tunnels profile
- Use to create a tunnel profile for MPLS.
- A tunnel profile is used for all tunnels sharing the same configuration.
- Example
host1(config)#mpls tunnels profile ParisUse the no mpls tunnels profile version to delete the tunnel profile. Use the no mpls tunnels profile disable version to reenable tunnel profiles previously disabled. When a tunnel profile is disabled, all its associated tunnels are disabled. tunnel destination
- Use to configure the tunnel endpoints (destinations) associated with the profile.
- If you specify that the endpoints are to be learned from IS-IS or OSPF, tunnels are created when the destinations are learned from the specified IGP. you can filter learned addresses by specifying an access list or a prefix list.
- If you specify a sequence of one or more individual IP addresses as endpoints, tunnels are created as soon as the destination addresses are configured.
- If you specify one or more IP addresses for the destination(s), each address must be one of the following if it is on another E-series router:
host1(config-tunnelprofile)#tunnel destination isis-level-2 prefix-list tunnel5host1(config-tunnelprofile)#tunnel destination 10.12.25.1 10.12.25.2Use the no version to delete the endpoints.