Cisco-IOS-XR-Ethernet-SPAN-subscriber-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR Ethernet-SPAN-subscriber package configuration. This YAN...

  • Version: 2020-12-03

    Cisco-IOS-XR-Ethernet-SPAN-subscriber-cfg@2020-12-03


    
      module Cisco-IOS-XR-Ethernet-SPAN-subscriber-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-subscriber-cfg";
    
        prefix ethernet-span-subscriber-cfg;
    
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-Ethernet-SPAN-datatypes {
          prefix dt1;
        }
        import Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg {
          prefix a1;
        }
    
        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-subscriber package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg
         module with configuration 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";
        }
    
        revision "2020-01-30" {
          description
            "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.0.0";
    
        typedef Span-traffic-direction {
          type enumeration {
            enum "rx-only" {
              value 1;
              description
                "Replicate only received (ingress) traffic";
            }
            enum "tx-only" {
              value 2;
              description
                "Replicate only transmitted (egress) traffic";
            }
          }
          description "Span traffic direction";
        }
    
        typedef Span-mirror-interval {
          type enumeration {
            enum "512" {
              value 1;
              description
                "Mirror 1 in every 512 packets";
            }
            enum "1k" {
              value 2;
              description
                "Mirror 1 in every 1024 packets";
            }
            enum "2k" {
              value 3;
              description
                "Mirror 1 in every 2048 packets";
            }
            enum "4k" {
              value 4;
              description
                "Mirror 1 in every 4096 packets";
            }
            enum "8k" {
              value 5;
              description
                "Mirror 1 in every 8192 packets";
            }
            enum "16k" {
              value 6;
              description
                "Mirror 1 in every 16384 packets";
            }
          }
          description "Span mirror interval";
        }
    
        grouping IPV6ACL {
          description
            "Common node of span-monitor-session,
           span-monitor-session, span-attachment";
          container ipv6acl {
            presence
              "Indicates a ipv6acl node is configured.";
            description
              "Enable IPv6 ACL matching for traffic mirroring";
            leaf acl-enable {
              type empty;
              mandatory true;
              description "Enable ACL";
            }
    
            leaf acl-name {
              type dt1:Span-acl-name;
              description "ACL Name";
            }
          }  // container ipv6acl
        }  // grouping IPV6ACL
    
        grouping SPAN-ATTACHMENT-TABLE {
          description
            "Common node of interface-configuration,
           l2-transport";
          container span-attachments {
            description
              "Monitor Session container for this source
             interface";
            list span-attachment {
              key "session-name";
              description
                "Configuration for a particular Monitor Session";
              leaf session-name {
                type dt1:Span-session-name;
                description "Session Name";
              }
    
              uses MIRROR-FIRST;
    
              uses MIRROR-INTERVAL;
    
              uses ATTACHMENT-CONFIG;
    
              uses ACL;
    
              uses DROPS;
    
              uses IPV4ACL;
    
              uses IPV6ACL;
            }  // list span-attachment
          }  // container span-attachments
        }  // grouping SPAN-ATTACHMENT-TABLE
    
        grouping ETHERNET-SPAN-DYN-TMPL-CFG-SPAN-ATTACHMENT-TABLE {
          description
            "Common node of interface-configuration,
           l2-transportCommon node of ip-subscriber, ppp,
           subscriber-service";
          container span-attachments {
            description
              "Monitor Session container for this source
             interface";
            list span-attachment {
              key "session-name";
              description
                "Configuration for a particular Monitor Session";
              leaf session-name {
                type dt1:Span-session-name;
                description "Session Name";
              }
    
              uses MIRROR-FIRST;
    
              uses MIRROR-INTERVAL;
    
              uses ATTACHMENT-CONFIG;
    
              uses ACL;
            }  // list span-attachment
          }  // container span-attachments
        }  // grouping ETHERNET-SPAN-DYN-TMPL-CFG-SPAN-ATTACHMENT-TABLE
    
        grouping MIRROR-INTERVAL {
          description
            "Common node of span-monitor-session,
           span-monitor-session, span-attachment,
           span-attachment";
          leaf mirror-interval {
            type Span-mirror-interval;
            description
              "Specify the mirror interval";
          }
        }  // grouping MIRROR-INTERVAL
    
        grouping DROPS {
          description
            "Common node of span-monitor-session,
           span-monitor-session, span-attachment";
          leaf drops {
            type boolean;
            description
              "Specify whether or not to mirror dropped packets";
          }
        }  // grouping DROPS
    
        grouping MIRROR-FIRST {
          description
            "Common node of span-monitor-session,
           span-monitor-session, span-attachment,
           span-attachment";
          leaf mirror-first {
            type uint32 {
              range "1..10000";
            }
            units "byte";
            description
              "Mirror a specified number of bytes from start of
             packet";
          }
        }  // grouping MIRROR-FIRST
    
        grouping SPAN-MONITOR-SESSION-TABLE {
          description
            "Common node of ip-subscriber, ppp,
           subscriber-service";
          container span-monitor-sessions {
            status deprecated;
            description
              "Monitor Session container for this template";
            list span-monitor-session {
              key "session-class";
              description
                "Configuration for a particular class of Monitor
               Session";
              leaf session-class {
                type dt1:Span-session-class;
                description "Session Class";
              }
    
              uses MIRROR-FIRST;
    
              uses ATTACHMENT;
    
              uses MIRROR-INTERVAL;
    
              uses ACL;
    
              uses DROPS;
    
              uses IPV4ACL;
    
              uses IPV6ACL;
            }  // list span-monitor-session
          }  // container span-monitor-sessions
        }  // grouping SPAN-MONITOR-SESSION-TABLE
    
        grouping ETHERNET-SPAN-INTERFACE-CFG-SPAN-MONITOR-SESSION-TABLE {
          description
            "Common node of ip-subscriber, ppp,
           subscriber-serviceCommon node of
           interface-configuration, l2-transport";
          container span-monitor-sessions {
            status deprecated;
            description
              "Monitor Session container for this source
             interface";
            list span-monitor-session {
              key "session-class";
              description
                "Configuration for a particular class of Monitor
               Session";
              leaf session-class {
                type dt1:Span-session-class;
                description "Session Class";
              }
    
              uses MIRROR-FIRST;
    
              uses ATTACHMENT;
    
              uses MIRROR-INTERVAL;
    
              uses ACL;
    
              uses DROPS;
    
              uses IPV4ACL;
    
              uses IPV6ACL;
            }  // list span-monitor-session
          }  // container span-monitor-sessions
        }  // grouping ETHERNET-SPAN-INTERFACE-CFG-SPAN-MONITOR-SESSION-TABLE
    
        grouping ACL {
          description
            "Common node of span-monitor-session,
           span-monitor-session, span-attachment,
           span-attachment";
          container acl {
            presence
              "Indicates a acl node is configured.";
            description
              "Enable ACL matching for traffic mirroring";
            leaf acl-enable {
              type empty;
              mandatory true;
              description "Enable ACL";
            }
    
            leaf acl-name {
              type dt1:Span-acl-name;
              description "ACL Name";
            }
          }  // container acl
        }  // grouping ACL
    
        grouping ATTACHMENT-CONFIG {
          description
            "Common node of span-attachment, span-attachment";
          container attachment-config {
            presence
              "Indicates a attachment-config node is configured.";
            description
              "Attach the interface to a Monitor Session";
            leaf session-class {
              type dt1:Span-session-class;
              mandatory true;
              description
                "Traffic class for the session";
            }
    
            leaf direction {
              type Span-traffic-direction;
              description
                "Specify the direction of traffic to replicate
               (optional)";
            }
    
            leaf port-level-enable {
              type empty;
              description
                "Enable port level traffic mirroring";
            }
          }  // container attachment-config
        }  // grouping ATTACHMENT-CONFIG
    
        grouping IPV4ACL {
          description
            "Common node of span-monitor-session,
           span-monitor-session, span-attachment";
          container ipv4acl {
            presence
              "Indicates a ipv4acl node is configured.";
            description
              "Enable IPv4 ACL matching for traffic mirroring";
            leaf acl-enable {
              type empty;
              mandatory true;
              description "Enable ACL";
            }
    
            leaf acl-name {
              type dt1:Span-acl-name;
              description "ACL Name";
            }
          }  // container ipv4acl
        }  // grouping IPV4ACL
    
        grouping ATTACHMENT {
          description
            "Common node of span-monitor-session,
           span-monitor-session";
          container attachment {
            presence
              "Indicates a attachment node is configured.";
            description
              "Attach the interface to a Monitor Session";
            leaf session-name {
              type dt1:Span-session-name;
              mandatory true;
              description "Session Name";
            }
    
            leaf direction {
              type Span-traffic-direction;
              description
                "Specify the direction of traffic to replicate
               (optional)";
            }
    
            leaf port-level-enable {
              type empty;
              description
                "Enable port level traffic mirroring";
            }
          }  // container attachment
        }  // grouping ATTACHMENT
    
        augment /a1:dynamic-template/a1:subscriber-services/a1:subscriber-service {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg'";
          uses ETHERNET-SPAN-DYN-TMPL-CFG-SPAN-ATTACHMENT-TABLE;
        }
    
        augment /a1:dynamic-template/a1:ppps/a1:ppp {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg'";
          uses ETHERNET-SPAN-DYN-TMPL-CFG-SPAN-ATTACHMENT-TABLE;
        }
    
        augment /a1:dynamic-template/a1:ip-subscribers/a1:ip-subscriber {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg'";
          uses ETHERNET-SPAN-DYN-TMPL-CFG-SPAN-ATTACHMENT-TABLE;
        }
    
        augment /a1:dynamic-template/a1:subscriber-services/a1:subscriber-service {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg'";
          uses SPAN-MONITOR-SESSION-TABLE;
        }
    
        augment /a1:dynamic-template/a1:ppps/a1:ppp {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg'";
          uses SPAN-MONITOR-SESSION-TABLE;
        }
    
        augment /a1:dynamic-template/a1:ip-subscribers/a1:ip-subscriber {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-subscriber-infra-tmplmgr-cfg'";
          uses SPAN-MONITOR-SESSION-TABLE;
        }
      }  // module Cisco-IOS-XR-Ethernet-SPAN-subscriber-cfg
    

© 2024 YumaWorks, Inc. All rights reserved.