The YANG-module for Protocol Independent Multicast (PIM). The module defines configuration and operational data for the followi...
Version: 2019-07-01
module pim { yang-version 1; namespace "urn:cisco:params:xml:ns:yang:pim"; prefix pim; import cisco-semver { prefix cisco-semver; } organization " Cisco Systems, Inc. "; contact " Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com "; description " The YANG-module for Protocol Independent Multicast (PIM). The module defines configuration and operational data for the following features: PIM Sparse Mode (PIM-SM) PIM Source-Specific Multicast (PIM-SSM) Bidirectional PIM (Bidir-PIM) Anycast-RP for PIM Bootstrap Router (BSR) for PIM PIM Dense Mode (PIM-DM) Auto-RP - Cisco-propriatary"; revision "2019-07-01" { description "Establish semantic version baseline"; } revision "2014-06-27" { description "v1.0"; } cisco-semver:module-version "1.0.0"; feature auto-rp { description "Auto-RP is a Cisco-developed solution to create dynamic group-to-RP-mappings. It is the predecessor of the BSR Mechanism for PIM."; } feature bsr { description "Bootstrap Router (BSR) Mechanism as defined in RFC5059"; } identity group-to-rp-mapping-mode { description "The base-type for a PIM-mode giving context to a group-to-rp-mapping."; } identity dm-mapping-mode { base group-to-rp-mapping-mode; description "The mapping is for Dense Mode."; } identity sm-mapping-mode { base group-to-rp-mapping-mode; description "The mapping is for Sparse Mode."; } identity pim-bidir-mapping-mode { base group-to-rp-mapping-mode; description "The mapping is for Bidirectional PIM."; } identity ssm-mapping-mode { base group-to-rp-mapping-mode; description "The mapping is for Source Specific Mode."; } identity asm-mapping-mode { base group-to-rp-mapping-mode; description "The mapping is for Any-Source Multicast (ASM) with PIM Sparse Mode."; } identity other-mapping-mode { base group-to-rp-mapping-mode; description "None of the available modes."; } typedef Route-protocol-type { type enumeration { enum "other" { value 1; } enum "local" { value 2; } enum "netmgmt" { value 3; } enum "icmp" { value 4; } enum "egp" { value 5; } enum "ggp" { value 6; } enum "hello" { value 7; } enum "rip" { value 8; } enum "isIs" { value 9; } enum "esIs" { value 10; } enum "ciscoIgrp" { value 11; } enum "bbnSpfIgp" { value 12; } enum "ospf" { value 13; } enum "bgp" { value 14; } enum "idpr" { value 15; } enum "ciscoEigrp" { value 16; } enum "dvmrp" { value 17; } } description "A mechanism for learning routes. Inclusion of values for routing protocols is not intended to imply that those protocols need be supported."; } typedef Mroute-protocol-type { type enumeration { enum "other" { value 1; } enum "local" { value 2; } enum "netmgmt" { value 3; } enum "dvmrp" { value 4; } enum "mospf" { value 5; } enum "pimSparseDense" { value 6; } enum "cbt" { value 7; } enum "pimSparseMode" { value 8; } enum "pimDenseMode" { value 9; } enum "igmpOnly" { value 10; } enum "bgmp" { value 11; } enum "msdp" { value 12; } } description "The multicast routing protocol. Inclusion of values for multicast routing protocols is not intended to imply that those protocols need be supported."; } typedef Pim-mode { type enumeration { enum "sparse" { value 1; description "PIM sparse mode enabled on interface"; } enum "dense" { value 2; description "PIM dense mode enable on interface."; } enum "sparse-dense" { value 3; description "PIM dense mode enable on interface."; } enum "dm-proxy" { value 4; description "PIM dense mode enable on interface."; } enum "none" { value 5; description "PIM dense mode enable on interface."; } } description "PIM mode active on an interface."; } typedef Origin { type enumeration { enum "other-origin" { value 1; description "The state's origin is none of the available sources or it is unknown."; } enum "pim-request" { value 2; description "PIM-request-states are learned by PIM joins (between PIM-routers)."; } enum "ssm-request" { value 3; description "SSM-Request-states are learned by SSM channel subscription, e.g., through IGMP3 (primarily only on last-hop-routers, although routers within the domain can keep this origin-type )."; } enum "fixed" { value 4; description "Fixed states are created automatically by the router at startup, to correspond to the well-defined prefixes of link-local and unroutable group addresses. These states are never destroyed."; } enum "embedded" { value 5; description "Embedded states are created by the router to correspond to group prefixes that are to be treated as being in Embedded-RP format."; } enum "static" { value 6; description "Static states are created and destroyed as a result of static configuration."; } enum "config-ssm" { value 7; description "Config-SSM states are created and destroyed as a result of configuration of SSM address ranges to the local router."; } enum "auto-rp" { value 8; description "Auto-RP states are created as a result of running Cisco's Auto-RP mechanism."; } enum "bsr" { value 9; description "BSR states are created as a result of running the PIM Bootstrap Router (BSR) mechanism."; } enum "msdp" { value 10; description "MSDP states are (*, G)-entries learned through a Multicast Source Discovery Protocol (MSDP) peer. This origin is applicable only for an RP running MSDP. "; } } description "This type verify all uses of origin in model describes where a state was learned."; } typedef IP-Multicast-Group-Address { type union { type IPv4-Multicast-Group-Address; type IPv6-Multicast-Group-Address; } description "The IP-Multicast-Group-Address type represents an IP multicast address and is IP version neutral. The format of the textual representations implies the IP version."; } typedef IPv4-Multicast-Group-Address { type string { pattern '(2((2[4-9])|(3[0-9]))\.)(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'; } description "The IPv4-Multicast-Group-Address type represents an IPv4 multicast address in dotted-quad notation."; reference "RFC4607"; } typedef IPv6-Multicast-Group-Address { type string { pattern '(((FF|ff)[0-9a-fA-F]{2}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'; pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'; } description "The IPv6-Multicast-Group-Address type represents an IPv6 address in full, mixed, shortened, and shortened-mixed notation."; reference "RFC4291 2.7. ietf-inet-types:ipv6-address"; } typedef IP-Multicast-Group-Address-Prefix { type union { type IPv4-Multicast-Group-Address-Prefix; type IPv6-Multicast-Group-Address-Prefix; } description "The IP-Multicast-Group-Address-Prefix type represents an IP multicast address prefix and is IP version neutral. The format of the textual representations implies the IP version. It includes a prefix-length, separated by a '/' sign."; } typedef IPv4-Multicast-Group-Address-Prefix { type string { pattern '(2((2[4-9])|(3[0-9]))\.)(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(/(([4-9])|([1-2][0-9])|(3[0-2])))'; } description "The IPv4-Multicast-Group-Address-Prefix type represents an IPv4 multicast address prefix in dotted-quad notation. It includes a prefix-length, separated by a '/' sign."; reference "RFC4607"; } typedef IPv6-Multicast-Group-Address-Prefix { type string { pattern '(((FF|ff)[0-9a-fA-F]{2}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/((1[6-9])|([2-9][0-9])|(1[0-1][0-9])|(12[0-8])))'; pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)'; } description "The IPv6-Multicast-Group-Address-Prefix type represents an IPv6 multicast address prefix in full, mixed, shortened, and shortened-mixed notation. It includes a prefix-length, separated by a '/' sign."; reference "RFC4291 2.7. ietf-inet-types:ipv6-address"; } typedef IP-SSM-Group-Address { type union { type IPv4-SSM-Group-Address; type IPv6-SSM-Group-Address; } description "The IP-SSM-Group-Address type represents an IP Source-Specific multicast address and is IP version neutral. The format of the textual representations implies the IP version."; } typedef IPv4-SSM-Group-Address { type string { pattern '(232\.)(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'; } description "The IPv4-SSM-Group-Address type represents an IPv4 Source-Specific multicast address in dotted-quad notation. IPv4 addresses in the 232/8 range are designated as SSM."; reference "RFC4607 IANA IPv4 Multicast Address Space Registry"; } typedef IPv6-SSM-Group-Address { type string { pattern '((FF3|ff3)([0-9a-fA-F]{1}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))'; pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)'; } description "The IPv6-SSM-Group-Address type represents an IPv6 Source-Specific multicast group address in shortened and shortened-mixed notation."; reference "RFC4607"; } } // module pim
© 2023 YumaWorks, Inc. All rights reserved.