Flexible Algorithm

Flexible Algorithm allow operators to customize and compute the IGP shortest path according to their needs and constraints (specific metrics and link properties). Many possible constraints can be used to compute a path over a network. For example, Flexible Algorithm can confine the path to a particular plane for networks with multiple logical planes. Since the meaning of the algorithm is not defined by any standard but is defined by the user, it is called a Flexible Algorithm.

Crosswork enables you to filter the IGP topology based on the Flexible Algorithm and visualize the network subset, which can provide a specific set of transport characteristics. Visualizing Flexible Algorithm topologies is an important tool to help you deploy, maintain, and verify that the configured Flexible Algorithm intent is realized in your network. For example, you may use Flexible Algorithm to improve service availability and define disjoint logical topologies to increase resiliency to network failures. Crosswork allows you to visualize both Flexible Algorithm topologies simultaneously and verify they have no common nodes or links. Or, if they do, help you determine the common network elements so that you can update Flexible Algorithm configurations.

This section contains the following topics:

Configure Flexible Algorithm Affinities

Flexible Algorithm affinity names that are defined on devices are not collected by Crosswork. You can optionally define affinity mapping on the Cisco Crosswork UI for consistency with Flexible Algorithm affinity names in device configurations. Cisco Crosswork will only send bit information to SR-PCE during provisioning. If an affinity mapping is not defined in the UI, then the affinity name is displayed as "UNKNOWN". If you want to configure affinity mappings in Cisco Crosswork for visualization purposes, you should collect affinities on the device, then define affinity mapping in the Cisco Crosswork UI with the same name and bits that are used on the device.

See SR configuration documentation for your specific device to view descriptions and supported configuration commands (for example, Segment Routing Configuration Guide for Cisco ASR 9000 Series Routers

The following example shows the Flexible Algorithm affinity configuration (affinity-map) on a device:

router isis CORE
 is-type level-2-only
 net 49.0001.0000.0000.0002.00
 log adjacency changes
 affinity-map b33 bit-position 33
 affinity-map red bit-position 1
 affinity-map blue bit-position 5
 flex-algo 128
  priority 228
  advertise-definition
  affinity exclude-any blue indigo violet black
 ! 

For visualization purposes, you must map the affinity names to the bits using the following procedure:

Procedure


Step 1

From the main menu, select Administration > Settings > Traffic engineering > Affinity > Flex-Algo affinities tab.

Step 2

To add a new Flexible Algorithm affinity mapping, click + Create .

Step 3

Enter the name and the bit it will be assigned.

Step 4

Click Save to save the mapping. To view all Flexible Algorithm affinities for a link, see View Flexible Algorithm Details.


Visualize Flexible Algorithm Topologies

Crosswork allows you to visualize Flexible Algorithm nodes and links on the topology map that have been manually configured or dynamically provisioned using the UI in your network.


Note


To apply a Flexible Algorithm constraint when dynamically provisioning an SR-MPLS policy, see Create Dynamic SR-MPLS Policies Based on Optimization Intent.


Before you begin

You must understand and configure Flexible Algorithms in your network. See the SR Flexible Algorithm configuration documentation for your specific device to view descriptions and supported configuration commands (for example, Segment Routing Configuration Guide for Cisco NCS 540 Series Routers).


Note


You cannot visualize Flexible Algorithms if a Flexible Algorithm ID is the same across different domains.


Procedure


Step 1

From the main menu, select Services & Traffic Engineering > Traffic Engineering.

Step 2

From the topology map, click Display Preferences icon.

Step 3

Click the Flex Algo tab.

Step 4

From the drop-down list, select up to two Flexible Algorithm IDs.

Step 5

View the Flexible Algorithm Types and confirm that the selection is correct. Also, note the color assignments for each Flexible Algorithm.

Step 6

(Optional) Check the Show selected Flex Algo topology only check box to isolate the Flexible Algorithms on the topology map. When this option is enabled, SR policy selection is disabled.

  1. Check the Show Flex Algo A+B links only to show those links and nodes participating in both Flexible Algorithms.

Step 7

Click Apply. You must click Apply for any additional changes to Flexible Algorithm selections to be reflected on the topology map.

Figure 1. Flexible Algorithm on Map

Flexible Algorithm on Map

Note

 

If a selected Flexible Algorithm is defined with criteria but there are no link and node combinations that match it (for example, a defined affinity to include all nodes or links with the color blue), then the topology map will be blank. If a selected Flexible Algorithm is not configured on a node or link, the default blue link or node color appears.

Step 8

(Option) Click Save View to save the topology view and Flexible Algorithm selections.


View Flexible Algorithm Details

To view device or link Flex Algorithm details, do the following:

Procedure


Step 1

From the main menu, choose Services & Traffic Engineering > Traffic Engineering.

Step 2

To view device Flexible Algorithm details:

  1. From the topology map, click on a device.

  2. In the Device details window, navigate to the Traffic engineering > Flex Algo tab. For example:

    Figure 2. Flex Algo Device Details

    Flex Algo Device Details

Step 3

To view whether a link is part of a Flexible Algorithm topology:

  1. From the topology map, click on a link. If a list of links appear, click on a link type.

  2. From the Link details window, click the Traffic engineering tab. If the link is a member, then the FA topologies row displays what Flexible Algorithm each source and destination device belong to.

    Figure 3. Flex Algo Link Details

    Flex Algo Link Details

Note

 
  • Application-Specific Link Attribute (ASLA) is supported on PCC and core routers that are Cisco IOS XR 7.4.1 or later versions.

  • Crosswork Network Controller only supports strict ASLA handling for Flexible Algorithm topologies.

  • For Flexible Algorithms defined with Traffic Engineering (TE) or Delay metric types, only nodes advertising OSPF or IS-IS ASLA TE and ASLA Delay link metrics will be included in the corresponding Flexible Algorithm topology.