ietf-mpls-ldp-extended@2021-10-28.yang   ietf-mpls-ldp-extended@2021-10-28-formatted.yang 
module ietf-mpls-ldp-extended { module ietf-mpls-ldp-extended {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-ldp-extended"; namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-ldp-extended";
prefix "ldp-ext"; prefix ldp-ext;
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix inet;
reference "RFC 6991: Common YANG Data Types"; reference
"RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix rt;
reference reference
"RFC 8349: A YANG Data Model for Routing Management (NMDA "RFC 8349: A YANG Data Model for Routing Management (NMDA
version)"; version)";
} }
import ietf-key-chain { import ietf-key-chain {
prefix "key-chain"; prefix key-chain;
reference "RFC 8177: YANG Data Model for Key Chains"; reference
"RFC 8177: YANG Data Model for Key Chains";
} }
import ietf-mpls-ldp { import ietf-mpls-ldp {
prefix "ldp"; prefix ldp;
reference "RFC 9070: YANG Data Model for MPLS LDP"; reference
"RFC 9070: YANG Data Model for MPLS LDP";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix if;
reference "RFC 8343: A YANG Data Model for Interface Management"; reference
"RFC 8343: A YANG Data Model for Interface Management";
} }
import ietf-routing-policy { import ietf-routing-policy {
prefix rt-pol; prefix rt-pol;
reference reference
"RFC 9067: A YANG Data Model for Routing Policy"; "RFC 9067: A YANG Data Model for Routing Policy";
} }
organization organization
"IETF MPLS Working Group"; "IETF MPLS Working Group";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/mpls/> "WG Web: <https://datatracker.ietf.org/wg/mpls/>
skipping to change at line 195 skipping to change at line 191
feature session-downstream-on-demand-config { feature session-downstream-on-demand-config {
description description
"This feature indicates that the system allows for the "This feature indicates that the system allows for the
configuration of session downstream on demand."; configuration of session downstream on demand.";
} }
/* /*
* Typedefs * Typedefs
*/ */
typedef neighbor-list-ref { typedef neighbor-list-ref {
type leafref { type leafref {
path "/rt-pol:routing-policy/rt-pol:defined-sets/" path "/rt-pol:routing-policy/rt-pol:defined-sets/"
+ "rt-pol:neighbor-sets/rt-pol:neighbor-set/rt-pol:name"; + "rt-pol:neighbor-sets/rt-pol:neighbor-set/rt-pol:name";
} }
description description
"A type for a reference to a neighbor address list. "A type for a reference to a neighbor address list.
The string value is the name identifier for uniquely The string value is the name identifier for uniquely
identifying the referenced address list, which contains a list identifying the referenced address list, which contains a list
of addresses that a routing policy can applied."; of addresses that a routing policy can applied.";
reference reference
"RFC 9067: A YANG Data Model for Routing Policy"; "RFC 9067: A YANG Data Model for Routing Policy";
} }
typedef prefix-list-ref { typedef prefix-list-ref {
type leafref { type leafref {
path "/rt-pol:routing-policy/rt-pol:defined-sets/" path "/rt-pol:routing-policy/rt-pol:defined-sets/"
+ "rt-pol:prefix-sets/rt-pol:prefix-set/rt-pol:name"; + "rt-pol:prefix-sets/rt-pol:prefix-set/rt-pol:name";
} }
description description
"A type for a reference to a prefix list. "A type for a reference to a prefix list.
The string value is the name identifier for uniquely The string value is the name identifier for uniquely
identifying the referenced prefix set, which contains a list identifying the referenced prefix set, which contains a list
of prefixes that a routing policy can applied."; of prefixes that a routing policy can applied.";
reference reference
"RFC 9067: A YANG Data Model for Routing Policy"; "RFC 9067: A YANG Data Model for Routing Policy";
} }
typedef peer-list-ref { typedef peer-list-ref {
type leafref { type leafref {
path "/rt-pol:routing-policy/rt-pol:defined-sets/" path "/rt-pol:routing-policy/rt-pol:defined-sets/"
+ "rt-pol:neighbor-sets/rt-pol:neighbor-set/rt-pol:name"; + "rt-pol:neighbor-sets/rt-pol:neighbor-set/rt-pol:name";
} }
description description
"A type for a reference to a peer address list. "A type for a reference to a peer address list.
The string value is the name identifier for uniquely The string value is the name identifier for uniquely
identifying the referenced address list, which contains a list identifying the referenced address list, which contains a list
of addresses that a routing policy can applied."; of addresses that a routing policy can applied.";
reference reference
"RFC 9067: A YANG Data Model for Routing Policy"; "RFC 9067: A YANG Data Model for Routing Policy";
} }
skipping to change at line 240 skipping to change at line 237
The string value is the name identifier for uniquely The string value is the name identifier for uniquely
identifying the referenced address list, which contains a list identifying the referenced address list, which contains a list
of addresses that a routing policy can applied."; of addresses that a routing policy can applied.";
reference reference
"RFC 9067: A YANG Data Model for Routing Policy"; "RFC 9067: A YANG Data Model for Routing Policy";
} }
/* /*
* Identities * Identities
*/ */
/* /*
* Groupings * Groupings
*/ */
grouping address-family-ipv4-augment {
description "Augmentation to address family IPv4.";
grouping address-family-ipv4-augment {
description
"Augmentation to address family IPv4.";
uses policy-container; uses policy-container;
leaf transport-address { leaf transport-address {
type inet:ipv4-address; type inet:ipv4-address;
description description
"The transport address advertised in LDP Hello messages. "The transport address advertised in LDP Hello messages.
If this value is not specified, the LDP LSR ID is used as If this value is not specified, the LDP LSR ID is used as
the transport address."; the transport address.";
reference reference
"RFC 5036: LDP Specification, Sec. 3.5.2."; "RFC 5036: LDP Specification, Sec. 3.5.2.";
} }
} }
grouping authentication-keychain-augment { grouping authentication-keychain-augment {
description "Augmentation to authentication to add keychain."; description
"Augmentation to authentication to add keychain.";
leaf key-chain { leaf key-chain {
type key-chain:key-chain-ref; type key-chain:key-chain-ref;
description description
"key-chain name. "key-chain name.
If not specified, no key chain is used."; If not specified, no key chain is used.";
} }
} }
grouping capability-augment { grouping capability-augment {
description "Augmentation to capability."; description
"Augmentation to capability.";
container end-of-lib { container end-of-lib {
if-feature capability-end-of-lib; if-feature "capability-end-of-lib";
description description
"Configure end-of-lib capability."; "Configure end-of-lib capability.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default false; default "false";
description description
"'true' to enable end-of-lib capability."; "'true' to enable end-of-lib capability.";
} }
} }
container typed-wildcard-fec { container typed-wildcard-fec {
if-feature capability-typed-wildcard-fec; if-feature "capability-typed-wildcard-fec";
description description
"Configure typed-wildcard-fec capability."; "Configure typed-wildcard-fec capability.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default false; default "false";
description description
"'true' to enable typed-wildcard-fec capability."; "'true' to enable typed-wildcard-fec capability.";
} }
} }
container upstream-label-assignment { container upstream-label-assignment {
if-feature capability-upstream-label-assignment; if-feature "capability-upstream-label-assignment";
description description
"Configure upstream label assignment capability."; "Configure upstream label assignment capability.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default false; default "false";
description description
"'true' to enable upstream label assignment."; "'true' to enable upstream label assignment.";
} }
} }
} // capability-augment } // capability-augment
grouping global-augment { grouping global-augment {
description "Augmentation to global attributes."; description
"Augmentation to global attributes.";
leaf igp-synchronization-delay { leaf igp-synchronization-delay {
type uint16 { type uint16 {
range "0 | 3..300"; range "0 | 3..300";
} }
units seconds; units "seconds";
default 0; default "0";
description description
"Sets the interval that the LDP waits before notifying the "Sets the interval that the LDP waits before notifying the
Interior Gateway Protocol (IGP) that label exchange is Interior Gateway Protocol (IGP) that label exchange is
completed so that IGP can start advertising the normal completed so that IGP can start advertising the normal
metric for the link. metric for the link.
If the value is not specified, there is no delay."; If the value is not specified, there is no delay.";
} }
} }
grouping global-forwarding-nexthop-augment { grouping global-forwarding-nexthop-augment {
skipping to change at line 330 skipping to change at line 326
Interior Gateway Protocol (IGP) that label exchange is Interior Gateway Protocol (IGP) that label exchange is
completed so that IGP can start advertising the normal completed so that IGP can start advertising the normal
metric for the link. metric for the link.
If the value is not specified, there is no delay."; If the value is not specified, there is no delay.";
} }
} }
grouping global-forwarding-nexthop-augment { grouping global-forwarding-nexthop-augment {
description description
"Augmentation to global forwarding nexthop interfaces."; "Augmentation to global forwarding nexthop interfaces.";
container forwarding-nexthop { container forwarding-nexthop {
if-feature forwarding-nexthop-config; if-feature "forwarding-nexthop-config";
description description
"Configuration for forwarding nexthop."; "Configuration for forwarding nexthop.";
container interfaces { container interfaces {
description description
"Containing a list of interfaces on which forwarding can be "Containing a list of interfaces on which forwarding can be
disabled."; disabled.";
list interface { list interface {
key "name"; key "name";
description description
"List of LDP interfaces on which forwarding can be "List of LDP interfaces on which forwarding can be
disabled."; disabled.";
uses ldp:ldp-interface-ref; uses ldp:ldp-interface-ref;
list address-family { list address-family {
key "afi"; key "afi";
description description
"Per-vrf per-af params."; "Per-vrf per-af params.";
leaf afi { leaf afi {
type identityref { type identityref {
base rt:address-family; base rt:address-family;
} }
description description
"Address family type value."; "Address family type value.";
} }
leaf ldp-disable { leaf ldp-disable {
type boolean; type boolean;
default false; default "false";
description description
"'true' to disable LDP forwarding on the interface."; "'true' to disable LDP forwarding on the interface.";
} }
} }
} // interface } // interface
} // interfaces } // interfaces
} // forwarding-nexthop } // forwarding-nexthop
} // global-forwarding-nexthop-augment } // global-forwarding-nexthop-augment
grouping graceful-restart-augment { grouping graceful-restart-augment {
description "Augmentation to graceful restart."; description
"Augmentation to graceful restart.";
leaf helper-enabled { leaf helper-enabled {
if-feature graceful-restart-helper-mode; if-feature "graceful-restart-helper-mode";
type boolean; type boolean;
default false; default "false";
description description
"Enable or disable graceful restart helper mode."; "Enable or disable graceful restart helper mode.";
} }
} }
grouping interface-address-family-ipv4-augment { grouping interface-address-family-ipv4-augment {
description "Augmentation to interface address family IPv4."; description
"Augmentation to interface address family IPv4.";
leaf transport-address { leaf transport-address {
type union { type union {
type enumeration { type enumeration {
enum "use-global-transport-address" { enum use-global-transport-address {
description description
"Use the transport address set at the global level "Use the transport address set at the global level
common for all interfaces for this address family."; common for all interfaces for this address family.";
} }
enum "use-interface-address" { enum use-interface-address {
description description
"Use interface address as the transport address."; "Use interface address as the transport address.";
} }
} }
type inet:ipv4-address; type inet:ipv4-address;
} }
default "use-global-transport-address"; default "use-global-transport-address";
description description
"IP address to be advertised as the LDP transport address."; "IP address to be advertised as the LDP transport address.";
} }
} }
grouping interface-address-family-ipv6-augment { grouping interface-address-family-ipv6-augment {
description "Augmentation to interface address family IPv6."; description
"Augmentation to interface address family IPv6.";
leaf transport-address { leaf transport-address {
type union { type union {
type enumeration { type enumeration {
enum "use-global-transport-address" { enum use-global-transport-address {
description description
"Use the transport address set at the global level "Use the transport address set at the global level
common for all interfaces for this address family."; common for all interfaces for this address family.";
} }
enum "use-interface-address" { enum use-interface-address {
description description
"Use interface address as the transport address."; "Use interface address as the transport address.";
} }
} }
type inet:ipv6-address; type inet:ipv6-address;
} }
default "use-global-transport-address"; default "use-global-transport-address";
description description
"IP address to be advertised as the LDP transport address."; "IP address to be advertised as the LDP transport address.";
} }
} }
grouping interface-augment { grouping interface-augment {
description "Augmentation to interface."; description
"Augmentation to interface.";
uses ldp:basic-discovery-timers { uses ldp:basic-discovery-timers {
if-feature per-interface-timer-config; if-feature "per-interface-timer-config";
} }
leaf igp-synchronization-delay { leaf igp-synchronization-delay {
if-feature per-interface-timer-config; if-feature "per-interface-timer-config";
type uint16 { type uint16 {
range "0 | 3..300"; range "0 | 3..300";
} }
units seconds; units "seconds";
description description
"Sets the interval that the LDP waits before notifying the "Sets the interval that the LDP waits before notifying the
Interior Gateway Protocol (IGP) that label exchange is Interior Gateway Protocol (IGP) that label exchange is
completed so that IGP can start advertising the normal completed so that IGP can start advertising the normal
metric for the link. metric for the link.
This leaf may be configured at the per-interface level or This leaf may be configured at the per-interface level or
the global level, with precedence given to the value at the the global level, with precedence given to the value at the
per-interface level. If the leaf is not configured at per-interface level. If the leaf is not configured at
either level, the default value at the global level is either level, the default value at the global level is
used."; used.";
skipping to change at line 466 skipping to change at line 459
description description
"LDP policy attribute container under peer address family."; "LDP policy attribute container under peer address family.";
container label-policy { container label-policy {
description description
"Label policy attributes."; "Label policy attributes.";
container advertise { container advertise {
description description
"Label advertising policies."; "Label advertising policies.";
leaf prefix-list { leaf prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Applies the prefix list to filter outgoing label "Applies the prefix list to filter outgoing label
advertisements. advertisements.
If the value is not specified, no prefix filter If the value is not specified, no prefix filter
is applied."; is applied.";
} }
} }
container accept { container accept {
description description
"Label advertisement acceptance policies."; "Label advertisement acceptance policies.";
leaf prefix-list { leaf prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Applies the prefix list to filer incoming label "Applies the prefix list to filer incoming label
advertisements. advertisements.
If the value is not specified, no prefix filter If the value is not specified, no prefix filter
is applied."; is applied.";
} }
} }
} }
} // peer-af-policy-container } // peer-af-policy-container
grouping peer-augment { grouping peer-augment {
description "Augmentation to each peer list entry."; description
"Augmentation to each peer list entry.";
leaf admin-down { leaf admin-down {
if-feature per-peer-admin-down; if-feature "per-peer-admin-down";
type boolean; type boolean;
default false; default "false";
description description
"'true' to disable the peer."; "'true' to disable the peer.";
} }
uses ldp:graceful-restart-attributes-per-peer { uses ldp:graceful-restart-attributes-per-peer {
if-feature per-peer-graceful-restart-config; if-feature "per-peer-graceful-restart-config";
} }
uses ldp:peer-attributes { uses ldp:peer-attributes {
if-feature per-peer-session-attributes-config; if-feature "per-peer-session-attributes-config";
} }
} }
grouping peers-augment { grouping peers-augment {
description "Augmentation to peers container."; description
"Augmentation to peers container.";
container session-downstream-on-demand { container session-downstream-on-demand {
if-feature session-downstream-on-demand-config; if-feature "session-downstream-on-demand-config";
description description
"Session downstream-on-demand attributes."; "Session downstream-on-demand attributes.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default false; default "false";
description description
"'true' if session downstream on demand is enabled."; "'true' if session downstream on demand is enabled.";
} }
leaf peer-list { leaf peer-list {
type peer-list-ref; type peer-list-ref;
description description
"The name of a peer ACL, to be applied to the "The name of a peer ACL, to be applied to the
downstream-on-demand sessions. downstream-on-demand sessions.
If this value is not specified, no filter is applied to If this value is not specified, no filter is applied to
any downstream-on-demand sessions."; any downstream-on-demand sessions.";
} }
} }
container dual-stack-transport-preference { container dual-stack-transport-preference {
if-feature peers-dual-stack-transport-preference; if-feature "peers-dual-stack-transport-preference";
description description
"The settings of peers to establish TCP connection in a "The settings of peers to establish TCP connection in a
dual-stack setup."; dual-stack setup.";
leaf max-wait { leaf max-wait {
type uint16 { type uint16 {
range "0..60"; range "0..60";
} }
default 30; default "30";
description description
"The maximum wait time in seconds for preferred transport "The maximum wait time in seconds for preferred transport
connection establishment. 0 indicates no preference."; connection establishment. 0 indicates no preference.";
} }
container prefer-ipv4 { container prefer-ipv4 {
presence presence "Present if IPv4 is preferred for transport connection
"Present if IPv4 is preferred for transport connection establishment, subject to the 'peer-list' in this
establishment, subject to the 'peer-list' in this container.";
container.";
description description
"Uses IPv4 as the preferred address family for transport "Uses IPv4 as the preferred address family for transport
connection establishment, subject to the 'peer-list' in connection establishment, subject to the 'peer-list' in
this container. this container.
If this container is not present, as a default, IPv6 is If this container is not present, as a default, IPv6 is
the preferred address family for transport connection the preferred address family for transport connection
establishment."; establishment.";
leaf peer-list { leaf peer-list {
type peer-list-ref; type peer-list-ref;
description description
skipping to change at line 585 skipping to change at line 575
description description
"Label advertising policies."; "Label advertising policies.";
container egress-explicit-null { container egress-explicit-null {
description description
"Enables an egress router to advertise an "Enables an egress router to advertise an
explicit null label (value 0) in place of an explicit null label (value 0) in place of an
implicit null label (value 3) to the implicit null label (value 3) to the
penultimate hop router."; penultimate hop router.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default false; default "false";
description description
"'true' to enable explicit null."; "'true' to enable explicit null.";
} }
} }
leaf prefix-list { leaf prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Applies the prefix list to filter outgoing label "Applies the prefix list to filter outgoing label
advertisements. advertisements.
If the value is not specified, no prefix filter If the value is not specified, no prefix filter
skipping to change at line 612 skipping to change at line 602
leaf prefix-list { leaf prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Applies the prefix list to filter incoming label "Applies the prefix list to filter incoming label
advertisements. advertisements.
If the value is not specified, no prefix filter If the value is not specified, no prefix filter
is applied."; is applied.";
} }
} }
container assign { container assign {
if-feature policy-label-assignment-config; if-feature "policy-label-assignment-config";
description description
"Label assignment policies."; "Label assignment policies.";
container independent-mode { container independent-mode {
description description
"Independent label policy attributes."; "Independent label policy attributes.";
leaf prefix-list { leaf prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Assign labels according to certain prefixes. "Assign labels according to certain prefixes.
If the value is not specified, no prefix filter If the value is not specified, no prefix filter
skipping to change at line 625 skipping to change at line 615
container independent-mode { container independent-mode {
description description
"Independent label policy attributes."; "Independent label policy attributes.";
leaf prefix-list { leaf prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Assign labels according to certain prefixes. "Assign labels according to certain prefixes.
If the value is not specified, no prefix filter If the value is not specified, no prefix filter
is applied (labels are assigned to all learned is applied (labels are assigned to all learned
routes)."; routes).";
} }
} }
container ordered-mode { container ordered-mode {
if-feature policy-ordered-label-config; if-feature "policy-ordered-label-config";
description description
"Ordered label policy attributes."; "Ordered label policy attributes.";
leaf egress-prefix-list { leaf egress-prefix-list {
type prefix-list-ref; type prefix-list-ref;
description description
"Assign labels according to certain prefixes for "Assign labels according to certain prefixes for
egress LSR."; egress LSR.";
} }
} }
} // assign } // assign
skipping to change at line 647 skipping to change at line 636
} }
} }
} // assign } // assign
} // label-policy } // label-policy
} // policy-container } // policy-container
/* /*
* Configuration and state data nodes * Configuration and state data nodes
*/ */
// Forwarding nexthop augmentation to the global tree // Forwarding nexthop augmentation to the global tree
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global" { + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global" {
description "Forwarding nexthop augmentation."; description
"Forwarding nexthop augmentation.";
uses global-forwarding-nexthop-augment; uses global-forwarding-nexthop-augment;
} }
// global/address-families/ipv6 // global/address-families/ipv6
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/"
+ "ldp:address-families" {
description "Global IPv6 augmentation.";
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/"
+ "ldp:address-families" {
description
"Global IPv6 augmentation.";
container ipv6 { container ipv6 {
presence presence "Present if IPv6 is enabled, unless the 'enabled'
"Present if IPv6 is enabled, unless the 'enabled' leaf is set to 'false'.";
leaf is set to 'false'.";
description description
"Containing data related to the IPv6 address family."; "Containing data related to the IPv6 address family.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default true; default "true";
description description
"'false' to disable the address family."; "'false' to disable the address family.";
} }
uses policy-container; uses policy-container;
leaf transport-address { leaf transport-address {
type inet:ipv6-address; type inet:ipv6-address;
mandatory true; mandatory true;
description description
"The transport address advertised in LDP Hello messages."; "The transport address advertised in LDP Hello messages.";
} }
leaf label-distribution-control-mode { leaf label-distribution-control-mode {
type enumeration { type enumeration {
enum independent { enum independent {
description description
"Independent label distribution control."; "Independent label distribution control.";
} }
enum ordered { enum ordered {
description description
"Ordered label distribution control."; "Ordered label distribution control.";
} }
} }
config false; config false;
description description
"Label distribution control mode."; "Label distribution control mode.";
reference reference
"RFC 5036: LDP Specification, Sec. 2.6."; "RFC 5036: LDP Specification, Sec. 2.6.";
} }
// ipv6 bindings // ipv6 bindings
container bindings { container bindings {
config false; config false;
description description
"LDP address and label binding information."; "LDP address and label binding information.";
list address { list address {
key "address"; key "address";
description description
"List of address bindings learned by LDP."; "List of address bindings learned by LDP.";
leaf address { leaf address {
skipping to change at line 717 skipping to change at line 703
description description
"List of address bindings learned by LDP."; "List of address bindings learned by LDP.";
leaf address { leaf address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"The IPv6 address learned from an Address "The IPv6 address learned from an Address
message received from or advertised to a peer."; message received from or advertised to a peer.";
} }
uses ldp:binding-address-state-attributes; uses ldp:binding-address-state-attributes;
} }
list fec-label { list fec-label {
key "fec"; key "fec";
description description
"List of FEC-label bindings learned by LDP."; "List of FEC-label bindings learned by LDP.";
leaf fec { leaf fec {
type inet:ipv6-prefix; type inet:ipv6-prefix;
description description
"The prefix FEC value in the FEC-label binding, "The prefix FEC value in the FEC-label binding,
learned in a Label Mapping message received from learned in a Label Mapping message received from
or advertised to a peer."; or advertised to a peer.";
} }
uses ldp:binding-label-state-attributes; uses ldp:binding-label-state-attributes;
} }
} // bindings } // bindings
} // ipv6 } // ipv6
} }
// discovery/interfaces/interface/address-families/ipv6 // discovery/interfaces/interface/address-families/ipv6
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:interfaces/ldp:interface/"
+ "ldp:address-families" {
description "Interface IPv6 augmentation.";
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:interfaces/ldp:interface/"
+ "ldp:address-families" {
description
"Interface IPv6 augmentation.";
container ipv6 { container ipv6 {
presence presence "Present if IPv6 is enabled, unless the 'enabled'
"Present if IPv6 is enabled, unless the 'enabled' leaf is set to 'false'.";
leaf is set to 'false'.";
description description
"IPv6 address family."; "IPv6 address family.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default true; default "true";
description description
"'false' to disable the address family on the interface."; "'false' to disable the address family on the interface.";
} }
container hello-adjacencies { container hello-adjacencies {
config false; config false;
description description
"Containing a list of Hello adjacencies."; "Containing a list of Hello adjacencies.";
list hello-adjacency { list hello-adjacency {
key "adjacent-address"; key "adjacent-address";
config false; config false;
description "List of Hello adjacencies."; description
"List of Hello adjacencies.";
leaf adjacent-address { leaf adjacent-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Neighbor address of the Hello adjacency."; "Neighbor address of the Hello adjacency.";
} }
uses ldp:adjacency-state-attributes; uses ldp:adjacency-state-attributes;
uses ldp:ldp-peer-ref-from-interface; uses ldp:ldp-peer-ref-from-interface;
} }
} }
} // ipv6 } // ipv6
} }
// discovery/targeted/address-families/ipv6 // discovery/targeted/address-families/ipv6
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:targeted/ldp:address-families" {
description "Targeted discovery IPv6 augmentation.";
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:targeted/ldp:address-families" {
description
"Targeted discovery IPv6 augmentation.";
container ipv6 { container ipv6 {
presence presence "Present if IPv6 is enabled.";
"Present if IPv6 is enabled.";
description description
"IPv6 address family."; "IPv6 address family.";
container hello-adjacencies { container hello-adjacencies {
config false; config false;
description description
"Containing a list of Hello adjacencies."; "Containing a list of Hello adjacencies.";
list hello-adjacency { list hello-adjacency {
key "local-address adjacent-address"; key "local-address adjacent-address";
config false; config false;
description "List of Hello adjacencies."; description
"List of Hello adjacencies.";
leaf local-address { leaf local-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Local address of the Hello adjacency."; "Local address of the Hello adjacency.";
} }
leaf adjacent-address { leaf adjacent-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Neighbor address of the Hello adjacency."; "Neighbor address of the Hello adjacency.";
} }
skipping to change at line 811 skipping to change at line 790
leaf local-address { leaf local-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Local address of the Hello adjacency."; "Local address of the Hello adjacency.";
} }
leaf adjacent-address { leaf adjacent-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Neighbor address of the Hello adjacency."; "Neighbor address of the Hello adjacency.";
} }
uses ldp:adjacency-state-attributes; uses ldp:adjacency-state-attributes;
uses ldp:ldp-peer-ref-from-target; uses ldp:ldp-peer-ref-from-target;
} }
} }
list target { list target {
key "adjacent-address"; key "adjacent-address";
description description
"Targeted discovery params."; "Targeted discovery params.";
leaf adjacent-address { leaf adjacent-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Configures a remote LDP neighbor for the "Configures a remote LDP neighbor for the
extended LDP discovery."; extended LDP discovery.";
} }
leaf enabled { leaf enabled {
type boolean; type boolean;
default true; default "true";
description description
"'true' to enable the target."; "'true' to enable the target.";
} }
leaf local-address { leaf local-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"The local address used as the source address to send "The local address used as the source address to send
targeted Hello messages. targeted Hello messages.
If the value is not specified, the transport address If the value is not specified, the transport address
is used as the source address."; is used as the source address.";
} }
} // target } // target
} // ipv6 } // ipv6
} }
// /peers/peer/state/address-families/ipv6 // /peers/peer/state/address-families/ipv6
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/"
+ "ldp:peer/ldp:address-families" {
description "Peer state IPv6 augmentation.";
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/"
+ "ldp:peer/ldp:address-families" {
description
"Peer state IPv6 augmentation.";
container ipv6 { container ipv6 {
presence presence "Present if IPv6 is enabled.";
"Present if IPv6 is enabled.";
description description
"IPv6 address family."; "IPv6 address family.";
container hello-adjacencies { container hello-adjacencies {
config false; config false;
description description
"Containing a list of Hello adjacencies."; "Containing a list of Hello adjacencies.";
list hello-adjacency { list hello-adjacency {
key "local-address adjacent-address"; key "local-address adjacent-address";
description "List of Hello adjacencies."; description
"List of Hello adjacencies.";
leaf local-address { leaf local-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Local address of the Hello adjacency."; "Local address of the Hello adjacency.";
} }
leaf adjacent-address { leaf adjacent-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Neighbor address of the Hello adjacency."; "Neighbor address of the Hello adjacency.";
} }
skipping to change at line 877 skipping to change at line 851
leaf local-address { leaf local-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Local address of the Hello adjacency."; "Local address of the Hello adjacency.";
} }
leaf adjacent-address { leaf adjacent-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Neighbor address of the Hello adjacency."; "Neighbor address of the Hello adjacency.";
} }
uses ldp:adjacency-state-attributes; uses ldp:adjacency-state-attributes;
leaf interface { leaf interface {
type if:interface-ref; type if:interface-ref;
description "Interface for this adjacency."; description
"Interface for this adjacency.";
} }
} }
} }
} // ipv6 } // ipv6
} }
/* /*
* Configuration data and operational state data nodes * Configuration data and operational state data nodes
*/ */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global" { + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global" {
description "Graceful restart augmentation."; description
"Graceful restart augmentation.";
uses global-augment; uses global-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/"
+ "ldp:capability" { + "ldp:capability" {
description "Capability augmentation."; description
"Capability augmentation.";
uses capability-augment; uses capability-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/"
+ "ldp:graceful-restart" { + "ldp:graceful-restart" {
description "Graceful restart augmentation."; description
"Graceful restart augmentation.";
uses graceful-restart-augment; uses graceful-restart-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:global/"
+ "ldp:address-families/ldp:ipv4" { + "ldp:address-families/ldp:ipv4" {
description "Address family IPv4 augmentation."; description
"Address family IPv4 augmentation.";
uses address-family-ipv4-augment; uses address-family-ipv4-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:interfaces/ldp:interface" { + "ldp:interfaces/ldp:interface" {
description "Interface augmentation."; description
"Interface augmentation.";
uses interface-augment; uses interface-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:interfaces/ldp:interface/ldp:address-families/" + "ldp:interfaces/ldp:interface/ldp:address-families/"
+ "ldp:ipv4" { + "ldp:ipv4" {
description "Interface address family IPv4 augmentation."; description
"Interface address family IPv4 augmentation.";
uses interface-address-family-ipv4-augment; uses interface-address-family-ipv4-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:interfaces/ldp:interface/ldp:address-families/" + "ldp:interfaces/ldp:interface/ldp:address-families/"
+ "ldp-ext:ipv6" { + "ldp-ext:ipv6" {
description "Interface address family IPv6 augmentation."; description
"Interface address family IPv6 augmentation.";
uses interface-address-family-ipv6-augment; uses interface-address-family-ipv6-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:discovery/"
+ "ldp:targeted/ldp:hello-accept" { + "ldp:targeted/ldp:hello-accept" {
description "Targeted discovery augmentation."; description
"Targeted discovery augmentation.";
leaf neighbor-list { leaf neighbor-list {
if-feature policy-targeted-discovery-config; if-feature "policy-targeted-discovery-config";
type neighbor-list-ref; type neighbor-list-ref;
description description
"The name of a neighbor ACL, used to accept Hello messages "The name of a neighbor ACL, used to accept Hello messages
from LDP peers as permitted by the neighbor-list policy. from LDP peers as permitted by the neighbor-list policy.
If this value is not specified, targeted Hello messages If this value is not specified, targeted Hello messages
from any source are accepted."; from any source are accepted.";
} }
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers" { + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers" {
description "Peers augmentation."; description
"Peers augmentation.";
uses peers-augment; uses peers-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/"
+ "ldp:authentication/ldp:authentication-type" { + "ldp:authentication/ldp:authentication-type" {
if-feature key-chain; if-feature "key-chain";
description "Peers authentication augmentation."; description
"Peers authentication augmentation.";
case key-chain { case key-chain {
uses authentication-keychain-augment; uses authentication-keychain-augment;
} }
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer" { + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer" {
description "Peer list entry augmentation."; description
"Peer list entry augmentation.";
uses peer-augment; uses peer-augment;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer/"
+ "ldp:authentication/ldp:authentication-type" { + "ldp:authentication/ldp:authentication-type" {
if-feature key-chain; if-feature "key-chain";
description "Peer list entry authentication augmentation."; description
"Peer list entry authentication augmentation.";
case key-chain { case key-chain {
uses authentication-keychain-augment; uses authentication-keychain-augment;
} }
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer/"
+ "ldp:address-families/ldp:ipv4" { + "ldp:address-families/ldp:ipv4" {
description description
"Peer list entry IPv4 augmentation."; "Peer list entry IPv4 augmentation.";
uses peer-af-policy-container; uses peer-af-policy-container;
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer/" + "rt:control-plane-protocol/ldp:mpls-ldp/ldp:peers/ldp:peer/"
+ "ldp:address-families/ldp-ext:ipv6" { + "ldp:address-families/ldp-ext:ipv6" {
description description
"Peer list entry IPv6 augmentation."; "Peer list entry IPv6 augmentation.";
uses peer-af-policy-container; uses peer-af-policy-container;
} }
} }
 End of changes. 124 change blocks. 
195 lines changed or deleted 182 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/