The module defines a collection of YANG definitions common for all PIM (Protocol Independent Multicast) modes.
Version: 2017-03-09
module ietf-pim-base { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:ietf-pim-base"; prefix pim-base; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import ietf-routing-types { prefix rt-types; } import ietf-interfaces { prefix if; } import ietf-routing { prefix rt; } organization "IETF PIM Working Group"; contact "WG Web: <http://tools.ietf.org/wg/pim/> WG List: <mailto:pim@ietf.org> WG Chair: Stig Venaas <mailto:stig@venaas.com> WG Chair: Mike McBride <mailto:mmcbride7@gmail.com> Editor: Xufeng Liu <mailto:Xufeng_Liu@jabil.com> Editor: Pete McAllister <mailto:pete.mcallister@metaswitch.com> Editor: Anish Peter <mailto:anish.ietf@gmail.com> Editor: Mahesh Sivakumar <mailto:masivaku@cisco.com> Editor: Yisong Liu <mailto:liuyisong@huawei.com> Editor: Fangwei Hu <mailto:hu.fangwei@zte.com.cn>"; description "The module defines a collection of YANG definitions common for all PIM (Protocol Independent Multicast) modes."; revision "2017-03-09" { description "Initial revision."; reference "RFC XXXX: A YANG Data Model for PIM"; } feature bfd { description "Support BFD (Bidirectional Forwarding Detection)."; } feature global-graceful-restart { description "Global configuration for graceful restart support as per RFC5306."; } feature intf-dr-priority { description "Support configuration of interface DR (Designated Router) priority."; } feature intf-hello-holdtime { description "Support configuration of interface hello holdtime."; } feature intf-hello-interval { description "Support configuration of interface hello interval."; } feature intf-hello-multiplier { description "Support configuration of interface hello multiplier."; } feature intf-jp-interval { description "Support configuration of interface join prune interval."; } feature intf-jp-holdtime { description "Support configuration of interface join prune holdtime."; } feature intf-jp-multiplier { description "Support configuration of interface join prune multiplier."; } feature intf-propagation-delay { description "Support configuration of interface propagation delay."; } feature intf-override-interval { description "Support configuration of interface override interval."; } feature per-af-graceful-restart { description "Per address family configuration for graceful restart support as per RFC5306."; } typedef interface-event-type { type enumeration { enum "up" { value 0; description "Neighbor status changed to up."; } enum "down" { value 1; description "Neighbor status changed to down."; } enum "new-dr" { value 2; description "A new DR (Designated Router) was elected on the connected network."; } enum "new-df" { value 3; description "A new DF (Designated Forwarder) was elected on the connected network."; } } description "Operational status event type for notifications."; } typedef neighbor-event-type { type enumeration { enum "up" { value 0; description "Neighbor status changed to up."; } enum "down" { value 1; description "Neighbor status changed to down."; } } description "Operational status event type for notifications."; } typedef pim-mode { type enumeration { enum "none" { value 0; description "PIM is not operating."; } enum "ssm" { value 1; description "PIM operates in the Sparse Mode with Source-Specific Multicast (SSM)."; } enum "asm" { value 2; description "PIM operates in the Sparse Mode with Any Source Multicast (ASM)."; } enum "bidir" { value 3; description "PIM operates in the Bidirectional Mode."; } enum "dm" { value 4; description "PIM operates in the Dense Mode (DM)."; } enum "other" { value 5; description "PIM operates in any other mode."; } } description "The PIM mode in which a group is operating."; } typedef timer-value { type rt-types:timer-value-seconds16; description "Timer value type."; } notification pim-neighbor-event { description "Notification event for neighbor."; leaf event-type { type neighbor-event-type; description "Event type."; } leaf interface-state-ref { type leafref { path "/rt:routing-state/rt:control-plane-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface/pim-base:interface"; } description "Reference to a PIM interface."; } leaf interface-af-state-ref { type leafref { path "/rt:routing-state/rt:control-plane-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface[pim-base:interface = current()/../interface-state-ref]/pim-base:address-family/pim-base:address-family"; } description "Reference to a PIM interface address family."; } leaf neighbor-ipv4-state-ref { when "../interface-af-state-ref = 'rt:ipv4'" { description "Only applicable to IPv4 address family."; } type leafref { path "/rt:routing-state/rt:control-plane-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface[pim-base:interface = current()/../interface-state-ref]/pim-base:address-family[pim-base:address-family = current()/../interface-af-state-ref]/pim-base:neighbor-ipv4/pim-base:address"; } description "Reference to a PIM IPv4 neighbor."; } leaf neighbor-ipv6-state-ref { when "../interface-af-state-ref = 'rt:ipv6'" { description "Only applicable to IPv6 address family."; } type leafref { path "/rt:routing-state/rt:control-plane-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface[pim-base:interface = current()/../interface-state-ref]/pim-base:address-family[pim-base:address-family = current()/../interface-af-state-ref]/pim-base:neighbor-ipv6/pim-base:address"; } description "Reference to a PIM IPv6 neighbor."; } leaf up-time { type uint32; units "seconds"; description "Up time duration."; } } // notification pim-neighbor-event notification pim-interface-event { description "Notification event for interface."; leaf event-type { type interface-event-type; description "Event type."; } leaf interface-state-ref { type leafref { path "/rt:routing-state/rt:control-plane-protocols/pim-base:pim/pim-base:interfaces/pim-base:interface/pim-base:interface"; } description "Reference to a PIM interface."; } container ipv4 { description "Containing IPv4 information."; leaf-list address { type inet:ipv4-address; description "List of addresses."; } leaf dr-address { type inet:ipv4-address; description "DR (Designated Router) address."; } } // container ipv4 container ipv6 { description "Containing IPv6 information."; leaf-list address { type inet:ipv6-address; description "List of addresses."; } leaf dr-address { type inet:ipv6-address; description "DR (Designated Router) address."; } } // container ipv6 } // notification pim-interface-event } // module ietf-pim-base
© 2023 YumaWorks, Inc. All rights reserved.