ietf-msdp-preformat.yang | ietf-msdp.yang | |||
---|---|---|---|---|
module ietf-msdp { | module ietf-msdp { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-msdp"; | namespace "urn:ietf:params:xml:ns:yang:ietf-msdp"; | |||
prefix msdp; | prefix msdp; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix "yang"; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix inet; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "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 | "RFC 8349: A YANG Data Model for Routing Management | |||
(NMDA Version)"; | (NMDA Version)"; | |||
} | } | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix "if"; | prefix if; | |||
reference | reference | |||
"RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
} | } | |||
import ietf-ip { | import ietf-ip { | |||
prefix "ip"; | prefix ip; | |||
reference | reference | |||
"RFC 8344: A YANG Data Model for IP Management"; | "RFC 8344: A YANG Data Model for IP Management"; | |||
} | } | |||
import ietf-key-chain { | import ietf-key-chain { | |||
prefix "key-chain"; | prefix key-chain; | |||
reference | reference | |||
"RFC 8177: YANG Data Model for Key Chains"; | "RFC 8177: YANG Data Model for Key Chains"; | |||
} | } | |||
import ietf-routing-types { | import ietf-routing-types { | |||
prefix "rt-types"; | prefix rt-types; | |||
reference | reference | |||
"RFC 8294: Common YANG Data Types for the Routing Area"; | "RFC 8294: Common YANG Data Types for the Routing Area"; | |||
} | } | |||
import ietf-access-control-list { | import ietf-access-control-list { | |||
prefix acl; | prefix acl; | |||
reference | reference | |||
"RFC 8519: YANG Data Model for Network Access Control Lists | "RFC 8519: YANG Data Model for Network Access Control Lists | |||
(ACLs)"; | (ACLs)"; | |||
} | } | |||
organization | organization | |||
"IETF Protocols for IP Multicast (pim) Working Group"; | "IETF Protocols for IP Multicast (pim) Working Group"; | |||
contact | contact | |||
"WG Web: <https://datatracker.ietf.org/wg/pim/> | "WG Web: <https://datatracker.ietf.org/wg/pim/> | |||
WG List: <mailto:pim@ietf.org> | WG List: <mailto:pim@ietf.org> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xufeng.liu.ietf@gmail.com> | <mailto:xufeng.liu.ietf@gmail.com> | |||
Editor: Zheng Zhang | Editor: Zheng Zhang | |||
<mailto:zzhang_ietf@hotmail.com> | <mailto:zzhang_ietf@hotmail.com> | |||
skipping to change at line 156 ¶ | skipping to change at line 145 ¶ | |||
base rt:control-plane-protocol; | base rt:control-plane-protocol; | |||
description | description | |||
"Identity for the Multicast Source Discovery Protocol (MSDP)."; | "Identity for the Multicast Source Discovery Protocol (MSDP)."; | |||
reference | reference | |||
"RFC 3618: Multicast Source Discovery Protocol (MSDP)"; | "RFC 3618: Multicast Source Discovery Protocol (MSDP)"; | |||
} | } | |||
/* | /* | |||
* Groupings | * Groupings | |||
*/ | */ | |||
grouping authentication-container { | grouping authentication-container { | |||
description | description | |||
"Authentication attributes."; | "Authentication attributes."; | |||
container authentication { | container authentication { | |||
if-feature peer-authentication; | if-feature "peer-authentication"; | |||
description | description | |||
"A container defining authentication attributes."; | "A container defining authentication attributes."; | |||
choice authentication-type { | choice authentication-type { | |||
case key-chain { | case key-chain { | |||
leaf key-chain { | leaf key-chain { | |||
type key-chain:key-chain-ref; | type key-chain:key-chain-ref; | |||
description | description | |||
"Reference to a key-chain."; | "Reference to a key-chain."; | |||
reference | reference | |||
"RFC 8177: YANG Data Model for Key Chains"; | "RFC 8177: YANG Data Model for Key Chains"; | |||
skipping to change at line 184 ¶ | skipping to change at line 174 ¶ | |||
leaf key { | leaf key { | |||
type string; | type string; | |||
description | description | |||
"This leaf specifies the authentication key."; | "This leaf specifies the authentication key."; | |||
} | } | |||
leaf crypto-algorithm { | leaf crypto-algorithm { | |||
type identityref { | type identityref { | |||
base key-chain:crypto-algorithm; | base key-chain:crypto-algorithm; | |||
} | } | |||
must "derived-from-or-self(., 'key-chain:md5')" { | must "derived-from-or-self(., 'key-chain:md5')" { | |||
error-message | error-message "Only the md5 algorithm can be used for MSDP."; | |||
"Only the md5 algorithm can be used for MSDP."; | ||||
description | description | |||
"Check for crypto-algorithm."; | "Check for crypto-algorithm."; | |||
} | } | |||
description | description | |||
"Cryptographic algorithm associated with a key. | "Cryptographic algorithm associated with a key. | |||
Only the md5 algorithm can be used for MSDP. | Only the md5 algorithm can be used for MSDP. | |||
When 'md5' is specified, MSDP control messages | When 'md5' is specified, MSDP control messages | |||
are secured by TCP MD5 signatures as described | are secured by TCP MD5 signatures as described | |||
in RFCs 3618 and 5925. Both peers of a | in RFCs 3618 and 5925. Both peers of a | |||
connection SHOULD be configured to the same | connection SHOULD be configured to the same | |||
skipping to change at line 209 ¶ | skipping to change at line 198 ¶ | |||
reference | reference | |||
"RFC 3618: Multicast Source Discovery Protocol (MSDP) | "RFC 3618: Multicast Source Discovery Protocol (MSDP) | |||
RFC 5925: The TCP Authentication Option | RFC 5925: The TCP Authentication Option | |||
RFC 8177: YANG Data Model for Key Chains"; | RFC 8177: YANG Data Model for Key Chains"; | |||
} | } | |||
} | } | |||
description | description | |||
"Choice of authentication."; | "Choice of authentication."; | |||
} | } | |||
} | } | |||
} // authentication-container | } | |||
// authentication-container | ||||
grouping tcp-connect-source { | grouping tcp-connect-source { | |||
description | description | |||
"Attribute to configure a peer TCP connection source."; | "Attribute to configure a peer TCP connection source."; | |||
leaf tcp-connection-source { | leaf tcp-connection-source { | |||
type if:interface-ref; | type if:interface-ref; | |||
must "/if:interfaces/if:interface[if:name = current()]/" | must "/if:interfaces/if:interface[if:name = current()]/" | |||
+ "ip:ipv4/ip:enabled != 'false'" { | + "ip:ipv4/ip:enabled != 'false'" { | |||
error-message | error-message "The interface must have IPv4 enabled."; | |||
"The interface must have IPv4 enabled."; | ||||
description | description | |||
"The interface must have IPv4 enabled."; | "The interface must have IPv4 enabled."; | |||
reference | reference | |||
"RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
} | } | |||
description | description | |||
"The interface is to be the source for the TCP | "The interface is to be the source for the TCP | |||
connection. It is a reference to an entry in the global | connection. It is a reference to an entry in the global | |||
interface list."; | interface list."; | |||
} | } | |||
} // tcp-connect-source | } | |||
// tcp-connect-source | ||||
grouping global-config-attributes { | grouping global-config-attributes { | |||
description | description | |||
"Global MSDP configuration."; | "Global MSDP configuration."; | |||
uses tcp-connect-source; | uses tcp-connect-source; | |||
list default-peer { | list default-peer { | |||
if-feature filter-policy; | if-feature "filter-policy"; | |||
key "peer-addr prefix-policy"; | key "peer-addr prefix-policy"; | |||
description | description | |||
"The default peer accepts all MSDP Source-Active (SA) | "The default peer accepts all MSDP Source-Active (SA) | |||
messages. A default peer is needed in topologies where | messages. A default peer is needed in topologies where | |||
MSDP peers do not coexist with BGP peers. The Reverse Path | MSDP peers do not coexist with BGP peers. The Reverse Path | |||
Forwarding (RPF) check on SA messages will fail, and no | Forwarding (RPF) check on SA messages will fail, and no | |||
SA messages will be accepted. In these cases, you can | SA messages will be accepted. In these cases, you can | |||
configure the peer as a default peer and bypass | configure the peer as a default peer and bypass | |||
RPF checks."; | RPF checks."; | |||
leaf peer-addr { | leaf peer-addr { | |||
type leafref { | type leafref { | |||
path "../../../peers/peer/address"; | path "../../../peers/peer/address"; | |||
} | } | |||
mandatory true; | mandatory true; | |||
description | description | |||
"Reference to a peer that is in the peer list."; | "Reference to a peer that is in the peer list."; | |||
} | } | |||
leaf prefix-policy { | leaf prefix-policy { | |||
type leafref { | type leafref { | |||
skipping to change at line 274 ¶ | skipping to change at line 262 ¶ | |||
"If specified, only those SA entries whose Rendezvous | "If specified, only those SA entries whose Rendezvous | |||
Point (RP) is permitted in the prefix list are allowed; | Point (RP) is permitted in the prefix list are allowed; | |||
if not specified, all SA messages from the default | if not specified, all SA messages from the default | |||
peer are accepted."; | peer are accepted."; | |||
reference | reference | |||
"RFC 7761: Protocol Independent Multicast - Sparse Mode | "RFC 7761: Protocol Independent Multicast - Sparse Mode | |||
(PIM-SM): Protocol Specification (Revised) | (PIM-SM): Protocol Specification (Revised) | |||
RFC 8519: YANG Data Model for Network Access Control | RFC 8519: YANG Data Model for Network Access Control | |||
Lists (ACLs)"; | Lists (ACLs)"; | |||
} | } | |||
} // default-peer | } | |||
// default-peer | ||||
container originating-rp { | container originating-rp { | |||
description | description | |||
"The container of the originating RP."; | "The container of the originating RP."; | |||
leaf interface { | leaf interface { | |||
type if:interface-ref; | type if:interface-ref; | |||
must "/if:interfaces/if:interface[if:name = current()]/" | must "/if:interfaces/if:interface[if:name = current()]/" | |||
+ "ip:ipv4/ip:enabled != 'false'" { | + "ip:ipv4/ip:enabled != 'false'" { | |||
error-message | error-message "The interface must have IPv4 enabled."; | |||
"The interface must have IPv4 enabled."; | ||||
description | description | |||
"The interface must have IPv4 enabled."; | "The interface must have IPv4 enabled."; | |||
reference | reference | |||
"RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
} | } | |||
description | description | |||
"Reference to an entry in the global interface list. | "Reference to an entry in the global interface list. | |||
The IP address of the interface used in the RP field of | The IP address of the interface used in the RP field of | |||
an SA message entry. When anycast RPs are used, all RPs | an SA message entry. When anycast RPs are used, all RPs | |||
use the same IP address. This parameter can be used to | use the same IP address. This parameter can be used to | |||
define a unique IP address for the RP of each MSDP peer. | define a unique IP address for the RP of each MSDP peer. | |||
By default, the software uses the RP address of the | By default, the software uses the RP address of the | |||
local system."; | local system."; | |||
} | } | |||
} // originating-rp | } | |||
// originating-rp | ||||
uses sa-filter-container; | uses sa-filter-container; | |||
leaf sa-limit { | leaf sa-limit { | |||
type uint32; | type uint32; | |||
description | description | |||
"A limit on the number of SA entries accepted. | "A limit on the number of SA entries accepted. | |||
By default, there is no limit."; | By default, there is no limit."; | |||
} | } | |||
uses ttl-threshold; | uses ttl-threshold; | |||
} // global-config-attributes | } | |||
// global-config-attributes | ||||
grouping peer-config-attributes { | grouping peer-config-attributes { | |||
description | description | |||
"Per-peer configuration for MSDP."; | "Per-peer configuration for MSDP."; | |||
uses authentication-container; | uses authentication-container; | |||
leaf enabled { | leaf enabled { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' if the peer is enabled; | "'true' if the peer is enabled; | |||
'false' if the peer is disabled."; | 'false' if the peer is disabled."; | |||
} | } | |||
uses tcp-connect-source; | uses tcp-connect-source; | |||
leaf description { | leaf description { | |||
type string; | type string; | |||
description | description | |||
"The peer description."; | "The peer description."; | |||
} | } | |||
leaf mesh-group { | leaf mesh-group { | |||
type string; | type string; | |||
description | description | |||
"The name of the mesh-group to which this peer belongs."; | "The name of the mesh-group to which this peer belongs."; | |||
reference | reference | |||
skipping to change at line 339 ¶ | skipping to change at line 325 ¶ | |||
} | } | |||
leaf mesh-group { | leaf mesh-group { | |||
type string; | type string; | |||
description | description | |||
"The name of the mesh-group to which this peer belongs."; | "The name of the mesh-group to which this peer belongs."; | |||
reference | reference | |||
"RFC 3618: Multicast Source Discovery Protocol (MSDP), | "RFC 3618: Multicast Source Discovery Protocol (MSDP), | |||
Section 10.2"; | Section 10.2"; | |||
} | } | |||
leaf peer-as { | leaf peer-as { | |||
if-feature peer-as-verification; | if-feature "peer-as-verification"; | |||
type inet:as-number; | type inet:as-number; | |||
description | description | |||
"The peer's ASN. Using peer-as to do verification can | "The peer's ASN. Using peer-as to do verification can | |||
provide more controlled ability. The value can be | provide more controlled ability. The value can be | |||
compared with the BGP peer's AS. If they are different, | compared with the BGP peer's AS. If they are different, | |||
the SA comes from this peer may be rejected. | the SA comes from this peer may be rejected. | |||
If the ASN is the same as the local AS, then the peer is | If the ASN is the same as the local AS, then the peer is | |||
within the same domain; otherwise, this peer is external to | within the same domain; otherwise, this peer is external to | |||
the domain. Like the definition and usage in BGP."; | the domain. Like the definition and usage in BGP."; | |||
reference | reference | |||
skipping to change at line 367 ¶ | skipping to change at line 353 ¶ | |||
peer. By default, there is no limit."; | peer. By default, there is no limit."; | |||
} | } | |||
container timer { | container timer { | |||
description | description | |||
"Timer attributes."; | "Timer attributes."; | |||
reference | reference | |||
"RFC 3618: Multicast Source Discovery Protocol (MSDP), | "RFC 3618: Multicast Source Discovery Protocol (MSDP), | |||
Section 5"; | Section 5"; | |||
leaf connect-retry-interval { | leaf connect-retry-interval { | |||
type uint16; | type uint16; | |||
units seconds; | units "seconds"; | |||
default 30; | default "30"; | |||
description | description | |||
"The peer timer for connect-retry. By default, MSDP peers | "The peer timer for connect-retry. By default, MSDP peers | |||
wait 30 seconds after the session is reset."; | wait 30 seconds after the session is reset."; | |||
} | } | |||
leaf holdtime-interval { | leaf holdtime-interval { | |||
type uint16 { | type uint16 { | |||
range "3..65535"; | range "3..65535"; | |||
} | } | |||
units seconds; | units "seconds"; | |||
default 75; | default "75"; | |||
description | description | |||
"The SA hold-down period of this MSDP peer."; | "The SA hold-down period of this MSDP peer."; | |||
} | } | |||
leaf keepalive-interval { | leaf keepalive-interval { | |||
type uint16 { | type uint16 { | |||
range "1..65535"; | range "1..65535"; | |||
} | } | |||
units seconds; | units "seconds"; | |||
must '. < ../holdtime-interval' { | must '. < ../holdtime-interval' { | |||
error-message | error-message "The keepalive interval must be smaller than the " | |||
"The keepalive interval must be smaller than the " | + "hold-time interval."; | |||
+ "hold-time interval."; | ||||
} | } | |||
default 60; | default "60"; | |||
description | description | |||
"The keepalive timer of this MSDP peer."; | "The keepalive timer of this MSDP peer."; | |||
} | } | |||
} // timer | } | |||
// timer | ||||
uses ttl-threshold; | uses ttl-threshold; | |||
} // peer-config-attributes | } | |||
// peer-config-attributes | ||||
grouping peer-state-attributes { | grouping peer-state-attributes { | |||
description | description | |||
"Per-peer state attributes for MSDP."; | "Per-peer state attributes for MSDP."; | |||
leaf session-state { | leaf session-state { | |||
type enumeration { | type enumeration { | |||
enum disabled { | enum disabled { | |||
description | description | |||
"Disabled."; | "Disabled."; | |||
} | } | |||
enum inactive { | enum inactive { | |||
description | description | |||
"Inactive."; | "Inactive."; | |||
} | } | |||
enum listen { | enum listen { | |||
description | description | |||
"Listen."; | "Listen."; | |||
skipping to change at line 436 ¶ | skipping to change at line 423 ¶ | |||
} | } | |||
config false; | config false; | |||
description | description | |||
"The peer's session state."; | "The peer's session state."; | |||
reference | reference | |||
"RFC 3618: Multicast Source Discovery Protocol (MSDP), | "RFC 3618: Multicast Source Discovery Protocol (MSDP), | |||
Section 11"; | Section 11"; | |||
} | } | |||
leaf elapsed-time { | leaf elapsed-time { | |||
type yang:gauge32; | type yang:gauge32; | |||
units seconds; | units "seconds"; | |||
config false; | config false; | |||
description | description | |||
"Elapsed time for being in a state."; | "Elapsed time for being in a state."; | |||
} | } | |||
leaf connect-retry-expire { | leaf connect-retry-expire { | |||
type uint32; | type uint32; | |||
units seconds; | units "seconds"; | |||
config false; | config false; | |||
description | description | |||
"Connect retry expire time of a peer connection."; | "Connect retry expire time of a peer connection."; | |||
} | } | |||
leaf hold-expire { | leaf hold-expire { | |||
type uint16; | type uint16; | |||
units seconds; | units "seconds"; | |||
config false; | config false; | |||
description | description | |||
"Hold expire time of a peer connection."; | "Hold expire time of a peer connection."; | |||
} | } | |||
leaf is-default-peer { | leaf is-default-peer { | |||
type boolean; | type boolean; | |||
config false; | config false; | |||
description | description | |||
"'true' if this peer is one of the default peers."; | "'true' if this peer is one of the default peers."; | |||
} | } | |||
leaf keepalive-expire { | leaf keepalive-expire { | |||
type uint16; | type uint16; | |||
units seconds; | units "seconds"; | |||
config false; | config false; | |||
description | description | |||
"Keepalive expire time of this peer."; | "Keepalive expire time of this peer."; | |||
} | } | |||
leaf reset-count { | leaf reset-count { | |||
type yang:zero-based-counter32; | type yang:zero-based-counter32; | |||
config false; | config false; | |||
description | description | |||
"The reset count of this peer."; | "The reset count of this peer."; | |||
} | } | |||
skipping to change at line 527 ¶ | skipping to change at line 509 ¶ | |||
container received { | container received { | |||
description | description | |||
"Received message counters."; | "Received message counters."; | |||
uses statistics-sent-received; | uses statistics-sent-received; | |||
} | } | |||
container sent { | container sent { | |||
description | description | |||
"Sent message counters."; | "Sent message counters."; | |||
uses statistics-sent-received; | uses statistics-sent-received; | |||
} | } | |||
} // statistics | } | |||
} // peer-state-attributes | // statistics | |||
} | ||||
// peer-state-attributes | ||||
grouping sa-filter-container { | grouping sa-filter-container { | |||
description | description | |||
"A container defining SA filters."; | "A container defining SA filters."; | |||
container sa-filter { | container sa-filter { | |||
description | description | |||
"Specifies an Access Control List (ACL) to filter SA messages | "Specifies an Access Control List (ACL) to filter SA messages | |||
coming into or going out of the peer."; | coming into or going out of the peer."; | |||
leaf in { | leaf in { | |||
type leafref { | type leafref { | |||
skipping to change at line 567 ¶ | skipping to change at line 552 ¶ | |||
"Filters outgoing SA messages only. | "Filters outgoing SA messages only. | |||
The value is the name to uniquely identify a | The value is the name to uniquely identify a | |||
policy that contains one or more rules used to | policy that contains one or more rules used to | |||
accept or reject MSDP SA messages. | accept or reject MSDP SA messages. | |||
If the policy is not specified, all MSDP SA messages are | If the policy is not specified, all MSDP SA messages are | |||
sent."; | sent."; | |||
reference | reference | |||
"RFC 8519: YANG Data Model for Network Access Control | "RFC 8519: YANG Data Model for Network Access Control | |||
Lists (ACLs)"; | Lists (ACLs)"; | |||
} | } | |||
} // sa-filter | } | |||
} // sa-filter-container | // sa-filter | |||
} | ||||
// sa-filter-container | ||||
grouping ttl-threshold { | grouping ttl-threshold { | |||
description | description | |||
"Attribute to configure the TTL threshold."; | "Attribute to configure the TTL threshold."; | |||
leaf ttl-threshold { | leaf ttl-threshold { | |||
type uint8 { | type uint8 { | |||
range 1..255; | range "1..255"; | |||
} | } | |||
description | description | |||
"The maximum number of hops data packets can traverse | "The maximum number of hops data packets can traverse | |||
before being dropped."; | before being dropped."; | |||
} | } | |||
} // ttl-threshold | } | |||
// ttl-threshold | ||||
grouping statistics-sent-received { | grouping statistics-sent-received { | |||
description | description | |||
"A grouping defining sent and received statistics attributes."; | "A grouping defining sent and received statistics attributes."; | |||
leaf keepalive { | leaf keepalive { | |||
type yang:counter64; | type yang:counter64; | |||
description | description | |||
"The number of keepalive messages."; | "The number of keepalive messages."; | |||
} | } | |||
leaf notification { | leaf notification { | |||
skipping to change at line 616 ¶ | skipping to change at line 606 ¶ | |||
leaf sa-request { | leaf sa-request { | |||
type yang:counter64; | type yang:counter64; | |||
description | description | |||
"The number of SA request messages."; | "The number of SA request messages."; | |||
} | } | |||
leaf total { | leaf total { | |||
type yang:counter64; | type yang:counter64; | |||
description | description | |||
"The number of total messages."; | "The number of total messages."; | |||
} | } | |||
} // statistics-sent-received | } | |||
// statistics-sent-received | ||||
/* | /* | |||
* Data nodes | * Data nodes | |||
*/ | */ | |||
augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
+ "rt:control-plane-protocol" { | + "rt:control-plane-protocol" { | |||
when "derived-from-or-self(rt:type, 'msdp:msdp')" { | when "derived-from-or-self(rt:type, 'msdp:msdp')" { | |||
description | description | |||
"This augmentation is only valid for a routing protocol | "This augmentation is only valid for a routing protocol | |||
instance of MSDP."; | instance of MSDP."; | |||
} | } | |||
description | description | |||
"MSDP augmentation to routing control-plane protocol | "MSDP augmentation to routing control-plane protocol | |||
configuration and state."; | configuration and state."; | |||
skipping to change at line 703 ¶ | skipping to change at line 691 ¶ | |||
RP field of an SA message entry."; | RP field of an SA message entry."; | |||
} | } | |||
leaf is-local-rp { | leaf is-local-rp { | |||
type boolean; | type boolean; | |||
description | description | |||
"'true' if the RP is local; | "'true' if the RP is local; | |||
'false' if the RP is not local."; | 'false' if the RP is not local."; | |||
} | } | |||
leaf sa-adv-expire { | leaf sa-adv-expire { | |||
type uint32; | type uint32; | |||
units seconds; | units "seconds"; | |||
description | description | |||
"The remaining time duration before expiration | "The remaining time duration before expiration | |||
of the periodic SA advertisement timer on a | of the periodic SA advertisement timer on a | |||
local RP."; | local RP."; | |||
} | } | |||
} | } | |||
container state-attributes { | container state-attributes { | |||
description | description | |||
"SA cache state attributes for MSDP."; | "SA cache state attributes for MSDP."; | |||
leaf up-time { | leaf up-time { | |||
type yang:gauge32; | type yang:gauge32; | |||
units seconds; | units "seconds"; | |||
description | description | |||
"Indicates the duration time when this SA entry is | "Indicates the duration time when this SA entry is | |||
created in the cache. MSDP is a periodic protocol; | created in the cache. MSDP is a periodic protocol; | |||
the value can be used to check the state of the | the value can be used to check the state of the | |||
SA cache."; | SA cache."; | |||
} | } | |||
leaf expire { | leaf expire { | |||
type yang:gauge32; | type yang:gauge32; | |||
units seconds; | units "seconds"; | |||
description | description | |||
"Indicates the duration time when this SA entry in | "Indicates the duration time when this SA entry in | |||
the cache times out. MSDP is a periodic protocol; | the cache times out. MSDP is a periodic protocol; | |||
the value can be used to check the state of the | the value can be used to check the state of the | |||
SA cache."; | SA cache."; | |||
} | } | |||
leaf holddown-interval { | leaf holddown-interval { | |||
type uint32; | type uint32; | |||
units seconds; | units "seconds"; | |||
description | description | |||
"Hold-down timer value for SA forwarding."; | "Hold-down timer value for SA forwarding."; | |||
reference | reference | |||
"RFC 3618: Multicast Source Discovery Protocol | "RFC 3618: Multicast Source Discovery Protocol | |||
(MSDP), Section 5.3"; | (MSDP), Section 5.3"; | |||
} | } | |||
leaf peer-learned-from { | leaf peer-learned-from { | |||
type inet:ipv4-address; | type inet:ipv4-address; | |||
description | description | |||
"The address of the peer from which we learned this | "The address of the peer from which we learned this | |||
SA information."; | SA information."; | |||
} | } | |||
leaf rpf-peer { | leaf rpf-peer { | |||
type inet:ipv4-address; | type inet:ipv4-address; | |||
description | description | |||
"The address is the SA's originating RP."; | "The address is the SA's originating RP."; | |||
} | } | |||
} // state-attributes | } | |||
} // entry | // state-attributes | |||
} | ||||
// entry | ||||
action clear { | action clear { | |||
description | description | |||
"Clears MSDP SA cache entries."; | "Clears MSDP SA cache entries."; | |||
input { | input { | |||
container entry { | container entry { | |||
presence "If a particular entry is cleared."; | presence "If a particular entry is cleared."; | |||
description | description | |||
"The SA cache (S,G) or (*,G) entry to be cleared. | "The SA cache (S,G) or (*,G) entry to be cleared. | |||
If this is not provided, all entries are cleared."; | If this is not provided, all entries are cleared."; | |||
leaf group { | leaf group { | |||
skipping to change at line 794 ¶ | skipping to change at line 781 ¶ | |||
learned from all peers are cleared."; | learned from all peers are cleared."; | |||
} | } | |||
leaf peer-as { | leaf peer-as { | |||
type inet:as-number; | type inet:as-number; | |||
description | description | |||
"The ASN from which MSDP SA cache entries have been | "The ASN from which MSDP SA cache entries have been | |||
learned. If this is not provided, entries learned | learned. If this is not provided, entries learned | |||
from all ASes are cleared."; | from all ASes are cleared."; | |||
} | } | |||
} | } | |||
} // clear | } | |||
} // sa-cache | // clear | |||
} // msdp | } | |||
} // augment | // sa-cache | |||
} | ||||
// msdp | ||||
} | ||||
// augment | ||||
} | } | |||
End of changes. 65 change blocks. | ||||
78 lines changed or deleted | 80 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/ |