forked from Mirror/frr
yang: use relative path instead of absolute one for route-map
Using absolute xpath is not optimal for finding the target node. As the route map configuration grows, the yang validation will take more time to complete. Relative paths are much faster. Tested with a config file that contains ~3k route map config lines. - before: time cat conf | vtysh configure log syslog errors router bgp 65000 ! route-map RM:BGP:VPNV4:PEER:VRR9:IN10001 permit 101 match community CL:HCC:PATH_PRIO1_EAST1 set local-preference 15200 ! ... route-map RM:BGP:VPNV4:PEER:VRR9:IN10001 permit 1182 match community CL:HCC:PATH_PRIO1_EAST1082 set local-preference 16281 ! real 13m51.500s user 0m0.522s sys 0m4.854s - after: time cat conf | vtysh ... real 0m48.390s user 0m0.384s sys 0m1.245s Signed-off-by: Loïc Sang <loic.sang@6wind.com>
This commit is contained in:
parent
f8abf96440
commit
f1ea52bee9
|
@ -542,7 +542,7 @@ identity set-extcommunity-color {
|
||||||
|
|
||||||
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" {
|
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" {
|
||||||
case local-preference {
|
case local-preference {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-local-preference')";
|
||||||
leaf local-preference {
|
leaf local-preference {
|
||||||
type uint32 {
|
type uint32 {
|
||||||
range "0..4294967295";
|
range "0..4294967295";
|
||||||
|
@ -551,21 +551,21 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case alias {
|
case alias {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-alias')";
|
||||||
leaf alias {
|
leaf alias {
|
||||||
type string;
|
type string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case script {
|
case script {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-script')";
|
||||||
leaf script {
|
leaf script {
|
||||||
type string;
|
type string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case origin {
|
case origin {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-origin')";
|
||||||
leaf origin {
|
leaf origin {
|
||||||
type enumeration {
|
type enumeration {
|
||||||
enum "egp" {
|
enum "egp" {
|
||||||
|
@ -588,7 +588,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case rpki {
|
case rpki {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:rpki')";
|
||||||
leaf rpki {
|
leaf rpki {
|
||||||
type enumeration {
|
type enumeration {
|
||||||
enum "invalid" {
|
enum "invalid" {
|
||||||
|
@ -634,7 +634,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case probability {
|
case probability {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:probability')";
|
||||||
leaf probability {
|
leaf probability {
|
||||||
type uint8 {
|
type uint8 {
|
||||||
range "0..100";
|
range "0..100";
|
||||||
|
@ -643,14 +643,14 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case source-vrf {
|
case source-vrf {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:source-vrf')";
|
||||||
leaf source-vrf {
|
leaf source-vrf {
|
||||||
type string;
|
type string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case peer {
|
case peer {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:peer')";
|
||||||
choice peer {
|
choice peer {
|
||||||
description
|
description
|
||||||
"Value of the peer";
|
"Value of the peer";
|
||||||
|
@ -689,10 +689,10 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case access-list-name {
|
case access-list-name {
|
||||||
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 "
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:mac-address-list') or "
|
||||||
+ "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 "
|
+ "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:as-path-list') or "
|
||||||
+ "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 "
|
+ "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:ip-route-source') or "
|
||||||
+ "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')";
|
+ "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:ip-route-source-prefix-list')";
|
||||||
description
|
description
|
||||||
"Access-list name";
|
"Access-list name";
|
||||||
leaf list-name {
|
leaf list-name {
|
||||||
|
@ -701,7 +701,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case evpn-default-route {
|
case evpn-default-route {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:evpn-default-route')";
|
||||||
description
|
description
|
||||||
"Match default EVPN type-5 route";
|
"Match default EVPN type-5 route";
|
||||||
leaf evpn-default-route {
|
leaf evpn-default-route {
|
||||||
|
@ -710,7 +710,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case evpn-vni {
|
case evpn-vni {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:evpn-vni')";
|
||||||
description
|
description
|
||||||
"Match eVPN VNI";
|
"Match eVPN VNI";
|
||||||
leaf evpn-vni {
|
leaf evpn-vni {
|
||||||
|
@ -721,7 +721,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case evpn-route-type {
|
case evpn-route-type {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:evpn-route-type')";
|
||||||
description
|
description
|
||||||
"Match eVPN route-type";
|
"Match eVPN route-type";
|
||||||
leaf evpn-route-type {
|
leaf evpn-route-type {
|
||||||
|
@ -756,7 +756,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case evpn-rd {
|
case evpn-rd {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:evpn-rd')";
|
||||||
description
|
description
|
||||||
"Match eVPN route-distinguisher";
|
"Match eVPN route-distinguisher";
|
||||||
leaf route-distinguisher {
|
leaf route-distinguisher {
|
||||||
|
@ -765,9 +765,9 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case comm-list-name {
|
case comm-list-name {
|
||||||
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 "
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-community') or "
|
||||||
+ "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 "
|
+ "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-large-community') or "
|
||||||
+ "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')";
|
+ "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:match-extcommunity')";
|
||||||
container comm-list {
|
container comm-list {
|
||||||
leaf comm-list-name {
|
leaf comm-list-name {
|
||||||
mandatory true;
|
mandatory true;
|
||||||
|
@ -790,7 +790,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case ipv4-address {
|
case ipv4-address {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:ipv4-nexthop')";
|
||||||
leaf ipv4-address {
|
leaf ipv4-address {
|
||||||
type inet:ipv4-address;
|
type inet:ipv4-address;
|
||||||
description
|
description
|
||||||
|
@ -799,7 +799,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case ipv6-address {
|
case ipv6-address {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:condition, 'frr-bgp-route-map:ipv6-nexthop')";
|
||||||
leaf ipv6-address {
|
leaf ipv6-address {
|
||||||
type inet:ipv6-address;
|
type inet:ipv6-address;
|
||||||
description
|
description
|
||||||
|
@ -817,7 +817,7 @@ identity set-extcommunity-color {
|
||||||
|
|
||||||
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" {
|
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" {
|
||||||
case distance {
|
case distance {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:distance')";
|
||||||
leaf distance {
|
leaf distance {
|
||||||
type uint8 {
|
type uint8 {
|
||||||
range "1..255";
|
range "1..255";
|
||||||
|
@ -826,7 +826,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case extcommunity-none {
|
case extcommunity-none {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-none')";
|
||||||
description
|
description
|
||||||
"Value of the BGP extended community attribute";
|
"Value of the BGP extended community attribute";
|
||||||
leaf extcommunity-none {
|
leaf extcommunity-none {
|
||||||
|
@ -836,7 +836,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case extcommunity-rt {
|
case extcommunity-rt {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-rt')";
|
||||||
description
|
description
|
||||||
"Value of the ext-community";
|
"Value of the ext-community";
|
||||||
leaf extcommunity-rt {
|
leaf extcommunity-rt {
|
||||||
|
@ -858,7 +858,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case extcommunity-soo {
|
case extcommunity-soo {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-soo')";
|
||||||
description
|
description
|
||||||
"Value of the ext-community";
|
"Value of the ext-community";
|
||||||
leaf extcommunity-soo {
|
leaf extcommunity-soo {
|
||||||
|
@ -869,7 +869,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case extcommunity-lb {
|
case extcommunity-lb {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-lb')";
|
||||||
container extcommunity-lb {
|
container extcommunity-lb {
|
||||||
description
|
description
|
||||||
"Value of the ext-community.";
|
"Value of the ext-community.";
|
||||||
|
@ -890,7 +890,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case extcommunity-color {
|
case extcommunity-color {
|
||||||
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-color')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-extcommunity-color')";
|
||||||
description
|
description
|
||||||
"Value of the ext-community";
|
"Value of the ext-community";
|
||||||
leaf extcommunity-color {
|
leaf extcommunity-color {
|
||||||
|
@ -903,7 +903,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case ipv4-address {
|
case ipv4-address {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:ipv4-vpn-address')";
|
||||||
description
|
description
|
||||||
"Set the IPv4 address";
|
"Set the IPv4 address";
|
||||||
leaf ipv4-address {
|
leaf ipv4-address {
|
||||||
|
@ -912,15 +912,15 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case ipv4-nexthop {
|
case ipv4-nexthop {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-ipv4-nexthop')";
|
||||||
leaf ipv4-nexthop {
|
leaf ipv4-nexthop {
|
||||||
type string;
|
type string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case ipv6-address {
|
case ipv6-address {
|
||||||
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 "
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:ipv6-nexthop-global') or "
|
||||||
+ "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')";
|
+ "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:ipv6-vpn-address')";
|
||||||
description
|
description
|
||||||
"Set the IPv6 address";
|
"Set the IPv6 address";
|
||||||
leaf ipv6-address {
|
leaf ipv6-address {
|
||||||
|
@ -929,15 +929,15 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case preference {
|
case preference {
|
||||||
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 "
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:ipv6-prefer-global') or "
|
||||||
+ "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')";
|
+ "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:ipv6-peer-address')";
|
||||||
leaf preference {
|
leaf preference {
|
||||||
type boolean;
|
type boolean;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case label-index {
|
case label-index {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:label-index')";
|
||||||
leaf label-index {
|
leaf label-index {
|
||||||
type uint32 {
|
type uint32 {
|
||||||
range "0..1048560";
|
range "0..1048560";
|
||||||
|
@ -946,14 +946,14 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case local-pref {
|
case local-pref {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-local-preference')";
|
||||||
leaf local-pref {
|
leaf local-pref {
|
||||||
type string;
|
type string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case weight {
|
case weight {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:weight')";
|
||||||
leaf weight {
|
leaf weight {
|
||||||
type uint32 {
|
type uint32 {
|
||||||
range "0..4294967295";
|
range "0..4294967295";
|
||||||
|
@ -962,7 +962,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case origin {
|
case origin {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-origin')";
|
||||||
leaf origin {
|
leaf origin {
|
||||||
type enumeration {
|
type enumeration {
|
||||||
enum "egp" {
|
enum "egp" {
|
||||||
|
@ -985,14 +985,14 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case originator-id {
|
case originator-id {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:originator-id')";
|
||||||
leaf originator-id {
|
leaf originator-id {
|
||||||
type inet:ipv4-address;
|
type inet:ipv4-address;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case table {
|
case table {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:table')";
|
||||||
leaf table {
|
leaf table {
|
||||||
type uint32 {
|
type uint32 {
|
||||||
range "1..4294967295";
|
range "1..4294967295";
|
||||||
|
@ -1001,7 +1001,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case atomic-aggregate {
|
case atomic-aggregate {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:atomic-aggregate')";
|
||||||
leaf atomic-aggregate {
|
leaf atomic-aggregate {
|
||||||
type empty;
|
type empty;
|
||||||
}
|
}
|
||||||
|
@ -1017,7 +1017,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case as-path-prepend {
|
case as-path-prepend {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:as-path-prepend')";
|
||||||
choice as-path-prepend {
|
choice as-path-prepend {
|
||||||
description
|
description
|
||||||
"Value of the BGP AS-path attribute";
|
"Value of the BGP AS-path attribute";
|
||||||
|
@ -1042,7 +1042,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case as-path-exclude {
|
case as-path-exclude {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:as-path-exclude')";
|
||||||
leaf exclude-as-path {
|
leaf exclude-as-path {
|
||||||
type string;
|
type string;
|
||||||
description
|
description
|
||||||
|
@ -1051,7 +1051,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case as-path-replace {
|
case as-path-replace {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:as-path-replace')";
|
||||||
leaf replace-as-path {
|
leaf replace-as-path {
|
||||||
type string;
|
type string;
|
||||||
description
|
description
|
||||||
|
@ -1060,7 +1060,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case community {
|
case community {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-community')";
|
||||||
choice community {
|
choice community {
|
||||||
description
|
description
|
||||||
"Value of the BGP community attribute";
|
"Value of the BGP community attribute";
|
||||||
|
@ -1083,7 +1083,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case large-community {
|
case large-community {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:set-large-community')";
|
||||||
choice large-community {
|
choice large-community {
|
||||||
description
|
description
|
||||||
"Value of the BGP large-community attribute";
|
"Value of the BGP large-community attribute";
|
||||||
|
@ -1106,7 +1106,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case aggregator {
|
case aggregator {
|
||||||
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')";
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:aggregator')";
|
||||||
container aggregator {
|
container aggregator {
|
||||||
leaf aggregator-asn {
|
leaf aggregator-asn {
|
||||||
type asn-type;
|
type asn-type;
|
||||||
|
@ -1125,9 +1125,9 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
|
|
||||||
case comm-list-name {
|
case comm-list-name {
|
||||||
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 "
|
when "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:comm-list-delete') or "
|
||||||
+ "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') or "
|
+ "derived-from-or-self(../frr-route-map:action, 'frr-bgp-route-map:large-comm-list-delete') or "
|
||||||
+ "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,
|
+ "derived-from-or-self(../frr-route-map:action,
|
||||||
'frr-bgp-route-map:extended-comm-list-delete')";
|
'frr-bgp-route-map:extended-comm-list-delete')";
|
||||||
leaf comm-list-name {
|
leaf comm-list-name {
|
||||||
type bgp-filter:bgp-list-name;
|
type bgp-filter:bgp-list-name;
|
||||||
|
@ -1155,7 +1155,7 @@ identity set-extcommunity-color {
|
||||||
}
|
}
|
||||||
case l3vpn-nexthop-encapsulation {
|
case l3vpn-nexthop-encapsulation {
|
||||||
when
|
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,
|
"derived-from-or-self(../frr-route-map:action,
|
||||||
'frr-bgp-route-map:set-l3vpn-nexthop-encapsulation')";
|
'frr-bgp-route-map:set-l3vpn-nexthop-encapsulation')";
|
||||||
description
|
description
|
||||||
"Accept L3VPN traffic over other than LSP encapsulation";
|
"Accept L3VPN traffic over other than LSP encapsulation";
|
||||||
|
|
|
@ -32,7 +32,7 @@ module frr-ospf-route-map {
|
||||||
|
|
||||||
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" {
|
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" {
|
||||||
case metric-type {
|
case metric-type {
|
||||||
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, 'metric-type')";
|
when "derived-from-or-self(../frr-route-map:action, 'metric-type')";
|
||||||
leaf metric-type {
|
leaf metric-type {
|
||||||
type enumeration {
|
type enumeration {
|
||||||
enum "type-1" {
|
enum "type-1" {
|
||||||
|
|
|
@ -38,7 +38,7 @@ module frr-ospf6-route-map {
|
||||||
|
|
||||||
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" {
|
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" {
|
||||||
case ipv6-address {
|
case ipv6-address {
|
||||||
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, 'forwarding-address')";
|
when "derived-from-or-self(../frr-route-map:action, 'forwarding-address')";
|
||||||
leaf ipv6-address {
|
leaf ipv6-address {
|
||||||
type inet:ipv6-address;
|
type inet:ipv6-address;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue