Cisco-IOS-XR-ipv4-mfwd-cfg

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

  • Version: 2020-04-02

    Cisco-IOS-XR-ipv4-mfwd-cfg@2020-04-02


    
      module Cisco-IOS-XR-ipv4-mfwd-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-mfwd-cfg";
    
        prefix ipv4-mfwd-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        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-mfwd package configuration.
         
         This module contains definitions
         for the following management objects:
           mfwd: Multicast routing configuration
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-04-02" {
          description
            "IOS-XR MFWD TreeSID configuration";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-10-15" {
          description
            "Removed presence statement generated from internal CLI data.";
        }
    
        revision "2016-06-01" {
          description
            "Initial IOS-XR MFWD native model";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Accounting-mode {
          type enumeration {
            enum "enable" {
              value 0;
              description
                "Enable per (S,G) accounting";
            }
            enum "forward-only-enable" {
              value 1;
              description
                "Enable per (S,G) forward-only accounting";
            }
          }
          description "Accounting mode";
        }
    
        grouping MOFRR-LOSS-DETECTION-TIMER-CONFIG {
          description
            "Common node of ipv4, ipv6";
          leaf mofrr-loss-detection-timer-config {
            type uint32 {
              range "1..3600";
            }
            description
              "Mofrr Loss Detection timer value";
          }
        }  // grouping MOFRR-LOSS-DETECTION-TIMER-CONFIG
    
        grouping INTERFACE-INHERITANCE-DISABLE {
          description
            "Common node of ipv4, ipv6";
          leaf interface-inheritance-disable {
            type empty;
            description
              "Disable interface inheritance configuration";
          }
        }  // grouping INTERFACE-INHERITANCE-DISABLE
    
        grouping STATIC-RPF-RULE-TABLE {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          container static-rpf-rules {
            description
              "Configure a static RPF rule for a given prefix";
            list static-rpf-rule {
              key "address prefix-mask";
              description
                "RPF prefix address and mask";
              leaf address {
                type inet:ip-address-no-zone;
                description
                  "IP address of the RPF prefix";
              }
    
              leaf prefix-mask {
                type uint32 {
                  range "0..128";
                }
                description
                  "Prefix mask of the RPF Prefix";
              }
    
              leaf neighbor-address {
                type inet:ip-address-no-zone;
                mandatory true;
                description
                  "Neighbor address of the RPF Prefix";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                mandatory true;
                description
                  "The name of the RPF interface";
              }
            }  // list static-rpf-rule
          }  // container static-rpf-rules
        }  // grouping STATIC-RPF-RULE-TABLE
    
        grouping FORWARDING-LATENCY {
          description
            "Common node of ipv4, ipv6";
          leaf forwarding-latency {
            type uint32 {
              range "5..500";
            }
            units "millisecond";
            description
              "Knob to delay traffic being forwarded on a route";
          }
        }  // grouping FORWARDING-LATENCY
    
        grouping STATIC-SR-POLICY-TABLE {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          container static-sr-policies {
            description
              "Configure a static Segment Routing Policy";
            list static-sr-policy {
              key "sr-policy-name";
              description
                "SR P2MP Policy for Multicast";
              leaf sr-policy-name {
                type xr:Cisco-ios-xr-string;
                description " SRPolicy Name";
              }
    
              leaf ingress {
                type uint32;
                description "Ingress";
              }
    
              leaf no-value {
                type uint32;
                description "NoValue";
              }
    
              leaf ip-addr {
                type string;
                description "Ingress Address";
              }
            }  // list static-sr-policy
          }  // container static-sr-policies
        }  // grouping STATIC-SR-POLICY-TABLE
    
        grouping LOG-TRAPS {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          leaf log-traps {
            type empty;
            description
              "Enable logging trap event";
          }
        }  // grouping LOG-TRAPS
    
        grouping MULTICAST-FORWARDING {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          leaf multicast-forwarding {
            type empty;
            description
              "Enable IP multicast routing and forwarding";
          }
        }  // grouping MULTICAST-FORWARDING
    
        grouping MOFRR-LOCKOUT-TIMER-CONFIG {
          description
            "Common node of ipv4, ipv6";
          leaf mofrr-lockout-timer-config {
            type uint32 {
              range "1..3600";
            }
            description
              "Mofrr Lockout timer value";
          }
        }  // grouping MOFRR-LOCKOUT-TIMER-CONFIG
    
        grouping INTERFACE-TABLE {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          container interfaces {
            description
              "Interface-level Configuration";
            list interface {
              key "interface-name";
              description
                "The name of the interface";
              leaf ttl-threshold {
                type uint32 {
                  range "1..255";
                }
                description
                  "TTL threshold for multicast packets";
              }
    
              leaf enable-on-interface {
                type boolean;
                description
                  "Enable or disable IP multicast on the
                 interface";
              }
    
              leaf boundary {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                description
                  "Boundary for administratively scoped multicast
                 addresses";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list interface
          }  // container interfaces
        }  // grouping INTERFACE-TABLE
    
        grouping ENABLE-ON-ALL-INTERFACES {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          leaf enable-on-all-interfaces {
            type empty;
            description
              "Configure all interfaces for multicast routing
             and forwarding";
          }
        }  // grouping ENABLE-ON-ALL-INTERFACES
    
        grouping RATE-PER-ROUTE {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          leaf rate-per-route {
            type empty;
            description
              "Enable per (S,G) rate calculation";
          }
        }  // grouping RATE-PER-ROUTE
    
        grouping ACCOUNTING {
          description
            "Common node of ipv4, ipv6, ipv4, ipv6";
          leaf accounting {
            type Accounting-mode;
            description
              "Per-prefix accounting mode";
          }
        }  // grouping ACCOUNTING
    
        grouping MAXIMUM-CHECKING-DISABLE {
          description
            "Common node of ipv4, ipv6";
          leaf maximum-checking-disable {
            type empty;
            description
              "Disable state limit maximum checking";
          }
        }  // grouping MAXIMUM-CHECKING-DISABLE
    
        container mfwd {
          description
            "Multicast routing configuration";
          container default-context {
            description "Default Context";
            container ipv6 {
              description
                "IPV6 commands in the default context";
              uses ENABLE-ON-ALL-INTERFACES;
    
              uses MAXIMUM-CHECKING-DISABLE;
    
              uses STATIC-SR-POLICY-TABLE;
    
              uses RATE-PER-ROUTE;
    
              uses INTERFACE-INHERITANCE-DISABLE;
    
              uses STATIC-RPF-RULE-TABLE;
    
              uses MOFRR-LOCKOUT-TIMER-CONFIG;
    
              uses FORWARDING-LATENCY;
    
              uses MOFRR-LOSS-DETECTION-TIMER-CONFIG;
    
              uses INTERFACE-TABLE;
    
              uses MULTICAST-FORWARDING;
    
              uses LOG-TRAPS;
    
              uses ACCOUNTING;
            }  // container ipv6
    
            container ipv4 {
              description
                "IPV4 commands in the default context";
              leaf out-of-memory-handling {
                type empty;
                description
                  "Enable out-of-memory handling";
              }
    
              uses ENABLE-ON-ALL-INTERFACES;
    
              uses MAXIMUM-CHECKING-DISABLE;
    
              uses STATIC-SR-POLICY-TABLE;
    
              uses RATE-PER-ROUTE;
    
              uses INTERFACE-INHERITANCE-DISABLE;
    
              uses STATIC-RPF-RULE-TABLE;
    
              uses MOFRR-LOCKOUT-TIMER-CONFIG;
    
              uses FORWARDING-LATENCY;
    
              uses MOFRR-LOSS-DETECTION-TIMER-CONFIG;
    
              uses INTERFACE-TABLE;
    
              uses MULTICAST-FORWARDING;
    
              uses LOG-TRAPS;
    
              uses ACCOUNTING;
            }  // container ipv4
          }  // container default-context
    
          container vrfs {
            description "VRF Table";
            list vrf {
              key "vrf-name";
              description "VRF table names";
              container ipv6 {
                description
                  "VRF table for IPV6 commands";
                uses ENABLE-ON-ALL-INTERFACES;
    
                uses STATIC-SR-POLICY-TABLE;
    
                uses RATE-PER-ROUTE;
    
                uses STATIC-RPF-RULE-TABLE;
    
                uses INTERFACE-TABLE;
    
                uses MULTICAST-FORWARDING;
    
                uses LOG-TRAPS;
    
                uses ACCOUNTING;
              }  // container ipv6
    
              container ipv4 {
                description
                  "VRF table for IPV4 commands";
                uses ENABLE-ON-ALL-INTERFACES;
    
                uses STATIC-SR-POLICY-TABLE;
    
                uses RATE-PER-ROUTE;
    
                uses STATIC-RPF-RULE-TABLE;
    
                uses INTERFACE-TABLE;
    
                uses MULTICAST-FORWARDING;
    
                uses LOG-TRAPS;
    
                uses ACCOUNTING;
              }  // container ipv4
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string {
                  length "1..32";
                }
                description "VRF Name";
              }
            }  // list vrf
          }  // container vrfs
        }  // container mfwd
      }  // module Cisco-IOS-XR-ipv4-mfwd-cfg
    

© 2024 YumaWorks, Inc. All rights reserved.