Route-Maps
sidebar_position: 8 sidebar_label: 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)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
route_maps | List | [route_maps] | No |
route_maps (vxlan.overlay_extensions.route_control)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Yes | ||
entries | List | [entries] | Yes |
entries (vxlan.overlay_extensions.route_control.route_maps)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
seq_number | Integer | min: 1 , max: 65535 | Yes | |
operation | Choice | permit , deny | Yes | |
description | String | No | ||
match | List | [match] | No | |
set | List | [set] | No | |
continue | Integer | min: 1 , max: 65535 | No |
match (vxlan.overlay_extensions.route_control.route_maps.entries)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
as_number | List | [as_number] | No | |
as_path_list | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | No | |
community_list | Class | [community_list] | No | |
evpn_route_types | List | Choice[1 , 2 , 2-mac-ip , 2-mac-only , 3 , 4 , 5 , 6 ] | No | |
extended_community_list | Class | [extended_community_list] | No | |
interface | List | Any[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 | |
ipv4 | Class | [ipv4] | No | |
ipv6 | Class | [ipv6] | No | |
mac_list | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | No | |
metric | Class | [metric] | No | |
ospf_area | Integer | min: 0 , max: 4294967295 | No | |
route_types | List | Choice[external , inter-area , internal , intra-area , level-1 , level-2 , local , nssa-external , type-1 , type-2 ] | No | |
source_protocol | String | Regex: ^[A-Za-z0-9-_]{1,32}$ | No | |
tag | List | Integer[min: 0 , max: 4294967295 ] | No |
set (vxlan.overlay_extensions.route_control.route_maps.entries)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
as_path | Class | [as_path] | No | |
community_list | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | No | |
community | List | Any[String[Regex: ^([0-9]{1,5}:[0-9]{1,5})$ ] or Choice[additive , graceful-shutdown , internet , local-as , no-advertise , no-export , none , blackhole ]] | No | |
dampening | Class | [dampening] | No | |
distance | Class | [distance] | No | |
evpn | Class | [evpn] | No | |
extended_community_list | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | No | |
extended_community | Class | [extended_community] | No | |
forwarding_address | Boolean | true , false | No | |
interface | String | Regex: (?i)^(n|null)([0])$ | No | |
ipv4 | Class | [ipv4] | No | |
ipv6 | Class | [ipv6] | No | |
level | Choice | level-1 , level-1-2 , level-2 | No | |
local_preference | Integer | min: 0 , max: 4294967295 | No | |
metric | Class | [metric] | No | |
metric_type | Choice | external , internal , type-1 , type-2 | No | |
nssa_only | Boolean | true , false | No | |
origin | Choice | egp , igp , incomplete | No | |
path_selection | Choice | all , backup , best2 , multipaths | No | |
tag | Integer | min: 0 , max: 4294967295 | No | |
weight | Integer | min: 0 , max: 65535 | No |
as_number (vxlan.overlay_extensions.route_control.route_maps.entries.match)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
from | Integer | min: 1 , max: 4294967295 | Yes | |
to | Integer | min: 1 , max: 4294967295 | No |
community_list (vxlan.overlay_extensions.route_control.route_maps.entries.match)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
community | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | Yes | |
exact_match | Boolean | true , false | No |
ipv4 (vxlan.overlay_extensions.route_control.route_maps.entries.match)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address_prefix_list | List | String[Regex: ^[A-Za-z0-9-_]{1,63}$ ] | No | |
next_hop_prefix_list | List | String[Regex: ^[A-Za-z0-9-_]{1,63}$ ] | No | |
route_src_prefix_list | List | String[Regex: ^[A-Za-z0-9-_]{1,63}$ ] | No |
ipv6 (vxlan.overlay_extensions.route_control.route_maps.entries.match)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address_prefix_list | List | String[Regex: ^[A-Za-z0-9-_]{1,63}$ ] | No | |
next_hop_prefix_list | List | String[Regex: ^[A-Za-z0-9-_]{1,63}$ ] | No | |
route_src_prefix_list | List | String[Regex: ^[A-Za-z0-9-_]{1,63}$ ] | No |
metric (vxlan.overlay_extensions.route_control.route_maps.entries.match)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
metric | Integer | min: 0 , max: 4294967295 | No | |
deviation_operator | Choice | + , - , +- | No | |
deviation_value | Integer | min: 0 , max: 4294967295 | No |
as_path (vxlan.overlay_extensions.route_control.route_maps.entries.set)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
as_number | Any | List[Integer[min: 1 , max: 4294967295 ]] or List[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$ ]] | No | |
prepend | Any | List[Integer[min: 1 , max: 4294967295 ]] or List[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$ ]] | No | |
prepend_last_as_count | Integer | min: 1 , max: 10 | No | |
none | Boolean | true , false | No | |
replace | Class | [replace] | No | |
tag | Boolean | true , false | No | |
local_as | Boolean | true , false | No | |
remote_as | Boolean | true , false | No |
dampening (vxlan.overlay_extensions.route_control.route_maps.entries.set)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
half_life | Integer | min: 1 , max: 45 | Yes | |
reuse_penalty | Integer | min: 1 , max: 2000 | Yes | |
suppress_penalty | Integer | min: 1 , max: 2000 | Yes | |
max_suppress_time | Integer | min: 1 , max: 255 | Yes |
distance (vxlan.overlay_extensions.route_control.route_maps.entries.set)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
igp_ebgp | Integer | min: 1 , max: 255 | Yes | |
internal | Integer | min: 1 , max: 255 | No | |
local | Integer | min: 1 , max: 255 | No |
evpn (vxlan.overlay_extensions.route_control.route_maps.entries.set)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
gateway_ip | Any | IP or Choice[use-nexthop ] | No |
extended_community (vxlan.overlay_extensions.route_control.route_maps.entries.set)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
4byteas_generic | Class | [4byteas_generic] | No | |
color | Class | [color] | No | |
cost | List | [cost] | No | |
evpn_rmac | Any | String[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 | |
rt | Class | [rt] | No |
ipv4 (vxlan.overlay_extensions.route_control.route_maps.entries.set)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address_prefix_list | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | No | |
next_hop | Class | [next_hop] | No | |
precedence | Any | Integer[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)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address_prefix_list | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | No | |
next_hop | Class | [next_hop] | No | |
precedence | Any | Integer[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)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
bandwidth | Integer | min: 1 , max: 4294967295 | Yes | |
delay | Integer | min: 1 , max: 4294967295 | No | |
reliability | Integer | min: 0 , max: 255 | No | |
load | Integer | min: 0 , max: 255 | No | |
mtu | Integer | min: 1 , max: 16777215 | No |
replace (vxlan.overlay_extensions.route_control.route_maps.entries.set.as_path)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
as_number | Any | String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$ ] or Choice[none , remote-as ] | No | |
private_as | Boolean | true , false | No |
4byteas_generic (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
option | Choice | additive , none | No | |
transitivity | List | [transitivity] | No |
color (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
color | Integer | min: 0 , max: 4294967295 | Yes | |
co_flag | Choice | 00 , 01 | No |
cost (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
community_id | Integer | min: 0 , max: 255 | Yes | |
type | Choice | igp , pre-bestpath | No | |
cost | Integer | mint: 0 , max: 4294967295 | Yes |
rt (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
additive | Boolean | true , false | No | |
rt_list | Any | List[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)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address | IP | No | ||
drop_on_fail | Boolean | true , false | No | |
force_order | Boolean | true , false | No | |
load_share | Boolean | true , false | No | |
peer_address | Boolean | true , false | No | |
redist_unchanged | Boolean | true , false | No | |
unchanged | Boolean | true , false | No | |
verify_availability | Boolean | true , false | No |
next_hop (vxlan.overlay_extensions.route_control.route_maps.entries.set.ipv6)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
address | IP | No | ||
drop_on_fail | Boolean | true , false | No | |
force_order | Boolean | true , false | No | |
load_share | Boolean | true , false | No | |
peer_address | Boolean | true , false | No | |
redist_unchanged | Boolean | true , false | No | |
unchanged | Boolean | true , false | No | |
verify_availability | Boolean | true , false | No |
transitivity (vxlan.overlay_extensions.route_control.route_maps.entries.set.extended_community.4byteas_generic)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
transitive | Boolean | true , false | Yes | |
extended_community | String | Regex: ^([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
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.
- 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.
- 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-communityroute-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 test1route-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:
- 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.
- 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 65000route-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:
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 insac-prefix-list
, this entry will match the route.
- Match Statement:
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 insac-prefix-list
, this entry will match the route.
- Match Statement:
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.
- Match Statement:
route-map rm-ip_addr_pfxlist permit 10 match ip address prefix-list sac-prefix-listroute-map rm-ip_nh_pfxlist permit 10 match ip next-hop prefix-list sac-prefix-listroute-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:
- 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.
- 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.
- 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:
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
or20
. Tags are used in routing to add metadata to routes, often for policy or redistribution purposes.
- Match Tag:
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 number5
refers to EVPN type-5 routes, also known as IP Prefix routes.
- Match EVPN Route-Type:
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.
- Match MAC List:
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.
- Match Metric:
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
to1010
(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.
- Match Metric with Range:
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 thebackbone area
in OSPF networks.
- Match OSPF Area:
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.
- Match Source Protocol:
route-map rm-tags permit 10 match tag 10 20route-map rm-evpn permit 10 match evpn route-type 2-mac-ip 5route-map rm-mac-list permit 10 match mac-list FILTER_MAC_AAAroute-map rm-metric permit 10 match metric 1000route-map rm-metric permit 20 match metric 1000 +- 10route-map rm-ospf-area permit 10 match ospf-area 0route-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: - tag: - 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 route_maps: - 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:
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 namedmycommunitylist
from the routes processed by this route-map.
- This command specifies that the communities matching
- Description: description comm-list
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.
- Description:
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:
- 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.
- Set Extcomm-List Statement:
set extcomm-list extcommunity-list delete
: This command specifies that any extended communities matching the list namedextcommunity-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:
- 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.
- Permit 11:
set extcommunity 4byteas-generic transitive 65000:10 additive
: Sets a transitive extended community with a specific value65000:10
, meaning it should be preserved across AS boundaries. The additive keyword ensures it is added to existing communities.
- 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.
- Permit 21:
set extcommunity color 100
: Sets acolor
extended community with a value of100
, often used in Segment Routing and MPLS for policy routing.
- Permit 22:
set extcommunity color 100 co-flag 01
: Sets acolor
community with aco-flag
, which might be used for specific routing or traffic engineering purposes, depending on the network’s configuration.
- 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.
- Permit 32:
set extcommunity cost pre-bestpath 100 1000
: Sets a cost community affectingpre-best
path calculations, allowing for advanced routing decisions based on cost before the best path is determined.
- Permit 35:
- Complex cost settings: Sets multiple cost communities, both
pre-bestpath
andigp
, for fine-grained control over routing decisions based on cost metrics.
- Complex cost settings: Sets multiple cost communities, both
- 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.
- Permit 50:
set extcommunity rt 10:20 10:21 additive
: Sets route target (RT
) extended communities10:20
and10:21
, usingadditive
to retain existing communities. RTs are crucial in MPLS VPNs for defining which VRFs import/export routes.
- Permit 51:
set extcommunity rt 20:20 20:21
: Sets RT communities20:20
and20:21
, replacing any existing RT communities.
- Permit 52:
set extcommunity rt 30:20
: Sets a single RT community30:20
, replacing any existing RT communities.
route-map rm-set-extcommunity permit 10 set extcommunity 4byteas-generic additiveroute-map rm-set-extcommunity permit 11 set extcommunity 4byteas-generic transitive 65000:10 additiveroute-map rm-set-extcommunity permit 12 set extcommunity 4byteas-generic transitive 65000:10 non-transitive 65000:42 additiveroute-map rm-set-extcommunity permit 21 set extcommunity color 100route-map rm-set-extcommunity permit 22 set extcommunity color 100 co-flag 01route-map rm-set-extcommunity permit 31 set extcommunity cost igp 100 1000route-map rm-set-extcommunity permit 32 set extcommunity cost pre-bestpath 100 1000route-map rm-set-extcommunity permit 35 set extcommunity cost pre-bestpath 10 1000 pre-bestpath 20 2000 igp 30 3000 igp 40 4000route-map rm-set-extcommunity permit 40 set extcommunity evpn rmac aabb.ccdd.ee00route-map rm-set-extcommunity permit 41 set extcommunity evpn rmac aabb.ccdd.ee01route-map rm-set-extcommunity permit 42 set extcommunity evpn rmac 000a.000b.000croute-map rm-set-extcommunity permit 50 set extcommunity rt 10:20 10:21 additiveroute-map rm-set-extcommunity permit 51 set extcommunity rt 20:20 20:21route-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 route_maps: - 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:
- 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.
- Permit 6:
set as-path 65000.10
: Sets the AS path to a specific AS sequence, where65000.10
is treated as a single AS entry.
- Permit 7:
set as-path 65000.10 65001
: Sets the AS path to include two AS entries,65000.10
and65001
.
- 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.
- Permit 11:
set as-path prepend 65000
: Prepends the AS number65000
to the AS path, making it appear less preferred to BGP peers.
- Permit 12:
set as-path prepend 65000 65000.1
: Prepends two AS numbers,65000
and65000.1
, to the path.
- Permit 21:
set as-path replace 65000 with 65000.10
: Replaces occurrences of AS65000
in the path with65000.10
.
- Permit 22:
set as-path replace 65000 with none
: Removes AS65000
from the AS path.
- Permit 23:
set as-path replace 65000 with remote-as
: Replaces AS65000
with theremote AS number
(the AS number of the BGP peer).
- Permit 30:
set as-path replace private-as
: Removesprivate AS numbers
from the AS path.
- Permit 31:
set as-path replace private-as with 65000.10
: Replacesprivate AS numbers
in the path with65000.10
.
- Permit 32:
set as-path replace private-as with none
: Removesprivate AS numbers
entirely from the path.
- Permit 33:
set as-path replace private-as with remote-as
: Replacesprivate AS numbers
with theremote AS number
.
- Permit 40:
set as-path tag
:Tags
the AS path, potentially for internal use or policy identification.
- Permit 50:
set as-path none
: Sets theAS path
tonone
.
- Permit 60:
set as-path local-as
: Sets theAS path
to thelocal AS number
.
- Permit 70:
set as-path remote-as
: Sets theAS path
to theremote AS number
.
- 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 65001route-map rm-set-aspath permit 6 description as simple set as-path 65000.10route-map rm-set-aspath permit 7 description as simple set as-path 65000.10 65001route-map rm-set-aspath permit 10 description as prepend 3 times set as-path prepend last-as 3route-map rm-set-aspath permit 11 description as prepend set as-path prepend 65000route-map rm-set-aspath permit 12 description as prepend 2 ASN set as-path prepend 65000 65000.1route-map rm-set-aspath permit 21 description as-path replace as-number set as-path replace 65000 with 65000.10route-map rm-set-aspath permit 22 description as-path replace none set as-path replace 65000 with noneroute-map rm-set-aspath permit 23 description as-path replace remote-as set as-path replace 65000 with remote-asroute-map rm-set-aspath permit 30 description as-path replace private-as only set as-path replace private-asroute-map rm-set-aspath permit 31 description as-path replace private-as as-number set as-path replace private-as with 65000.10route-map rm-set-aspath permit 32 description as-path replace private-as none set as-path replace private-as with noneroute-map rm-set-aspath permit 33 description as-path replace private-as remote-as set as-path replace private-as with remote-asroute-map rm-set-aspath permit 40 description as-path tag set as-path tagroute-map rm-set-aspath permit 50 description as-path none set as-path noneroute-map rm-set-aspath permit 60 description as-path local-as set as-path local-asroute-map rm-set-aspath permit 70 description as-path remote-as set as-path remote-asroute-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 route_maps: - 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:
- 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.
- 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.
- 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.
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 route_maps: - 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:
- 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.
- Set Local Preference Statement:
set local-preference 110
: This command sets the local preference attribute of the matched routes to110
.
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 route_maps: - 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:
- 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.
- Set Origin Statement:
set origin incomplet
e: 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 route_maps: - 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.
- 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.
- Set Weight Statement:
set weight 1000
: This command sets the BGP weight attribute to1000
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 route_maps: - 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:
- 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.
- Set Metric Statement:
- 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.
- Set Metric Statement:
route-map rm-set-metric permit 10 set metric 1000route-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 route_maps: - name: rm-set-metric switches: - name: netascode-leaf1 groups: - routeMap_RCtrlGrp
Set Others
route-map rm-set-metrictype permit 10 set metric-type externalroute-map rm-set-distance permit 10 set distance 10 20 30route-map rm-set-evpn permit 10 set evpn gateway-ip 10.0.0.1route-map rm-set-evpn permit 20 set evpn gateway-ip use-nexthoproute-map rm-set-extcomm-list permit 10 set extcomm-list extcommunity-list deleteroute-map rm-set-forwardingaddr permit 10 set forwarding-addressroute-map rm-set-forwardingaddr permit 20route-map rm-set-interface permit 10 set interface Null0route-map rm-set-level permit 10 set level level-1route-map rm-set-nssaonly permit 10 set nssa-onlyroute-map rm-set-nssaonly permit 20route-map rm-set-pathselection permit 10 set path-selection all advertiseroute-map rm-set-tag permit 10 set tag 42route-map rm-set-ipprecedence permit 10 set ip precedence criticalroute-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 route_maps: - 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::1route-map rm-set-ip-nh6 permit 12 set ipv6 next-hop 2001:db8::1 load-share force-order drop-on-failroute-map rm-set-ip-nh6 permit 20 set ipv6 next-hop peer-addressroute-map rm-set-ip-nh6 permit 21 set ipv6 next-hop unchangedroute-map rm-set-ip-nh6 permit 22 set ip next-hop redist-unchangedroute-map rm-set-ip-nh6 permit 32 set ipv6 next-hop verify-availability 2001:db8::1route-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: route_maps: - 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 route_maps: - name: rm-set-ipaddrpfx6 - name: rm-set-ip-nh6 switches: - name: netascode-leaf1 groups: - routeMap_RCtrlGrp