This module contains a collection of YANG definitions for Cisco IOS-XR mpls-ldp package configuration. This YANG module augment...
Version: 2021-01-29
module Cisco-IOS-XR-um-mpls-ldp-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-ldp-cfg"; prefix um-mpls-ldp-cfg; import cisco-semver { prefix semver; } import Cisco-IOS-XR-types { prefix xr; } import ietf-inet-types { prefix inet; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR mpls-ldp package configuration. This YANG module augments the modules with configuration data. Copyright (c) 2019-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-01-29" { description "Add enable container under recursive-fec container 2021-01-28 Added cisco-support task yang nodes 2020-12-08 Removed cisco-support yang nodes 2020-07-10 Added when statement to redistribute to show it's only for ipv4"; } revision "2020-05-29" { description "Changed description for sac"; } revision "2019-12-10" { description "Corrected must statement definition for password/encrypted,disable"; } revision "2019-10-10" { description "Moved trap augments into Cisco-IOS-XR-um-traps-mpls-ldp-cfg."; } revision "2019-09-25" { description "Changed the list node name access-list to access-lists."; } revision "2019-06-10" { description "Establish semantic version baseline."; } revision "2019-03-30" { description "Initial version"; } semver:module-version "2.0.0"; semver:module-version "2.0.0"; container mpls { description "Global MPLS configuration subcommands"; container ldp { presence "Indicates a ldp node is configured."; description "Label Distribution Protocol"; container mldp { presence "Indicates a mldp node is configured."; description "Configure mLDP parameters"; container logging { description "MLDP logging commands"; container notifications { presence "Indicates a notifications node is configured."; description "MLDP logging notifications"; } // container notifications container internal { presence "Indicates a internal node is configured."; description "MLDP logging internal"; } // container internal } // container logging container vrfs { description "Configure VRF parameters"; list vrf { key "vrf-name"; description "Configure VRF parameters"; leaf vrf-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Configure VRF parameters"; } container address-families { description "Configure Address Family and its parameters"; list address-family { key "af-name"; description "Configure Address Family and its parameters"; leaf af-name { type enumeration { enum "ipv4" { value 4; description "IPv4"; } } description "Configure Address Family and its parameters"; } container statics { description "Static mLDP LSP"; list static { key "lsp-address"; description "Staic mLDP LSP"; leaf lsp-address { type inet:ipv4-address-no-zone; description "LSP address"; } leaf p2mp { type uint32 { range "1..1000"; } description "P2MP LSP"; } leaf mp2mp { type uint32 { range "1..1000"; } description "MP2MP LSP"; } } // list static } // container statics container make-before-break { description "Make Before Break"; container delay { presence "Indicates a delay node is configured."; description "MBB delay"; leaf forwarding-delay { type uint32 { range "0..600"; } mandatory true; description "MBB delay"; } leaf delete-delay { type uint32 { range "0..60"; } default "0"; description "Delete delay in seconds"; } } // container delay leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container make-before-break container mofrr { presence "Indicates a mofrr node is configured."; description "MLDP MoFRR support"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container mofrr container neighbors { description "MLDP neighbor commands"; container in { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container in container out { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container out list neighbor { must "in or out or (in and out)"; key "neighbor-address"; description "MLDP neighbor commands"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "configure this node"; } container in { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container in container out { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container out } // list neighbor } // container neighbors container forwarding { description "Forwarding commands"; container recursive { presence "Indicates a recursive node is configured."; description "Enable recursive forwarding"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container recursive } // container forwarding container rib { description "RIB commands"; container unicast-always { presence "Indicates a unicast-always node is configured."; description "Always use unicast table for root lookup"; } // container unicast-always } // container rib } // list address-family } // container address-families } // list vrf } // container vrfs container address-families { description "Configure Address Family and its parameters"; list address-family { key "af-name"; description "Configure Address Family and its parameters"; leaf af-name { type enumeration { enum "ipv4" { value 4; description "IPv4"; } } description "Configure Address Family and its parameters"; } container statics { description "Static mLDP LSP"; list static { key "lsp-address"; description "Static mLDP LSP"; leaf lsp-address { type inet:ipv4-address-no-zone; description "LSP address"; } leaf p2mp { type uint32 { range "1..1000"; } description "P2MP LSP"; } leaf mp2mp { type uint32 { range "1..1000"; } description "MP2MP LSP"; } } // list static } // container statics container make-before-break { description "Make Before Break"; container delay { presence "Indicates a delay node is configured."; description "MBB delay"; leaf forwarding-delay { type uint32 { range "0..600"; } mandatory true; description "MBB delay"; } leaf delete-delay { type uint32 { range "0..60"; } default "0"; description "Delete delay in seconds"; } } // container delay leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container make-before-break container carrier-supporting-carrier { presence "Indicates a carrier-supporting-carrier node is configured."; description "MLDP CSC support"; } // container carrier-supporting-carrier container mofrr { presence "Indicates a mofrr node is configured."; description "MLDP MoFRR support"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container mofrr container recursive-fec { description "MLDP Recursive FEC support"; container enable { presence "Indicates a enable node is configured."; description "MLDP Recursive FEC enable"; } // container enable leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container recursive-fec container neighbors { description "MLDP neighbor commands"; container in { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container in container out { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container out list neighbor { must "in or out or (in and out)"; key "neighbor-address"; description "configure this node"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "configure this node"; } container in { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container in container out { description "Inbound route policy"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container out } // list neighbor } // container neighbors container forwarding { description "Forwarding commands"; container recursive { presence "Indicates a recursive node is configured."; description "Enable recursive forwarding"; leaf route-policy { type xr:Route-policy-name; description "Route policy"; } } // container recursive } // container forwarding container rib { description "RIB commands"; container unicast-always { presence "Indicates a unicast-always node is configured."; description "Always use unicast table for root lookup"; } // container unicast-always } // container rib } // list address-family } // container address-families } // container mldp container vrfs { description "Configure VRF parameters"; list vrf { key "vrf-name"; description "Configure VRF parameters"; leaf vrf-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Configure VRF parameters"; } leaf router-id { type inet:ipv4-address-no-zone; description "Configure router Id"; } container session { description "Configure session parameters"; container downstream-on-demand { description "Downstream on demand label advertisment mode"; leaf with { type string { length "1..1024"; } description "Access list of LDP Peers"; } } // container downstream-on-demand } // container session container graceful-restart { description "Configure graceful restart feature"; container helper-peer { description "Configure parameters related to GR peer(s) operating in helper mode"; container maintain-on-local-reset { description "Maintain the state of a GR peer upon a local reset"; leaf for { type string { length "1..32"; } description "Access list of LDP Peers"; } } // container maintain-on-local-reset } // container helper-peer } // container graceful-restart container neighbors { description "Configure neighbor parameters"; container password { description "Configure password for MD5 authentication for all neighbors"; leaf encrypted { type xr:Proprietary-password; description "Specifies an ENCRYPTED password will follow"; } } // container password list neighbor { key "neighbor-address label-space-id"; description "neighbor"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "configure this node"; } leaf label-space-id { type uint32 { range "0"; } description "Label Space Id of neighbor"; } container password { description "Configure password for MD5 authentication"; leaf encrypted { type xr:Proprietary-password; must "not(../disable)"; description "Specifies an ENCRYPTED password will follow"; } container disable { must "not(../encrypted)"; presence "Indicates a disable node is configured."; description "Disables the global password from this neighbor"; } // container disable } // container password } // list neighbor } // container neighbors container address-family { description "Configure Address Family and its parameters"; container ipv4 { presence "Indicates a ipv4 node is configured."; description "IPv4"; container discovery { description "Configure discovery parameters"; container transport-address { presence "Indicates a transport-address node is configured."; description "Specify transport address for TCP connection"; leaf ip-address { type inet:ipv4-address-no-zone; mandatory true; description "IP address to be used as transport address"; } } // container transport-address } // container discovery container label { description "Configure label control and policies"; container local { description "Configure local label control and policies"; container allocate { description "Configure label allocation control"; container for { description "Limit label allocation to a set of prefixes"; leaf ip-access-list { type string { length "1..1024"; } must "not(../host-routes)"; description "IP access-list"; } container host-routes { must "not(../ip-access-list)"; presence "Indicates a host-routes node is configured."; description "Allocate label for host routes only"; } // container host-routes } // container for } // container allocate container default-route { presence "Indicates a default-route node is configured."; description "Enable MPLS forwarding for default route"; } // container default-route container implicit-null-override { description "Configure use of implicit-null local label for non-egress prefixes"; leaf for { type string { length "1..32"; } description "Limit implicit-null label use to a set of prefixes"; } } // container implicit-null-override container advertise { description "Configure outbound label advertisement control"; container explicit-null { must "not(for and to)"; presence "Indicates a explicit-null node is configured."; description "Configure explicit-null advertisement"; container for { presence "Indicates a for node is configured."; description "IP Access-list specifying controls on destination prefixes"; leaf access-list { type string { length "1..1024"; } mandatory true; description "IP Access-list specifying controls on destination prefixes"; } container to { presence "Indicates a to node is configured."; description "IP Access-list specifying controls on LDP Peers"; leaf access-list { type string { length "1..1024"; } mandatory true; description "IP Access-list specifying controls on LDP Peers"; } } // container to } // container for container to { presence "Indicates a to node is configured."; description "IP Access-list specifying controls on LDP Peers"; leaf access-list { type string { length "1..1024"; } mandatory true; description "IP Access-list specifying controls on LDP Peers"; } } // container to } // container explicit-null container to { description "Peer centric outbound label filtering"; list neighbor { key "neighbor-address label-space-id"; description "neighbor"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "neighbor address"; } leaf label-space-id { type uint32 { range "0"; } description "Label Space Id of neighbor"; } leaf for { type string { length "1..32"; } mandatory true; description "IP access-list for prefixes to be sent"; } } // list neighbor } // container to container interfaces { description "Advertise interface host address"; list interface { key "interface-name"; description "Advertise interface host address"; leaf interface-name { type xr:Interface-name; description "Advertise interface host address"; } } // list interface } // container interfaces container disable { presence "Indicates a disable node is configured."; description "Disable label advertisement to all peers for all prefixes"; } // container disable } // container advertise } // container local container remote { description "Configure remote/peer label control and policies"; container accept { description "Configure inbound label acceptance control"; container from { description "Neighbor from whom to accept label advertisement"; list neighbor { key "neighbor-address label-space-id"; description "Neighbor from whom to accept label advertisement"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "Neighbor from whom to accept label advertisement"; } leaf label-space-id { type uint32 { range "0"; } description "Label Space Id of neighbor"; } leaf for { type string { length "1..32"; } description "IP access-list for destination prefixes"; } } // list neighbor } // container from } // container accept } // container remote } // container label } // container ipv4 } // container address-family container interfaces { description "Enable LDP on an interface and enter interface submode"; list interface { key "interface-name"; description "Enable LDP on an interface and enter interface submode"; leaf interface-name { type xr:Interface-name; description "Enable LDP on an interface and enter interface submode"; } container address-family { description "Configure Address Family and its parameters"; container ipv4 { presence "Indicates a ipv4 node is configured."; description "IPv4"; container discovery { description "Configure discovery parameters"; container transport-address { must "(interface and not(ip-address)) or (ip-address and not(interface))"; presence "Indicates a transport-address node is configured."; description "Specify interface LDP transport address"; container interface { presence "Indicates a interface node is configured."; description "Use this interface address as transport address"; } // container interface leaf ip-address { type inet:ipv4-address-no-zone; description "IP address to be used as transport address"; } } // container transport-address } // container discovery } // container ipv4 } // container address-family } // list interface } // container interfaces } // list vrf } // container vrfs container ltrace-buffer { description "Configure ltrace buffer file"; leaf multiplier { type uint32 { range "1..5"; } description "Ltrace buffer file size multiplier"; } } // container ltrace-buffer container default-vrf { description "Control default VRF behaviour"; container implicit-ipv4 { description "Control Implicit enabling of IPv4 address family behavior"; container disable { presence "Indicates a disable node is configured."; description "Disable the implicit enabling for IPv4 address family "; } // container disable } // container implicit-ipv4 } // container default-vrf container session { description "Configure session parameters"; container backoff { presence "Indicates a backoff node is configured."; description "Configure session backoff parameters"; leaf backoff-time { type uint32 { range "5..2147483"; } mandatory true; description "Configure session backoff parameters"; } leaf maximum-session-backoff-time { type uint32 { range "5..2147483"; } mandatory true; description "Maximum session backoff time (seconds)"; } } // container backoff leaf holdtime { type uint32 { range "15..65535"; } description "Configure session holdtime"; } container downstream-on-demand { description "Downstream on demand label advertisment mode"; leaf with { type string { length "1..1024"; } description "Access list of LDP Peers"; } } // container downstream-on-demand container protection { presence "Indicates a protection node is configured."; description "Configure session protection parameters"; container for { must "not(../duration)"; presence "Indicates a for node is configured."; description "IP Access list to specify LDP Peers"; leaf for-access-list { type string { length "1..1024"; } mandatory true; description "IP Access list to specify LDP Peers"; } container duration { description "Session protection duration after loss of link discovery"; leaf holdup-time { type uint32 { range "30..2147483"; } must "not(../infinite)"; description "Holdup time in seconds"; } container infinite { must "not(../holdup-time)"; presence "Indicates a infinite node is configured."; description "Protect session forever after loss of link discovery"; } // container infinite } // container duration } // container for container duration { must "not(../for) and (holdup-time or infinite)"; presence "Indicates a duration node is configured."; description "Session protection duration after loss of link discovery"; leaf holdup-time { type uint32 { range "30..2147483"; } must "not(../infinite)"; description "Holdup time in seconds"; } container infinite { must "not(../holdup-time)"; presence "Indicates a infinite node is configured."; description "Protect session forever after loss of link discovery"; } // container infinite } // container duration } // container protection } // container session container nsr { presence "Indicates a nsr node is configured."; description "Configure Non-Stop Routing"; } // container nsr container entropy-label { presence "Indicates a entropy-label node is configured."; description "Configure Entropy Label"; } // container entropy-label container signalling { description "Configure signalling parameters"; leaf dscp { type uint32 { range "0..63"; } description "Set DSCP for LDP control packets"; } } // container signalling container graceful-restart { presence "Indicates a graceful-restart node is configured."; description "Configure graceful restart feature"; } // container graceful-restart leaf graceful-restart-reconnect-timeout { type uint32 { range "60..1800"; } description "Session Reconnect timeout"; } leaf graceful-restart-forwarding-state-holdtime { type uint32 { range "60..1800"; } description "Forwarding State holdtime for a restarting LSR"; } container graceful-restart-helper-peer { description "Configure parameters related to GR peer(s) operating in helper mode"; container maintain-on-local-reset { presence "Indicates a maintain-on-local-reset node is configured."; description "Maintain the state of a GR peer upon a local reset"; leaf for { type string { length "1..32"; } mandatory true; description "Access list of LDP Peers"; } } // container maintain-on-local-reset } // container graceful-restart-helper-peer container igp { description "Configure igp parameters"; container sync { description "Configure LDP-IGP synchronization parameters"; container delay { description "Configure sync up delay after session up"; leaf on-session-up { type uint32 { range "5..300"; } description "Interface sync-up delay after session up"; } leaf on-proc-restart { type uint32 { range "60..600"; } description "Global sync up delay to be used after process restart"; } } // container delay } // container sync } // container igp leaf router-id { type inet:ipv4-address-no-zone; description "Configure router Id"; } container capabilities { description "Configure LDP Capabilities"; container cisco { description "Cisco capabilities options"; container ios-xr { description "Cisco IOS-XR capabilities options"; container disable { presence "Indicates a disable node is configured."; description "Disable Cisco IOS-XR capability"; } // container disable } // container ios-xr } // container cisco container sac { presence "Indicates a sac node is configured."; description "State Advertisement Control"; container ipv4-disable { presence "Indicates a ipv4-disable node is configured."; description "Disable exchanging IPv4 prefix label bindings"; } // container ipv4-disable container ipv6-disable { presence "Indicates a ipv6-disable node is configured."; description "Disable exchanging IPv6 prefix label bindings"; } // container ipv6-disable container fec128-disable { presence "Indicates a fec128-disable node is configured."; description "Disable exchanging PW FEC128 label bindings"; } // container fec128-disable container fec129-disable { presence "Indicates a fec129-disable node is configured."; description "Disable exchanging PW FEC129 label bindings"; } // container fec129-disable } // container sac } // container capabilities container log { description "Configure logging of LDP events"; container hello-adjacency { presence "Indicates a hello-adjacency node is configured."; description "Hello adjacency events"; } // container hello-adjacency container neighbor { presence "Indicates a neighbor node is configured."; description "Neighbor events"; } // container neighbor container nsr { presence "Indicates a nsr node is configured."; description "NSR synchronization events"; } // container nsr container graceful-restart { presence "Indicates a graceful-restart node is configured."; description "Graceful Restart events"; } // container graceful-restart container session-protection { presence "Indicates a session-protection node is configured."; description "Session Protection events"; } // container session-protection } // container log container discovery { description "Configure discovery parameters"; container hello { description "LDP Link Hellos"; leaf holdtime { type uint32 { range "1..65535"; } description "Hello holdtime"; } leaf interval { type uint32 { range "1..65535"; } description "Hello interval"; } } // container hello container targeted-hello { description "LDP Targeted Hellos"; leaf holdtime { type uint32 { range "1..65535"; } description "Targeted hello holdtime"; } leaf interval { type uint32 { range "1..65535"; } description "Targeted Hello interval"; } } // container targeted-hello container instance-tlv { description "Control support for Neighbor instance TLV in Hello messages"; container disable { presence "Indicates a disable node is configured."; description "Disable transmit and receive processing for TLV"; } // container disable } // container instance-tlv container ds-tlv { description "Control Dual Stack TLV sending"; container disable { presence "Indicates a disable node is configured."; description "Disable transmit and receive processing for TLV"; } // container disable } // container ds-tlv container quick-start { description "Control quick discovery and initial burst of hello"; container disable { presence "Indicates a disable node is configured."; description "Disable quick discovery"; } // container disable } // container quick-start } // container discovery container neighbor { description "Configure neighbor parameters"; container dual-stack { description "Configure dual stack ipv4/ipv6 neighbor parameters"; container transport-connection { description "Configure TCP transport parameters for neighbors"; container prefer { description "Configure prefered address family for TCP transport connection with neighbors"; container ipv4 { presence "Indicates a ipv4 node is configured."; description "IPv4"; } // container ipv4 } // container prefer leaf max-wait { type uint32 { range "0..60"; } description "Maximum wait for prefered transport connection establishment"; } } // container transport-connection container tlv-compliance { presence "Indicates a tlv-compliance node is configured."; description "Configure dual-stack tlv compliance checks"; } // container tlv-compliance } // container dual-stack container password { description "Configure password for MD5 authentication for all neighbors"; leaf encrypted { type xr:Proprietary-password; description "Specifies an ENCRYPTED password will follow"; } } // container password container neighbors { description "neighbor"; list neighbor { key "neighbor-address label-space-id"; description "configure this node"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "configure this node"; } leaf label-space-id { type uint32 { range "0"; } description "Label Space Id of neighbor"; } container password { description "Configure password for MD5 authentication"; leaf encrypted { type xr:Proprietary-password; must " not(../disable)"; description "Specifies an ENCRYPTED password will follow"; } container disable { must " not(../encrypted)"; presence "Indicates a disable node is configured."; description "Disables the global password from this neighbor"; } // container disable } // container password } // list neighbor } // container neighbors } // container neighbor container address-families { description "Configure Address Family and its parameters"; list address-family { key "af-name"; description "Configure Address Family and its parameters"; leaf af-name { type enumeration { enum "ipv4" { value 4; description "IPv4"; } enum "ipv6" { value 6; description "IPv6"; } } description "Configure Address Family and its parameters"; } container discovery { description "Configure discovery parameters"; container transport-address { presence "Indicates a transport-address node is configured."; description "Specify transport address for TCP connection"; leaf ip-address { type inet:ip-address-no-zone; mandatory true; description "IP address to be used as transport address"; } } // container transport-address container targeted-hello { description "LDP Targeted Hellos"; container accept { presence "Indicates a accept node is configured."; description "Accept and respond to targeted hellos"; leaf from { type string { length "1..1024"; } description "IP Access list to specify acceptable targeted hello sources"; } } // container accept } // container targeted-hello } // container discovery container neighbor { description "Configure neighbor parameters"; container addresses { description "IP address of neighbor"; list address { key "neighbor-address"; description "IP address of neighbor"; leaf neighbor-address { type inet:ip-address-no-zone; description "IP address of neighbor"; } container targeted { presence "Indicates a targeted node is configured."; description "Establish targeted session"; } // container targeted } // list address } // container addresses container sr-policies { description "Configure Segment Routing policy parameters"; list sr-policy { key "policy-name"; description "Segment Routing policy name"; leaf policy-name { type string { length "1..59"; } description "Segment Routing policy name"; } container targeted { presence "Indicates a targeted node is configured."; description "Establish targeted session"; } // container targeted } // list sr-policy } // container sr-policies } // container neighbor container traffic-eng { description "Configure LDP parameters for MPLS Traffic-Engineering (TE)"; container auto-tunnel { description "Configure LDP TE auto-tunnel related parameters"; container mesh { description "Configure TE auto-tunnel mesh groups"; container groups { description "Configure an auto-tunnel mesh group of interfaces in LDP"; list group { key "group-id"; description "Configure an auto-tunnel mesh group of interfaces in LDP"; leaf group-id { type uint32 { range "0..4294967295"; } description "Configure an auto-tunnel mesh group of interfaces in LDP"; } } // list group container all { presence "Indicates a all node is configured."; description "Enable LDP on all TE meshgroup interfaces"; } // container all } // container groups } // container mesh } // container auto-tunnel } // container traffic-eng container redistribute { when "../af-name = 'ipv4'"; description "Redistribute routes from routing protocols"; container bgp { description "Redistribute routes from BGP protocol"; leaf as { type xr:Bgp-as-number; description "bgp as-number"; } leaf advertise-to { type string { length "1..1024"; } description "IP access list specifying LDP peers to advertise"; } } // container bgp } // container redistribute container label { description "Configure label control and policies"; container local { description "Configure local label control and policies"; container allocate { description "Configure label allocation control"; container for { description "Limit label allocation to a set of prefixes"; leaf access-list { type string { length "1..1024"; } must "not(../host-routes)"; description "IP access-list"; } container host-routes { must "not(../access-list)"; presence "Indicates a host-routes node is configured."; description "Allocate label for host routes only"; } // container host-routes } // container for } // container allocate container default-route { presence "Indicates a default-route node is configured."; description "Enable MPLS forwarding for default route"; } // container default-route container implicit-null-override { description "Configure use of implicit-null local label for non-egress prefixes"; leaf for { type string { length "1..32"; } description "Limit implicit-null label use to a set of prefixes"; } } // container implicit-null-override container advertise { description "Configure outbound label advertisement control"; container explicit-null { must "not(for and to)"; presence "Indicates a explicit-null node is configured."; description "Configure explicit-null advertisement"; container for { presence "Indicates a for node is configured."; description "IP Access-list specifying controls on destination prefixes"; leaf access-list { type string { length "1..1024"; } mandatory true; description "IP Access-list specifying controls on destination prefixes"; } container to { presence "Indicates a to node is configured."; description "IP Access-list specifying controls on LDP Peers"; leaf access-list { type string { length "1..1024"; } mandatory true; description "IP Access-list specifying controls on LDP Peers"; } } // container to } // container for container to { presence "Indicates a to node is configured."; description "IP Access-list specifying controls on LDP Peers"; leaf access-list { type string { length "1..1024"; } mandatory true; description "IP Access-list specifying controls on LDP Peers"; } } // container to } // container explicit-null container to { description "Peer centric outbound label filtering"; list neighbor { key "neighbor-address label-space-id"; description "neighbor"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "neighbor address"; } leaf label-space-id { type uint32 { range "0"; } description "Label Space Id of neighbor"; } leaf for { type string { length "1..32"; } mandatory true; description "IP access-list for prefixes to be sent"; } } // list neighbor } // container to container interfaces { description "Advertise interface host address"; list interface { key "interface-name"; description "Advertise interface host address"; leaf interface-name { type xr:Interface-name; description "Advertise interface host address"; } } // list interface } // container interfaces container disable { presence "Indicates a disable node is configured."; description "Disable label advertisement to all peers for all prefixes"; } // container disable container for { description "Prefix centric outbound label filtering"; list access-lists { key "access-list-name"; description "Prefix centric outbound label filtering"; leaf access-list-name { type xr:Cisco-ios-xr-string { length "1..1024"; } description "Prefix centric outbound label filtering"; } leaf to { type string { length "1..1024"; } description "IP access-list for LDP peers"; } } // list access-lists } // container for } // container advertise } // container local container remote { description "Configure remote/peer label control and policies"; container accept { description "Configure inbound label acceptance control"; container from { description "Neighbor from whom to accept label advertisement"; list neighbor { key "neighbor-address label-space-id"; description "Neighbor from whom to accept label advertisement"; leaf neighbor-address { type inet:ipv4-address-no-zone; description "Neighbor from whom to accept label advertisement"; } leaf label-space-id { type uint32 { range "0"; } description "Label Space Id of neighbor"; } leaf for { type string { length "1..32"; } description "IP access-list for destination prefixes"; } } // list neighbor } // container from } // container accept } // container remote } // container label } // list address-family } // container address-families container interfaces { description "Enable LDP on an interface and enter interface submode"; list interface { key "interface-name"; description "Enable LDP on an interface and enter interface submode"; leaf interface-name { type xr:Interface-name; description "Enable LDP on an interface and enter interface submode"; } container discovery { description "Configure discovery parameters"; container hello { description "LDP Link Hellos"; leaf holdtime { type uint32 { range "1..65535"; } description "Hello holdtime"; } leaf interval { type uint32 { range "1..65535"; } description "Hello interval"; } leaf dual-stack-tlv { type enumeration { enum "ipv4" { value 4; description "IPv4"; } enum "ipv6" { value 6; description "IPv6"; } } description "Change AF preference in Dual Stack TLV"; } } // container hello container quick-start { description "Control quick discovery and initial burst of hello"; container disable { presence "Indicates a disable node is configured."; description "Disable quick discovery"; } // container disable } // container quick-start } // container discovery container igp { description "Configure igp parameters"; container sync { description "Configure LDP-IGP synchronization parameters"; container delay { description "Configure sync up delay"; container on-session-up { description "Interface sync-up delay after session up"; leaf interface-sync-up-delay { type uint32 { range "5..300"; } must "not(../disable)"; description "Interface sync-up delay (seconds)"; } container disable { must "not(../interface-sync-up-delay)"; presence "Indicates a disable node is configured."; description "Disable"; } // container disable } // container on-session-up } // container delay } // container sync } // container igp container address-families { description "Configure Address Family and its parameters"; list address-family { key "af-name"; description "Configure Address Family and its parameters"; leaf af-name { type enumeration { enum "ipv4" { value 4; description "IPv4"; } enum "ipv6" { value 6; description "IPv6"; } } description "Configure Address Family and its parameters"; } container discovery { description "Configure discovery parameters"; container transport-address { must "(interface and not(ip-address)) or (ip-address and not(interface))"; presence "Indicates a transport-address node is configured."; description "Specify interface LDP transport address"; container interface { presence "Indicates a interface node is configured."; description "Use this interface address as transport address"; } // container interface leaf ip-address { type inet:ip-address-no-zone; description "IP address to be used as transport address"; } } // container transport-address } // container discovery container igp { description "Configure igp parameters"; container auto-config { description "Auto-configuration"; container disable { presence "Indicates a disable node is configured."; description "Disable"; } // container disable } // container auto-config } // container igp container mldp { description "Configure mLDP parameters"; container disable { presence "Indicates a disable node is configured."; description "Disable mLDP on LDP enabled interface"; } // container disable } // container mldp } // list address-family } // container address-families } // list interface } // container interfaces } // container ldp } // container mpls } // module Cisco-IOS-XR-um-mpls-ldp-cfg
© 2023 YumaWorks, Inc. All rights reserved.