< Home

(Optional) Configuring an if-match Clause

Context

An if-match clause defines matching rules related to route filters and attributes in a routing policy.

If no if-match clause is configured for a node in a routing policy, routes match the routing policy in this node. If one or more if-match clauses are configured in a node, the relationship between the clauses is "AND". This means that a route matches this node only when they match all the if-match clauses in this node. This rule does not apply to if-match as-path-filter, if-match community-filter, if-match extcommunity-filter, if-match interface, or if-match route-type clauses. The relationship between these clauses is "OR", and the relationship between these clauses and other if-match clauses is "AND". For example, if multiple if-match as-path-filter clauses are configured in a node, the relationship between these clauses is "OR", and the relationship between these clauses and other if-match clauses is "AND".

If an if-match clause defines a filter that is not configured, all routes match this if-match clause by default.

The if-match acl and if-match ip-prefix commands cannot be used together in the same node. When both the commands are used in a node, the most recently configured one overrides the previous one.

When modifying the configurations of cooperative routing policies with multiple if-match clauses, it is recommended that you also perform the configuration task of Controlling the Valid Time of Routing Policies. Otherwise, an incomplete routing policy will cause route flapping.

Procedure

  1. Run system-view

    The system view is displayed.

  2. Run route-policy route-policy-name { permit | deny } node node

    The routing policy view is displayed.

  3. Configure if-match clauses in any sequence for a routing policy according to your network requirements.

    • Run if-match acl { acl-number | acl-name }

      An if-match clause is configured to match the basic ACL.

    • Run if-match as-path-filter { as-path-filter-number &<1-16> | as-path-filter-name }

      An if-match clause is configured to match AS_Path filters.

    • Run either of the following commands as required to configure an if-match clause based on community filters:
      • if-match community-filter { basic-comm-filter-num [ whole-match ] | adv-comm-filter-num } &<1-16>
      • if-match community-filter comm-filter-name [ whole-match ]
    • Run if-match extcommunity-filter { { basic-extcomm-filter-num | adv-extcomm-filter-num } &<1-16> | extcomm-filter-name }

      An if-match clause is configured to match extended community filters.

    • Run if-match cost { cost | greater-equal greater-equal-value [ less-equal less-equal-value ] | less-equal less-equal-value }

      An if-match clause is configured to match the route cost of routes.

    • Run if-match interface { interface-type interface-number } &<1-16>

      An if-match clause is configured to match the outbound interface of routes.

    • Run if-match ip { next-hop | route-source | group-address } { acl { acl-number | acl-name } | ip-prefix ip-prefix-name }

      An if-match clause is configured to match the next hop or source address of IPv4 routes.

    • Run if-match ipv6 { address | next-hop | route-source } prefix-list ipv6-prefix-name

      An if-match clause is configured to match the destination address, next hop, or source address of IPv6 routes.

    • Run if-match ip-prefix ip-prefix-name

      An if-match clause is configured to match the IP prefix list.

    • Run if-match rd-filter rd-filter-number

      An if-match clause is configured to match the RD filter.

    • Run the following command as required to match the type of route:
      • Run if-match route-type { external-type1 | external-type1or2 | external-type2 | internal | nssa-external-type1 | nssa-external-type1or2 | nssa-external-type2 }

        An if-match clause is configured to match a specified type of OSPF routes.

      • Run if-match route-type { is-is-level-1 | is-is-level-2 }

        An if-match clause is configured to match a specified type of IS-IS routes.

    • Run if-match tag tag

      An if-match clause is configured to match the tag of routes.

Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >