Skip to main content

Route-Map

Route Maps

You can use route maps for route redistribution. Route map entries consist of a list of match and set criteria. The match criteria specify match conditions for incoming routes or packets, and the set criteria specify the action taken if the match criteria are met.

You can configure multiple entries in the same route map. These entries contain the same route map name and are differentiated by a sequence number.

You create a route map with one or more route map entries arranged by the sequence number under a unique route map name. The route map entry has the following parameters:

  • Sequence number
  • Permission—permit or deny
  • Match criteria
  • Set changes

By default, a route map processes routes or IP packets in a linear fashion (that is, starting from the lowest sequence number). You can configure the route map to process in a different order using the continue statement, which allows you to determine which route map entry to process next.

Route Redistribution and Route Maps

You can use route maps to control the redistribution of routes between routing domains. Route maps match on the attributes of the routes to redistribute only those routes that pass the match criteria. The route map can also modify the route attributes during this redistribution using the set changes.

The router matches redistributed routes against each route map sequences. If there are multiple match statements under a route-map sequence, then the route must pass all the match criteria under that route-map sequence. If a route passes the match criteria defined in a route map sequence, then the set-actions defined in that sequences are executed. If the route does not match the criteria in a route-map sequence, then the router compares the route against subsequent route map sequence. This route evaluation against the route-map continues until a match is made, or the route is evaluated by all the sequences in the route map. Finally, if the route does not match against any of the route-map sequences, then the router denies acceptance of the route (for inbound route maps) or denies forwarding of the route (for outbound route maps).

Diagram

Classes

route_control (vxlan.overlay_extensions)

NameTypeConstraintMandatoryDefault Value
route_mapsList[route_maps]No

route_maps (vxlan.overlay_extensions.route_control)

NameTypeConstraintMandatoryDefault Value
nameStringYes
entriesList[entries]Yes

entries (vxlan.overlay_extensions.route_control.route_maps)

NameTypeConstraintMandatoryDefault Value
seq_numberIntegermin: 1, max: 65535Yes
operationChoicepermit, denyYes
descriptionStringNo
matchList[match]No
setList[set]No
continueIntegermin: 1, max: 65535No

match (vxlan.overlay_extensions.route_control.route_maps.entries)

NameTypeConstraintMandatoryDefault Value
as_numberList[as_number]No
as_path_listStringRegex: ^[A-Za-z0-9-_]{1,63}$No
community_listClass[community_list]No
evpn_route_typesListChoice[1, 2, 2-mac-ip, 2-mac-only, 3, 4, 5, 6]No
extended_community_listClass[extended_community_list]No
interfaceListAny[String[Regex: (?i)^(?:e|eth(?:ernet)?)\d(?:\/\d+){1,2}$] or String[Regex: (?i)^(?:e|eth(?:ernet)?)\d(?:\/\d+){1,2}\.\d{1,4}$] or String[Regex: (?i)^(po|port-channel)([1-9]|[1-9][0-9]{1,2}|[1-3][0-9]{3}|40[0-8][0-9]|409[0-6])$] or String[Regex: (?i)^(?:po|port-channel:?)((?:[1-9]|[1-9]\d{1,2}|[1-3]\d{3}|40[0-8]\d|409[0-6]:?)\.(?:[1-9]|[1-9]\d{1,2}|[1-3]\d{3}|40[0-8]\d|409[0-3]:?))$] or String[Regex: (?i)^(lo|loopback)([0-9]|[1-9][0-9]{1,2}|10[0-1][0-9]|102[0-3])$] or String[Regex: (?i)^(v|vlan)([1-9]|[1-9][0-9]{1,2}|1[0-9][0-9]{1,2}|2[0-9][0-9]{1,2}|3[0-9][0-7]{1,2})$] or String[Regex: (?i)^(n|null)([0])$]]No
ipv4Class[ipv4]No
ipv6Class[ipv6]No
mac_listStringRegex: ^[A-Za-z0-9-_]{1,63}$No
metricClass[metric]No
ospf_areaIntegermin: 0, max: 4294967295No
route_typesListChoice[external, inter-area, internal, intra-area, level-1, level-2, local, nssa-external, type-1, type-2]No
source_protocolStringRegex: ^[A-Za-z0-9-_]{1,32}$No
tagListInteger[min: 0, max: 4294967295]No

set (vxlan.overlay_extensions.route_control.route_maps.entries)

NameTypeConstraintMandatoryDefault Value
as_pathClass[as_path]No
community_listStringRegex: ^[A-Za-z0-9-_]{1,63}$No
communityListChoice[additive, graceful-shutdown, internet, local-as, no-advertise, no-export, none, blackhole]No
dampeningClass[dampening]No
distanceClass[distance]No
evpnClass[evpn]No
extended_community_listStringRegex: ^[A-Za-z0-9-_]{1,63}$No
extended_communityClass[extended_community]No
forwarding_addressBooleantrue, falseNo
interfaceStringRegex: (?i)^(n|null)([0])$No
ipv4Class[ipv4]No
ipv6Class[ipv6]No
levelChoicelevel-1, level-1-2, level-2No
local_preferenceIntegermin: 0, max: 4294967295No
metricClass[metric]No
metric_typeChoiceexternal, internal, type-1, type-2No
nssa_onlyBooleantrue, falseNo
originChoiceegp, igp, incompleteNo
path_selectionChoiceall, backup, best2, multipathsNo
tagIntegermin: 0, max: 4294967295No
weightIntegermin: 0, max: 65535No

as_number (vxlan.overlay_extensions.route_control.route_maps.entries.match)

NameTypeConstraintMandatoryDefault Value
fromIntegermin: 1, max: 4294967295Yes
toIntegermin: 1, max: 4294967295No

community_list (vxlan.overlay_extensions.route_control.route_maps.entries.match)

NameTypeConstraintMandatoryDefault Value
communityStringRegex: ^[A-Za-z0-9-_]{1,63}$Yes
exact_matchBooleantrue, falseNo

ipv4 (vxlan.overlay_extensions.route_control.route_maps.entries.match)

NameTypeConstraintMandatoryDefault Value
address_prefix_listListString[Regex: ^[A-Za-z0-9-_]{1,63}$]No
next_hop_prefix_listListString[Regex: ^[A-Za-z0-9-_]{1,63}$]No
route_src_prefix_listListString[Regex: ^[A-Za-z0-9-_]{1,63}$]No

ipv6 (vxlan.overlay_extensions.route_control.route_maps.entries.match)

NameTypeConstraintMandatoryDefault Value
address_prefix_listListString[Regex: ^[A-Za-z0-9-_]{1,63}$]No
next_hop_prefix_listListString[Regex: ^[A-Za-z0-9-_]{1,63}$]No
route_src_prefix_listListString[Regex: ^[A-Za-z0-9-_]{1,63}$]No

metric (vxlan.overlay_extensions.route_control.route_maps.entries.match)

NameTypeConstraintMandatoryDefault Value
metricIntegermin: 0, max: 4294967295No
deviation_operatorChoice+, -, +-No
deviation_valueIntegermin: 0, max: 4294967295No

as_path (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
as_numberAnyList[Integer[min: 1, max: 4294967295]] or List[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$]]No
prependAnyList[Integer[min: 1, max: 4294967295]] or List[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$]]No
prepend_last_as_countIntegermin: 1, max: 10No
noneBooleantrue, falseNo
replaceClass[replace]No
tagBooleantrue, falseNo
local_asBooleantrue, falseNo
remote_asBooleantrue, falseNo

dampening (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
half_lifeIntegermin: 1, max: 45Yes
reuse_penaltyIntegermin: 1, max: 2000Yes
suppress_penaltyIntegermin: 1, max: 2000Yes
max_suppress_timeIntegermin: 1, max: 255Yes

distance (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
igp_ebgpIntegermin: 1, max: 255Yes
internalIntegermin: 1, max: 255No
localIntegermin: 1, max: 255No

evpn (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
gateway_ipAnyIP or Choice[use-nexthop]No

extended_community (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
4byteas_genericClass[4byteas_generic]No
colorClass[color]No
costList[cost]No
evpn_rmacAnyString[Regex: ^[a-f0-9]{1}.[a-f0-9]{1}.[a-f0-9]{1}$] or String[Regex: ^[a-f0-9]{4}.[a-f0-9]{4}.[a-f0-9]{4}$] or String[Regex: ^[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}$] or String[Regex: ^[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}$]No
rtClass[rt]No

ipv4 (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
address_prefix_listStringRegex: ^[A-Za-z0-9-_]{1,63}$No
next_hopClass[next_hop]No
precedenceAnyInteger[min: 0, max: 7] or Choice[critical, flash, flash-override, immediate, internet, network, priority, routine]No

ipv6 (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
address_prefix_listStringRegex: ^[A-Za-z0-9-_]{1,63}$No
next_hopClass[next_hop]No
precedenceAnyInteger[min: 0, max: 7] or Choice[critical, flash, flash-override, immediate, internet, network, priority, routine]No

metric (vxlan.overlay_extensions.route_control.route_maps.entries.set)

NameTypeConstraintMandatoryDefault Value
bandwidthIntegermin: 1, max: 4294967295Yes
delayIntegermin: 1, max: 4294967295No
reliabilityIntegermin: 0, max: 255No
loadIntegermin: 0, max: 255No
mtuIntegermin: 1, max: 16777215No

replace (vxlan.overlay_extensions.route_control.route_maps.entries.set.as_path)

NameTypeConstraintMandatoryDefault Value
as_numberAnyString[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$] or Choice[none, remote-as]No
private_asBooleantrue, falseNo

4byteas_generic (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)

NameTypeConstraintMandatoryDefault Value
optionChoiceadditive, noneNo
transitivityList[transitivity]No

color (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)

NameTypeConstraintMandatoryDefault Value
colorIntegermin: 0, max: 4294967295Yes
co_flagChoice00, 01No

cost (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)

NameTypeConstraintMandatoryDefault Value
community_idIntegermin: 0, max: 255Yes
typeChoiceigp, pre-bestpathNo
costIntegermint: 0, max: 4294967295Yes

rt (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)

NameTypeConstraintMandatoryDefault Value
additiveBooleantrue, falseNo
rt_listAnyList[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$]] or List[String[Regex: ^((?!0)[0-9]{1,11}.[0-9]{1,5})$]] or List[String[Regex: ^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?){4}$]]No

next_hop (vxlan.overlay_extensions.route_control.route_maps.entries.set.ipv4)

NameTypeConstraintMandatoryDefault Value
addressIPNo
drop_on_failBooleantrue, falseNo
force_orderBooleantrue, falseNo
load_shareBooleantrue, falseNo
peer_addressBooleantrue, falseNo
redist_unchangedBooleantrue, falseNo
unchangedBooleantrue, falseNo
verify_availabilityBooleantrue, falseNo

next_hop (vxlan.overlay_extensions.route_control.route_maps.entries.set.ipv6)

NameTypeConstraintMandatoryDefault Value
addressIPNo
drop_on_failBooleantrue, falseNo
force_orderBooleantrue, falseNo
load_shareBooleantrue, falseNo
peer_addressBooleantrue, falseNo
redist_unchangedBooleantrue, falseNo
unchangedBooleantrue, falseNo
verify_availabilityBooleantrue, falseNo

transitivity (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community.4byteas_generic)

NameTypeConstraintMandatoryDefault Value
transitiveBooleantrue, falseYes
extended_communityStringRegex: ^([0-9]{1,5}:[0-9]{1,5})$Yes

Examples

Examples with Match Criterias

Match Route-type

Matches against a type of route. The route-type can be one or more of the following:

  • external—The external route (BGP, EIGRP, and OSPF type 1 or 2)
  • inter-area—The OSPF inter-area route
  • internal—The internal route (including the OSPF intra- or inter-area)
  • intra-area—The OSPF intra-area route
  • level-1—The IS-IS level 1 route
  • level-2—The IS-IS level 2 route
  • local—The locally generated route
  • nssa-external—The NSSA external route (OSPF type 1 or 2).
  • type-1—The OSPF external type 1 route
  • type-2—The OSPF external type 2 route

BGP does not support this command.

This route-map rm-route-type has one entry 10 with one description My SAC Route-map. Entry 10 matches route-type external or internal.

route-map rm-route-type permit 10
description My SAC Route-map
match route-type external internal
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-route-type
entries:
- seq_number: 10
operation: permit
description: 'My SAC Route-map'
match:
- route_types:
- external
- internal
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-route-type
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp

Match Community or External Community

Example-1

In this route-map rm-community-list with have two permit entries.

  1. route-map rm-community-list permit 10:
  • Match Community: match community commsac-community
  • Behavior: This entry matches any route that contains at least one of the communities listed in the commsac-community community list. It is not necessary for the route to have all the communities specified in commsac-community; having just one is sufficient for a match.
  1. route-map rm-community-list permit 20:
  • Match Community: match community commsac-community exact-match
  • Behavior: This entry requires an exact match of the community list commsac-community. This means that the route must have exactly the same set of communities as listed in commsac-community, with no more and no less. All communities in the route must match the list exactly for it to be considered a match.
route-map rm-community-list permit 10
match community commsac-community
route-map rm-community-list permit 20
match community commsac-community exact-match
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-community-list
entries:
- seq_number: 10
operation: permit
match:
- community_list:
community: commsac-community
- seq_number: 20
operation: permit
match:
- community_list:
community: commsac-community
exact_match: true
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-community-list
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp
Example-2

This second example is similar to the previous one with extended Community-List

route-map rm-extcommunity-list permit 10
description Match ext community
match extcommunity test1
route-map rm-extcommunity-list permit 20
description Match ext community
match extcommunity test1 exact-match
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-extcommunity-list
entries:
- seq_number: 10
operation: permit
description: Match ext community
match:
- extended_community_list:
community: test1
- seq_number: 20
operation: permit
description: Match ext community
match:
- extended_community_list:
community: test1
exact_match: true
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-extcommunity-list
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp

Match AS Numbers

In a route-map, the match as-number statement is used to filter routes based on their AS (Autonomous System) numbers. The two route-map entries you provided specify different criteria for matching AS numbers. Here's an explanation of each:

  1. route-map rm-as_number permit 10:
  • Match AS Number: match as-number 65000
  • Behavior: This entry matches any route that has an AS path containing the AS number 65000. This means that if the AS number 65000 appears anywhere in the AS path of a route, this route-map entry will consider it a match.
  1. route-map rm-as_number2 permit 10:
  • Match AS Number: match as-number 64000, 65000-66000
  • Behavior: This entry matches any route that has an AS path containing:
    • The AS number 64000, or
    • Any AS number within the range 65000 to 66000 inclusive. This means that if a route's AS path contains either AS 64000 or any AS between 65000 and 66000 (inclusive), this route-map entry will consider it a match.
route-map rm-as_number permit 10
match as-number 65000
route-map rm-as_number2 permit 10
match as-number 64000, 65000-66000
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-as_number
entries:
- seq_number: 10
operation: permit
match:
- as_numbers:
- from: 65000
- name: rm-as_number2
entries:
- seq_number: 10
operation: permit
match:
- as_numbers:
- from: 64000
- from: 65000
to: 66000
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-as_number
- name: rm-as_number2
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp

Match AS-Path

In this example, we have a route-map named rm-aspath-list which match an AS-Path List named sac-aspath in the sequence 10.

route-map rm-aspath-list permit 10
match as-path sac-aspath
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-aspath-list
entries:
- seq_number: 10
operation: permit
match:
- as_path_list: sac-aspath
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-aspath-list
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp

Match Prefix-lists / Next-hop Prefix-lists / Route-Source Prefix-lists

In a route-map, different match statements are used to filter routes based on various criteria. The route-maps you provided use IP prefix lists to match routes based on specific attributes. Here's an explanation of each:

  1. route-map rm-ip_addr_pfxlist permit 10:
  • Match Statement: match ip address prefix-list sac-prefix-list
  • Behavior: This route-map entry matches routes based on their destination IP addresses. It uses the sac-prefix-list to determine which destination prefixes are considered a match. If a route's destination address falls within any of the prefixes listed in sac-prefix-list, this entry will match the route.
  1. route-map rm-ip_nh_pfxlist permit 10:
  • Match Statement: match ip next-hop prefix-list sac-prefix-list
  • Behavior: This route-map entry matches routes based on their next-hop IP addresses. It uses the sac-prefix-list to identify which next-hop addresses are considered a match. If a route's next-hop address matches any of the prefixes in sac-prefix-list, this entry will match the route.
  1. route-map rm-ip_route_src_pfxlist permit 10:
  • Match Statement: match ip route-source prefix-list sac-prefix-list
  • Behavior: This route-map entry matches routes based on their source of origination, specifically the IP address of the router or device that originated the route. It uses the sac-prefix-list to determine which source addresses are considered a match. If the route's source address matches any prefixes in sac-prefix-list, this entry will match the route.
route-map rm-ip_addr_pfxlist permit 10
match ip address prefix-list sac-prefix-list
route-map rm-ip_nh_pfxlist permit 10
match ip next-hop prefix-list sac-prefix-list
route-map rm-ip_route_src_pfxlist permit 10
match ip route-source prefix-list sac-prefix-list
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-ip_addr_pfxlist
entries:
- seq_number: 10
operation: permit
match:
- ipv4:
address_prefix_list:
- sac-prefix-list
- name: rm-ip_nh_pfxlist
entries:
- seq_number: 10
operation: permit
match:
- ipv4:
next_hop_prefix_list:
- sac-prefix-list
- name: rm-ip_route_src_pfxlist
entries:
- seq_number: 10
operation: permit
match:
- ipv4:
route_src_prefix_list:
- sac-prefix-list
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-ip_addr_pfxlist
- name: rm-ip_nh_pfxlist
- name: rm-ip_route_src_pfxlist
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp

Match interfaces

The route-map rm-interfaces is designed to match routes based on the interfaces they are associated with. Here's a breakdown of its components:

  1. Route-Map Name and Sequence:
  • route-map rm-interfaces permit 10: This specifies the name of the route-map (rm-interfaces) and the sequence number (10). The sequence number determines the order in which route-map entries are evaluated.
  1. Description:
  • description Match interfaces: This is a comment or annotation within the route-map. It provides a human-readable explanation of the purpose of this entry, which in this case is to match routes based on specific interfaces.
  1. Match Interface Statement:
  • match interface Ethernet1/10 loopback100 Null0 port-channel100: This line specifies the interfaces to match against. The route-map will match routes that are received on or associated with any of the listed interfaces:
  • Ethernet1/10: A specific physical Ethernet interface.
  • loopback100: A loopback interface, which is typically used for management or routing purposes.
  • Null0: A virtual interface that discards traffic; often used for route summarization or to prevent routing loops.
  • port-channel100: An aggregated interface, typically used to combine multiple physical links into a single logical link for redundancy and increased bandwidth.
route-map rm-interfaces permit 10
description Match interfaces
match interface Ethernet1/10 loopback100 Null0 port-channel100
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-interfaces
entries:
- seq_number: 10
operation: permit
description: Match interfaces
match:
- interfaces:
- Ethernet1/10
- loopback100
- null0
- po100
groups:
- name: routeMap_RCtrlGrp
route_maps:
- name: rm-interfaces
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp

Other Match criterias

Each of these route-map entries is designed to match routes based on specific attributes or conditions. Here's an explanation of each:

  1. route-map rm-tags permit 10:
    • Match Tag: match tag 10 20
    • Behavior: This entry matches routes that are tagged with either the tag value 10 or 20. Tags are used in routing to add metadata to routes, often for policy or redistribution purposes.
  2. route-map rm-evpn permit 10:
    • Match EVPN Route-Type: match evpn route-type 2-mac-ip 5
    • Behavior: This entry matches EVPN (Ethernet VPN) routes of specific types. The route-type 2-mac-ip refers to routes that distribute both MAC and IP addresses. The number 5 refers to EVPN type-5 routes, also known as IP Prefix routes.
  3. route-map rm-mac-list permit 10:
    • Match MAC List: match mac-list FILTER_MAC_AAA
    • Behavior: This entry matches routes based on a MAC address list named FILTER_MAC_AAA. This is used in environments where MAC-based filtering is necessary, such as in Layer 2 VPNs or network security configurations.
  4. route-map rm-metric permit 10:
    • Match Metric: match metric 1000
    • Behavior: This entry matches routes with a metric value exactly equal to 1000. Metrics are used in routing protocols to determine the best path; matching based on metrics allows for policy decisions based on route cost.
  5. route-map rm-metric permit 20:
    • Match Metric with Range: match metric 1000 +- 10
    • Behavior: This entry matches routes with a metric value within the range of 990 to 1010 (1000 plus or minus 10). This is useful for matching routes that have a metric close to a specific value but allowing for some variance.
  6. route-map rm-ospf-area permit 10:
    • Match OSPF Area: match ospf-area 0
    • Behavior: This entry matches routes that are learned from OSPF (Open Shortest Path First) within area 0, which is the backbone area in OSPF networks.
  7. route-map rm-sourceproto permit 10:
    • Match Source Protocol: match source-protocol EXTERNAL
    • Behavior: This entry matches routes that are sourced from another protocol instance named EXTERNAL. This is typically used in scenarios involving route redistribution from one routing protocol to another.
route-map rm-tags permit 10
match tag 10 20
route-map rm-evpn permit 10
match evpn route-type 2-mac-ip 5
route-map rm-mac-list permit 10
match mac-list FILTER_MAC_AAA
route-map rm-metric permit 10
match metric 1000
route-map rm-metric permit 20
match metric 1000 +- 10
route-map rm-ospf-area permit 10
match ospf-area 0
route-map rm-sourceproto permit 10
match source-protocol EXTERNAL
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-tags
entries:
- seq_number: 10
operation: permit
match:
- tags:
- 10
- 20
- name: rm-evpn
entries:
- seq_number: 10
operation: permit
match:
- evpn_route_types:
- 2-mac-ip
- 5
- name: rm-mac-list
entries:
- seq_number: 10
operation: permit
match:
- mac_list: FILTER_MAC_AAA
- name: rm-metric
entries:
- seq_number: 10
operation: permit
match:
- metric:
metric: 1000
- seq_number: 20
operation: permit
match:
- metric:
metric: 1000
deviation_operator: +-
deviation_value: 10
- name: rm-ospf-area
entries:
- seq_number: 10
operation: permit
match:
- ospf_area: 0
- name: rm-sourceproto
entries:
- seq_number: 10
operation: permit
match:
- source_protocol: EXTERNAL
- name: rm-continue
entries:
- seq_number: 10
operation: permit
description: blahblah
match:
- interfaces:
- Ethernet1/10
continue: 20
- seq_number: 20
operation: permit
groups:
- name: routeMap_RCtrlGrp
- name: rm-evpn
- name: rm-mac-list
- name: rm-metric
- name: rm-ospf-area
- name: rm-sourceproto
- name: rm-tags
- name: rm-continue
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp

Examples with Set Criterias

Set Community or External Community

The route-map entries rm-set-comm-list and rm-set-community are designed to modify the BGP community attributes of routes they process. Here's an explanation of each entry:

  1. First Entry: route-map rm-set-comm-list permit 10:

    • Description: description comm-list
      • This is a comment indicating that the entry deals with community lists.
    • Set Comm-List Statement: set comm-list mycommunitylist delete
      • This command specifies that the communities matching mycommunitylist should be removed from the route. Community lists are used to group together community attributes for easier management and policy application. This entry delete any communities that match the list named mycommunitylist from the routes processed by this route-map.
  2. Second Entry: route-map rm-set-community permit 10:

    • Description: description community
      • This is a comment indicating that the entry deals with setting community attributes.
    • Set Community Statement:
      • set community internet 65000:42 65000:43 no-export no-advertise local-AS graceful-shutdown blackhole additive
      • This command sets various BGP community attributes for the matched routes. The communities are used to tag routes with specific attributes that can be used for routing policies and decisions. Here’s a breakdown of the communities being set:
    • internet: A well-known community that typically means the route is advertised to the internet.
    • 65000:42 65000:43: These are custom community values that can be used for specific routing policies or traffic engineering.
    • no-export: Prevents the route from being advertised outside the local AS.
    • no-advertise: Prevents the route from being advertised to any BGP peers.
    • local-AS: Prevents the route from being advertised outside the local confederation.
    • graceful-shutdown: Used to indicate that a route is being withdrawn gracefully.
    • blackhole: Typically used to indicate that traffic matching the route should be discarded.
    • additive: Ensures that these communities are added to any existing communities on the route rather than replacing them.

blackhole has been introduced in 10.3

route-map rm-set-comm-list permit 10
description comm-list
set comm-list mycommunitylist delete

route-map rm-set-community permit 10
description community
set community internet 65000:42 65000:43 no-export no-advertise local-AS graceful-shutdown blackhole additive

The route-map entry rm-set-extcomm-list is designed to modify the extended community attributes of BGP (Border Gateway Protocol) routes. Here's an explanation of its components:

  1. Route-Map Name and Sequence:
    • route-map rm-set-extcomm-list permit 10: This specifies the name of the route-map (rm-set-extcomm-list) and the sequence number (10). The sequence number determines the order in which this entry is applied within the route-map.
  2. Set Extcomm-List Statement:
    • set extcomm-list extcommunity-list delete: This command specifies that any extended communities matching the list named extcommunity-list should be removed from the route.
    • Extended Communities: Extended communities are an extension of the standard BGP community attribute, allowing for a wider range of attributes and use cases. They are often used in more advanced BGP scenarios, such as MPLS VPNs, where they can carry additional information like route target and route origin information.

Removing Extended Communities: By using this route-map entry, any extended communities associated with a route that match those specified in extcommunity-list will be deleted. This can be useful for controlling the propagation of specific attributes that might influence routing decisions

route-map rm-set-extcomm-list permit 10
set extcomm-list extcommunity-list delete

The route-map rm-set-extcommunity is designed to set various extended community attributes for BGP routes. Extended communities provide additional granularity and flexibility for controlling routing policies, especially in environments such as MPLS VPNs and EVPNs. Here's a breakdown of each route-map entry:

  1. Permit 10:
    • set extcommunity 4byteas-generic additive: Sets a generic extended community for 4-byte AS numbers, with the additive keyword indicating that this community should be added to existing communities rather than replacing them.
  2. Permit 11:
    • set extcommunity 4byteas-generic transitive 65000:10 additive: Sets a transitive extended community with a specific value 65000:10, meaning it should be preserved across AS boundaries. The additive keyword ensures it is added to existing communities.
  3. Permit 12:
    • set extcommunity 4byteas-generic transitive 65000:10 non-transitive 65000:42 additive: Sets both a transitive community (65000:10) and a non-transitive community (65000:42), with additive indicating they should be added to existing communities.
  4. Permit 21:
    • set extcommunity color 100: Sets a color extended community with a value of 100, often used in Segment Routing and MPLS for policy routing.
  5. Permit 22:
    • set extcommunity color 100 co-flag 01: Sets a color community with a co-flag, which might be used for specific routing or traffic engineering purposes, depending on the network's configuration.
  6. Permit 31:
    • set extcommunity cost igp 100 1000: Sets a cost community related to IGP metrics, possibly used for traffic engineering by influencing path selection based on cost.
  7. Permit 32:
    • set extcommunity cost pre-bestpath 100 1000: Sets a cost community affecting pre-best path calculations, allowing for advanced routing decisions based on cost before the best path is determined.
  8. Permit 35:
    • Complex cost settings: Sets multiple cost communities, both pre-bestpath and igp, for fine-grained control over routing decisions based on cost metrics.
  9. Permit 40 to 42:
    • set extcommunity evpn rmac: Sets EVPN-related RMAC (Router MAC) extended communities with specified MAC addresses, used in EVPN configurations for identifying router MAC addresses in the control plane.
  10. Permit 50:
    • set extcommunity rt 10:20 10:21 additive: Sets route target (RT) extended communities 10:20 and 10:21, using additive to retain existing communities. RTs are crucial in MPLS VPNs for defining which VRFs import/export routes.
  11. Permit 51:
    • set extcommunity rt 20:20 20:21: Sets RT communities 20:20 and 20:21, replacing any existing RT communities.
  12. Permit 52:
    • set extcommunity rt 30:20: Sets a single RT community 30:20, replacing any existing RT communities.
route-map rm-set-extcommunity permit 10
set extcommunity 4byteas-generic additive
route-map rm-set-extcommunity permit 11
set extcommunity 4byteas-generic transitive 65000:10 additive
route-map rm-set-extcommunity permit 12
set extcommunity 4byteas-generic transitive 65000:10 non-transitive 65000:42 additive
route-map rm-set-extcommunity permit 21
set extcommunity color 100
route-map rm-set-extcommunity permit 22
set extcommunity color 100 co-flag 01
route-map rm-set-extcommunity permit 31
set extcommunity cost igp 100 1000
route-map rm-set-extcommunity permit 32
set extcommunity cost pre-bestpath 100 1000
route-map rm-set-extcommunity permit 35
set extcommunity cost pre-bestpath 10 1000 pre-bestpath 20 2000 igp 30 3000 igp 40 4000
route-map rm-set-extcommunity permit 40
set extcommunity evpn rmac aabb.ccdd.ee00
route-map rm-set-extcommunity permit 41
set extcommunity evpn rmac aabb.ccdd.ee01
route-map rm-set-extcommunity permit 42
set extcommunity evpn rmac 000a.000b.000c
route-map rm-set-extcommunity permit 50
set extcommunity rt 10:20 10:21 additive
route-map rm-set-extcommunity permit 51
set extcommunity rt 20:20 20:21
route-map rm-set-extcommunity permit 52
set extcommunity rt 30:20
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-comm-list
entries:
- seq_number: 10
description: comm-list
operation: permit
set:
- community_list: mycommunitylist

- name: rm-set-community
entries:
- seq_number: 10
description: community
operation: permit
set:
- community:
- no_advertise
- additive
- internet
- graceful_shutdown
- '65000:42'
- blackhole
- local_as
- '65000:43'
- no_export

- name: rm-set-extcomm-list
entries:
- seq_number: 10
operation: permit
set:
- extended_community_list: extcommunity-list

- name: rm-set-extcommunity
entries:
- seq_number: 10
operation: permit
set:
- extended_community:
4byteas_generic:
option: additive
- seq_number: 11
operation: permit
set:
- extended_community:
4byteas_generic:
option: additive
transitivity:
- transitive: true
community: '65000:10'
- seq_number: 12
operation: permit
set:
- extended_community:
4byteas_generic:
option: additive
transitivity:
- transitive: true
community: '65000:10'
- transitive: false
community: '65000:42'
- seq_number: 21
operation: permit
set:
- extended_community:
color:
color_community: 100
- seq_number: 22
operation: permit
set:
- extended_community:
color:
color_community: 100
co_flag: '01'
- seq_number: 31
operation: permit
set:
- extended_community:
cost:
- community_id: 100
cost: 1000
type_cost: igp
- seq_number: 32
operation: permit
set:
- extended_community:
cost:
- community_id: 100
cost: 1000
type_cost: pre-bestpath
- seq_number: 35
operation: permit
set:
- extended_community:
cost:
- community_id: 10
cost: 1000
type_cost: pre-bestpath
- community_id: 30
cost: 3000
type_cost: igp
- community_id: 20
cost: 2000
type_cost: pre-bestpath
- community_id: 40
cost: 4000
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-comm-list
- name: rm-set-community
- name: rm-set-extcommunity
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp

Set AS-Path

The route-map rm-set-aspath is designed to manipulate the AS (Autonomous System) path attribute in BGP (Border Gateway Protocol) updates. The AS path is a critical component in BGP routing decisions, as it helps determine the best path to a destination and avoid routing loops. Here's an explanation of each route-map entry:

  1. Permit 5:
    • set as-path 65000 65001: This is likely a placeholder or example indicating that the AS path can be set to a specific sequence of AS numbers.
  2. Permit 6:
    • set as-path 65000.10: Sets the AS path to a specific AS sequence, where 65000.10 is treated as a single AS entry.
  3. Permit 7:
    • set as-path 65000.10 65001: Sets the AS path to include two AS entries, 65000.10 and 65001.
  4. Permit 10:
    • set as-path prepend last-as 3: Prepends the last AS in the path three times. AS path prepending is used to make a path less preferred by increasing its length.
  5. Permit 11:
    • set as-path prepend 65000: Prepends the AS number 65000 to the AS path, making it appear less preferred to BGP peers.
  6. Permit 12:
    • set as-path prepend 65000 65000.1: Prepends two AS numbers, 65000 and 65000.1, to the path.
  7. Permit 21:
    • set as-path replace 65000 with 65000.10: Replaces occurrences of AS 65000 in the path with 65000.10.
  8. Permit 22:
    • set as-path replace 65000 with none: Removes AS 65000 from the AS path.
  9. Permit 23:
    • set as-path replace 65000 with remote-as: Replaces AS 65000 with the remote AS number (the AS number of the BGP peer).
  10. Permit 30:
    • set as-path replace private-as: Removes private AS numbers from the AS path.
  11. Permit 31:
    • set as-path replace private-as with 65000.10: Replaces private AS numbers in the path with 65000.10.
  12. Permit 32:
    • set as-path replace private-as with none: Removes private AS numbers entirely from the path.
  13. Permit 33:
    • set as-path replace private-as with remote-as: Replaces private AS numbers with the remote AS number.
  14. Permit 40:
    • set as-path tag: Tags the AS path, potentially for internal use or policy identification.
  15. Permit 50:
    • set as-path none: Sets the AS path to none.
  16. Permit 60:
    • set as-path local-as: Sets the AS path to the local AS number.
  17. Permit 70:
    • set as-path remote-as: Sets the AS path to the remote AS number.
  18. Permit 90:
    • set as-path local-as remote-as 65000 65001
route-map rm-set-aspath permit 5
description as simple
set as-path 65000 65001
route-map rm-set-aspath permit 6
description as simple
set as-path 65000.10
route-map rm-set-aspath permit 7
description as simple
set as-path 65000.10 65001
route-map rm-set-aspath permit 10
description as prepend 3 times
set as-path prepend last-as 3
route-map rm-set-aspath permit 11
description as prepend
set as-path prepend 65000
route-map rm-set-aspath permit 12
description as prepend 2 ASN
set as-path prepend 65000 65000.1
route-map rm-set-aspath permit 21
description as-path replace as-number
set as-path replace 65000 with 65000.10
route-map rm-set-aspath permit 22
description as-path replace none
set as-path replace 65000 with none
route-map rm-set-aspath permit 23
description as-path replace remote-as
set as-path replace 65000 with remote-as
route-map rm-set-aspath permit 30
description as-path replace private-as only
set as-path replace private-as
route-map rm-set-aspath permit 31
description as-path replace private-as as-number
set as-path replace private-as with 65000.10
route-map rm-set-aspath permit 32
description as-path replace private-as none
set as-path replace private-as with none
route-map rm-set-aspath permit 33
description as-path replace private-as remote-as
set as-path replace private-as with remote-as
route-map rm-set-aspath permit 40
description as-path tag
set as-path tag
route-map rm-set-aspath permit 50
description as-path none
set as-path none
route-map rm-set-aspath permit 60
description as-path local-as
set as-path local-as
route-map rm-set-aspath permit 70
description as-path remote-as
set as-path remote-as
route-map rm-set-aspath permit 90
description as-path local-as, remote-as, as-number
set as-path local-as remote-as 65000 65001
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-aspath
entries:
- seq_number: 5
description: as simple
operation: permit
set:
- as_path:
as_number:
- 65000
- 65001
- seq_number: 6
description: as simple
operation: permit
set:
- as_path:
as_number:
- '65000.10'
- seq_number: 7
description: as simple
operation: permit
set:
- as_path:
as_number:
- '65000.10'
- '65001'
- seq_number: 10
description: as prepend 3 times
operation: permit
set:
- as_path:
prepend:
prepend_last_as_count: 3
- seq_number: 11
description: as prepend
operation: permit
set:
- as_path:
prepend:
- 65000
- seq_number: 12
description: as prepend 2 ASN
operation: permit
set:
- as_path:
prepend:
- '65000'
- '65000.1'
- seq_number: 21
operation: permit
description: as-path replace as-number
set:
- as_path:
as_number:
- 65000
replace:
as_number: '65000.10'
- seq_number: 22
operation: permit
description: as-path replace none
set:
- as_path:
as_number:
- 65000
replace:
as_number: none
- seq_number: 23
operation: permit
description: as-path replace remote-as
set:
- as_path:
as_number:
- 65000
replace:
as_number: remote-as
- seq_number: 30
operation: permit
description: as-path replace private-as only
set:
- as_path:
replace:
private_as: true
- seq_number: 31
operation: permit
description: as-path replace private-as as-number
set:
- as_path:
replace:
private_as: '65000.10'
- seq_number: 32
operation: permit
description: as-path replace private-as none
set:
- as_path:
replace:
private_as: 'none'
- seq_number: 33
operation: permit
description: as-path replace private-as remote-as
set:
- as_path:
replace:
private_as: 'remote-as'
- seq_number: 40
operation: permit
description: as-path tag
set:
- as_path:
tag: true
- seq_number: 50
operation: permit
description: as-path none
set:
- as_path:
none: true
- seq_number: 60
operation: permit
description: as-path local-as
set:
- as_path:
local_as: true
- seq_number: 70
operation: permit
description: as-path remote-as
set:
- as_path:
remote_as: true
- seq_number: 90
operation: permit
description: as-path local-as, remote-as, as-number
set:
- as_path:
local_as: true
remote_as: true
as_number:
- 65000
- 65001
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-aspath
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp
Set Dampening

The route-map entry you provided, rm-set-dampening, is configured to apply route dampening parameters to routes that it matches. Here's a breakdown of its components:

  1. Route-Map Name and Sequence:
    • route-map rm-set-dampening permit 10: This specifies the name of the route-map (rm-set-dampening) and the sequence number (10). The sequence number indicates the order in which this entry is processed within the route-map.
  2. Description:
    • description community: This is an annotation or comment within the route-map entry. While it doesn't affect the functionality, it serves as a note for network administrators, indicating that this entry is related to community handling or tagging.
  3. Set Dampening Statement:
    • set dampening 1 2 3 4: This line specifies the route dampening parameters. Route dampening is a mechanism used to stabilize the network by suppressing the advertisement of flapping routes (routes that frequently go up and down). The parameters provided typically represent:
    • Half-life (1): The time, in minutes, it takes for the penalty assigned to a flapping route to be reduced by half.
    • Reuse Threshold (2): The penalty value below which a route is unsuppressed and allowed to be advertised again.
    • Suppress Threshold (3): The penalty value above which a route is suppressed and not advertised.
    • Maximum Suppress Time (4): The maximum duration, in minutes, that a route can be suppressed.

Suppress limit must be larger than reuse limit

route-map rm-set-dampening permit 10
description community
set dampening 1 2 3 4
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-dampening
entries:
- seq_number: 10
description: community
operation: permit
# Suppress limit must be larger than reuse limit
set:
- dampening:
half_life: 1
reuse_penalty: 2
suppress_penalty: 3
max_suppress_time: 4
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-dampening
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp
Set local preference

The route-map entry rm-set-localpref is designed to modify the local preference attribute of routes that it processes. Here's a detailed explanation:

  1. Route-Map Name and Sequence:
    • route-map rm-set-localpref permit 10: This specifies the name of the route-map (rm-set-localpref) and the sequence number (10). The sequence number indicates the order in which this entry is applied within the route-map.
  2. Set Local Preference Statement:
    • set local-preference 110: This command sets the local preference attribute of the matched routes to 110.
route-map rm-set-localpref permit 10
set local-preference 110
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-localpref
entries:
- seq_number: 10
operation: permit
set:
- local_preference: 110
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-localpref
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp
Set Origin
  • BGP Origin Attribute: The origin attribute is one of the path attributes in BGP that indicates how BGP learned about a particular route. It helps in the path selection process. There are three types of origin values:

    • IGP: The route was learned from an Interior Gateway Protocol (IGP).
    • EGP: The route was learned from the Exterior Gateway Protocol (EGP), a predecessor of BGP.
    • Incomplete: The origin of the route is unknown or learned by some other means, often set when routes are redistributed into BGP from other routing protocols.
  • Setting Origin to Incomplete: By setting the origin to "incomplete," this route-map entry indicates that the origin of the route is not derived from a BGP or IGP source. This can be useful when redistributing routes from non-BGP sources into BGP and wanting to reflect this in the BGP path attributes.

The route-map entry rm-set-origin is configured to modify the BGP (Border Gateway Protocol) origin attribute for routes it processes. Here's a detailed explanation:

  1. Route-Map Name and Sequence:
    • route-map rm-set-origin permit 10: This specifies the name of the route-map (rm-set-origin) and the sequence number (10). The sequence number determines the order in which this entry is applied within the route-map.
  2. Set Origin Statement:
    • set origin incomplete: This command sets the BGP origin attribute of the matched routes to "incomplete."
route-map rm-set-origin permit 10
set origin incomplete
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-origin
entries:
- seq_number: 10
operation: permit
set:
- origin: incomplete
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-origin
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp
Set weight

Path Preference: By setting the weight to 1000, this route-map entry ensures that the router prefers paths with this weight over others with lower weights. This is useful when you want to influence outgoing traffic to take a specific path from a particular router. The weight attribute is a Cisco-specific attribute used for path selection within a single router. It is not propagated to other routers.

  1. Route-Map Name and Sequence:
    • route-map rm-set-weight permit 10: This specifies the name of the route-map (rm-set-weight) and the sequence number (10). The sequence number indicates the order in which this entry is applied within the route-map.
  2. Set Weight Statement:
    • set weight 1000: This command sets the BGP weight attribute to 1000 for the matched routes.
route-map rm-set-weight permit 10
set weight 1000
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-weight
entries:
- seq_number: 10
operation: permit
set:
- weight: 1000
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-weight
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp
Set Metrics

The route-map rm-set-metric is designed to modify the metric attribute for routes it processes. Each entry specifies different metric values, potentially for different routing protocols or scenarios. Here's an explanation of each entry:

  1. First Entry: route-map rm-set-metric permit 10:
    • Set Metric Statement: set metric 1000
    • Behavior: This entry sets the metric for the matched routes to 1000. The metric is a value used by routing protocols to determine the best path to a destination. A lower metric is generally preferred over a higher one. This simple metric setting is typically used for protocols like OSPF or EIGRP, where a single metric value is sufficient to influence path selection.
  2. Second Entry: route-map rm-set-metric permit 20:
    • Set Metric Statement: set metric 1000 100 255 255 1500
    • Behavior: This entry sets a more complex metric, consisting of multiple values. This is likely intended for use with a routing protocol that supports composite metrics, such as EIGRP, which uses multiple components to calculate the overall metric. Here’s a general breakdown of what these values might represent in EIGRP:
    • Bandwidth: 1000 - Represents the minimum bandwidth (in kilobits per second) along the path.
    • Delay: 100 - Represents the cumulative delay (in tens of microseconds) along the path.
    • Reliability: 255 - A value from 0 to 255 indicating the reliability of the path, where 255 is 100% reliable.
    • Load: 255 - A value from 0 to 255 indicating the load on the path, where 0 is no load.
    • MTU: 1500 - The maximum transmission unit, which is the size of the largest packet that can be sent over the path.
route-map rm-set-metric permit 10
set metric 1000
route-map rm-set-metric permit 20
set metric 1000 100 255 255 1500
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-metric
entries:
- seq_number: 10
operation: permit
set:
- metric:
bandwidth: 1000
- seq_number: 20
operation: permit
set:
- metric:
bandwidth: 1000
delay: 100
reliability: 255
load: 255
mtu: 1500
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-metric
switches:
- name: netascode-leaf1
groups: routeMap_RCtrlGrp
Set Others
route-map rm-set-metrictype permit 10
set metric-type external
route-map rm-set-distance permit 10
set distance 10 20 30
route-map rm-set-evpn permit 10
set evpn gateway-ip 10.0.0.1
route-map rm-set-evpn permit 20
set evpn gateway-ip use-nexthop
route-map rm-set-extcomm-list permit 10
set extcomm-list extcommunity-list delete
route-map rm-set-forwardingaddr permit 10
set forwarding-address
route-map rm-set-forwardingaddr permit 20
route-map rm-set-interface permit 10
set interface Null0
route-map rm-set-level permit 10
set level level-1
route-map rm-set-nssaonly permit 10
set nssa-only
route-map rm-set-nssaonly permit 20
route-map rm-set-pathselection permit 10
set path-selection all advertise
route-map rm-set-tag permit 10
set tag 42
route-map rm-set-ipprecedence permit 10
set ip precedence critical
route-map rm-set-ipprecedence permit 20
set ip precedence immediate
---
vxlan:
overlay_extensions:
route_control:
route_maps:
- name: rm-set-metrictype
entries:
- seq_number: 10
operation: permit
set:
- metric_type: external
- name: rm-set-distance
entries:
- seq_number: 10
operation: permit
set:
- distance:
igp_ebgp: 10
internal: 20
local: 30
- name: rm-set-evpn
entries:
- seq_number: 10
operation: permit
set:
- evpn:
gateway_ip: 10.0.0.1
- seq_number: 20
operation: permit
set:
- evpn:
gateway_ip: use-nexthop
- name: rm-set-forwardingaddr
entries:
- seq_number: 10
operation: permit
set:
- forwarding_address: true
- seq_number: 20
operation: permit
set:
- forwarding_address: false
- name: rm-set-interface
entries:
- seq_number: 10
operation: permit
set:
- interface: null0
- name: rm-set-level
entries:
- seq_number: 10
operation: permit
set:
- level: level-1
- name: rm-set-nssaonly
entries:
- seq_number: 10
operation: permit
set:
- nssa_only: true
- seq_number: 20
operation: permit
set:
- nssa_only: false
- name: rm-set-pathselection
entries:
- seq_number: 10
operation: permit
set:
- path_selection: all
- name: rm-set-tag
entries:
- seq_number: 10
operation: permit
set:
- tag: 42
- name: rm-set-ipprecedence
entries:
- seq_number: 10
operation: permit
set:
- ipv4:
precedence: critical
- seq_number: 20
operation: permit
set:
- ipv4:
precedence: 2
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-metrictype
- name: rm-set-distance
- name: rm-set-evpn
- name: rm-set-forwardingaddr
- name: rm-set-interface
- name: rm-set-level
- name: rm-set-nssaonly
- name: rm-set-pathselection
- name: rm-set-tag
- name: rm-set-ipprecedence
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp

Examples Set with IPv6

route-map rm-set-ipaddrpfx6 permit 10
set ipv6 address prefix-list pfx6

route-map rm-set-ip-nh6 permit 10
set ipv6 next-hop 2001:db8::1
route-map rm-set-ip-nh6 permit 12
set ipv6 next-hop 2001:db8::1 load-share force-order drop-on-fail
route-map rm-set-ip-nh6 permit 20
set ipv6 next-hop peer-address
route-map rm-set-ip-nh6 permit 21
set ipv6 next-hop unchanged
route-map rm-set-ip-nh6 permit 22
set ip next-hop redist-unchanged
route-map rm-set-ip-nh6 permit 32
set ipv6 next-hop verify-availability 2001:db8::1
route-map rm-set-ip-nh6 permit 33
set ipv6 next-hop verify-availability 2001:db8::1 load-share force-order drop-on-fail
---
vxlan:
overlay_extensions:
route_control:
- name: rm-set-ipaddrpfx6
entries:
- seq_number: 10
operation: permit
set:
- ipv6:
address_prefix_list: pfx6
- name: rm-set-ip-nh6
entries:
- seq_number: 10
operation: permit
set:
- ipv6:
next_hop:
address: 2001:db8::1
- seq_number: 12
operation: permit
set:
- ipv6:
next_hop:
address: 2001:db8::1
drop_on_fail: true
force_order: true
load_share: true
- seq_number: 20
operation: permit
set:
- ipv6:
next_hop:
peer_address: true
- seq_number: 21
operation: permit
set:
- ipv6:
next_hop:
unchanged: true
- seq_number: 22
operation: permit
set:
- ipv4:
next_hop:
redist_unchanged: true
- seq_number: 32
operation: permit
set:
- ipv6:
next_hop:
verify_availability: true
address: 2001:db8::1
- seq_number: 33
operation: permit
set:
- ipv6:
next_hop:
verify_availability: true
address: 2001:db8::1
drop_on_fail: true
force_order: true
load_share: true
groups:
- name: routeMap_RCtrlGrp
- name: rm-set-ipaddrpfx6
- name: rm-set-ip-nh6
switches:
- name: netascode-leaf1
groups:
- routeMap_RCtrlGrp