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 a calculation type, metric type, constraint, flag, or 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

Example: 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