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";
        }
    
        container mfwd {
          description
            "Multicast routing configuration";
          container default-context {
            description "Default Context";
            container ipv6 {
              description
                "IPV6 commands in the default context";
              leaf enable-on-all-interfaces {
                type empty;
                description
                  "Configure all interfaces for multicast routing
    and forwarding";
              }
    
              leaf maximum-checking-disable {
                type empty;
                description
                  "Disable state limit maximum checking";
              }
    
              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
    
              leaf rate-per-route {
                type empty;
                description
                  "Enable per (S,G) rate calculation";
              }
    
              leaf interface-inheritance-disable {
                type empty;
                description
                  "Disable interface inheritance configuration";
              }
    
              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
    
              leaf mofrr-lockout-timer-config {
                type uint32 {
                  range "1..3600";
                }
                description
                  "Mofrr Lockout timer value";
              }
    
              leaf forwarding-latency {
                type uint32 {
                  range "5..500";
                }
                units "millisecond";
                description
                  "Knob to delay traffic being forwarded on a route";
              }
    
              leaf mofrr-loss-detection-timer-config {
                type uint32 {
                  range "1..3600";
                }
                description
                  "Mofrr Loss Detection timer value";
              }
    
              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
    
              leaf multicast-forwarding {
                type empty;
                description
                  "Enable IP multicast routing and forwarding";
              }
    
              leaf log-traps {
                type empty;
                description
                  "Enable logging trap event";
              }
    
              leaf accounting {
                type Accounting-mode;
                description
                  "Per-prefix accounting mode";
              }
            }  // container ipv6
    
            container ipv4 {
              description
                "IPV4 commands in the default context";
              leaf out-of-memory-handling {
                type empty;
                description
                  "Enable out-of-memory handling";
              }
    
              leaf enable-on-all-interfaces {
                type empty;
                description
                  "Configure all interfaces for multicast routing
    and forwarding";
              }
    
              leaf maximum-checking-disable {
                type empty;
                description
                  "Disable state limit maximum checking";
              }
    
              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
    
              leaf rate-per-route {
                type empty;
                description
                  "Enable per (S,G) rate calculation";
              }
    
              leaf interface-inheritance-disable {
                type empty;
                description
                  "Disable interface inheritance configuration";
              }
    
              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
    
              leaf mofrr-lockout-timer-config {
                type uint32 {
                  range "1..3600";
                }
                description
                  "Mofrr Lockout timer value";
              }
    
              leaf forwarding-latency {
                type uint32 {
                  range "5..500";
                }
                units "millisecond";
                description
                  "Knob to delay traffic being forwarded on a route";
              }
    
              leaf mofrr-loss-detection-timer-config {
                type uint32 {
                  range "1..3600";
                }
                description
                  "Mofrr Loss Detection timer value";
              }
    
              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
    
              leaf multicast-forwarding {
                type empty;
                description
                  "Enable IP multicast routing and forwarding";
              }
    
              leaf log-traps {
                type empty;
                description
                  "Enable logging trap event";
              }
    
              leaf accounting {
                type Accounting-mode;
                description
                  "Per-prefix accounting mode";
              }
            }  // 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";
                leaf enable-on-all-interfaces {
                  type empty;
                  description
                    "Configure all interfaces for multicast routing
    and forwarding";
                }
    
                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
    
                leaf rate-per-route {
                  type empty;
                  description
                    "Enable per (S,G) rate calculation";
                }
    
                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
    
                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
    
                leaf multicast-forwarding {
                  type empty;
                  description
                    "Enable IP multicast routing and forwarding";
                }
    
                leaf log-traps {
                  type empty;
                  description
                    "Enable logging trap event";
                }
    
                leaf accounting {
                  type Accounting-mode;
                  description
                    "Per-prefix accounting mode";
                }
              }  // container ipv6
    
              container ipv4 {
                description
                  "VRF table for IPV4 commands";
                leaf enable-on-all-interfaces {
                  type empty;
                  description
                    "Configure all interfaces for multicast routing
    and forwarding";
                }
    
                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
    
                leaf rate-per-route {
                  type empty;
                  description
                    "Enable per (S,G) rate calculation";
                }
    
                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
    
                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
    
                leaf multicast-forwarding {
                  type empty;
                  description
                    "Enable IP multicast routing and forwarding";
                }
    
                leaf log-traps {
                  type empty;
                  description
                    "Enable logging trap event";
                }
    
                leaf accounting {
                  type Accounting-mode;
                  description
                    "Per-prefix accounting mode";
                }
              }  // 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.