MPLS OAM Monitoring for SRTE Policies

About MPLS OAM Monitoring for SRTE Policies

Beginning with Cisco NX-OS release 10.1(2), MPLS OAM monitoring allows the switch on which one or more SRTE policies are configured to proactively detect if the active path or paths of an SRTE policy have failed. If the paths in the currently active preference have all failed, SRTE will consider that preference down and so make the next highest preference on the policy active, if there is such a preference, or otherwise mark the policy as down.

Before this feature, the state of an SRTE preference and policy was only determined by the state of the first hop (the first MPLS label) of the paths in the preference. If the label was programmed the path was considered up, and if the label was missing or invalid the path was considered down.

The MPLS OAM monitoring augments this validation by sending MPLS LSPV Nil-FEC ping requests continuously along the SRTE path. Each ping request contains the same label stack as would be imposed on traffic that follows the SRTE policy, making the pings take the same path. The pings are sent with a configurable interval between each ping, and a response to the ping from the final node of the path is expected within the interval. If a failure response is returned from the final node or no response is received within the interval, it is counted as a failed interval. After a configurable number of failed intervals occur in sequence, the path is considered down. If all paths in a preference are down, then the preference is considered down.

Paths Monitored

Only when the CLIs are enabled to monitor a path using proactive monitoring will the path be monitored using OAM. Only the paths that are associated with a policy will be monitored. For example, if a segment list is created and is not associated with a policy it is not monitored. As well, if the same path is used in multiple policies only one monitoring session will be created for that path. This applies whether the path is a segment-list associated to a preference in a policy or is calculated using path completion on the headend.

By default, when the image is upgraded from a version without OAM monitoring support to a version with monitoring support, the monitoring method for policies will be the traditional first-hop method.

MPLS OAM monitoring may be enabled globally for all SRTE policies. If enabled globally, it can be selectively disabled per policy. If not enabled globally, it can be enabled selectively for individual policies.

Index Limit

The index-limit X CLI is used to ping only an initial subset of the path rather than the entire path. Only indexes in the segment list that are less than or equal to the specified index-limit are part of the path to monitor. For example, if the segment list is the following:

index 100 mpls label 16001
index 200 mpls label 16002
index 300 mpls label 16003

Then if index-limit is not specified, the path to be pinged will be 16001, 16002, 16003. If index-limit is 250, then the path to be pinged will be 16001, 16002. If index-limit is 200, then the path to be pinged will also be 16001, 16002.

Guidelines and Limitations for MPLS OAM Monitoring for SRTE Policies

The MPLS OAM monitoring for SRTE policies has the following guidelines and limitations:

  • Beginning with Cisco NX-OS Release 10.1(2), MPLS OAM monitoring (continuous and proactive path) is introduced and supported on Cisco Nexus 9300 EX, 9300-FX, 9300-FX2, and 9300-GX platform switches.

  • On the head-end node where the SRTE policies are configured, both SRTE and MPLS OAM must be separately enabled as part of feature mpls segment-routing traffic-engineering and feature mpls oam respectively. If not, the user cannot configure the monitoring of SRTE policies using OAM. In addition, the remaining nodes in the SR fabric must have MPLS OAM enabled using feature mpls oam to respond to the pings sent by MPLS OAM monitoring.

  • SRTE limits the maximum number of monitoring sessions to 1000.

  • The minimum interval between pings is 1000 milliseconds.

  • When SRTE OAM monitoring policies are running on a device, feature mpls oam cannot be disabled. Only when all the SRTE OAM monitoring policies are disabled, the feature mpls oam can be disabled from the device. Otherwise, the following error message is displayed:

    "SRTE MPLS liveness detection is either enabled for all policies, is enabled for at least one policy, or is enabled for an on-demand color. Please ensure liveness detection is completely disabled before disabling MPLS OAM."

  • In Cisco NX-OS Release 10.1(2) SRTE OAM monitoring is supported for static policies and on-demand color having explicit path configured.

  • The OAM sessions do not run for paths that are configured with dynamic option using PCEP.

Configuring MPLS OAM Monitoring

