| 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/ | ||||