Skip to content

Add rib-has-route Route-Policy Condition #1406

@niallmasterson

Description

@niallmasterson

There is a requirement to support "rib-has-route" route-policy condition which is supported by multiple vendors.

"rib-has-route" is a route-policy condition which checks if a route exists in the routing-table. This is commonly used for conditional route-advertisements, i.e the route-policy condition checks if a certain prefix A exists in the routing table, and if so then advertises another prefix B.

Cisco supports "rib-has-route":
https://www.cisco.com/c/en/us/td/docs/iosxr/cisco8000/routing/cumulative/command/reference/b-routing-cr-cisco8000/m-rpl-commands-1.html#wp4036312080

Arista uses dynamic prefix-lists to support this:
https://www.arista.com/en/support/toi/eos-4-21-0f/14072-bgp-conditional-route-inject-routing-protocol-mode-rib

Juniper's equivalent is called "if-route-exists":
https://www.juniper.net/documentation/us/en/software/junos/routing-policy/bgp/topics/example/conditional-prefix-installing-configuring.html

It is proposed to add the "rib-has-route" condition to:
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/

It should support "match any" for a defined prefix-set. i.e. if any prefix within the prefix-set exists in the routing-table, then the rib-has-route condition should return true.

/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route/config
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route/config/prefix-set
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route/config/match-set-options
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route/state
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route/state/prefix-set
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/rib-has-route/state/match-set-options

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Waiting for author

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions