Configuring the Flexible Algorithm Definition

To guarantee loop-free forwarding for paths that are computed for a specific Flex-Algorithm, all routers configured to participate in that Flex-Algorithm must agree on the FAD. The agreement ensures that routing loops and inconsistent forwarding behavior is avoided.

Each router that is configured to participate in a specific Flex-Algorithm must select the FAD based on standardized tie-breaking rules. This ensures consistent FAD selection in cases where different routers advertise different definitions for a specific Flex-Algorithm. The following tie-breaking rules apply.

A router that is not participating in a specific Flex-Algorithm is allowed to advertise the FAD for that specific Flex-Algorithm. Any change in the FAD may result in temporary disruption of traffic that is forwarded based on those Flex-Algorithm paths. The impact is similar to any other event that requires network-wide convergence.

If a node is configured to participate in a Flex-Algorithm, but the selected FAD includes calculation-type, metric-type, constraint, flag, or a sub-TLV that is not supported by the node, the node stops participation and removes any forwarding state associated with the Flex-Algorithm.

Use the following syntax to configure FADs.

config>router
        — flexible-algorithm-definitions
            — 		flex-algo <fad-name> [create]
            — 	no flex-algo <fad-name>
                — description <description-string>
                — [no] description
                — exclude
                    — admin-group <admin-group>
                    — 				[no] admin-group <admin-group>
                — flags-tlv
                — [no] flags-tlv
                — include-all
                    — admin-group <admin-group>
                    — [no] admin-group <admin-group>
                — include-any
                    — admin-group <admin-group>
                    — [no] admin-group <admin-group>
                — metric-type {igp|te-metric|delay}
                — [no] metric-type
                — priority <[0..255>
                — [no] priority
                — shutdown
                — [no] shutdown

The following is a sample configuration output for a basic FAD:

router
  flexible-algorithm-definitions
    flex-algo "My128" create
      description "This-is-my-algo128"
        metric-type delay
        no shutdown
    exit
  exit