This section describes the CLIs required to enable proactive path monitoring for policies.

  • Global Configuration

    This configuration enables OAM path monitoring for all configured policies.

  • Policy-specific Configuration

    This configuration enables OAM path monitoring for a specific policy.

Global Configuration

Before you begin

You must ensure that the MPLS segment routing traffic engineering feature is enabled.

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

segment-routing

Example:

switch(config)#segment-routing
switch(config-sr)#

Enters the segment routing configuration mode.

Step 3

traffic-engineering

Example:

switch(config-sr)# traffic-engineering
switch(config-sr-te)#

Enters the traffic engineering mode.

Step 4

[liveness-detection]

Example:

switch(config-sr-te)# liveness-detection
switch(config-sr-te-livedet)#

Enters the liveness-detection configuration mode.

Step 5

interval num

Example:

switch(config-sr-te-livedet)# interval 6000
switch(config-sr-te-livedet)#

The duration of the interval in milliseconds. The default is 3000 ms.

Step 6

multiplier num

Example:

switch(config-sr-te-livedet)# multiplier 5
switch(config-sr-te-livedet)#

The multiplier sets the number of consecutive intervals that must fail for a path that is up to be considered down, and the number of consecutive intervals for a path that is down to be considered up. The default is 3.

Step 7

mpls

Example:

switch(config-sr-te-livedet)# mpls
switch(config-sr-te-livedet-mpls)#

Enables segment routing over mpls.

Step 8

[no]oam

Example:

switch(config-sr-te-livedet-mpls)# oam
switch(config-sr-te-livedet-mpls)#

Enable MPLS OAM Monitoring globally for all SRTE policies.

The no form of this command disables OAM monitoring.

Step 9

segment-list name sidlist-name

Example:

switch(config-sr-te)# segment-list name blue
    index 10 mpls label 16004
    index 10 mpls label 16005

Creates the explicit SID list.

Note

 

This command has the autocomplete feature for the sidlist-name. To use this feature, add a question mark or press TAB.

Step 10

policy policy name

Example:

switch(config-sr-te)# policy 1
switch(config-sr-te-pol)

Configures the policy.

Step 11

color numberIP-end-point

Example:

switch(config-sr-te-pol)# color 1 endpoint 5.5.5.5
switch(config-sr-te-pol)

Configures the color and the endpoint of the policy.

Step 12

candidate-paths

Example:

switch(config-sr-te-pol)# candidate-paths
switch(config-expcndpaths)#

Specifies the candidate paths for the policy.

Step 13

preference preference-number

Example:

switch(config-expcndpaths)# preference 100
switch(cfg-pref)#

Specifies the preference of the candidate path.

Step 14

explicit segment-list sidlist-name

Example:

switch(cfg-pref)# explicit segment-list red
switch(cfg-pref)#

Specifies the explicit list.

Note

 

This command has the autocomplete feature for the sidlist-name. To use this feature, add a question mark or press TAB.

Step 15

on-demand color color_num

Example:

switch(config-sr-te)# on-demand color 211
switch(config-sr-te-color)#

Enters the on-demand color template mode to configure an on-demand color for the specified color.

Step 16

candidate-paths

Example:

switch(config-sr-te-color)# candidate-paths
switch(cfg-cndpath)#

Specifies the candidate paths for the policy.

Step 17

preference preference-number

Example:

switch(cfg-cndpath)# preference 100
switch(cfg-pref)#

Specifies the preference of the candidate path.

Step 18

explicit segment-list sidlist-name

Example:

switch(cfg-pref)# explicit segment-list red
switch(cfg-pref)#

Specifies the explicit list.

Note

 

This command has the autocomplete feature for the sidlist-name. To use this feature, add a question mark or press TAB.

Policy-specific Configuration

Before you begin

You must ensure that the MPLS segment routing traffic engineering feature is enabled.

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

segment-routing

Example:

switch(config)#segment-routing
switch(config-sr)#

Enters the segment routing configuration mode.

Step 3

traffic-engineering

Example:

switch(config-sr)# traffic-engineering
switch(config-sr-te)#

Enters the traffic engineering mode.

Step 4

[liveness-detection]

Example:

