Cisco-IOS-XR-ipv4-pim-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ipv4-pim package configuration. This module contains def...

  • Version: 2020-01-30

    Cisco-IOS-XR-ipv4-pim-cfg@2020-01-30


    
      module Cisco-IOS-XR-ipv4-pim-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-pim-cfg";
    
        prefix ipv4-pim-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-ipv4-autorp-datatypes {
          prefix dt1;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR ipv4-pim package configuration.
         
         This module contains definitions
         for the following management objects:
           pim: PIM configuration
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-01-30" {
          description
            "Addition made for Sticky DR CLI/XML operations";
        }
    
        revision "2019-10-31" {
          description
            "Added mandatory nodes and presence containers.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-10-15" {
          description
            "Removed presence statement generated from internal CLI data.";
        }
    
        revision "2017-05-22" {
          description
            "Updated node naming to be consistent with the CLI";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.1.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Pim-bsr-priority {
          type uint32 {
            range "1..255";
          }
          description "Pim bsr priority";
        }
    
        typedef Auto-rp-announce-period {
          type uint32 {
            range "1..600";
          }
          description "Auto rp announce period";
        }
    
        typedef Pim-multipath {
          type enumeration {
            enum "enable" {
              value 0;
              description "Enable PIM multipath";
            }
            enum "interface-hash" {
              value 1;
              description
                "Enable PIM multipath with interface based
               hashing";
            }
            enum "source-hash" {
              value 2;
              description
                "Enable PIM multipath with source based hashing";
            }
            enum "source-next-hop-hash" {
              value 3;
              description
                "Enable PIM multipath with source next-hop
               hashing";
            }
            enum "source-group-hash" {
              value 4;
              description
                "Enable PIM multipath with source, group based
               hashing";
            }
          }
          description "Pim multipath";
        }
    
        typedef Auto-rp-ttl {
          type uint32 {
            range "1..255";
          }
          description "Auto rp ttl";
        }
    
        typedef Pim-protocol-mode {
          type enumeration {
            enum "sm" {
              value 0;
              description "Sparse Mode";
            }
            enum "bidir" {
              value 1;
              description "Bidirectional";
            }
          }
          description "Pim protocol mode";
        }
    
        grouping SUPPRESS-DATA-REGISTERS {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf suppress-data-registers {
            type empty;
            description
              "Suppress data registers after initial state
             setup";
          }
        }  // grouping SUPPRESS-DATA-REGISTERS
    
        grouping ROUTE-POLICY {
          description
            "Common node of rpf, rpf-redirect";
          leaf route-policy {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Route policy to select RPF topology";
          }
        }  // grouping ROUTE-POLICY
    
        grouping INTERFACE-ENABLE {
          description
            "Common node of interface, interface, interface";
          leaf interface-enable {
            type boolean;
            description
              "Enable PIM processing on the interface";
          }
        }  // grouping INTERFACE-ENABLE
    
        grouping BSR-BORDER {
          description
            "Common node of interface, interface, interface";
          leaf bsr-border {
            type boolean;
            description
              "BSR Border configuration for Interface";
          }
        }  // grouping BSR-BORDER
    
        grouping JOIN-PRUNE-MTU {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf join-prune-mtu {
            type uint32 {
              range "576..65535";
            }
            units "byte";
            description
              "Join-Prune MTU in Bytes";
          }
        }  // grouping JOIN-PRUNE-MTU
    
        grouping NEIGHBOR-CHECK-ON-RECEIVE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf neighbor-check-on-receive {
            type empty;
            description
              "Enable PIM neighbor checking when receiving PIM
             messages";
          }
        }  // grouping NEIGHBOR-CHECK-ON-RECEIVE
    
        grouping RPF {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container rpf {
            description "Configure RPF options";
            uses ROUTE-POLICY;
          }  // container rpf
        }  // grouping RPF
    
        grouping MOFRR {
          description
            "Common node of ipv4, ipv4";
          container mofrr {
            description
              "Multicast Only Fast Re-Route";
            container clone-joins {
              description
                "Clone multicast joins";
              list clone-join {
                key "source primary backup prefix-length";
                description
                  "Clone S,G joins as S1,G joins and S2,G joins";
                leaf source {
                  type inet:ipv4-address-no-zone;
                  description
                    "Original source address (S)";
                }
    
                leaf primary {
                  type inet:ipv4-address-no-zone;
                  description
                    "Primary cloned address (S1)";
                }
    
                leaf backup {
                  type inet:ipv4-address-no-zone;
                  description
                    "Backup cloned address (S2)";
                }
    
                leaf prefix-length {
                  type xr:Ipv4-prefix-length;
                  description "Mask length";
                }
              }  // list clone-join
            }  // container clone-joins
    
            container clone-sources {
              description
                "Clone multicast traffic";
              list clone-source {
                key "source primary backup prefix-length";
                description
                  "Clone S,G traffic as S1,G traffic and S2,G
                 traffic";
                leaf source {
                  type inet:ipv4-address-no-zone;
                  description
                    "Original source address (S)";
                }
    
                leaf primary {
                  type inet:ipv4-address-no-zone;
                  description
                    "Primary cloned address (S1)";
                }
    
                leaf backup {
                  type inet:ipv4-address-no-zone;
                  description
                    "Backup cloned address (S2)";
                }
    
                leaf prefix-length {
                  type xr:Ipv4-prefix-length;
                  description "Mask length";
                }
              }  // list clone-source
            }  // container clone-sources
    
            leaf rib {
              type xr:Cisco-ios-xr-string {
                length "1..64";
              }
              description
                "Access-list specifying SG that should do RIB
               MOFRR";
            }
    
            leaf non-revertive {
              type empty;
              description
                "Non-revertive Multicast Only Fast Re-Route";
            }
    
            leaf enable {
              type empty;
              description
                "Enable Multicast Only FRR";
            }
    
            leaf flow {
              type xr:Cisco-ios-xr-string {
                length "1..64";
              }
              description
                "Access-list specifying SG that should do FLOW
               MOFRR";
            }
          }  // container mofrr
        }  // grouping MOFRR
    
        grouping EMBEDDED-RP {
          description
            "Common node of ipv6, ipv6";
          container embedded-rp-addresses {
            description
              "Set Embedded RP processing support";
            list embedded-rp-address {
              key "rp-address";
              description
                "Set Embedded RP processing support";
              leaf rp-address {
                type inet:ip-address-no-zone;
                description
                  "RP address of the Rendezvous Point";
              }
    
              leaf access-list-name {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                mandatory true;
                description
                  "Access list of groups that should map to a
                 given RP";
              }
            }  // list embedded-rp-address
          }  // container embedded-rp-addresses
        }  // grouping EMBEDDED-RP
    
        grouping NEIGHBOR-CHECK-ON-SEND {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf neighbor-check-on-send {
            type empty;
            description
              "Enable PIM neighbor checking when sending
             join-prunes";
          }
        }  // grouping NEIGHBOR-CHECK-ON-SEND
    
        grouping EMBEDDED-RP-DISABLE {
          description
            "Common node of ipv6, ipv6";
          leaf embedded-rp-disable {
            type empty;
            description
              "Set Embedded RP processing support";
          }
        }  // grouping EMBEDDED-RP-DISABLE
    
        grouping BSR {
          description
            "Common node of ipv4, ipv4";
          container bsr {
            description "PIM BSR configuration";
            container candidate-bsr {
              presence
                "Indicates a candidate-bsr node is configured.";
              description
                "PIM Candidate BSR configuration";
              leaf address {
                type inet:ip-address-no-zone;
                mandatory true;
                description
                  "BSR Address configured";
              }
    
              leaf prefix-length {
                type xr:Ipv4-prefix-length;
                mandatory true;
                description
                  "Hash Mask Length for this candidate BSR";
              }
    
              leaf priority {
                type Pim-bsr-priority;
                mandatory true;
                description
                  "Priority of the Candidate BSR";
              }
            }  // container candidate-bsr
    
            uses CANDIDATE-RP-TABLE;
          }  // container bsr
        }  // grouping BSR
    
        grouping IPV6-PIM-CFG-BSR {
          description
            "Common node of ipv4, ipv4Common node of ipv6,
           ipv6";
          container bsr {
            description "PIM BSR configuration";
            container candidate-bsr {
              presence
                "Indicates a candidate-bsr node is configured.";
              description
                "PIM Candidate BSR configuration";
              leaf address {
                type inet:ipv6-address-no-zone;
                mandatory true;
                description
                  "BSR Address configured";
              }
    
              leaf prefix-length {
                type xr:Ipv6-prefix-length;
                mandatory true;
                description
                  "Hash Mask Length for this candidate BSR";
              }
    
              leaf priority {
                type Pim-bsr-priority;
                mandatory true;
                description
                  "Priority of the Candidate BSR";
              }
            }  // container candidate-bsr
    
            uses CANDIDATE-RP-TABLE;
          }  // container bsr
        }  // grouping IPV6-PIM-CFG-BSR
    
        grouping SPARSE-MODE-RP-ADDRESS-TABLE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container sparse-mode-rp-addresses {
            description
              "Configure Sparse-Mode Rendezvous Point";
            list sparse-mode-rp-address {
              key "rp-address";
              description
                "Address of the Rendezvous Point";
              leaf rp-address {
                type inet:ip-address-no-zone;
                description
                  "RP address of Rendezvous Point";
              }
    
              leaf access-list-name {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                description
                  "Access list of groups that should map to a
                 given RP";
              }
    
              leaf auto-rp-override {
                type boolean;
                description
                  "TRUE Indicates if static RP config overrides
                 AutoRP and BSR";
              }
            }  // list sparse-mode-rp-address
          }  // container sparse-mode-rp-addresses
        }  // grouping SPARSE-MODE-RP-ADDRESS-TABLE
    
        grouping INHERITABLE-DEFAULTS {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container inheritable-defaults {
            description "Inheritable defaults";
            leaf convergence-timeout {
              type uint32 {
                range "1800..2400";
              }
              units "second";
              description
                "Convergency timeout in seconds";
            }
    
            uses HELLO-INTERVAL;
    
            uses STICKY-DR;
    
            uses PROPAGATION-DELAY;
    
            uses DR-PRIORITY;
    
            uses JOIN-PRUNE-MTU;
    
            uses JP-INTERVAL;
    
            uses OVERRIDE-INTERVAL;
          }  // container inheritable-defaults
        }  // grouping INHERITABLE-DEFAULTS
    
        grouping AUTO-RP-DISABLE {
          description
            "Common node of ipv4, ipv4";
          leaf auto-rp-disable {
            type empty;
            description
              "Disable Rendezvous Point discovery through the
             AutoRP protocol";
          }
        }  // grouping AUTO-RP-DISABLE
    
        grouping ROUTES {
          description
            "Common node of maximum, maximum";
          container routes {
            presence
              "Indicates a routes node is configured.";
            description
              "Override default maximum for number of routes";
            leaf maximum-routes {
              type uint32 {
                range "1..200000";
              }
              mandatory true;
              description
                "Maximum number of PIM routes";
            }
    
            leaf warning-threshold {
              type uint32 {
                range "1..200000";
              }
              default "100000";
              description
                "Set threshold to print warning";
            }
          }  // container routes
        }  // grouping ROUTES
    
        grouping RP-STATIC-DENY {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf rp-static-deny {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Configure static RP deny range";
          }
        }  // grouping RP-STATIC-DENY
    
        grouping SSM {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container ssm {
            presence
              "Contains mandatory nodes that used to set default values";
            description
              "Configure IP Multicast SSM";
            leaf disable {
              type boolean;
              mandatory true;
              description
                "TRUE if SSM is disabled on this router";
            }
    
            leaf range {
              type string {
                length "1..64";
              }
              description
                "Access list of groups enabled with SSM";
            }
          }  // container ssm
        }  // grouping SSM
    
        grouping OVERRIDE-INTERVAL {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf override-interval {
            type uint32 {
              range "400..65535";
            }
            units "millisecond";
            description
              "Override interval in milliseconds";
          }
        }  // grouping OVERRIDE-INTERVAL
    
        grouping CONVERGENCE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container convergence {
            description
              "Configure convergence parameters";
            leaf rpf-conflict-join-delay {
              type uint32 {
                range "0..15";
              }
              units "second";
              description
                "Dampen first join if RPF path is through one of
               the downstream neighbor";
            }
    
            leaf link-down-prune-delay {
              type uint32 {
                range "0..60";
              }
              units "second";
              description
                "Delay prunes if route join state transitions to
               not-joined on link down";
            }
          }  // container convergence
        }  // grouping CONVERGENCE
    
        grouping REGISTER-SOURCE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf register-source {
            type xr:Interface-name;
            description
              "Source address to use for register messages";
          }
        }  // grouping REGISTER-SOURCE
    
        grouping CANDIDATE-RP-TABLE {
          description "Common node of bsr, bsr";
          container candidate-rps {
            description "PIM RP configuration";
            list candidate-rp {
              key "address mode";
              description
                "Address of PIM SM BSR Candidate-RP";
              leaf address {
                type inet:ip-address-no-zone;
                description
                  "Address of Candidate-RP";
              }
    
              leaf mode {
                type Pim-protocol-mode;
                description "SM or Bidir";
              }
    
              leaf group-list {
                type string {
                  length "1..64";
                }
                description
                  "Access-list specifying the group range for the
                 Candidate-RP";
              }
    
              leaf priority {
                type Pim-bsr-priority;
                mandatory true;
                description
                  "Priority of the CRP";
              }
    
              leaf interval {
                type uint32 {
                  range "30..600";
                }
                mandatory true;
                description
                  "Advertisement interval";
              }
            }  // list candidate-rp
          }  // container candidate-rps
        }  // grouping CANDIDATE-RP-TABLE
    
        grouping PROPAGATION-DELAY {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf propagation-delay {
            type uint32 {
              range "100..32767";
            }
            units "millisecond";
            description
              "Propagation delay in milli seconds";
          }
        }  // grouping PROPAGATION-DELAY
    
        grouping GROUP-MAPPINGS-AUTO-RP {
          description
            "Common node of maximum, maximum";
          container group-mappings-auto-rp {
            presence
              "Indicates a group-mappings-auto-rp node is configured.";
            description
              "Override default maximum for number of group
             mappings from autorp mapping agent";
            leaf maximum-group-ranges-auto-rp {
              type uint32 {
                range "1..10000";
              }
              mandatory true;
              description
                "Maximum number of PIM group mappings from
               autorp";
            }
    
            leaf threshold-group-ranges-auto-rp {
              type uint32 {
                range "1..10000";
              }
              default "450";
              description
                "Warning threshold number of PIM group mappings
               from autorp";
            }
          }  // container group-mappings-auto-rp
        }  // grouping GROUP-MAPPINGS-AUTO-RP
    
        grouping SPT-THRESHOLD-INFINITY {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf spt-threshold-infinity {
            type string;
            description
              "Configure threshold of infinity for switching to
             SPT on last-hop";
          }
        }  // grouping SPT-THRESHOLD-INFINITY
    
        grouping NEIGHBOR-FILTER {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf neighbor-filter {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Access-list of neighbors to be filtered";
          }
        }  // grouping NEIGHBOR-FILTER
    
        grouping IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6Common node
           of interface, interface, interface";
          leaf neighbor-filter {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Access-list of neighbors to be filtered";
          }
        }  // grouping IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER
    
        grouping ROUTE-INTERFACES {
          description
            "Common node of maximum, maximum";
          container route-interfaces {
            presence
              "Indicates a route-interfaces node is configured.";
            description
              "Override default maximum for number of
             route-interfaces";
            leaf maximum-route-interfaces {
              type uint32 {
                range "1..1100000";
              }
              mandatory true;
              description
                "Maximum number of PIM route-interfaces";
            }
    
            leaf warning-threshold {
              type uint32 {
                range "1..1100000";
              }
              default "300000";
              description
                "Set threshold to print warning";
            }
          }  // container route-interfaces
        }  // grouping ROUTE-INTERFACES
    
        grouping SSM-ALLOW-OVERRIDE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf ssm-allow-override {
            type empty;
            description
              "Allow SSM ranges to be overridden by more
             specific ranges";
          }
        }  // grouping SSM-ALLOW-OVERRIDE
    
        grouping LOG-NEIGHBOR-CHANGES {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf log-neighbor-changes {
            type empty;
            description
              "PIM neighbor state change logging is turned on
             if configured";
          }
        }  // grouping LOG-NEIGHBOR-CHANGES
    
        grouping STICKY-DR {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf sticky-dr {
            type boolean;
            description
              "Enables interface sticky-dr feature";
          }
        }  // grouping STICKY-DR
    
        grouping MAXIMUM {
          description
            "Common node of ipv4, ipv6";
          container maximum {
            description
              "Configure PIM State Limits";
            uses GROUP-MAPPINGS-AUTO-RP;
    
            uses BSR-GROUP-MAPPINGS;
    
            uses REGISTER-STATES;
    
            uses ROUTE-INTERFACES;
    
            uses BSR-CANDIDATE-RP-CACHE;
    
            uses ROUTES;
          }  // container maximum
        }  // grouping MAXIMUM
    
        grouping IPV4-PIM-COMMON-CFG-MAXIMUM {
          description
            "Common node of ipv4, ipv6Common node of ipv4,
           ipv6";
          container maximum {
            description
              "Configure PIM State Limits";
            container bsr-global-group-mappings {
              presence
                "Indicates a bsr-global-group-mappings node is configured.";
              description
                "Override default global maximum and threshold
               for PIM group mapping ranges from BSR";
              leaf bsr-maximum-global-group-mappings {
                type uint32 {
                  range "1..10000";
                }
                mandatory true;
                description
                  "Global Maximum number of PIM group mapping
                 ranges from BSR";
              }
    
              leaf warning-threshold {
                type uint32 {
                  range "1..10000";
                }
                default "500";
                description
                  "Set threshold to print warning";
              }
            }  // container bsr-global-group-mappings
    
            container global-routes {
              presence
                "Indicates a global-routes node is configured.";
              description
                "Override default maximum for number of routes";
              leaf maximum-routes {
                type uint32 {
                  range "1..200000";
                }
                mandatory true;
                description
                  "Maximum number of PIM routes";
              }
    
              leaf warning-threshold {
                type uint32 {
                  range "1..200000";
                }
                default "100000";
                description
                  "Set threshold to print warning";
              }
            }  // container global-routes
    
            container global-group-mappings-auto-rp {
              presence
                "Indicates a global-group-mappings-auto-rp node is configured.";
              description
                "Maximum for number of group mappings from
               autorp mapping agent";
              leaf maximum-global-group-ranges-auto-rp {
                type uint32 {
                  range "1..10000";
                }
                mandatory true;
                description
                  "Maximum number of PIM group mappings from
                 autorp";
              }
    
              leaf threshold-global-group-ranges-auto-rp {
                type uint32 {
                  range "1..10000";
                }
                default "450";
                description
                  "Warning threshold number of PIM group mappings
                 from autorp";
              }
            }  // container global-group-mappings-auto-rp
    
            container bsr-global-candidate-rp-cache {
              presence
                "Indicates a bsr-global-candidate-rp-cache node is configured.";
              description
                "Override default global maximum and threshold
               for C-RP set in BSR";
              leaf bsr-maximum-global-candidate-rp-cache {
                type uint32 {
                  range "1..10000";
                }
                mandatory true;
                description
                  "Global Maximum number of PIM C-RP Sets from
                 BSR";
              }
    
              leaf warning-threshold {
                type uint32 {
                  range "1..10000";
                }
                default "100";
                description
                  "Set threshold to print warning";
              }
            }  // container bsr-global-candidate-rp-cache
    
            container global-register-states {
              presence
                "Indicates a global-register-states node is configured.";
              description
                "Override default maximum for number of
               sparse-mode source registers";
              leaf maximum-register-states {
                type uint32 {
                  range "0..75000";
                }
                mandatory true;
                description
                  "Maximum number of PIM Sparse-Mode register
                 states";
              }
    
              leaf warning-threshold {
                type uint32 {
                  range "0..75000";
                }
                default "20000";
                description
                  "Set threshold to print warning";
              }
            }  // container global-register-states
    
            container global-route-interfaces {
              presence
                "Indicates a global-route-interfaces node is configured.";
              description
                "Override default maximum for number of
               route-interfaces";
              leaf maximum-route-interfaces {
                type uint32 {
                  range "1..1100000";
                }
                mandatory true;
                description
                  "Maximum number of PIM route-interfaces";
              }
    
              leaf warning-threshold {
                type uint32 {
                  range "1..1100000";
                }
                default "300000";
                description
                  "Set threshold to print warning";
              }
            }  // container global-route-interfaces
    
            leaf global-low-priority-packet-queue {
              type uint32 {
                range "0..2147483648";
              }
              units "byte";
              description
                "Maximum packet queue size in bytes";
            }
    
            leaf global-high-priority-packet-queue {
              type uint32 {
                range "0..2147483648";
              }
              units "byte";
              description
                "Maximum packet queue size in bytes";
            }
    
            uses GROUP-MAPPINGS-AUTO-RP;
    
            uses BSR-GROUP-MAPPINGS;
    
            uses REGISTER-STATES;
    
            uses ROUTE-INTERFACES;
    
            uses BSR-CANDIDATE-RP-CACHE;
    
            uses ROUTES;
          }  // container maximum
        }  // grouping IPV4-PIM-COMMON-CFG-MAXIMUM
    
        grouping SG-EXPIRY-TIMER {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container sg-expiry-timer {
            description
              "Configure expiry timer for S,G routes";
            leaf interval {
              type uint32 {
                range "40..57600";
              }
              units "second";
              description
                "(S,G) expiry time in seconds";
            }
    
            leaf access-list-name {
              type xr:Cisco-ios-xr-string {
                length "1..64";
              }
              description
                "Access-list of applicable S,G routes";
            }
          }  // container sg-expiry-timer
        }  // grouping SG-EXPIRY-TIMER
    
        grouping INTERFACE-TABLE {
          description
            "Common node of ipv4, ipv6";
          container interfaces {
            description
              "Interface-level Configuration";
            list interface {
              key "interface-name";
              description
                "The name of the interface";
              leaf enable {
                type empty;
                description
                  "Enter PIM Interface processing";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description
                  "The name of interface";
              }
    
              uses IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER;
    
              uses HELLO-INTERVAL;
    
              uses STICKY-DR;
    
              uses BSR-BORDER;
    
              uses MAXIMUM-ROUTES;
    
              uses PROPAGATION-DELAY;
    
              uses BFD;
    
              uses DR-PRIORITY;
    
              uses JOIN-PRUNE-MTU;
    
              uses INTERFACE-ENABLE;
    
              uses JP-INTERVAL;
    
              uses OVERRIDE-INTERVAL;
            }  // list interface
          }  // container interfaces
        }  // grouping INTERFACE-TABLE
    
        grouping REGISTER-STATES {
          description
            "Common node of maximum, maximum";
          container register-states {
            presence
              "Indicates a register-states node is configured.";
            description
              "Override default maximum for number of
             sparse-mode source registers";
            leaf maximum-register-states {
              type uint32 {
                range "0..75000";
              }
              mandatory true;
              description
                "Maximum number of PIM Sparse-Mode register
               states";
            }
    
            leaf warning-threshold {
              type uint32 {
                range "0..75000";
              }
              default "20000";
              description
                "Set threshold to print warning";
            }
          }  // container register-states
        }  // grouping REGISTER-STATES
    
        grouping MULTIPATH {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf multipath {
            type Pim-multipath;
            description
              "Enable equal-cost multipath routing";
          }
        }  // grouping MULTIPATH
    
        grouping HELLO-INTERVAL {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf hello-interval {
            type uint32 {
              range "1..3600";
            }
            units "second";
            description
              "Hello interval in seconds";
          }
        }  // grouping HELLO-INTERVAL
    
        grouping BIDIR-RP-ADDRESS-TABLE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container bidir-rp-addresses {
            description
              "Configure Bidirectional PIM Rendezvous Point";
            list bidir-rp-address {
              key "rp-address";
              description
                "Address of the Rendezvous Point";
              leaf rp-address {
                type inet:ip-address-no-zone;
                description
                  "RP address of Rendezvous Point";
              }
    
              leaf access-list-name {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                description
                  "Access list of groups that should map to a
                 given RP";
              }
    
              leaf auto-rp-override {
                type boolean;
                description
                  "TRUE Indicates if static RP config overrides
                 AutoRP and BSR";
              }
            }  // list bidir-rp-address
          }  // container bidir-rp-addresses
        }  // grouping BIDIR-RP-ADDRESS-TABLE
    
        grouping BSR-CANDIDATE-RP-CACHE {
          description
            "Common node of maximum, maximum";
          container bsr-candidate-rp-cache {
            presence
              "Indicates a bsr-candidate-rp-cache node is configured.";
            description
              "Override default maximum and threshold for BSR
             C-RP cache setting";
            leaf bsr-maximum-candidate-rp-cache {
              type uint32 {
                range "1..10000";
              }
              mandatory true;
              description
                "Maximum number of BSR C-RP cache setting";
            }
    
            leaf warning-threshold {
              type uint32 {
                range "1..10000";
              }
              default "100";
              description
                "Set threshold to print warning";
            }
          }  // container bsr-candidate-rp-cache
        }  // grouping BSR-CANDIDATE-RP-CACHE
    
        grouping JP-INTERVAL {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf jp-interval {
            type uint32 {
              range "10..600";
            }
            units "second";
            description
              "Join-Prune interval in seconds";
          }
        }  // grouping JP-INTERVAL
    
        grouping NSF {
          description
            "Common node of ipv4, ipv6";
          container nsf {
            description
              "Configure Non-stop forwarding (NSF) options";
            leaf lifetime {
              type uint32 {
                range "10..600";
              }
              units "second";
              description
                "Override default maximum lifetime for PIM NSF
               mode";
            }
          }  // container nsf
        }  // grouping NSF
    
        grouping DR-PRIORITY {
          description
            "Common node of inheritable-defaults, interface,
           interface, interface";
          leaf dr-priority {
            type uint32 {
              range "0..4294967295";
            }
            description
              "Hello DR priority, preference given to larger
             value";
          }
        }  // grouping DR-PRIORITY
    
        grouping BFD {
          description
            "Common node of interface, interface, interface";
          container bfd {
            description "BFD configuration";
            leaf detection-multiplier {
              type uint32 {
                range "2..50";
              }
              description
                "Detection multiplier for BFD sessions created
               by PIM";
            }
    
            leaf interval {
              type uint32 {
                range "3..30000";
              }
              units "millisecond";
              description
                "Hello interval for BFD sessions created by PIM";
            }
    
            leaf enable {
              type boolean;
              description
                "TRUE to enable BFD. FALSE to disable and to
               prevent inheritance from a parent";
            }
          }  // container bfd
        }  // grouping BFD
    
        grouping RPF-VECTOR-INJECT {
          description
            "Common node of ipv4, ipv4";
          container paths {
            description
              "Inject PIM RPF Vector Proxy's";
            list path {
              key "source-address prefix-length";
              description
                "Inject PIM RPF Vector Proxy's";
              leaf source-address {
                type inet:ipv4-address-no-zone;
                description "Source Address";
              }
    
              leaf prefix-length {
                type xr:Ipv4-prefix-length;
                description "Masklen";
              }
    
              leaf-list rpf-proxy-address {
                type inet:ipv4-address-no-zone;
                min-elements 1;
                max-elements 22;
                description "RPF Proxy Address";
              }
            }  // list path
          }  // container paths
        }  // grouping RPF-VECTOR-INJECT
    
        grouping BSR-GROUP-MAPPINGS {
          description
            "Common node of maximum, maximum";
          container bsr-group-mappings {
            presence
              "Indicates a bsr-group-mappings node is configured.";
            description
              "Override default maximum and threshold for
             number of group mappings from BSR";
            leaf bsr-maximum-group-ranges {
              type uint32 {
                range "1..10000";
              }
              mandatory true;
              description
                "Maximum number of PIM group mappings from BSR";
            }
    
            leaf warning-threshold {
              type uint32 {
                range "1..10000";
              }
              default "500";
              description
                "Set threshold to print warning";
            }
          }  // container bsr-group-mappings
        }  // grouping BSR-GROUP-MAPPINGS
    
        grouping ACCEPT-REGISTER {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf accept-register {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Access-list which specifies unauthorized sources";
          }
        }  // grouping ACCEPT-REGISTER
    
        grouping OLD-REGISTER-CHECKSUM {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          leaf old-register-checksum {
            type empty;
            description
              "Generate registers compatible with older IOS
             versions";
          }
        }  // grouping OLD-REGISTER-CHECKSUM
    
        grouping ALLOW-RP {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container allow-rp {
            presence "enable allow-rp";
            description
              "Enable allow-rp filtering for SM joins";
            leaf rp-list-name {
              type xr:Cisco-ios-xr-string {
                length "1..64";
              }
              description
                "Access-list specifiying applicable RPs";
            }
    
            leaf group-list-name {
              type xr:Cisco-ios-xr-string {
                length "1..64";
              }
              description
                "Access-list specifiying applicable groups";
            }
          }  // container allow-rp
        }  // grouping ALLOW-RP
    
        grouping MAXIMUM-ROUTES {
          description
            "Common node of interface, interface, interface";
          container maximum-routes {
            presence
              "Indicates a maximum-routes node is configured.";
            description
              "Maximum number of allowed routes for this
             interface";
            leaf maximum {
              type uint32 {
                range "1..1100000";
              }
              mandatory true;
              description
                "Maximum number of routes for this interface";
            }
    
            leaf warning-threshold {
              type uint32 {
                range "1..1100000";
              }
              description
                "Set threshold to print warning";
            }
    
            leaf access-list-name {
              type xr:Cisco-ios-xr-string {
                length "1..64";
              }
              description
                "Access-list to account for";
            }
          }  // container maximum-routes
        }  // grouping MAXIMUM-ROUTES
    
        grouping SUPPRESS-RPF-PRUNES {
          description
            "Common node of interface, interface,
           interfaceCommon node of ipv4, ipv4, ipv6, ipv6";
          leaf suppress-rpf-prunes {
            type empty;
            description
              "Suppress prunes triggered as a result of RPF
             changes";
          }
        }  // grouping SUPPRESS-RPF-PRUNES
    
        grouping RPF-VECTOR-ENABLE {
          description
            "Common node of ipv4, ipv4, ipv6, ipv6";
          container rpf-vector-enable {
            presence
              "Indicates a rpf-vector-enable node is configured.";
            description
              "Enable PIM RPF Vector Proxy's";
            leaf enable {
              type empty;
              mandatory true;
              description
                "RPF Vector is turned on if configured";
            }
    
            leaf allow-ebgp {
              type empty;
              description
                "Allow RPF Vector origination over eBGP sessions";
            }
    
            leaf disable-ibgp {
              type empty;
              description
                "Disable RPF Vector origination over iBGP
               sessions";
            }
    
            leaf use-standard-encoding {
              type empty;
              description
                "Use RPF Vector RFC compliant encoding";
            }
          }  // container rpf-vector-enable
        }  // grouping RPF-VECTOR-ENABLE
    
        grouping EXPLICIT-RPF-VECTOR {
          description
            "Common node of ipv4, ipv4";
          container injects {
            description
              "Inject Explicit PIM RPF Vector Proxy's";
            list inject {
              key "source-address prefix-length";
              description
                "Inject Explicit PIM RPF Vector Proxy's";
              leaf source-address {
                type inet:ipv4-address-no-zone;
                description "Source Address";
              }
    
              leaf prefix-length {
                type xr:Ipv4-prefix-length;
                description "Masklen";
              }
    
              leaf-list rpf-proxy-address {
                type inet:ipv4-address-no-zone;
                min-elements 1;
                max-elements 22;
                description "RPF Proxy Address";
              }
            }  // list inject
          }  // container injects
        }  // grouping EXPLICIT-RPF-VECTOR
    
        container pim {
          description "PIM configuration";
          container vrfs {
            description "VRF table";
            list vrf {
              key "vrf-name";
              description "VRF name";
              container ipv4 {
                description "IPV4 commands";
                uses NEIGHBOR-CHECK-ON-RECEIVE;
    
                uses OLD-REGISTER-CHECKSUM;
    
                uses SPARSE-MODE-RP-ADDRESS-TABLE;
    
                uses NEIGHBOR-FILTER;
    
                uses INHERITABLE-DEFAULTS;
    
                uses SPT-THRESHOLD-INFINITY;
    
                uses LOG-NEIGHBOR-CHANGES;
    
                uses RPF;
    
                uses REGISTER-SOURCE;
    
                uses MAXIMUM;
    
                uses ACCEPT-REGISTER;
    
                uses SG-EXPIRY-TIMER;
    
                uses RPF-VECTOR-ENABLE;
    
                uses SUPPRESS-RPF-PRUNES;
    
                uses SSM;
    
                uses EXPLICIT-RPF-VECTOR;
    
                uses BIDIR-RP-ADDRESS-TABLE;
    
                uses SSM-ALLOW-OVERRIDE;
    
                uses BSR;
    
                uses MOFRR;
    
                uses MULTIPATH;
    
                uses RP-STATIC-DENY;
    
                uses RPF-VECTOR-INJECT;
    
                uses ALLOW-RP;
    
                uses SUPPRESS-DATA-REGISTERS;
    
                uses NEIGHBOR-CHECK-ON-SEND;
    
                uses CONVERGENCE;
    
                uses INTERFACE-TABLE;
    
                uses AUTO-RP-DISABLE;
              }  // container ipv4
    
              container ipv6 {
                description "IPV6 commands";
                uses NEIGHBOR-CHECK-ON-RECEIVE;
    
                uses OLD-REGISTER-CHECKSUM;
    
                uses SPARSE-MODE-RP-ADDRESS-TABLE;
    
                uses NEIGHBOR-FILTER;
    
                uses INHERITABLE-DEFAULTS;
    
                uses SPT-THRESHOLD-INFINITY;
    
                uses LOG-NEIGHBOR-CHANGES;
    
                uses RPF;
    
                uses REGISTER-SOURCE;
    
                uses MAXIMUM;
    
                uses ACCEPT-REGISTER;
    
                uses SG-EXPIRY-TIMER;
    
                uses RPF-VECTOR-ENABLE;
    
                uses EMBEDDED-RP-DISABLE;
    
                uses SUPPRESS-RPF-PRUNES;
    
                uses SSM;
    
                uses BIDIR-RP-ADDRESS-TABLE;
    
                uses SSM-ALLOW-OVERRIDE;
    
                uses MULTIPATH;
    
                uses IPV6-PIM-CFG-BSR;
    
                uses RP-STATIC-DENY;
    
                uses ALLOW-RP;
    
                uses SUPPRESS-DATA-REGISTERS;
    
                uses NEIGHBOR-CHECK-ON-SEND;
    
                uses EMBEDDED-RP;
    
                uses CONVERGENCE;
    
                uses INTERFACE-TABLE;
              }  // container ipv6
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string {
                  length "1..32";
                }
                description "VRF name";
              }
            }  // list vrf
          }  // container vrfs
    
          container default-context {
            description "Default Context";
            container ipv6 {
              description "IPV6 commands";
              container interfaces {
                description
                  "Interface-level Configuration";
                list interface {
                  key "interface-name";
                  description
                    "The name of the interface";
                  leaf enable {
                    type empty;
                    description
                      "Enter PIM Interface processing";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "The name of interface";
                  }
    
                  uses IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER;
    
                  uses HELLO-INTERVAL;
    
                  uses STICKY-DR;
    
                  uses BSR-BORDER;
    
                  uses MAXIMUM-ROUTES;
    
                  uses PROPAGATION-DELAY;
    
                  uses BFD;
    
                  uses DR-PRIORITY;
    
                  uses JOIN-PRUNE-MTU;
    
                  uses INTERFACE-ENABLE;
    
                  uses JP-INTERVAL;
    
                  uses OVERRIDE-INTERVAL;
                }  // list interface
              }  // container interfaces
    
              uses NEIGHBOR-CHECK-ON-RECEIVE;
    
              uses OLD-REGISTER-CHECKSUM;
    
              uses SPARSE-MODE-RP-ADDRESS-TABLE;
    
              uses NEIGHBOR-FILTER;
    
              uses INHERITABLE-DEFAULTS;
    
              uses SPT-THRESHOLD-INFINITY;
    
              uses LOG-NEIGHBOR-CHANGES;
    
              uses RPF;
    
              uses REGISTER-SOURCE;
    
              uses ACCEPT-REGISTER;
    
              uses SG-EXPIRY-TIMER;
    
              uses RPF-VECTOR-ENABLE;
    
              uses NSF;
    
              uses EMBEDDED-RP-DISABLE;
    
              uses SUPPRESS-RPF-PRUNES;
    
              uses IPV4-PIM-COMMON-CFG-MAXIMUM;
    
              uses SSM;
    
              uses BIDIR-RP-ADDRESS-TABLE;
    
              uses SSM-ALLOW-OVERRIDE;
    
              uses MULTIPATH;
    
              uses IPV6-PIM-CFG-BSR;
    
              uses RP-STATIC-DENY;
    
              uses ALLOW-RP;
    
              uses SUPPRESS-DATA-REGISTERS;
    
              uses NEIGHBOR-CHECK-ON-SEND;
    
              uses EMBEDDED-RP;
    
              uses CONVERGENCE;
            }  // container ipv6
    
            container ipv4 {
              description "IPV4 commands";
              container rpf-redirect {
                description
                  "Configure RPF-redirect feature";
                uses ROUTE-POLICY;
              }  // container rpf-redirect
    
              container interfaces {
                description
                  "Interface-level Configuration";
                list interface {
                  key "interface-name";
                  description
                    "The name of the interface";
                  container redirect-bundle {
                    description
                      "Configure RPF-redirect bundle for interface.
                     Applicable for IPv4 only";
                    leaf bundle-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description "Bundle name";
                    }
    
                    leaf interface-bandwidth {
                      type uint32 {
                        range "0..100000000";
                      }
                      units "kbit/s";
                      must
                        "../bundle-name and ../threshold-bandwidth";
                      description
                        "Interface bandwidth in Kbps";
                    }
    
                    leaf threshold-bandwidth {
                      type uint32 {
                        range "0..100000000";
                      }
                      units "kbit/s";
                      must
                        "../bundle-name and ../interface-bandwidth";
                      description
                        "Threshold bandwidth in Kbps";
                    }
                  }  // container redirect-bundle
    
                  leaf enable {
                    type empty;
                    description
                      "Enter PIM Interface processing";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "The name of interface";
                  }
    
                  uses IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER;
    
                  uses HELLO-INTERVAL;
    
                  uses STICKY-DR;
    
                  uses BSR-BORDER;
    
                  uses MAXIMUM-ROUTES;
    
                  uses PROPAGATION-DELAY;
    
                  uses BFD;
    
                  uses DR-PRIORITY;
    
                  uses JOIN-PRUNE-MTU;
    
                  uses INTERFACE-ENABLE;
    
                  uses JP-INTERVAL;
    
                  uses OVERRIDE-INTERVAL;
                }  // list interface
              }  // container interfaces
    
              container auto-rp-candidate-rps {
                description
                  "Configure Candidate-RPs";
                list auto-rp-candidate-rp {
                  key "interface-name protocol-mode";
                  description
                    "Specifications for a Candidate-RP";
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Interface from which Candidate-RP packets
                     will be sourced";
                  }
    
                  leaf protocol-mode {
                    type dt1:Auto-rp-protocol-mode;
                    description "Protocol Mode";
                  }
    
                  leaf ttl {
                    type Auto-rp-ttl;
                    mandatory true;
                    description "TTL in Hops";
                  }
    
                  leaf access-list-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..64";
                    }
                    mandatory true;
                    description
                      "Access-list specifying the group range for
                     the Candidate-RP";
                  }
    
                  leaf announce-period {
                    type Auto-rp-announce-period;
                    units "second";
                    mandatory true;
                    description
                      "Time between announcements <in seconds> ";
                  }
                }  // list auto-rp-candidate-rp
              }  // container auto-rp-candidate-rps
    
              container auto-rp-mapping-agent {
                description
                  "Configure AutoRP Mapping Agent";
                container parameters {
                  presence
                    "Indicates a parameters node is configured.";
                  description
                    "Specifications for Mapping Agent configured
                   on this box";
                  leaf interface-name {
                    type xr:Interface-name;
                    mandatory true;
                    description
                      "Interface from which mapping packets will be
                     sourced ";
                  }
    
                  leaf ttl {
                    type Auto-rp-ttl;
                    mandatory true;
                    description "TTL in Hops";
                  }
    
                  leaf announce-period {
                    type Auto-rp-announce-period;
                    units "second";
                    mandatory true;
                    description
                      "Time between discovery messages <in seconds>";
                  }
                }  // container parameters
    
                container cache-limit {
                  presence
                    "Indicates a cache-limit node is configured.";
                  description
                    "Mapping Agent cache size limit";
                  leaf maximum-cache-entry {
                    type uint32 {
                      range "1..1000";
                    }
                    mandatory true;
                    description
                      "Maximum number of mapping cache entries";
                  }
    
                  leaf threshold-cache-entry {
                    type uint32 {
                      range "1..1000";
                    }
                    default "450";
                    description
                      "Warning threshold number of cache entries";
                  }
                }  // container cache-limit
              }  // container auto-rp-mapping-agent
    
              uses NEIGHBOR-CHECK-ON-RECEIVE;
    
              uses OLD-REGISTER-CHECKSUM;
    
              uses SPARSE-MODE-RP-ADDRESS-TABLE;
    
              uses NEIGHBOR-FILTER;
    
              uses INHERITABLE-DEFAULTS;
    
              uses SPT-THRESHOLD-INFINITY;
    
              uses LOG-NEIGHBOR-CHANGES;
    
              uses RPF;
    
              uses REGISTER-SOURCE;
    
              uses ACCEPT-REGISTER;
    
              uses SG-EXPIRY-TIMER;
    
              uses RPF-VECTOR-ENABLE;
    
              uses NSF;
    
              uses SUPPRESS-RPF-PRUNES;
    
              uses IPV4-PIM-COMMON-CFG-MAXIMUM;
    
              uses SSM;
    
              uses EXPLICIT-RPF-VECTOR;
    
              uses BIDIR-RP-ADDRESS-TABLE;
    
              uses SSM-ALLOW-OVERRIDE;
    
              uses BSR;
    
              uses MOFRR;
    
              uses MULTIPATH;
    
              uses RP-STATIC-DENY;
    
              uses RPF-VECTOR-INJECT;
    
              uses ALLOW-RP;
    
              uses SUPPRESS-DATA-REGISTERS;
    
              uses NEIGHBOR-CHECK-ON-SEND;
    
              uses CONVERGENCE;
    
              uses AUTO-RP-DISABLE;
            }  // container ipv4
          }  // container default-context
        }  // container pim
      }  // module Cisco-IOS-XR-ipv4-pim-cfg
    

© 2024 YumaWorks, Inc. All rights reserved.