1 module frr-bgp-route-map {
3 namespace "http://frrouting.org/yang/bgp-route-map";
4 prefix frr-bgp-route-map;
6 import ietf-inet-types {
10 import frr-route-map {
18 import frr-bgp-filter {
22 import ietf-routing-types {
29 "FRR Users List: <mailto:frog@lists.frrouting.org>
30 FRR Development List: <mailto:dev@lists.frrouting.org>";
32 "This module defines bgp route map settings";
39 identity match-alias {
40 base frr-route-map:rmap-match-type;
42 "Match BGP community alias name";
45 identity match-local-preference {
46 base frr-route-map:rmap-match-type;
48 "Match local-preference of routes";
51 identity match-script {
52 base frr-route-map:rmap-match-type;
54 "Match script of routes";
57 identity match-origin {
58 base frr-route-map:rmap-match-type;
60 "Match BGP route origin code";
64 base frr-route-map:rmap-match-type;
66 "Control rpki specific settings";
69 identity rpki-extcommunity {
70 base frr-route-map:rmap-match-type;
72 "Control rpki specific settings derived from extended community";
75 identity probability {
76 base frr-route-map:rmap-match-type;
78 "Match portion of routes defined by percentage value";
82 base frr-route-map:rmap-match-type;
84 "Match source vrf of routes";
88 base frr-route-map:rmap-match-type;
93 identity mac-address-list {
94 base frr-route-map:rmap-match-type;
96 "Match MAC address access-list";
99 identity ip-route-source {
100 base frr-route-map:rmap-match-type;
102 "Match advertising source address of route";
105 identity ip-route-source-prefix-list {
106 base frr-route-map:rmap-match-type;
108 "Match advertising source address of route";
111 identity evpn-route-type {
112 base frr-route-map:rmap-match-type;
114 "Match EVPN route type";
117 identity evpn-default-route {
118 base frr-route-map:rmap-match-type;
120 "Match EVPN default Type-5 route";
124 base frr-route-map:rmap-match-type;
130 base frr-route-map:rmap-match-type;
132 "Match EVPN route distinguisher";
135 identity match-community {
136 base frr-route-map:rmap-match-type;
138 "Match BGP community list";
141 identity match-large-community {
142 base frr-route-map:rmap-match-type;
144 "Match BGP large-community list";
147 identity match-extcommunity {
148 base frr-route-map:rmap-match-type;
150 "Match BGP extcommunity list";
153 identity as-path-list {
154 base frr-route-map:rmap-match-type;
156 "Match BGP AS path list";
159 identity ipv4-nexthop {
160 base frr-route-map:rmap-match-type;
162 "Match IPv4 next hop address";
165 identity ipv6-nexthop {
166 base frr-route-map:rmap-match-type;
168 "Match IPv6 next hop address";
172 base frr-route-map:rmap-set-type;
174 "Set BGP administrative distance to use";
177 identity set-extcommunity-none {
178 base frr-route-map:rmap-set-type;
180 "Set BGP extended community attribute";
183 identity set-extcommunity-rt {
184 base frr-route-map:rmap-set-type;
186 "Set BGP extended community attribute";
189 identity set-extcommunity-nt {
190 base frr-route-map:rmap-set-type;
192 "Set BGP extended community attribute";
195 identity set-extcommunity-soo {
196 base frr-route-map:rmap-set-type;
198 "Set BGP extended community attribute";
201 identity set-extcommunity-lb {
202 base frr-route-map:rmap-set-type;
204 "Set BGP extended community attribute";
207 identity set-ipv4-nexthop {
208 base frr-route-map:rmap-set-type;
210 "Set the IPv4 next-hop to peer-address/unchanged";
213 identity ipv4-vpn-address {
214 base frr-route-map:rmap-set-type;
216 "Set IPv4 VPN next-hop address";
219 identity ipv6-nexthop-global {
220 base frr-route-map:rmap-set-type;
222 "Set IPv6 next-hop global address";
225 identity ipv6-prefer-global {
226 base frr-route-map:rmap-set-type;
228 "Set IPv6 next-hop to prefer global address";
231 identity ipv6-peer-address {
232 base frr-route-map:rmap-set-type;
234 "Set IPv6 next-hop peer address";
237 identity ipv6-vpn-address {
238 base frr-route-map:rmap-set-type;
240 "Set IPv6 VPN next-hop address";
243 identity label-index {
244 base frr-route-map:rmap-set-type;
246 "Set the label index to associate with the prefixs";
249 identity set-local-preference {
250 base frr-route-map:rmap-set-type;
252 "Set the BGP local preference path attribute";
255 identity set-origin {
256 base frr-route-map:rmap-set-type;
258 "Set BGP route origin code";
262 base frr-route-map:rmap-set-type;
264 "Set the BGP weight attribute";
267 identity originator-id {
268 base frr-route-map:rmap-set-type;
270 "Set the BGP originator ID attribute";
274 base frr-route-map:rmap-set-type;
276 "Export route to non-main kernel table";
279 identity atomic-aggregate {
280 base frr-route-map:rmap-set-type;
282 "Set BGP atomic-aggregate attribute";
285 identity aigp-metric {
286 base frr-route-map:rmap-set-type;
288 "Set BGP AIGP attribute (AIGP TLV Metric)";
291 identity as-path-prepend {
292 base frr-route-map:rmap-set-type;
294 "Set the BGP AS-path attribute";
297 identity as-path-exclude {
298 base frr-route-map:rmap-set-type;
300 "Set the BGP AS-path attribute";
303 identity as-path-replace {
304 base frr-route-map:rmap-set-type;
306 "Replace ASNs to local AS number";
309 identity set-community {
310 base frr-route-map:rmap-set-type;
312 "Set the BGP community attribute";
315 identity set-large-community {
316 base frr-route-map:rmap-set-type;
318 "Set the BGP large-community attribute";
321 identity aggregator {
322 base frr-route-map:rmap-set-type;
324 "Set the BGP aggregator attribute";
327 identity comm-list-delete {
328 base frr-route-map:rmap-set-type;
330 "Set BGP community list (for deletion)";
333 identity large-comm-list-delete {
334 base frr-route-map:rmap-set-type;
336 "Set BGP large community list (for deletion)";
339 identity set-evpn-gateway-ip-ipv4 {
340 base frr-route-map:rmap-set-type;
342 "Set EVPN gateway IP overlay index IPv4";
345 identity set-evpn-gateway-ip-ipv6 {
346 base frr-route-map:rmap-set-type;
348 "Set EVPN gateway IP overlay index IPv6";
351 identity set-l3vpn-nexthop-encapsulation {
352 base frr-route-map:rmap-set-type;
354 "Accept L3VPN traffic over other than LSP encapsulation";
357 grouping extcommunity-non-transitive-types {
358 leaf two-octet-as-specific {
361 "Non-Transitive Two-Octet AS-Specific Extended Community";
365 typedef route-distinguisher {
368 '(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
370 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|'
371 + '42949672[0-8][0-9]|'
372 + '4294967[01][0-9]{2}|429496[0-6][0-9]{3}|'
373 + '42949[0-5][0-9]{4}|'
374 + '4294[0-8][0-9]{5}|429[0-3][0-9]{6}|'
375 + '42[0-8][0-9]{7}|4[01][0-9]{8}|'
376 + '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))|'
377 + '(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|'
378 + '25[0-5])\.){3}([0-9]|[1-9][0-9]|'
379 + '1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|'
381 + '65[0-4][0-9]{2}|6[0-4][0-9]{3}|'
382 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
383 + '(2:(429496729[0-5]|42949672[0-8][0-9]|'
384 + '4294967[01][0-9]{2}|'
385 + '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|'
386 + '4294[0-8][0-9]{5}|'
387 + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|'
388 + '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):'
389 + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
391 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
392 + '(6(:[a-fA-F0-9]{2}){6})|'
393 + '(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):'
394 + '[0-9a-fA-F]{1,12})|'
395 + '((6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
397 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):(429496729[0-5]|'
398 + '42949672[0-8][0-9]|'
399 + '4294967[01][0-9]{2}|429496[0-6][0-9]{3}|'
400 + '42949[0-5][0-9]{4}|'
401 + '4294[0-8][0-9]{5}|429[0-3][0-9]{6}|'
402 + '42[0-8][0-9]{7}|4[01][0-9]{8}|'
403 + '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0)|'
404 + '((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|'
405 + '25[0-5])\.){3}([0-9]|[1-9][0-9]|'
406 + '1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|'
408 + '65[0-4][0-9]{2}|6[0-4][0-9]{3}|'
409 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
410 + '((429496729[0-5]|42949672[0-8][0-9]|'
411 + '4294967[01][0-9]{2}|'
412 + '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|'
413 + '4294[0-8][0-9]{5}|'
414 + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|'
415 + '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0):'
416 + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
418 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))|'
419 + '((6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
421 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0).'
422 + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|'
424 + '[1-5][0-9]{4}|[1-9][0-9]{0,3}|0):'
425 + '(429496729[0-5]|42949672[0-8][0-9]|'
426 + '4294967[01][0-9]{2}|'
427 + '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|'
428 + '4294[0-8][0-9]{5}|'
429 + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|'
430 + '[1-3][0-9]{9}|[1-9][0-9]{0,8}|0))';
434 "A Route Distinguisher is an 8-octet value used to
435 distinguish routes from different BGP VPNs (RFC 4364).
436 A Route Distinguisher will have the same format as a
437 Route Target as per RFC 4360 and will consist of
438 two or three fields: a 2-octet Type field, an administrator
439 field, and, optionally, an assigned number field.
440 According to the data formats for types 0, 1, 2, and 6 as
441 defined in RFC 4360, RFC 5668, and RFC 7432, the encoding
442 pattern is defined as:
443 0:2-octet-asn:4-octet-number
444 1:4-octet-ipv4addr:2-octet-number
445 2:4-octet-asn:2-octet-number
446 6:6-octet-mac-address
447 Additionally, a generic pattern is defined for future
448 route discriminator types:
449 2-octet-other-hex-number:6-octet-hex-number
450 Some valid examples are 0:100:100, 1:1.1.1.1:100,
451 2:1234567890:203, and 6:26:00:08:92:78:00.
452 The following route distinguisher with two fields are also
453 accepted : 10000:44 1.2.3.4:44.";
455 "RFC 4360: BGP Extended Communities Attribute.
456 RFC 4364: BGP/MPLS IP Virtual Private Networks (VPNs).
457 RFC 5668: 4-Octet AS Specific BGP Extended Community.
458 RFC 7432: BGP MPLS-Based Ethernet VPN.";
461 typedef extcommunity-lb-type {
463 enum "explicit-bandwidth" {
466 "Bandwidth value in Mbps";
468 enum "cumulative-bandwidth" {
471 "Cumulative bandwidth of all multipaths (outbound-only)";
473 enum "computed-bandwidth" {
476 "Internally computed bandwidth based on number of multipaths (outbound-only)";
480 "ext-community link bandwidth types.";
486 range "1..4294967295";
489 pattern '(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|'
490 + '6[0-4][0-9]{3}|65[0-4][0-9]{2}|'
491 + '655[0-2][0-9]|6553[0-5])\.'
492 + '(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|'
493 + '65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])' {
494 error-message "AS dot should be in the form [0..65535].[0..65535].";
497 modifier "invert-match";
498 error-message "AS dot can't be equal to 0.0.";
504 augment "/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:rmap-match-condition/frr-route-map:match-condition" {
505 case local-preference {
506 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-local-preference')";
507 leaf local-preference {
509 range "0..4294967295";
515 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-alias')";
522 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-script')";
529 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-origin')";
552 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:rpki')";
574 case rpki-extcommunity {
575 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:rpki-extcommunity')";
576 leaf rpki-extcommunity {
598 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:probability')";
607 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:source-vrf')";
614 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:peer')";
618 case peer-ipv4-address {
620 "IP address of peer";
621 leaf peer-ipv4-address {
622 type inet:ipv4-address;
626 case peer-interface {
628 "Interface name of peer";
629 leaf peer-interface {
634 case peer-ipv6-address {
636 "IPv6 address of peer";
637 leaf peer-ipv6-address {
638 type inet:ipv6-address;
644 "Static or Redistributed routes";
652 case access-list-name {
653 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:mac-address-list') or "
654 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:as-path-list') or "
655 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:ip-route-source') or "
656 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:ip-route-source-prefix-list')";
660 type filter:access-list-name;
664 case evpn-default-route {
665 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:evpn-default-route')";
667 "Match default EVPN type-5 route";
668 leaf evpn-default-route {
674 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:evpn-vni')";
684 case evpn-route-type {
685 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:evpn-route-type')";
687 "Match eVPN route-type";
688 leaf evpn-route-type {
708 "Ethernet Auto-Discovery route";
713 "Ethernet Segment route";
720 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:evpn-rd')";
722 "Match eVPN route-distinguisher";
723 leaf route-distinguisher {
724 type route-distinguisher;
728 case comm-list-name {
729 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-community') or "
730 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-large-community') or "
731 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:match-extcommunity')";
732 container comm-list {
733 leaf comm-list-name {
734 type bgp-filter:bgp-list-name;
737 leaf comm-list-name-exact-match {
740 "Do exact matching of communities";
746 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:ipv4-nexthop')";
748 type inet:ipv4-address;
755 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:match-condition/frr-route-map:condition, 'frr-bgp-route-map:ipv6-nexthop')";
757 type inet:ipv6-address;
764 augment "/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:rmap-set-action/frr-route-map:set-action" {
766 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:distance')";
774 case extcommunity-none {
775 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-none')";
777 "Value of the BGP extended community attribute";
778 leaf extcommunity-none {
780 description "No extended community attribute";
784 case extcommunity-rt {
785 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-rt')";
787 "Value of the ext-community";
788 leaf extcommunity-rt {
791 "Set BGP ext-community route-target attribute";
795 case extcommunity-nt {
796 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-nt')";
798 "Value of the ext-community";
799 leaf extcommunity-nt {
802 "Set BGP ext-community node-target attribute";
806 case extcommunity-soo {
807 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-soo')";
809 "Value of the ext-community";
810 leaf extcommunity-soo {
813 "Set BGP ext-community site-of-origin attribute";
817 case extcommunity-lb {
818 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-lb')";
819 container extcommunity-lb {
821 "Value of the ext-community.";
823 type frr-bgp-route-map:extcommunity-lb-type;
827 when "../lb-type = 'explicit-bandwidth'";
832 "Bandwidth value in Mbps";
834 uses extcommunity-non-transitive-types;
839 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:ipv4-vpn-address')";
841 "Set the IPv4 address";
843 type inet:ipv4-address;
848 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-ipv4-nexthop')";
855 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:ipv6-nexthop-global') or "
856 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:ipv6-vpn-address')";
858 "Set the IPv6 address";
860 type inet:ipv6-address;
865 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:ipv6-prefer-global') or "
866 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:ipv6-peer-address')";
873 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:label-index')";
882 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-local-preference')";
889 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:weight')";
892 range "0..4294967295";
898 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-origin')";
921 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:originator-id')";
923 type inet:ipv4-address;
928 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:table')";
931 range "1..4294967295";
936 case atomic-aggregate {
937 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:atomic-aggregate')";
938 leaf atomic-aggregate {
944 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:aigp-metric')";
948 "Set BGP AIGP attribute (AIGP Metric TLV)";
952 case as-path-prepend {
953 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:as-path-prepend')";
954 choice as-path-prepend {
956 "Value of the BGP AS-path attribute";
959 "Prepend the mentioned AS-path";
960 leaf prepend-as-path {
967 "Prepend the last ASN in the AS-path";
977 case as-path-exclude {
978 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:as-path-exclude')";
979 leaf exclude-as-path {
982 "Exclude the mentioned AS-path";
986 case as-path-replace {
987 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:as-path-replace')";
988 leaf replace-as-path {
991 "Replace ASNs to local AS number";
996 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-community')";
999 "Value of the BGP community attribute";
1002 "No community attribute";
1003 leaf community-none {
1008 case community-string {
1011 leaf community-string {
1018 case large-community {
1019 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:set-large-community')";
1020 choice large-community {
1022 "Value of the BGP large-community attribute";
1025 "No large-community attribute";
1026 leaf large-community-none {
1031 case large-community-string {
1033 "Large-Community string";
1034 leaf large-community-string {
1042 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:aggregator')";
1043 container aggregator {
1044 leaf aggregator-asn {
1047 "ASN of the aggregator";
1050 leaf aggregator-address {
1051 type inet:ipv4-address;
1053 "IPv4 address of the aggregator";
1058 case comm-list-name {
1059 when "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:comm-list-delete') or "
1060 + "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action, 'frr-bgp-route-map:large-comm-list-delete')";
1061 leaf comm-list-name {
1062 type bgp-filter:bgp-list-name;
1065 case evpn-gateway-ip-ipv4 {
1067 "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action,
1068 'frr-bgp-route-map:set-evpn-gateway-ip-ipv4')";
1070 "Set EVPN gateway IP overlay index IPv4";
1071 leaf evpn-gateway-ip-ipv4 {
1072 type inet:ipv4-address;
1075 case evpn-gateway-ip-ipv6 {
1077 "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action,
1078 'frr-bgp-route-map:set-evpn-gateway-ip-ipv6')";
1080 "Set EVPN gateway IP overlay index IPv6";
1081 leaf evpn-gateway-ip-ipv6 {
1082 type inet:ipv6-address;
1085 case l3vpn-nexthop-encapsulation {
1087 "derived-from-or-self(/frr-route-map:lib/frr-route-map:route-map/frr-route-map:entry/frr-route-map:set-action/frr-route-map:action,
1088 'frr-bgp-route-map:set-l3vpn-nexthop-encapsulation')";
1090 "Accept L3VPN traffic over other than LSP encapsulation";
1091 leaf l3vpn-nexthop-encapsulation {