switch(config-sr-te)# liveness-detection
switch(config-sr-te-livedet)#

Enters the liveness-detection configuration mode.

Step 5

interval num

Example:

switch(config-sr-te-livedet)# interval 6000
switch(config-sr-te-livedet)#

The duration of the interval in milliseconds. The default is 3000 ms.

Step 6

multiplier num

Example:

switch(config-sr-te-livedet)# multiplier 5
switch(config-sr-te-livedet)#

The multiplier sets the number of consecutive intervals that must fail for a path that is up to be considered down, and the number of consecutive intervals for a path that is down to be considered up. The default is 3.

Step 7

segment-list name sidlist-name

Example:

switch(config-sr-te)# segment-list name blue
    index 10 mpls label 16004
    index 10 mpls label 16005

Creates the explicit SID list.

Note

 

This command has the autocomplete feature for the sidlist-name. To use this feature, add a question mark or press TAB.

Step 8

policy policy name

Example:

switch(config-sr-te)# policy 1
switch(config-sr-te-pol)

Configures the policy.

Step 9

color numberIP-end-point

Example:

switch(config-sr-te-pol)# color 1 endpoint 5.5.5.5
switch(config-sr-te-pol)

Configures the color and the endpoint of the policy.

Step 10

candidate-paths

Example:

switch(config-sr-te-pol)# candidate-paths
switch(config-expcndpaths)#

Specifies the candidate paths for the policy.

Step 11

preference preference-number

Example:

switch(config-expcndpaths)# preference 100
switch(cfg-pref)#

Specifies the preference of the candidate path.

Step 12

explicit segment-list sidlist-name

Example:

switch(cfg-pref)# explicit segment-list red
switch(cfg-pref)#

Specifies the explicit list.

Note

 

This command has the autocomplete feature for the sidlist-name. To use this feature, add a question mark or press TAB.

Step 13

[liveness-detection]

Example:

switch(config-sr-te)# liveness-detection
switch(config-sr-te-livedet)#

Enters the liveness-detection configuration mode.

Step 14

[no]index-limit num

Example:

switch(config-sr-te-livedet)# index-limit 20
switch(config-sr-te-livedet)#

Monitors only SIDs that have an index of less than or equal to the user-specified number.

Step 15

[no]shutdown

Example:

switch(config-sr-te-livedet)# shutdown
switch(config-sr-te-livedet)#

Disables liveness detection. This is useful to temporarily disable liveness detection without entirely removing all related configuration.

The no form of this command disables OAM monitoring.

Step 16

mpls

Example:

switch(config-sr-te-livedet)# mpls
switch(config-sr-te-livedet-mpls)#

Enables segment routing over mpls.

Step 17

[no]oam

Example:

switch(config-sr-te-livedet-mpls)# oam
switch(config-sr-te-livedet-mpls)#

Enable MPLS OAM Monitoring globally for all SRTE policies.

The no form of this command disables OAM monitoring.

Step 18

on-demand color color_num

Example:

switch(config-sr-te)# on-demand color 211
switch(config-sr-te-color)#

Enters the on-demand color template mode to configure an on-demand color for the specified color.

Step 19

candidate-paths

Example:

switch(config-sr-te-color)# candidate-paths
switch(cfg-cndpath)#

Specifies the candidate paths for the policy.

Step 20

preference preference-number

Example:

switch(cfg-cndpath)# preference 100
switch(cfg-pref)#

Specifies the preference of the candidate path.

Step 21

explicit segment-list sidlist-name

Example:

switch(cfg-pref)# explicit segment-list red
switch(cfg-pref)#

Specifies the explicit list.

Note

 

This command has the autocomplete feature for the sidlist-name. To use this feature, add a question mark or press TAB.

Step 22

[liveness-detection]

Example:

switch(config-sr-te-color)# liveness-detection
switch(config-sr-te-color-livedet)#

Enters the liveness-detection configuration mode.

Step 23

[no]index-limit num

Example:

switch(config-sr-te-color-livedet)# index-limit 20
switch(config-sr-te-color-livedet)#

Monitors only SIDs that have an index of less than or equal to the user-specified number.

Step 24

[no]shutdown

Example:

