Cisco-IOS-XR-lpts-punt-flowtrap-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR lpts-punt-flowtrap package configuration. This YANG modu...

  • Version: 2019-04-05

    Cisco-IOS-XR-lpts-punt-flowtrap-cfg@2019-04-05


    
      module Cisco-IOS-XR-lpts-punt-flowtrap-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-punt-flowtrap-cfg";
    
        prefix lpts-punt-flowtrap-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-lpts-lib-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 lpts-punt-flowtrap package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-lpts-lib-cfg
         module with configuration data.
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.0.1";
    
        typedef Lpts-punt-flowtrap-proto-id {
          type enumeration {
            enum "arp" {
              value 1;
              description "ARP";
            }
            enum "icmp" {
              value 2;
              description
                "Internet Control Message Protocol";
            }
            enum "dhcp" {
              value 3;
              description
                "Dynamic Host Configuration Protocol";
            }
            enum "pppoe" {
              value 4;
              description "PPP over Ethernet";
            }
            enum "ppp" {
              value 5;
              description
                "Point to point Protocol";
            }
            enum "igmp" {
              value 6;
              description
                "Internet Gateway Message Protocol";
            }
            enum "ipv4" {
              value 7;
              description "IPv4";
            }
            enum "l2tp" {
              value 8;
              description
                "Layer2 Tunneling Protocol";
            }
            enum "unclassified" {
              value 9;
              description "Unclassified Source";
            }
            enum "ospf" {
              value 10;
              description "OSPF";
            }
            enum "bgp" {
              value 11;
              description "BGP";
            }
            enum "default" {
              value 12;
              description "All protocols";
            }
          }
          description
            "Lpts punt flowtrap proto id";
        }
    
        augment /a1:lpts {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-lpts-lib-cfg'";
          container punt {
            description
              "Configure penalty timeout value";
            container flowtrap {
              description
                "excessive punt flow trap configuration commands";
              container penalty-rates {
                description
                  "Configure penalty policing rate";
                list penalty-rate {
                  key "protocol-name";
                  description "none";
                  leaf protocol-name {
                    type Lpts-punt-flowtrap-proto-id;
                    description "none";
                  }
    
                  leaf rate {
                    type uint32 {
                      range "2..100";
                    }
                    mandatory true;
                    description
                      "Penalty policer rate in packets-per-second";
                  }
                }  // list penalty-rate
              }  // container penalty-rates
    
              container penalty-timeouts {
                description
                  "Configure penalty timeout value";
                list penalty-timeout {
                  key "protocol-name";
                  description "none";
                  leaf protocol-name {
                    type Lpts-punt-flowtrap-proto-id;
                    description "none";
                  }
    
                  leaf timeout {
                    type uint32 {
                      range "1..1000";
                    }
                    mandatory true;
                    description
                      "Timeout value in minutes";
                  }
                }  // list penalty-timeout
              }  // container penalty-timeouts
    
              container exclude {
                description
                  "Exclude an item from all traps";
                container interface-names {
                  description "none";
                  list interface-name {
                    key "ifname";
                    description
                      "Name of interface to exclude from all traps";
                    leaf ifname {
                      type xr:Interface-name;
                      description
                        "Name of interface to exclude from all traps";
                    }
    
                    leaf id1 {
                      type boolean;
                      mandatory true;
                      description
                        "Enabled or disabled";
                    }
                  }  // list interface-name
                }  // container interface-names
              }  // container exclude
    
              leaf max-flow-gap {
                type uint32 {
                  range "1..60000";
                }
                description
                  "Maximum flow gap in milliseconds";
              }
    
              leaf et-size {
                type uint32 {
                  range "1..128";
                }
                description
                  "Should be power of 2. Any one of 1,2,4,8,16,32
                 ,64,128";
              }
    
              leaf eviction-threshold {
                type uint32 {
                  range "1..65535";
                }
                description
                  "Eviction threshold, should be less than
                 report-threshold";
              }
    
              leaf report-threshold {
                type xr:Cisco-ios-xr-port-number;
                description
                  "Threshold to cross for a flow to be considered
                 as bad actor flow";
              }
    
              leaf non-subscriber-interfaces {
                type uint32;
                description
                  "Enable trap based on source mac on
                 non-subscriber interface";
              }
    
              leaf sample-prob {
                type string {
                  length "1..32";
                }
                description
                  "Probability of packets to be sampled";
              }
    
              leaf eviction-search-limit {
                type uint32 {
                  range "1..128";
                }
                description
                  "Eviction search limit, should be less than
                 trap-size";
              }
    
              leaf routing-protocols-enable {
                type boolean;
                description
                  "Allow routing protocols to pass through copp
                 sampler";
              }
    
              leaf subscriber-interfaces {
                type boolean;
                description
                  "Enable the trap on subscriber interfaces";
              }
    
              leaf interface-based-flow {
                type boolean;
                description
                  "Identify flow based on interface and flowtype";
              }
    
              leaf dampening {
                type uint32 {
                  range "5000..60000";
                }
                description
                  "Dampening period for a bad actor flow in
                 milliseconds";
              }
            }  // container flowtrap
          }  // container punt
        }
      }  // module Cisco-IOS-XR-lpts-punt-flowtrap-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.