This module contains a collection of YANG definitions for Cisco IOS-XR Ethernet-SPAN package operational data. This module cont...
Version: 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.