switch(config-sr-te-color-livedet)# shutdown
switch(config-sr-te-color-livedet)#

Disables liveness detection. This is useful to temporarily disable liveness detection without entirely removing all related configuration.

The no form of this command disables OAM monitoring.

Step 25

mpls

Example:

switch(config-sr-te-color-livedet)# mpls
switch(config-sr-te-color-livedet-mpls)#

Enables segment routing over mpls.

Step 26

[no]oam

Example:

switch(config-sr-te-color-livedet-mpls)# oam
switch(config-sr-te-color-livedet-mpls)#

Enable MPLS OAM Monitoring globally for all SRTE policies.

The no form of this command disables OAM monitoring.

Verifying Configuration for MPLS OAM Monitoring

To display MPLS OAM monitoring configuration information, perform one of the following tasks:

Table 1. Verifying Configuration for MPLS OAM Monitoring

Command

Purpose

show srte policy

Displays only the authorized policies.

show srte policy [all]

Displays the list of all policies available in the SR-TE.

show srte policy [detail]

Displays the detailed view of all the requested policies.

show srte policy <name>

Filters the SR-TE policy with the name and displays the list of all policies available with that name in the SR-TE.

Note

 

This command has the autocomplete feature for the policy-name. To use this feature, add a question mark or press TAB.

show srte policy color <color> endpoint <endpoint>

Displays the SR-TE policy for the color and endpoint.

Note

 

This command has the autocomplete feature for color and endpoint. To use this feature, add a question mark or press TAB.

show srte policy proactive-policy-monitoring

Displays the list of all active proactive policy monitoring sessions that exist in the promon database.

Note

 

You can use the question mark option at the end of this command and provide one of the following options or press ENTER to display all the sessions:

  • brief - shows brief information about the sessions

  • color - shows the promon sessions related to the policy color

  • name - shows the promon sessions related to the policy name

  • session-id - shows the promon session for the session-id

show srte policy proactive-policy-monitoring [brief]

Displays only the list of session IDs and the states of the proactive policy monitoring sessions.

show srte policy proactive-policy-monitoring [session <session-id>]

Filters using session-id and displays information about that session in detail.

Note

 

This command has the autocomplete feature for the session-id. To use this feature, add a question mark or press TAB.

show srte policy proactive-policy-monitoring color <color> endpoint<endpoint>

Filters using color and endpoint and displays proactive policy monitoring sessions.

Note

 

This command has the autocomplete feature for color and endpoint. To use this feature, add a question mark or press TAB.

Configuration Example for MPLS OAM Monitoring

The following example shows how to configure MPLS OAM monitoring:

  • Configuration example for global enablement with user specified multiplier and interval:

    segment-routing
      traffic-engineering
        liveness-detection
            interval 6000
            multiplier 5
          mpls
            oam
        segment-list name blue
          index 10 mpls label 16004
          index 20 mpls label 16005
        segment-list name green
          index 10 mpls label 16003
          index 20 mpls label 16006
        segment-list name red
          index 10 mpls label 16002
          index 20 mpls label 16004
          index 30 mpls label 16005
        policy customer-1
          color 1 endpoint 5.5.5.5
          candidate-paths
            preference 100
              explicit segment-list red
        on-demand color 211
          candidate-paths
            preference 100
              explicit segment-list green
    
  • Configuration example for policy enablement with user specified multiplier, interval, index-limit and shutdown option:

    segment-routing
      traffic-engineering
        liveness-detection
            interval 6000
            multiplier 5
        segment-list name blue
          index 10 mpls label 16004
          index 20 mpls label 16005
        segment-list name green
          index 10 mpls label 16003
          index 20 mpls label 16006
        segment-list name red
          index 10 mpls label 16002
          index 20 mpls label 16004
          index 30 mpls label 16005
        policy customer-1
          color 1 endpoint 5.5.5.5
          candidate-paths
            preference 100
              explicit segment-list red
          liveness-detection
            index-limit 20
            shutdown
            mpls
              oam
        on-demand color 211
          candidate-paths
            preference 100
              explicit segment-list green
          liveness-detection
              index-limit 20
              shutdown
              mpls
                oam