Cisco-IOS-XR-Ethernet-SPAN-oper

This module contains a collection of YANG definitions for Cisco IOS-XR Ethernet-SPAN package operational data. This module cont...

  • Version: 2020-12-03

    Cisco-IOS-XR-Ethernet-SPAN-oper@2020-12-03


    
      module Cisco-IOS-XR-Ethernet-SPAN-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-oper";
    
        prefix ethernet-span-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-Ethernet-SPAN-datatypes {
          prefix dt1;
        }
    
        include Cisco-IOS-XR-Ethernet-SPAN-oper-sub3 {
          revision-date "2020-12-03";
        }
        include Cisco-IOS-XR-Ethernet-SPAN-oper-sub2 {
          revision-date "2020-12-03";
        }
        include Cisco-IOS-XR-Ethernet-SPAN-oper-sub1 {
          revision-date "2020-12-03";
        }
    
        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 Ethernet-SPAN package operational data.
    
    This module contains definitions
    for the following management objects:
      span-monitor-session: Monitor Session operational data
    
    Copyright (c) 2013-2020 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2020-12-03" {
          description
            "Added support for multiple attachments per class on an interface
    2020-09-14
      Added support for mirror rx and tx traffic to separate destinations
    2020-04-03
      Added support for bundle destinations.";
        }
    
        revision "2020-01-30" {
          description
            "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session
    2019-12-12
    Added support for file format and PCAP filter expressions under file
    2019-10-02
    Added support for UDP destinations and CloudSPAN.";
        }
    
        revision "2019-05-12" {
          description
            "Added support for file destinations.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        container span-monitor-session {
          config false;
          description
            "Monitor Session operational data";
          container global {
            description
              "Global operational data";
            container statistics {
              description
                "Table of statistics for source interfaces";
              list statistic {
                key "session interface";
                description
                  "Statistics for a particular source interface";
                leaf session {
                  type dt1:Span-session-name;
                  description "Session Name";
                }
    
                leaf interface {
                  type xr:Interface-name;
                  description "Interface";
                }
    
                leaf rx-packets-mirrored {
                  type uint64;
                  description
                    "RX Packets Mirrored";
                }
    
                leaf rx-octets-mirrored {
                  type uint64;
                  description
                    "RX Octets Mirrored";
                }
    
                leaf tx-packets-mirrored {
                  type uint64;
                  description
                    "TX Packets Mirrored";
                }
    
                leaf tx-octets-mirrored {
                  type uint64;
                  description
                    "TX Octets Mirrored";
                }
    
                leaf packets-not-mirrored {
                  type uint64;
                  description
                    "Packets Not Mirrored";
                }
    
                leaf octets-not-mirrored {
                  type uint64;
                  description
                    "Octets Not Mirrored";
                }
              }  // list statistic
            }  // container statistics
    
            container global-sessions {
              description
                "Global Monitor Sessions table";
              list global-session {
                key "session";
                description
                  "Information about a globally-configured
    monitor session";
                leaf session {
                  type dt1:Span-session-name;
                  description "Session Name";
                }
    
                container destination-data {
                  description "Destination data";
                  container interface-data {
                    when
                      "../destination-class = 'interface-class'" {
                      description
                        "../DestinationClass = 'InterfaceClass'";
                    }
                    description "Interface data";
                    leaf interface-name {
                      type Destination-name-string;
                      description
                        "Interface Name";
                    }
    
                    leaf interface-state {
                      type Im-state-enum;
                      description
                        "Interface State";
                    }
                  }  // container interface-data
    
                  container pseudowire-data {
                    when
                      "../destination-class = 'pseudowire-class'" {
                      description
                        "../DestinationClass = 'PseudowireClass'";
                    }
                    description
                      "Pseudowire data";
                    leaf pseudowire-name {
                      type Destination-name-string;
                      description
                        "Pseudowire Name";
                    }
    
                    leaf pseudowire-is-up {
                      type boolean;
                      description
                        "Pseudowire State";
                    }
                  }  // container pseudowire-data
    
                  container next-hop-ipv4-data {
                    when
                      "../destination-class = 'next-hop-ipv4-class'" {
                      description
                        "../DestinationClass = 'NextHopIPv4Class'";
                    }
                    description
                      "Next-hop IPv4 data";
                    leaf ipv4-address {
                      type inet:ipv4-address;
                      description "IPv4 address";
                    }
    
                    leaf vrf-name {
                      type Destination-name-string;
                      description "VRF name";
                    }
    
                    leaf address-is-reachable {
                      type boolean;
                      description
                        "Address is reachable";
                    }
                  }  // container next-hop-ipv4-data
    
                  container next-hop-ipv6-data {
                    when
                      "../destination-class = 'next-hop-ipv6-class'" {
                      description
                        "../DestinationClass = 'NextHopIPv6Class'";
                    }
                    description
                      "Next-hop IPv6 data";
                    leaf ipv6-address {
                      type inet:ipv6-address;
                      description "IPv6 address";
                    }
    
                    leaf vrf-name {
                      type Destination-name-string;
                      description "VRF name";
                    }
    
                    leaf address-is-reachable {
                      type boolean;
                      description
                        "Address is reachable";
                    }
                  }  // container next-hop-ipv6-data
    
                  container file-data {
                    when
                      "../destination-class = 'file-class'" {
                      description
                        "../DestinationClass = 'FileClass'";
                    }
                    description "File data";
                    leaf file-session-id {
                      type uint32;
                      description
                        "File Session ID";
                    }
    
                    leaf buffer-size {
                      type uint32;
                      description "Buffer Size";
                    }
    
                    leaf buffer-type {
                      type Buffer;
                      description "Buffer Type";
                    }
    
                    leaf format {
                      type File-format;
                      description "File Format";
                    }
    
                    leaf filter {
                      type string;
                      description "Pcap filter";
                    }
                  }  // container file-data
    
                  container udp-data {
                    when
                      "../destination-class = 'udp-class'" {
                      description
                        "../DestinationClass = 'UDPClass'";
                    }
                    description "UDP data";
                    container ip-addresses {
                      description "IP Addresses";
                      container ipv4 {
                        when
                          "../address-type = 'ipv4'" {
                          description
                            "../AddressType = 'IPv4'";
                        }
                        description
                          "IPv4 Address";
                        leaf source-ipv4-address {
                          type inet:ipv4-address;
                          description
                            "Source IPv4 Address";
                        }
    
                        leaf destination-ipv4-address {
                          type inet:ipv4-address;
                          description
                            "Destination IPv4 Address";
                        }
                      }  // container ipv4
    
                      container ipv6 {
                        when
                          "../address-type = 'ipv6'" {
                          description
                            "../AddressType = 'IPv6'";
                        }
                        description
                          "IPv6 Address";
                        leaf source-ipv6-address {
                          type inet:ipv6-address;
                          description
                            "Source IPv6 Address";
                        }
    
                        leaf destination-ipv6-address {
                          type inet:ipv6-address;
                          description
                            "Destination IPv6 Address";
                        }
                      }  // container ipv6
    
                      leaf address-type {
                        type Udp-address;
                        description
                          "AddressType";
                      }
                    }  // container ip-addresses
    
                    leaf source-port {
                      type uint32;
                      description "Source Port";
                    }
    
                    leaf destination-port {
                      type uint32;
                      description
                        "Destination Port";
                    }
    
                    leaf vrfid {
                      type string;
                      description "VRF ID";
                    }
    
                    leaf vrf-name {
                      type string;
                      description "VRF Name";
                    }
                  }  // container udp-data
    
                  container bundle-data {
                    when
                      "../destination-class = 'bundle-class'" {
                      description
                        "../DestinationClass = 'BundleClass'";
                    }
                    description "Bundle data";
                    leaf bundle-name {
                      type Destination-name-string;
                      description "Bundle Name";
                    }
    
                    leaf bundle-state {
                      type Im-state-enum;
                      description "Bundle State";
                    }
                  }  // container bundle-data
    
                  leaf destination-class {
                    type Destination-class;
                    description
                      "DestinationClass";
                  }
    
                  leaf invalid-value {
                    when
                      "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                      description
                        "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                    }
                    type Optional-value;
                    description
                      "Invalid Parameter";
                  }
                }  // container destination-data
    
                container destination-id {
                  description "Destination ID";
                  container ipv4-address-and-vrf {
                    when
                      "../destination-class = 'next-hop-ipv4-class'" {
                      description
                        "../DestinationClass = 'NextHopIPv4Class'";
                    }
                    description "IPv4 address";
                    leaf ipv4-address {
                      type inet:ipv4-address;
                      description "IPv4 address";
                    }
    
                    leaf vrf-name {
                      type string;
                      description "VRF";
                    }
                  }  // container ipv4-address-and-vrf
    
                  container ipv6-address-and-vrf {
                    when
                      "../destination-class = 'next-hop-ipv6-class'" {
                      description
                        "../DestinationClass = 'NextHopIPv6Class'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type inet:ipv6-address;
                      description "IPv6 address";
                    }
    
                    leaf vrf-name {
                      type string;
                      description "VRF";
                    }
                  }  // container ipv6-address-and-vrf
    
                  container file-session-id {
                    when
                      "../destination-class = 'file-class'" {
                      description
                        "../DestinationClass = 'FileClass'";
                    }
                    description
                      "File Session ID";
                    leaf file-session-id {
                      type uint32;
                      description
                        "File Session ID";
                    }
    
                    leaf buffer-size {
                      type uint32;
                      description "Buffer Size";
                    }
    
                    leaf buffer-type {
                      type Buffer;
                      description "Buffer Type";
                    }
    
                    leaf format {
                      type File-format;
                      description "File Format";
                    }
    
                    leaf filter {
                      type string;
                      description "Pcap filter";
                    }
                  }  // container file-session-id
    
                  container udp-config {
                    when
                      "../destination-class = 'udp-class'" {
                      description
                        "../DestinationClass = 'UDPClass'";
                    }
                    description "UDP config";
                    container ip-addresses {
                      description "IP Addresses";
                      container ipv4 {
                        when
                          "../address-type = 'ipv4'" {
                          description
                            "../AddressType = 'IPv4'";
                        }
                        description
                          "IPv4 Address";
                        leaf source-ipv4-address {
                          type inet:ipv4-address;
                          description
                            "Source IPv4 Address";
                        }
    
                        leaf destination-ipv4-address {
                          type inet:ipv4-address;
                          description
                            "Destination IPv4 Address";
                        }
                      }  // container ipv4
    
                      container ipv6 {
                        when
                          "../address-type = 'ipv6'" {
                          description
                            "../AddressType = 'IPv6'";
                        }
                        description
                          "IPv6 Address";
                        leaf source-ipv6-address {
                          type inet:ipv6-address;
                          description
                            "Source IPv6 Address";
                        }
    
                        leaf destination-ipv6-address {
                          type inet:ipv6-address;
                          description
                            "Destination IPv6 Address";
                        }
                      }  // container ipv6
    
                      leaf address-type {
                        type Udp-address;
                        description
                          "AddressType";
                      }
                    }  // container ip-addresses
    
                    leaf source-port {
                      type uint32;
                      description "Source Port";
                    }
    
                    leaf destination-port {
                      type uint32;
                      description
                        "Destination Port";
                    }
    
                    leaf vrfid {
                      type string;
                      description "VRF ID";
                    }
    
                    leaf vrf-name {
                      type string;
                      description "VRF Name";
                    }
                  }  // container udp-config
    
                  container bundle-config {
                    when
                      "../destination-class = 'bundle-class'" {
                      description
                        "../DestinationClass = 'BundleClass'";
                    }
                    description "Bundle config";
                    leaf bundle-handle {
                      type xr:Interface-name;
                      description
                        "Bundle interface handle";
                    }
    
                    leaf member-count {
                      type uint32;
                      description
                        "Bundle member count";
                    }
    
                    leaf-list member-handle {
                      type xr:Interface-name;
                      description
                        "Bundle member interface handles";
                    }
                  }  // container bundle-config
    
                  leaf destination-class {
                    type Destination-class;
                    description
                      "DestinationClass";
                  }
    
                  leaf interface {
                    when
                      "../destination-class = 'interface-class'" {
                      description
                        "../DestinationClass = 'InterfaceClass'";
                    }
                    type xr:Interface-name;
                    description
                      "Interface Handle";
                  }
    
                  leaf pseudowire-id {
                    when
                      "../destination-class = 'pseudowire-class'" {
                      description
                        "../DestinationClass = 'PseudowireClass'";
                    }
                    type Optional-value;
                    description
                      "Pseudowire XCID";
                  }
    
                  leaf invalid-value {
                    when
                      "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                      description
                        "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                    }
                    type Optional-value;
                    description
                      "Invalid Parameter";
                  }
                }  // container destination-id
    
                container rx-destination-info {
                  description
                    "Rx Destination Info";
                  container destination-data {
                    description
                      "Destination data";
                    container interface-data {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      description
                        "Interface data";
                      leaf interface-name {
                        type Destination-name-string;
                        description
                          "Interface Name";
                      }
    
                      leaf interface-state {
                        type Im-state-enum;
                        description
                          "Interface State";
                      }
                    }  // container interface-data
    
                    container pseudowire-data {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      description
                        "Pseudowire data";
                      leaf pseudowire-name {
                        type Destination-name-string;
                        description
                          "Pseudowire Name";
                      }
    
                      leaf pseudowire-is-up {
                        type boolean;
                        description
                          "Pseudowire State";
                      }
                    }  // container pseudowire-data
    
                    container next-hop-ipv4-data {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description
                        "Next-hop IPv4 data";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type Destination-name-string;
                        description "VRF name";
                      }
    
                      leaf address-is-reachable {
                        type boolean;
                        description
                          "Address is reachable";
                      }
                    }  // container next-hop-ipv4-data
    
                    container next-hop-ipv6-data {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description
                        "Next-hop IPv6 data";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type Destination-name-string;
                        description "VRF name";
                      }
    
                      leaf address-is-reachable {
                        type boolean;
                        description
                          "Address is reachable";
                      }
                    }  // container next-hop-ipv6-data
    
                    container file-data {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description "File data";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-data
    
                    container udp-data {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP data";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-data
    
                    container bundle-data {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description "Bundle data";
                      leaf bundle-name {
                        type Destination-name-string;
                        description
                          "Bundle Name";
                      }
    
                      leaf bundle-state {
                        type Im-state-enum;
                        description
                          "Bundle State";
                      }
                    }  // container bundle-data
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-data
    
                  container destination-id {
                    description "Destination ID";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-id
    
                  leaf destination-error {
                    type uint32;
                    description
                      "Last error observed for the destination ";
                  }
                }  // container rx-destination-info
    
                container tx-destination-info {
                  description
                    "Tx Destination Info";
                  container destination-data {
                    description
                      "Destination data";
                    container interface-data {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      description
                        "Interface data";
                      leaf interface-name {
                        type Destination-name-string;
                        description
                          "Interface Name";
                      }
    
                      leaf interface-state {
                        type Im-state-enum;
                        description
                          "Interface State";
                      }
                    }  // container interface-data
    
                    container pseudowire-data {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      description
                        "Pseudowire data";
                      leaf pseudowire-name {
                        type Destination-name-string;
                        description
                          "Pseudowire Name";
                      }
    
                      leaf pseudowire-is-up {
                        type boolean;
                        description
                          "Pseudowire State";
                      }
                    }  // container pseudowire-data
    
                    container next-hop-ipv4-data {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description
                        "Next-hop IPv4 data";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type Destination-name-string;
                        description "VRF name";
                      }
    
                      leaf address-is-reachable {
                        type boolean;
                        description
                          "Address is reachable";
                      }
                    }  // container next-hop-ipv4-data
    
                    container next-hop-ipv6-data {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description
                        "Next-hop IPv6 data";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type Destination-name-string;
                        description "VRF name";
                      }
    
                      leaf address-is-reachable {
                        type boolean;
                        description
                          "Address is reachable";
                      }
                    }  // container next-hop-ipv6-data
    
                    container file-data {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description "File data";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-data
    
                    container udp-data {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP data";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-data
    
                    container bundle-data {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description "Bundle data";
                      leaf bundle-name {
                        type Destination-name-string;
                        description
                          "Bundle Name";
                      }
    
                      leaf bundle-state {
                        type Im-state-enum;
                        description
                          "Bundle State";
                      }
                    }  // container bundle-data
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-data
    
                  container destination-id {
                    description "Destination ID";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-id
    
                  leaf destination-error {
                    type uint32;
                    description
                      "Last error observed for the destination ";
                  }
                }  // container tx-destination-info
    
                container inject-interface {
                  description
                    "Inject interface data";
                  leaf name {
                    type string;
                    description "Interface Name";
                  }
                }  // container inject-interface
    
                container file-information {
                  description
                    "Extra information relating to SPAN to file";
                  leaf is-active {
                    type boolean;
                    description
                      "Is Packet Collection Active";
                  }
    
                  leaf file-name {
                    type string;
                    description "File Name";
                  }
    
                  leaf directory-name {
                    type string;
                    description "Directory Name";
                  }
                }  // container file-information
    
                container cloud-span {
                  description
                    "Properties related to CloudSPAN";
                  leaf enabled {
                    type boolean;
                    description "enabled";
                  }
                }  // container cloud-span
    
                leaf name {
                  type string;
                  description "Session Name";
                }
    
                leaf session-class {
                  type Session-class;
                  description "Session class";
                }
    
                leaf id {
                  type uint32;
                  description
                    "Numerical ID assigned to session";
                }
    
                leaf destination-error {
                  type uint32;
                  description
                    "Last error observed for the destination ";
                }
    
                leaf separate-destinations {
                  type boolean;
                  description
                    "Separate Destinations";
                }
    
                leaf destination-interface-name {
                  type string;
                  description
                    "Destination interface name (deprecated by
    DestinationData, invalid for pseudowires)";
                }
    
                leaf destination-interface-handle {
                  type xr:Interface-name;
                  description
                    "Destination interface handle (deprecated by
    DestinationID, invalid for pseudowires)";
                }
    
                leaf interface-error {
                  type uint32;
                  description
                    "Last error observed for the destination
    interface (deprecated by DestinationError)";
                }
              }  // list global-session
            }  // container global-sessions
          }  // container global
    
          container nodes {
            description
              "Node table for node-specific operational data";
            list node {
              key "node";
              description
                "Node-specific data for a particular node";
              container attachments {
                description
                  "Table of source interfaces configured as
    attached to a session";
                list attachment {
                  key "session interface";
                  description
                    "Information about a particular source
    interface configured as attached to monitor
    session";
                  leaf session {
                    type dt1:Span-session-name;
                    description "Session Name";
                  }
    
                  leaf interface {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  container traffic-parameters {
                    description
                      "Traffic mirroring parameters";
                    leaf traffic-direction {
                      type Traffic-direction;
                      description "Direction";
                    }
    
                    leaf port-level {
                      type boolean;
                      description
                        "Port level mirroring";
                    }
    
                    leaf is-acl-enabled {
                      type boolean;
                      description "ACL enabled";
                    }
    
                    leaf is-ipv4acl-enabled {
                      type boolean;
                      description
                        "IPv4 ACL enabled";
                    }
    
                    leaf is-ipv6acl-enabled {
                      type boolean;
                      description
                        "IPv6 ACL enabled";
                    }
    
                    leaf mirror-bytes {
                      type Optional-value;
                      units "byte";
                      description
                        "Number of bytes to mirror";
                    }
    
                    leaf mirror-interval {
                      type Mirror-interval;
                      description
                        "Interval between mirrored packets";
                    }
    
                    leaf acl-name {
                      type string;
                      description "ACL name";
                    }
    
                    leaf ipv4acl-name {
                      type string;
                      description
                        "IPv4 ACL name";
                    }
    
                    leaf ipv6acl-name {
                      type string;
                      description
                        "IPv6 ACL name";
                    }
    
                    leaf is-drops-enabled {
                      type boolean;
                      description
                        "Mirroring dropped packets";
                    }
                  }  // container traffic-parameters
    
                  container destination-id {
                    description "Destination ID";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-id
    
                  container rx-destination-info {
                    description
                      "Rx Destination Info";
                    container destination-id {
                      description
                        "Destination ID";
                      container ipv4-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv4-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv4Class'";
                        }
                        description
                          "IPv4 address";
                        leaf ipv4-address {
                          type inet:ipv4-address;
                          description
                            "IPv4 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv4-address-and-vrf
    
                      container ipv6-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv6-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv6Class'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type inet:ipv6-address;
                          description
                            "IPv6 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv6-address-and-vrf
    
                      container file-session-id {
                        when
                          "../destination-class = 'file-class'" {
                          description
                            "../DestinationClass = 'FileClass'";
                        }
                        description
                          "File Session ID";
                        leaf file-session-id {
                          type uint32;
                          description
                            "File Session ID";
                        }
    
                        leaf buffer-size {
                          type uint32;
                          description
                            "Buffer Size";
                        }
    
                        leaf buffer-type {
                          type Buffer;
                          description
                            "Buffer Type";
                        }
    
                        leaf format {
                          type File-format;
                          description
                            "File Format";
                        }
    
                        leaf filter {
                          type string;
                          description
                            "Pcap filter";
                        }
                      }  // container file-session-id
    
                      container udp-config {
                        when
                          "../destination-class = 'udp-class'" {
                          description
                            "../DestinationClass = 'UDPClass'";
                        }
                        description "UDP config";
                        container ip-addresses {
                          description
                            "IP Addresses";
                          container ipv4 {
                            when
                              "../address-type = 'ipv4'" {
                              description
                                "../AddressType = 'IPv4'";
                            }
                            description
                              "IPv4 Address";
                            leaf source-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Source IPv4 Address";
                            }
    
                            leaf destination-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Destination IPv4 Address";
                            }
                          }  // container ipv4
    
                          container ipv6 {
                            when
                              "../address-type = 'ipv6'" {
                              description
                                "../AddressType = 'IPv6'";
                            }
                            description
                              "IPv6 Address";
                            leaf source-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Source IPv6 Address";
                            }
    
                            leaf destination-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Destination IPv6 Address";
                            }
                          }  // container ipv6
    
                          leaf address-type {
                            type Udp-address;
                            description
                              "AddressType";
                          }
                        }  // container ip-addresses
    
                        leaf source-port {
                          type uint32;
                          description
                            "Source Port";
                        }
    
                        leaf destination-port {
                          type uint32;
                          description
                            "Destination Port";
                        }
    
                        leaf vrfid {
                          type string;
                          description "VRF ID";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF Name";
                        }
                      }  // container udp-config
    
                      container bundle-config {
                        when
                          "../destination-class = 'bundle-class'" {
                          description
                            "../DestinationClass = 'BundleClass'";
                        }
                        description
                          "Bundle config";
                        leaf bundle-handle {
                          type xr:Interface-name;
                          description
                            "Bundle interface handle";
                        }
    
                        leaf member-count {
                          type uint32;
                          description
                            "Bundle member count";
                        }
    
                        leaf-list member-handle {
                          type xr:Interface-name;
                          description
                            "Bundle member interface handles";
                        }
                      }  // container bundle-config
    
                      leaf destination-class {
                        type Destination-class;
                        description
                          "DestinationClass";
                      }
    
                      leaf interface {
                        when
                          "../destination-class = 'interface-class'" {
                          description
                            "../DestinationClass = 'InterfaceClass'";
                        }
                        type xr:Interface-name;
                        description
                          "Interface Handle";
                      }
    
                      leaf pseudowire-id {
                        when
                          "../destination-class = 'pseudowire-class'" {
                          description
                            "../DestinationClass = 'PseudowireClass'";
                        }
                        type Optional-value;
                        description
                          "Pseudowire XCID";
                      }
    
                      leaf invalid-value {
                        when
                          "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                          description
                            "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                        }
                        type Optional-value;
                        description
                          "Invalid Parameter";
                      }
                    }  // container destination-id
    
                    leaf dest-pw-type-not-supported {
                      type boolean;
                      description
                        "The destination PW type is not supported";
                    }
                  }  // container rx-destination-info
    
                  container tx-destination-info {
                    description
                      "Tx Destination Info";
                    container destination-id {
                      description
                        "Destination ID";
                      container ipv4-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv4-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv4Class'";
                        }
                        description
                          "IPv4 address";
                        leaf ipv4-address {
                          type inet:ipv4-address;
                          description
                            "IPv4 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv4-address-and-vrf
    
                      container ipv6-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv6-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv6Class'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type inet:ipv6-address;
                          description
                            "IPv6 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv6-address-and-vrf
    
                      container file-session-id {
                        when
                          "../destination-class = 'file-class'" {
                          description
                            "../DestinationClass = 'FileClass'";
                        }
                        description
                          "File Session ID";
                        leaf file-session-id {
                          type uint32;
                          description
                            "File Session ID";
                        }
    
                        leaf buffer-size {
                          type uint32;
                          description
                            "Buffer Size";
                        }
    
                        leaf buffer-type {
                          type Buffer;
                          description
                            "Buffer Type";
                        }
    
                        leaf format {
                          type File-format;
                          description
                            "File Format";
                        }
    
                        leaf filter {
                          type string;
                          description
                            "Pcap filter";
                        }
                      }  // container file-session-id
    
                      container udp-config {
                        when
                          "../destination-class = 'udp-class'" {
                          description
                            "../DestinationClass = 'UDPClass'";
                        }
                        description "UDP config";
                        container ip-addresses {
                          description
                            "IP Addresses";
                          container ipv4 {
                            when
                              "../address-type = 'ipv4'" {
                              description
                                "../AddressType = 'IPv4'";
                            }
                            description
                              "IPv4 Address";
                            leaf source-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Source IPv4 Address";
                            }
    
                            leaf destination-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Destination IPv4 Address";
                            }
                          }  // container ipv4
    
                          container ipv6 {
                            when
                              "../address-type = 'ipv6'" {
                              description
                                "../AddressType = 'IPv6'";
                            }
                            description
                              "IPv6 Address";
                            leaf source-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Source IPv6 Address";
                            }
    
                            leaf destination-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Destination IPv6 Address";
                            }
                          }  // container ipv6
    
                          leaf address-type {
                            type Udp-address;
                            description
                              "AddressType";
                          }
                        }  // container ip-addresses
    
                        leaf source-port {
                          type uint32;
                          description
                            "Source Port";
                        }
    
                        leaf destination-port {
                          type uint32;
                          description
                            "Destination Port";
                        }
    
                        leaf vrfid {
                          type string;
                          description "VRF ID";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF Name";
                        }
                      }  // container udp-config
    
                      container bundle-config {
                        when
                          "../destination-class = 'bundle-class'" {
                          description
                            "../DestinationClass = 'BundleClass'";
                        }
                        description
                          "Bundle config";
                        leaf bundle-handle {
                          type xr:Interface-name;
                          description
                            "Bundle interface handle";
                        }
    
                        leaf member-count {
                          type uint32;
                          description
                            "Bundle member count";
                        }
    
                        leaf-list member-handle {
                          type xr:Interface-name;
                          description
                            "Bundle member interface handles";
                        }
                      }  // container bundle-config
    
                      leaf destination-class {
                        type Destination-class;
                        description
                          "DestinationClass";
                      }
    
                      leaf interface {
                        when
                          "../destination-class = 'interface-class'" {
                          description
                            "../DestinationClass = 'InterfaceClass'";
                        }
                        type xr:Interface-name;
                        description
                          "Interface Handle";
                      }
    
                      leaf pseudowire-id {
                        when
                          "../destination-class = 'pseudowire-class'" {
                          description
                            "../DestinationClass = 'PseudowireClass'";
                        }
                        type Optional-value;
                        description
                          "Pseudowire XCID";
                      }
    
                      leaf invalid-value {
                        when
                          "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                          description
                            "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                        }
                        type Optional-value;
                        description
                          "Invalid Parameter";
                      }
                    }  // container destination-id
    
                    leaf dest-pw-type-not-supported {
                      type boolean;
                      description
                        "The destination PW type is not supported";
                    }
                  }  // container tx-destination-info
    
                  leaf name {
                    type string;
                    description "Session Name";
                  }
    
                  leaf local-class {
                    type Session-class;
                    description
                      "Local attachment class";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "Numerical ID assigned to session";
                  }
    
                  leaf separate-destinations {
                    type boolean;
                    description
                      "Separate Destinations";
                  }
    
                  leaf global-class {
                    type Session-class;
                    description
                      "Global session class";
                  }
    
                  leaf session-is-configured {
                    type boolean;
                    description
                      "The Session is configured globally";
                  }
    
                  leaf source-interface {
                    type xr:Interface-name;
                    description
                      "Source interface";
                  }
    
                  leaf source-interface-state {
                    type Im-state-enum;
                    description
                      "Source interface state";
                  }
    
                  leaf pfi-error {
                    type uint32;
                    description
                      "Last error returned from PFI for this interface";
                  }
    
                  leaf dest-pw-type-not-supported {
                    type boolean;
                    description
                      "The destination PW type is not supported";
                  }
    
                  leaf source-interface-is-a-destination {
                    type boolean;
                    description
                      "This source interface is a destination for
    another monitor-session";
                  }
    
                  leaf destination-interface {
                    type xr:Interface-name;
                    description
                      "Destination interface (deprecated by
    DestinationID, invalid for pseudowires)";
                  }
    
                  leaf traffic-direction {
                    type Traffic-direction;
                    description
                      "Traffic mirroring direction (deprecated by
    TrafficParameters)";
                  }
                }  // list attachment
              }  // container attachments
    
              container hardware-sessions {
                description
                  "Table of sessions set up in the hardware.
    When all sessions are operating correctly the
    entries in this table should match those
    entries in GlobalSessionTable that have a
    destination configured";
                list hardware-session {
                  description
                    "Information about a particular session that
    is set up in the hardware";
                  leaf session-class {
                    type dt1:Span-session-class;
                    description "Sesssion class";
                  }
    
                  leaf session-id {
                    type dt1:Span-session-id;
                    description "Session ID";
                  }
    
                  container destination-id {
                    description "Destination ID";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-id
    
                  container rx-destination-id {
                    description "Destination ID";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container rx-destination-id
    
                  container tx-destination-id {
                    description "Destination ID";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container tx-destination-id
    
                  container file-information {
                    description
                      "Extra information relating to SPAN to file";
                    leaf is-active {
                      type boolean;
                      description
                        "Is Packet Collection Active";
                    }
    
                    leaf file-name {
                      type string;
                      description "File Name";
                    }
    
                    leaf directory-name {
                      type string;
                      description
                        "Directory Name";
                    }
                  }  // container file-information
    
                  leaf id {
                    type uint32;
                    description
                      "Assigned numerical ID for this session";
                  }
    
                  leaf name {
                    type string;
                    description
                      "Configured Session Name";
                  }
    
                  leaf session-class-xr {
                    type Session-class;
                    description "Session class";
                  }
    
                  leaf destination-interface {
                    type xr:Interface-name;
                    description
                      "Destination interface (deprecated by
    DestinationID, invalid for pseudowires)";
                  }
    
                  leaf separate-destinations {
                    type boolean;
                    description
                      "Separate Destinations";
                  }
    
                  leaf platform-error {
                    type uint32;
                    description
                      "Last error observed for this session while
    programming the hardware";
                  }
    
                  leaf inject-interface-ifh {
                    type xr:Interface-name;
                    description
                      "Inject Interface ifhandle";
                  }
    
                  leaf inject-interface-mac {
                    type Mac-address;
                    description
                      "Inject Interface MAC address";
                  }
    
                  leaf inject-interface-invalid {
                    type boolean;
                    description
                      "An inject interface is flagged as invalid on a
    particular node if the interface exists on that
    node, and there is no attachment interface
    config for it";
                  }
                }  // list hardware-session
              }  // container hardware-sessions
    
              container interfaces {
                description
                  "Table of source interfaces set up in the
    hardware.  The entries in this table should
    match the entries in AttachmentTable when all
    sessions are operating correctly";
                list interface {
                  key "interface";
                  description
                    "Information about a particular interface that
    is set up in the hardware";
                  leaf interface {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  container destination-id {
                    description
                      "Destination ID (deprecated by Attachment)";
                    container ipv4-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv4-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv4Class'";
                      }
                      description "IPv4 address";
                      leaf ipv4-address {
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv4-address-and-vrf
    
                    container ipv6-address-and-vrf {
                      when
                        "../destination-class = 'next-hop-ipv6-class'" {
                        description
                          "../DestinationClass = 'NextHopIPv6Class'";
                      }
                      description "IPv6 address";
                      leaf ipv6-address {
                        type inet:ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF";
                      }
                    }  // container ipv6-address-and-vrf
    
                    container file-session-id {
                      when
                        "../destination-class = 'file-class'" {
                        description
                          "../DestinationClass = 'FileClass'";
                      }
                      description
                        "File Session ID";
                      leaf file-session-id {
                        type uint32;
                        description
                          "File Session ID";
                      }
    
                      leaf buffer-size {
                        type uint32;
                        description
                          "Buffer Size";
                      }
    
                      leaf buffer-type {
                        type Buffer;
                        description
                          "Buffer Type";
                      }
    
                      leaf format {
                        type File-format;
                        description
                          "File Format";
                      }
    
                      leaf filter {
                        type string;
                        description
                          "Pcap filter";
                      }
                    }  // container file-session-id
    
                    container udp-config {
                      when
                        "../destination-class = 'udp-class'" {
                        description
                          "../DestinationClass = 'UDPClass'";
                      }
                      description "UDP config";
                      container ip-addresses {
                        description
                          "IP Addresses";
                        container ipv4 {
                          when
                            "../address-type = 'ipv4'" {
                            description
                              "../AddressType = 'IPv4'";
                          }
                          description
                            "IPv4 Address";
                          leaf source-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Source IPv4 Address";
                          }
    
                          leaf destination-ipv4-address {
                            type inet:ipv4-address;
                            description
                              "Destination IPv4 Address";
                          }
                        }  // container ipv4
    
                        container ipv6 {
                          when
                            "../address-type = 'ipv6'" {
                            description
                              "../AddressType = 'IPv6'";
                          }
                          description
                            "IPv6 Address";
                          leaf source-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Source IPv6 Address";
                          }
    
                          leaf destination-ipv6-address {
                            type inet:ipv6-address;
                            description
                              "Destination IPv6 Address";
                          }
                        }  // container ipv6
    
                        leaf address-type {
                          type Udp-address;
                          description
                            "AddressType";
                        }
                      }  // container ip-addresses
    
                      leaf source-port {
                        type uint32;
                        description
                          "Source Port";
                      }
    
                      leaf destination-port {
                        type uint32;
                        description
                          "Destination Port";
                      }
    
                      leaf vrfid {
                        type string;
                        description "VRF ID";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF Name";
                      }
                    }  // container udp-config
    
                    container bundle-config {
                      when
                        "../destination-class = 'bundle-class'" {
                        description
                          "../DestinationClass = 'BundleClass'";
                      }
                      description
                        "Bundle config";
                      leaf bundle-handle {
                        type xr:Interface-name;
                        description
                          "Bundle interface handle";
                      }
    
                      leaf member-count {
                        type uint32;
                        description
                          "Bundle member count";
                      }
    
                      leaf-list member-handle {
                        type xr:Interface-name;
                        description
                          "Bundle member interface handles";
                      }
                    }  // container bundle-config
    
                    leaf destination-class {
                      type Destination-class;
                      description
                        "DestinationClass";
                    }
    
                    leaf interface {
                      when
                        "../destination-class = 'interface-class'" {
                        description
                          "../DestinationClass = 'InterfaceClass'";
                      }
                      type xr:Interface-name;
                      description
                        "Interface Handle";
                    }
    
                    leaf pseudowire-id {
                      when
                        "../destination-class = 'pseudowire-class'" {
                        description
                          "../DestinationClass = 'PseudowireClass'";
                      }
                      type Optional-value;
                      description
                        "Pseudowire XCID";
                    }
    
                    leaf invalid-value {
                      when
                        "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                        description
                          "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                      }
                      type Optional-value;
                      description
                        "Invalid Parameter";
                    }
                  }  // container destination-id
    
                  container traffic-mirroring-parameters {
                    description
                      "Traffic mirroring parameters (deprecated by
    Attachment)";
                    leaf traffic-direction {
                      type Traffic-direction;
                      description "Direction";
                    }
    
                    leaf port-level {
                      type boolean;
                      description
                        "Port level mirroring";
                    }
    
                    leaf is-acl-enabled {
                      type boolean;
                      description "ACL enabled";
                    }
    
                    leaf is-ipv4acl-enabled {
                      type boolean;
                      description
                        "IPv4 ACL enabled";
                    }
    
                    leaf is-ipv6acl-enabled {
                      type boolean;
                      description
                        "IPv6 ACL enabled";
                    }
    
                    leaf mirror-bytes {
                      type Optional-value;
                      units "byte";
                      description
                        "Number of bytes to mirror";
                    }
    
                    leaf mirror-interval {
                      type Mirror-interval;
                      description
                        "Interval between mirrored packets";
                    }
    
                    leaf acl-name {
                      type string;
                      description "ACL name";
                    }
    
                    leaf ipv4acl-name {
                      type string;
                      description
                        "IPv4 ACL name";
                    }
    
                    leaf ipv6acl-name {
                      type string;
                      description
                        "IPv6 ACL name";
                    }
    
                    leaf is-drops-enabled {
                      type boolean;
                      description
                        "Mirroring dropped packets";
                    }
                  }  // container traffic-mirroring-parameters
    
                  leaf source-interface {
                    type xr:Interface-name;
                    description
                      "Source interface";
                  }
    
                  leaf platform-error {
                    type uint32;
                    description
                      "Last error observed for this interface while
    programming the hardware";
                  }
    
                  leaf destination-interface {
                    type xr:Interface-name;
                    description
                      "Destination interface (deprecated by Attachment)";
                  }
    
                  leaf traffic-direction {
                    type Traffic-direction;
                    description
                      "Traffic mirroring direction (deprecated by
    Attachment)";
                  }
    
                  list attachment {
                    description
                      "Attachment information";
                    container destination-id {
                      description
                        "Destination ID";
                      container ipv4-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv4-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv4Class'";
                        }
                        description
                          "IPv4 address";
                        leaf ipv4-address {
                          type inet:ipv4-address;
                          description
                            "IPv4 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv4-address-and-vrf
    
                      container ipv6-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv6-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv6Class'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type inet:ipv6-address;
                          description
                            "IPv6 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv6-address-and-vrf
    
                      container file-session-id {
                        when
                          "../destination-class = 'file-class'" {
                          description
                            "../DestinationClass = 'FileClass'";
                        }
                        description
                          "File Session ID";
                        leaf file-session-id {
                          type uint32;
                          description
                            "File Session ID";
                        }
    
                        leaf buffer-size {
                          type uint32;
                          description
                            "Buffer Size";
                        }
    
                        leaf buffer-type {
                          type Buffer;
                          description
                            "Buffer Type";
                        }
    
                        leaf format {
                          type File-format;
                          description
                            "File Format";
                        }
    
                        leaf filter {
                          type string;
                          description
                            "Pcap filter";
                        }
                      }  // container file-session-id
    
                      container udp-config {
                        when
                          "../destination-class = 'udp-class'" {
                          description
                            "../DestinationClass = 'UDPClass'";
                        }
                        description "UDP config";
                        container ip-addresses {
                          description
                            "IP Addresses";
                          container ipv4 {
                            when
                              "../address-type = 'ipv4'" {
                              description
                                "../AddressType = 'IPv4'";
                            }
                            description
                              "IPv4 Address";
                            leaf source-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Source IPv4 Address";
                            }
    
                            leaf destination-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Destination IPv4 Address";
                            }
                          }  // container ipv4
    
                          container ipv6 {
                            when
                              "../address-type = 'ipv6'" {
                              description
                                "../AddressType = 'IPv6'";
                            }
                            description
                              "IPv6 Address";
                            leaf source-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Source IPv6 Address";
                            }
    
                            leaf destination-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Destination IPv6 Address";
                            }
                          }  // container ipv6
    
                          leaf address-type {
                            type Udp-address;
                            description
                              "AddressType";
                          }
                        }  // container ip-addresses
    
                        leaf source-port {
                          type uint32;
                          description
                            "Source Port";
                        }
    
                        leaf destination-port {
                          type uint32;
                          description
                            "Destination Port";
                        }
    
                        leaf vrfid {
                          type string;
                          description "VRF ID";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF Name";
                        }
                      }  // container udp-config
    
                      container bundle-config {
                        when
                          "../destination-class = 'bundle-class'" {
                          description
                            "../DestinationClass = 'BundleClass'";
                        }
                        description
                          "Bundle config";
                        leaf bundle-handle {
                          type xr:Interface-name;
                          description
                            "Bundle interface handle";
                        }
    
                        leaf member-count {
                          type uint32;
                          description
                            "Bundle member count";
                        }
    
                        leaf-list member-handle {
                          type xr:Interface-name;
                          description
                            "Bundle member interface handles";
                        }
                      }  // container bundle-config
    
                      leaf destination-class {
                        type Destination-class;
                        description
                          "DestinationClass";
                      }
    
                      leaf interface {
                        when
                          "../destination-class = 'interface-class'" {
                          description
                            "../DestinationClass = 'InterfaceClass'";
                        }
                        type xr:Interface-name;
                        description
                          "Interface Handle";
                      }
    
                      leaf pseudowire-id {
                        when
                          "../destination-class = 'pseudowire-class'" {
                          description
                            "../DestinationClass = 'PseudowireClass'";
                        }
                        type Optional-value;
                        description
                          "Pseudowire XCID";
                      }
    
                      leaf invalid-value {
                        when
                          "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                          description
                            "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                        }
                        type Optional-value;
                        description
                          "Invalid Parameter";
                      }
                    }  // container destination-id
    
                    container rx-destination-id {
                      description
                        "Rx Destination ID";
                      container ipv4-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv4-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv4Class'";
                        }
                        description
                          "IPv4 address";
                        leaf ipv4-address {
                          type inet:ipv4-address;
                          description
                            "IPv4 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv4-address-and-vrf
    
                      container ipv6-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv6-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv6Class'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type inet:ipv6-address;
                          description
                            "IPv6 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv6-address-and-vrf
    
                      container file-session-id {
                        when
                          "../destination-class = 'file-class'" {
                          description
                            "../DestinationClass = 'FileClass'";
                        }
                        description
                          "File Session ID";
                        leaf file-session-id {
                          type uint32;
                          description
                            "File Session ID";
                        }
    
                        leaf buffer-size {
                          type uint32;
                          description
                            "Buffer Size";
                        }
    
                        leaf buffer-type {
                          type Buffer;
                          description
                            "Buffer Type";
                        }
    
                        leaf format {
                          type File-format;
                          description
                            "File Format";
                        }
    
                        leaf filter {
                          type string;
                          description
                            "Pcap filter";
                        }
                      }  // container file-session-id
    
                      container udp-config {
                        when
                          "../destination-class = 'udp-class'" {
                          description
                            "../DestinationClass = 'UDPClass'";
                        }
                        description "UDP config";
                        container ip-addresses {
                          description
                            "IP Addresses";
                          container ipv4 {
                            when
                              "../address-type = 'ipv4'" {
                              description
                                "../AddressType = 'IPv4'";
                            }
                            description
                              "IPv4 Address";
                            leaf source-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Source IPv4 Address";
                            }
    
                            leaf destination-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Destination IPv4 Address";
                            }
                          }  // container ipv4
    
                          container ipv6 {
                            when
                              "../address-type = 'ipv6'" {
                              description
                                "../AddressType = 'IPv6'";
                            }
                            description
                              "IPv6 Address";
                            leaf source-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Source IPv6 Address";
                            }
    
                            leaf destination-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Destination IPv6 Address";
                            }
                          }  // container ipv6
    
                          leaf address-type {
                            type Udp-address;
                            description
                              "AddressType";
                          }
                        }  // container ip-addresses
    
                        leaf source-port {
                          type uint32;
                          description
                            "Source Port";
                        }
    
                        leaf destination-port {
                          type uint32;
                          description
                            "Destination Port";
                        }
    
                        leaf vrfid {
                          type string;
                          description "VRF ID";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF Name";
                        }
                      }  // container udp-config
    
                      container bundle-config {
                        when
                          "../destination-class = 'bundle-class'" {
                          description
                            "../DestinationClass = 'BundleClass'";
                        }
                        description
                          "Bundle config";
                        leaf bundle-handle {
                          type xr:Interface-name;
                          description
                            "Bundle interface handle";
                        }
    
                        leaf member-count {
                          type uint32;
                          description
                            "Bundle member count";
                        }
    
                        leaf-list member-handle {
                          type xr:Interface-name;
                          description
                            "Bundle member interface handles";
                        }
                      }  // container bundle-config
    
                      leaf destination-class {
                        type Destination-class;
                        description
                          "DestinationClass";
                      }
    
                      leaf interface {
                        when
                          "../destination-class = 'interface-class'" {
                          description
                            "../DestinationClass = 'InterfaceClass'";
                        }
                        type xr:Interface-name;
                        description
                          "Interface Handle";
                      }
    
                      leaf pseudowire-id {
                        when
                          "../destination-class = 'pseudowire-class'" {
                          description
                            "../DestinationClass = 'PseudowireClass'";
                        }
                        type Optional-value;
                        description
                          "Pseudowire XCID";
                      }
    
                      leaf invalid-value {
                        when
                          "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                          description
                            "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                        }
                        type Optional-value;
                        description
                          "Invalid Parameter";
                      }
                    }  // container rx-destination-id
    
                    container tx-destination-id {
                      description
                        "Tx Destination ID";
                      container ipv4-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv4-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv4Class'";
                        }
                        description
                          "IPv4 address";
                        leaf ipv4-address {
                          type inet:ipv4-address;
                          description
                            "IPv4 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv4-address-and-vrf
    
                      container ipv6-address-and-vrf {
                        when
                          "../destination-class = 'next-hop-ipv6-class'" {
                          description
                            "../DestinationClass = 'NextHopIPv6Class'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type inet:ipv6-address;
                          description
                            "IPv6 address";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF";
                        }
                      }  // container ipv6-address-and-vrf
    
                      container file-session-id {
                        when
                          "../destination-class = 'file-class'" {
                          description
                            "../DestinationClass = 'FileClass'";
                        }
                        description
                          "File Session ID";
                        leaf file-session-id {
                          type uint32;
                          description
                            "File Session ID";
                        }
    
                        leaf buffer-size {
                          type uint32;
                          description
                            "Buffer Size";
                        }
    
                        leaf buffer-type {
                          type Buffer;
                          description
                            "Buffer Type";
                        }
    
                        leaf format {
                          type File-format;
                          description
                            "File Format";
                        }
    
                        leaf filter {
                          type string;
                          description
                            "Pcap filter";
                        }
                      }  // container file-session-id
    
                      container udp-config {
                        when
                          "../destination-class = 'udp-class'" {
                          description
                            "../DestinationClass = 'UDPClass'";
                        }
                        description "UDP config";
                        container ip-addresses {
                          description
                            "IP Addresses";
                          container ipv4 {
                            when
                              "../address-type = 'ipv4'" {
                              description
                                "../AddressType = 'IPv4'";
                            }
                            description
                              "IPv4 Address";
                            leaf source-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Source IPv4 Address";
                            }
    
                            leaf destination-ipv4-address {
                              type inet:ipv4-address;
                              description
                                "Destination IPv4 Address";
                            }
                          }  // container ipv4
    
                          container ipv6 {
                            when
                              "../address-type = 'ipv6'" {
                              description
                                "../AddressType = 'IPv6'";
                            }
                            description
                              "IPv6 Address";
                            leaf source-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Source IPv6 Address";
                            }
    
                            leaf destination-ipv6-address {
                              type inet:ipv6-address;
                              description
                                "Destination IPv6 Address";
                            }
                          }  // container ipv6
    
                          leaf address-type {
                            type Udp-address;
                            description
                              "AddressType";
                          }
                        }  // container ip-addresses
    
                        leaf source-port {
                          type uint32;
                          description
                            "Source Port";
                        }
    
                        leaf destination-port {
                          type uint32;
                          description
                            "Destination Port";
                        }
    
                        leaf vrfid {
                          type string;
                          description "VRF ID";
                        }
    
                        leaf vrf-name {
                          type string;
                          description "VRF Name";
                        }
                      }  // container udp-config
    
                      container bundle-config {
                        when
                          "../destination-class = 'bundle-class'" {
                          description
                            "../DestinationClass = 'BundleClass'";
                        }
                        description
                          "Bundle config";
                        leaf bundle-handle {
                          type xr:Interface-name;
                          description
                            "Bundle interface handle";
                        }
    
                        leaf member-count {
                          type uint32;
                          description
                            "Bundle member count";
                        }
    
                        leaf-list member-handle {
                          type xr:Interface-name;
                          description
                            "Bundle member interface handles";
                        }
                      }  // container bundle-config
    
                      leaf destination-class {
                        type Destination-class;
                        description
                          "DestinationClass";
                      }
    
                      leaf interface {
                        when
                          "../destination-class = 'interface-class'" {
                          description
                            "../DestinationClass = 'InterfaceClass'";
                        }
                        type xr:Interface-name;
                        description
                          "Interface Handle";
                      }
    
                      leaf pseudowire-id {
                        when
                          "../destination-class = 'pseudowire-class'" {
                          description
                            "../DestinationClass = 'PseudowireClass'";
                        }
                        type Optional-value;
                        description
                          "Pseudowire XCID";
                      }
    
                      leaf invalid-value {
                        when
                          "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" {
                          description
                            "../DestinationClass != 'InterfaceClass' and .
    ./DestinationClass != 'PseudowireClass' and .
    ./DestinationClass != 'NextHopIPv4Class' and .
    ./DestinationClass != 'NextHopIPv6Class' and .
    ./DestinationClass != 'FileClass' and .
    ./DestinationClass != 'UDPClass' and .
    ./DestinationClass != 'BundleClass'";
                        }
                        type Optional-value;
                        description
                          "Invalid Parameter";
                      }
                    }  // container tx-destination-id
    
                    container traffic-mirroring-parameters {
                      description
                        "Traffic mirroring parameters";
                      leaf traffic-direction {
                        type Traffic-direction;
                        description "Direction";
                      }
    
                      leaf port-level {
                        type boolean;
                        description
                          "Port level mirroring";
                      }
    
                      leaf is-acl-enabled {
                        type boolean;
                        description
                          "ACL enabled";
                      }
    
                      leaf is-ipv4acl-enabled {
                        type boolean;
                        description
                          "IPv4 ACL enabled";
                      }
    
                      leaf is-ipv6acl-enabled {
                        type boolean;
                        description
                          "IPv6 ACL enabled";
                      }
    
                      leaf mirror-bytes {
                        type Optional-value;
                        units "byte";
                        description
                          "Number of bytes to mirror";
                      }
    
                      leaf mirror-interval {
                        type Mirror-interval;
                        description
                          "Interval between mirrored packets";
                      }
    
                      leaf acl-name {
                        type string;
                        description "ACL name";
                      }
    
                      leaf ipv4acl-name {
                        type string;
                        description
                          "IPv4 ACL name";
                      }
    
                      leaf ipv6acl-name {
                        type string;
                        description
                          "IPv6 ACL name";
                      }
    
                      leaf is-drops-enabled {
                        type boolean;
                        description
                          "Mirroring dropped packets";
                      }
                    }  // container traffic-mirroring-parameters
    
                    container bundle-info {
                      description
                        "Bundle information";
                      leaf is-bundle {
                        type boolean;
                        description "is bundle";
                      }
    
                      list mbr-info {
                        description "mbr info";
                        leaf interface-handle {
                          type xr:Interface-name;
                          description
                            "InterfaceHandle";
                        }
                      }  // list mbr-info
                    }  // container bundle-info
    
                    leaf class {
                      type Session-class;
                      description
                        "Attachment class";
                    }
    
                    leaf name {
                      type string;
                      description
                        "Attached Session Name";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "Numerical ID of attached session";
                    }
    
                    leaf separate-destinations {
                      type boolean;
                      description
                        "Separate Destinations";
                    }
                  }  // list attachment
                }  // list interface
              }  // container interfaces
    
              leaf node {
                type xr:Node-id;
                description "Node";
              }
            }  // list node
          }  // container nodes
        }  // container span-monitor-session
      }  // module Cisco-IOS-XR-Ethernet-SPAN-oper
    

© 2023 YumaWorks, Inc. All rights reserved.