This YANG module defines a PIM (Protocol Independent Multicast) SM (Sparse Mode) model. Copyright (c) 2022 IETF Trust and the p...
Version: 2022-10-19
module ietf-pim-sm { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-pim-sm"; prefix pim-sm; import ietf-inet-types { prefix inet; reference "RFC 6991: Common YANG Data Types"; } import ietf-routing { prefix rt; reference "RFC 8349: A YANG Data Model for Routing Management (NMDA Version)"; } import ietf-pim-base { prefix pim-base; reference "RFC 9128: A YANG Data Model for Protocol Independent Multicast (PIM)"; } import ietf-pim-rp { prefix pim-rp; reference "RFC 9128: A YANG Data Model for Protocol Independent Multicast (PIM)"; } organization "IETF PIM Working Group"; contact "WG Web: <https://datatracker.ietf.org/wg/pim/> WG List: <mailto:pim@ietf.org> Editor: Xufeng Liu <mailto:xufeng.liu.ietf@gmail.com> Editor: Pete McAllister <mailto:pete.mcallister@metaswitch.com> Editor: Anish Peter <mailto:anish.ietf@gmail.com> Editor: Mahesh Sivakumar <mailto:sivakumar.mahesh@gmail.com> Editor: Yisong Liu <mailto:liuyisong@chinamobile.com> Editor: Fangwei Hu <mailto:hufwei@gmail.com>"; description "This YANG module defines a PIM (Protocol Independent Multicast) SM (Sparse Mode) model. Copyright (c) 2022 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 9128; see the RFC itself for full legal notices."; revision "2022-10-19" { description "Initial revision."; reference "RFC 9128: A YANG Data Model for Protocol Independent Multicast (PIM)"; } feature spt-switch-infinity { description "This feature indicates that the system supports the configuration choice of whether to trigger switchover from the RPT (Rendezvous Point Tree) to the SPT (Shortest Path Tree)."; reference "RFC 7761: Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised), Section 4.2"; } feature spt-switch-policy { description "This feature indicates that the system supports configuring the policy for switchover from the RPT to the SPT."; reference "RFC 7761: Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised), Section 4.2"; } identity rp-sm { base pim-rp:rp-mode; description "SM (Sparse Mode)."; } grouping static-rp-sm-container { description "Grouping that contains SM attributes for static RPs."; container sm { presence "Indicates support for PIM-SM."; description "PIM-SM configuration data."; uses pim-rp:static-rp-attributes; } // container sm } // grouping static-rp-sm-container augment /rt:routing/rt:control-plane-protocols/pim-base:pim/pim-base:address-family { description "PIM-SM augmentation."; container sm { description "PIM-SM configuration data."; container asm { description "ASM (Any-Source Multicast) attributes."; container anycast-rp { presence "Present to enable an Anycast-RP (Rendezvous Point)."; description "Anycast-RP attributes."; list ipv4-anycast-rp { when "../../../../pim-base:address-family = 'rt:ipv4'" { description "Only applicable to an IPv4 address family."; } key "anycast-address rp-address"; description "A list of IPv4 Anycast-RP settings. Only applicable when 'pim-base:address-family' is IPv4."; leaf anycast-address { type inet:ipv4-address; description "IP address of the Anycast-RP set. This IP address is used by the multicast groups or sources to join or register."; } leaf rp-address { type inet:ipv4-address; description "IP address of the router configured with an Anycast-RP. This is the IP address where the Register messages are forwarded."; } } // list ipv4-anycast-rp list ipv6-anycast-rp { when "../../../../pim-base:address-family = 'rt:ipv6'" { description "Only applicable to an IPv6 address family."; } key "anycast-address rp-address"; description "A list of IPv6 Anycast-RP settings. Only applicable when 'pim-base:address-family' is IPv6."; leaf anycast-address { type inet:ipv6-address; description "IP address of the Anycast-RP set. This IP address is used by the multicast groups or sources to join or register."; } leaf rp-address { type inet:ipv6-address; description "IP address of the router configured with an Anycast-RP. This is the IP address where the Register messages are forwarded."; } } // list ipv6-anycast-rp } // container anycast-rp container spt-switch { description "SPT (Shortest Path Tree) switching attributes."; container infinity { if-feature spt-switch-infinity; presence "Present if the SPT switchover threshold is set to infinity, according to the policy specified below."; description "The receiver's DR (Designated Router) never triggers switchover from the RPT to the SPT."; leaf policy-name { if-feature spt-switch-policy; type string; description "The string value is the name to uniquely identify a policy that contains one or more policy rules used to accept or reject certain multicast groups. The groups accepted by this policy have the SPT switchover threshold set to infinity, meaning that they will stay on the shared tree forever. If a policy is not specified, the entire multicast address space is accepted. The definition of such a policy is outside the scope of this document."; } } // container infinity } // container spt-switch } // container asm container ssm { presence "Present to enable SSM (Source-Specific Multicast)."; description "SSM attributes."; leaf range-policy { type string; description "The string value is the name to uniquely identify a policy that contains one or more policy rules used to accept or reject certain multicast groups. The groups accepted by this policy define the multicast group range used by SSM. If a policy is not specified, the default SSM multicast group range is used. The default SSM multicast group range is 232.0.0.0/8 for IPv4 and ff3x::/96 for IPv6, where x represents any valid scope identifier. The definition of such a policy is outside the scope of this document."; reference "RFC 4607: Source-Specific Multicast for IP"; } } // container ssm } // container sm } augment /rt:routing/rt:control-plane-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface/pim-base:address-family { description "PIM-SM augmentation."; container sm { presence "Present to enable PIM-SM."; description "PIM-SM configuration data."; leaf passive { type empty; description "Specifies that no PIM messages are sent or accepted on this PIM interface, but the interface can be included in a multicast forwarding entry."; } } // container sm } augment /rt:routing/rt:control-plane-protocols/pim-base:pim/pim-base:address-family/pim-rp:rp/pim-rp:static-rp/pim-rp:ipv4-rp { description "PIM-SM augmentation."; uses static-rp-sm-container; } augment /rt:routing/rt:control-plane-protocols/pim-base:pim/pim-base:address-family/pim-rp:rp/pim-rp:static-rp/pim-rp:ipv6-rp { description "PIM-SM augmentation."; uses static-rp-sm-container; } } // module ietf-pim-sm
© 2023 YumaWorks, Inc. All rights reserved.