Cisco-IOS-XR-lpts-pre-ifib-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR lpts-pre-ifib package configuration. This YANG module au...

  • Version: 2020-08-26

    Cisco-IOS-XR-lpts-pre-ifib-cfg@2020-08-26


    
      module Cisco-IOS-XR-lpts-pre-ifib-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-cfg";
    
        prefix lpts-pre-ifib-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import Cisco-IOS-XR-config-mda-cfg {
          prefix node;
        }
        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-pre-ifib package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-lpts-lib-cfg
           Cisco-IOS-XR-config-mda-cfg
         modules with configuration data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-08-26" {
          description
            "added mandatory to ACL related classes.";
        }
    
        revision "2020-01-20" {
          description
            "LPTS Punt Policer Support for LLDP.
           2019-10-23
           LPTS Punt Policer Support.";
        }
    
        revision "2019-07-15" {
          description
            "added PM TWAMP flow enum in LPTSFlowType.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-11-26" {
          description "LPTS Domains Support.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "3.0.0";
        semver:module-version "2.1.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Lpts-punt {
          type enumeration {
            enum "mcast" {
              value 0;
              description "Multicast packets";
            }
            enum "bcast" {
              value 1;
              description "Broadcast packets";
            }
            enum "arp" {
              value 2;
              description "ARP packets";
            }
            enum "cdp" {
              value 3;
              description "CDP packets";
            }
            enum "lacp" {
              value 4;
              description "LACP packets";
            }
            enum "lldp" {
              value 5;
              description "LLDP packets";
            }
          }
          description "Lpts punt";
        }
    
        typedef Lpts-dynamic-flow-config {
          type enumeration {
            enum "flows-config" {
              value 0;
              description "LPTS Flows Limit";
            }
            enum "platform-config" {
              value 1;
              description "Platform Limit";
            }
          }
          description "Lpts dynamic flow config";
        }
    
        typedef Lpts-pre-i-fib-precedence-number {
          type union {
            type enumeration {
              enum "critical" {
                value 5;
                description
                  "Match packets with critical precedence";
              }
              enum "flash" {
                value 3;
                description
                  "Match packets with flash precedence";
              }
              enum "flash-override" {
                value 4;
                description
                  "Match packets with flash override precedence";
              }
              enum "immediate" {
                value 2;
                description
                  "Match packets with immediate precedence";
              }
              enum "internet" {
                value 6;
                description
                  "Match packets with internetwork control
                 precedence";
              }
              enum "network" {
                value 7;
                description
                  "Match packets with network control precedence";
              }
              enum "priority" {
                value 1;
                description
                  "Match packets with priority precedence";
              }
              enum "routine" {
                value 0;
                description
                  "Match packets with routine precedence";
              }
            }
            type uint32 {
              range "0..7";
            }
          }
          description
            "Lpts pre i fib precedence number";
        }
    
        typedef Lpts-flow {
          type enumeration {
            enum "config-default" {
              value 0;
              description
                "Invalid flow type used for fallback
               configuration";
            }
            enum "l2tpv2-fragment" {
              value 1;
              description "L2TPv2 Fragments";
            }
            enum "fragment" {
              value 2;
              description "Fragments";
            }
            enum "ospf-multicast-known" {
              value 3;
              description
                "OSPF multicast packets on configured interfaces";
            }
            enum "ospf-multicast-default" {
              value 4;
              description
                "OSPF multicast packets on unconfigured (or
               newly-configured) interfaces";
            }
            enum "ospf-unicast-known" {
              value 5;
              description "OSPF unicast packets";
            }
            enum "ospf-unicast-default" {
              value 6;
              description "OSPF unicast packets";
            }
            enum "isis-known" {
              value 7;
              description
                "IS-IS packets on configured interfaces";
            }
            enum "isis-default" {
              value 8;
              description
                "IS-IS packets on unconfigured (or
               newly-configured) interfaces";
            }
            enum "bfd-known" {
              value 9;
              description
                "BFD packets on configured interfaces";
            }
            enum "bfd-default" {
              value 10;
              description
                "BFD packets on unconfigured (or
               newly-configured) interfaces";
            }
            enum "bfd-multipath-known" {
              value 11;
              description
                "BFD multipath packets on configured interfaces";
            }
            enum "bfd-multipath0" {
              value 12;
              description
                "BFD multipath packets on multiple configured
               interfaces";
            }
            enum "bfd-blb-known" {
              value 13;
              description
                "BFD packets over Logical Bundle on configured
               interfaces";
            }
            enum "bfd-blb0" {
              value 14;
              description
                "BFD packets over Logical Bundle 0";
            }
            enum "bfd-sp0" {
              value 15;
              description
                "BFD packets over Single Path 0";
            }
            enum "bgp-known" {
              value 16;
              description
                "Packets from established BGP peering sessions";
            }
            enum "bgp-config-peer" {
              value 17;
              description
                "Packets from a configured BGP peer (SYNs or
               newly-established sessions)";
            }
            enum "bgp-default" {
              value 18;
              description
                "Packets from unconfigured, newly-configured, or
               wild-card BGP peer";
            }
            enum "pim-multicast-default" {
              value 19;
              description
                "PIM multicast packets on configured interfaces";
            }
            enum "pim-multicast-known" {
              value 20;
              description
                "PIM multicast packets on unconfigured (or
               newly-configured) interfaces";
            }
            enum "pim-unicast" {
              value 21;
              description "PIM unicast packets";
            }
            enum "igmp" {
              value 22;
              description "IGMP packets";
            }
            enum "icmp-local" {
              value 23;
              description
                "ICMP or ICMPv6 packets with local interest";
            }
            enum "icmp-app" {
              value 24;
              description
                "ICMP or ICMPv6 packets of interest to
               applications";
            }
            enum "icmp-control" {
              value 25;
              description
                "ICMP or ICMPv6 packets that are used for
               control/signalling purpose";
            }
            enum "icmp-default" {
              value 26;
              description
                "Other ICMP or ICMPv6 packets (may be of recent
               interest to applications)";
            }
            enum "icmp-app-default" {
              value 27;
              description
                "ICMP or ICMPv6 echo reply packets (when
               specific entry not present)";
            }
            enum "ldp-tcp-known" {
              value 28;
              description
                "Packets from an established LDP TCP peering
               session";
            }
            enum "ldp-tcp-config-peer" {
              value 29;
              description
                "Packets from a configured LDP TCP peer (SYNs or
               newly-established sessions)";
            }
            enum "ldp-tcp-default" {
              value 30;
              description
                "Packets from an unconfigured, newly-configured
               or wild-card LDP TCP peer";
            }
            enum "ldp-udp" {
              value 31;
              description
                "Unicast LDP UDP packets";
            }
            enum "all-routers" {
              value 32;
              description
                "Packets sent to the all-routers multicast
               address (includes LDP UDP multicast)";
            }
            enum "lmp-tcp-known" {
              value 33;
              description
                "Packets from an established LMP TCP peering
               session";
            }
            enum "lmp-tcp-config-peer" {
              value 34;
              description
                "Packets from a configured LMP TCP peer (SYNs or
               newly-established sessions)";
            }
            enum "lmp-tcp-default" {
              value 35;
              description
                "Packets from an unconfigured, newly-configured
               or wild-card LMP TCP peer";
            }
            enum "lmp-udp" {
              value 36;
              description
                "Unicast LMP UDP packets";
            }
            enum "rsvp-udp" {
              value 37;
              description
                "RSVP-over-UDP packets";
            }
            enum "rsvp-default" {
              value 38;
              description
                "RSVP (IP protocol 46) packets";
            }
            enum "rsvp-known" {
              value 39;
              description
                "RSVP (IP protocol 46) packets";
            }
            enum "ike" {
              value 40;
              description "IKE packets";
            }
            enum "ipsec-known" {
              value 41;
              description
                "AH or ESP packets with known SPIs";
            }
            enum "ipsec-default" {
              value 42;
              description
                "AH or ESP packets with unknown or
               newly-configured SPIs";
            }
            enum "ipsec-fragment" {
              value 43;
              description
                "AH or ESP fragmented packets";
            }
            enum "msdp-known" {
              value 44;
              description
                "Packets from an established MSDP session";
            }
            enum "msdp-config-peer" {
              value 45;
              description
                "Packets from a configured MSDP peer";
            }
            enum "msdp-default" {
              value 46;
              description
                "Packets from an uncofigured, newly-configured
               or wild-card MSDP peer";
            }
            enum "snmp" {
              value 47;
              description "SNMP packets";
            }
            enum "ssh-known" {
              value 48;
              description
                "Packets from an established SSH session";
            }
            enum "ssh-default" {
              value 49;
              description
                "Packets from a new or newly-established SSH
               session";
            }
            enum "http-known" {
              value 50;
              description
                "Packets from an established HTTP session";
            }
            enum "http-default" {
              value 51;
              description
                "Packets from a new or newly-established HTTP
               session";
            }
            enum "shttp-known" {
              value 52;
              description
                "Packets from an established SHTTP session";
            }
            enum "shttp-default" {
              value 53;
              description
                "Packets from a new or newly-established SSHTP
               session";
            }
            enum "telnet-known" {
              value 54;
              description
                "Packets from an established TELNET session";
            }
            enum "telnet-default" {
              value 55;
              description
                "Packets from a new or newly-established TELNET
               session";
            }
            enum "css-known" {
              value 56;
              description
                "Packets from an established CSS session";
            }
            enum "css-default" {
              value 57;
              description
                "Packets from a new or newly-established CSS
               session";
            }
            enum "rsh-known" {
              value 58;
              description
                "Packets from an established rsh session";
            }
            enum "rsh-default" {
              value 59;
              description
                "Packets from a new or newly-established rsh
               session";
            }
            enum "udp-known" {
              value 60;
              description
                "Packets for established UDP sessions";
            }
            enum "udp-listen" {
              value 61;
              description
                "Packets for configured UDP services";
            }
            enum "udp-config-peer" {
              value 62;
              description
                "Packets for configured UDP-based protocol
               sessions";
            }
            enum "udp-default" {
              value 63;
              description
                "Packets for unconfigured or newly-configured
               UDP services";
            }
            enum "tcp-known" {
              value 64;
              description
                "Packets for established TCP sessions";
            }
            enum "tcp-listen" {
              value 65;
              description
                "Packets for configured TCP services";
            }
            enum "tcp-config-peer" {
              value 66;
              description
                "Packets for configured TCP peers";
            }
            enum "tcp-default" {
              value 67;
              description
                "Packets for unconfigured or newly-configured
               TCP services";
            }
            enum "multicast-known" {
              value 68;
              description
                "Packets for configured multicast groups";
            }
            enum "multicast-default" {
              value 69;
              description
                "Packets for unconfigured or newly-configured
               multicast groups";
            }
            enum "raw-listen" {
              value 70;
              description
                "Packets for configured IP protocols";
            }
            enum "raw-default" {
              value 71;
              description
                "Packets for unconfigured or newly-configured
               IPv4 or IPv6 protocols";
            }
            enum "ipsla" {
              value 72;
              description
                "IP SLA packets destined to squid Q #4 for
               timestamping by squid driver";
            }
            enum "eigrp" {
              value 73;
              description "EIGRP packets.";
            }
            enum "rip" {
              value 74;
              description "RIP packets.";
            }
            enum "l2tpv3" {
              value 75;
              description "L2TPv3 packets.";
            }
            enum "pcep-tcp-default" {
              value 76;
              description "PCEP packets.";
            }
            enum "gre" {
              value 77;
              description "GRE packets.";
            }
            enum "vrrp" {
              value 78;
              description "VRRP Packets.";
            }
            enum "hsrp" {
              value 79;
              description "HSRP Packets.";
            }
            enum "mpls-ping" {
              value 80;
              description
                "MPLS ping packet coming or arriving from 3503
               port";
            }
            enum "l2tpv2-default" {
              value 81;
              description
                "L2TPv2 default packets.";
            }
            enum "l2tpv2-known" {
              value 82;
              description
                "L2TPv2 known packets.";
            }
            enum "dns" {
              value 83;
              description "DNS packets.";
            }
            enum "radius" {
              value 84;
              description "RADIUS packets.";
            }
            enum "tacacs" {
              value 85;
              description "TACACS packets.";
            }
            enum "ntp-default" {
              value 86;
              description
                "NTP packets received at 123 port number any
               address.";
            }
            enum "ntp-known" {
              value 87;
              description
                "NTP packets received at 123 port number known
               address.";
            }
            enum "mobile-ipv6" {
              value 88;
              description "Mobile IPV6 packets.";
            }
            enum "amt" {
              value 89;
              description
                "AMT packets received at UDP port number 2268.";
            }
            enum "sdac-tcp" {
              value 90;
              description "SDAC TCP packets.";
            }
            enum "radius-coa" {
              value 91;
              description
                "RADIUS Change of Authorization packets.";
            }
            enum "rel-udp" {
              value 92;
              description "REL UDP packets.";
            }
            enum "dhcp4" {
              value 93;
              description "DHCP IPV4 packets.";
            }
            enum "dhcp6" {
              value 94;
              description "DHCP IPV6 packets.";
            }
            enum "onepk" {
              value 95;
              description "ONEPK packets.";
            }
            enum "exr" {
              value 96;
              description "EXR packets.";
            }
            enum "bob-ietf" {
              value 97;
              description
                "IETF BFD packets over Logical Bundle.";
            }
            enum "xipc-throt" {
              value 98;
              description "XIPC Throttle Flow.";
            }
            enum "pm-twamp" {
              value 99;
              description "PM TWAMP Packets.";
            }
            enum "platform-limit" {
              value 100;
              description "Platform Limit.";
            }
          }
          description "Lpts flow";
        }
    
        typedef Lptsafi {
          type enumeration {
            enum "ipv4" {
              value 1;
              description "IPv4 type";
            }
            enum "ipv6" {
              value 2;
              description "IPv6 type";
            }
          }
          description "Lptsafi";
        }
    
        grouping NODE-CFG {
          description
            "active/preconfigured nodes configuration";
          container lpts-local {
            description
              "lpts node specific configuration commands";
            container ipunt-policer-local {
              presence
                "Indicates a ipunt-policer-local node is configured.";
              description
                "Node specific Pre IFIB (Internal Forwarding
               Information Base) Configuration";
              container punt-type-local-table {
                description "Punt Policer Table";
                uses PUNT-TYPE;
              }  // container punt-type-local-table
    
              uses ENABLE;
    
              uses PUNT-DOMAIN-TABLE;
    
              uses PUNT-POLICER-IFH;
            }  // container ipunt-policer-local
    
            container ipolicer-local-tables {
              description
                "Node specific Pre IFIB (Internal Forwarding
               Information Base) Configuration";
              list ipolicer-local-table {
                key "id1";
                description
                  "Pre IFIB (Internal Forwarding Information
                 Base) configuration table";
                container np-flows {
                  description "NP name";
                  list np-flow {
                    key "flow-type";
                    description
                      "Table of NP Flow names";
                    leaf np-rate {
                      type uint32 {
                        range "0..4294967295";
                      }
                      description
                        "Configured rate value";
                    }
    
                    leaf flow-type {
                      type Lpts-flow;
                      description
                        "LPTS Flow Type";
                    }
                  }  // list np-flow
                }  // container np-flows
    
                leaf id1 {
                  type xr:Cisco-ios-xr-string;
                  description "none";
                }
              }  // list ipolicer-local-table
            }  // container ipolicer-local-tables
    
            container dynamic-flows-tables {
              description
                "Node specific Pre IFIB (Internal Forwarding
               Information Base) Configuration";
              list dynamic-flows-table {
                key "table-type";
                description
                  "Table for Dynamic Flows";
                leaf table-type {
                  type Lpts-dynamic-flow-config;
                  description
                    "LPTS Dynamic Flows Table Type";
                }
    
                list flow-type {
                  key "flow-type";
                  description
                    "Selected flow type";
                  leaf max {
                    type uint32;
                    description
                      "Configured Max TCAM value";
                  }
    
                  leaf flow-type {
                    type Lpts-flow;
                    description "LPTS Flow Type";
                  }
                }  // list flow-type
              }  // list dynamic-flows-table
            }  // container dynamic-flows-tables
    
            container ipolicer-local {
              presence
                "Indicates a ipolicer-local node is configured.";
              description
                "Node specific Pre IFIB (Internal Forwarding
               Information Base) Configuration";
              uses ENABLE;
    
              uses DOMAIN-TABLE;
    
              uses FLOW-TABLE;
            }  // container ipolicer-local
          }  // container lpts-local
        }  // grouping NODE-CFG
    
        grouping PUNT-TYPE {
          description
            "Common node of punt-type-table,
           punt-type-local-table, punt-type-domain-table,
           punt-type-interface-table";
          list punt-type {
            key "punt-id";
            description "Punt Protocol Type";
            container rate {
              presence
                "Indicates a rate node is configured.";
              description
                "Enable or Disable Punt Police and corresponding
               Rate in PPS";
              leaf is-enabled {
                type boolean;
                mandatory true;
                description
                  "Is Punt Policer enabled";
              }
    
              leaf rate {
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "Configured rate value";
              }
            }  // container rate
    
            leaf punt-id {
              type Lpts-punt;
              description "Punt Type";
            }
          }  // list punt-type
        }  // grouping PUNT-TYPE
    
        grouping DOMAIN-TABLE {
          description
            "Common node of ipolicer, ipolicer-local";
          container policer-domains {
            description "Policer Domain Table";
            list policer-domain {
              key "domain-name";
              description "Domain name";
              leaf domain-name {
                type xr:Cisco-ios-xr-string;
                description "Domain name";
              }
    
              uses FLOW-TABLE;
            }  // list policer-domain
          }  // container policer-domains
        }  // grouping DOMAIN-TABLE
    
        grouping ENABLE {
          description
            "Common node of ipolicer, ipolicer-local,
           ipunt-policer, ipunt-policer-local, domain-name,
           policer-domain, punt-policer-domain,
           punt-policer-interface-name";
          leaf enable {
            type empty;
            mandatory true;
            description "Enabled";
          }
        }  // grouping ENABLE
    
        grouping FLOW-TABLE {
          description
            "Common node of ipolicer, ipolicer-local,
           policer-domain";
          container flows {
            description "Table for Flows";
            list flow {
              key "flow-type";
              description "selected flow type";
              container precedences {
                description
                  "TOS Precedence value(s)";
                leaf-list precedence {
                  type Lpts-pre-i-fib-precedence-number;
                  max-elements 8;
                  description
                    "Precedence values";
                }
              }  // container precedences
    
              leaf rate {
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "Configured rate value";
              }
    
              leaf flow-type {
                type Lpts-flow;
                description "LPTS Flow Type";
              }
            }  // list flow
          }  // container flows
        }  // grouping FLOW-TABLE
    
        grouping PUNT-POLICER-IFH {
          description
            "Common node of ipunt-policer, ipunt-policer-local";
          container punt-policer-interface-names {
            description "Punt Policer Interface";
            list punt-policer-interface-name {
              key "punt-interface-name";
              description
                "Pre-ifib Punt Policer Interface Configuration";
              container punt-type-interface-table {
                description "Punt Policer Table";
                uses PUNT-TYPE;
              }  // container punt-type-interface-table
    
              leaf punt-interface-name {
                type xr:Interface-name;
                description "Interface Name";
              }
            }  // list punt-policer-interface-name
          }  // container punt-policer-interface-names
        }  // grouping PUNT-POLICER-IFH
    
        grouping PUNT-DOMAIN-TABLE {
          description
            "Common node of ipunt-policer, ipunt-policer-local";
          container punt-policer-domains {
            description
              "Punt Policer Domain Table";
            list punt-policer-domain {
              key "domain-name";
              description "Domain name";
              container punt-type-domain-table {
                description "Punt Policer Table";
                uses PUNT-TYPE;
              }  // container punt-type-domain-table
    
              leaf domain-name {
                type xr:Cisco-ios-xr-string;
                description "Domain name";
              }
            }  // list punt-policer-domain
          }  // container punt-policer-domains
        }  // grouping PUNT-DOMAIN-TABLE
    
        augment /a1:lpts {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-lpts-lib-cfg'";
          container ipolicer {
            presence
              "Indicates a ipolicer node is configured.";
            description
              "Pre IFiB Policer Configuration ";
            container acls {
              description "Table for ACLs";
              list acl {
                key "acl-name afi-family-type vrf-name";
                description
                  "ACL policer rate config commands";
                leaf acl-rate {
                  type uint32 {
                    range "0..100000";
                  }
                  mandatory true;
                  description
                    "pre-ifib policer rate";
                }
    
                leaf acl-name {
                  type xr:Cisco-ios-xr-string;
                  description "ACL name";
                }
    
                leaf afi-family-type {
                  type Lptsafi;
                  description "AFI Family Type";
                }
    
                leaf vrf-name {
                  type xr:Cisco-ios-xr-string;
                  description "VRF name";
                }
              }  // list acl
            }  // container acls
    
            uses ENABLE;
    
            uses DOMAIN-TABLE;
    
            uses FLOW-TABLE;
          }  // container ipolicer
        }
    
        augment /a1:lpts {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-lpts-lib-cfg'";
          container domain-names {
            description
              "Pre IFiB Domains Configuration ";
            list domain-name {
              key "domain-name";
              description "Domain name";
              container interface-names {
                description "Domain Interface";
                list interface-name {
                  key "domain-interface-name";
                  description
                    "pre-ifib Domain Single interface
                   configuration";
                  leaf domain-interface-name {
                    type xr:Interface-name;
                    description "Interface Name";
                  }
    
                  leaf domain-interface-name-xr {
                    type boolean;
                    mandatory true;
                    description
                      "Enabled or disabled";
                  }
                }  // list interface-name
              }  // container interface-names
    
              leaf domain-name {
                type xr:Cisco-ios-xr-string;
                description "Domain name";
              }
            }  // list domain-name
          }  // container domain-names
        }
    
        augment /a1:lpts {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-lpts-lib-cfg'";
          container ipunt-policer {
            presence
              "Indicates a ipunt-policer node is configured.";
            description
              "Pre IFiB Punt Policer Configuration ";
            container punt-type-table {
              description "Punt Policer Table";
              uses PUNT-TYPE;
            }  // container punt-type-table
    
            uses ENABLE;
    
            uses PUNT-DOMAIN-TABLE;
    
            uses PUNT-POLICER-IFH;
          }  // container ipunt-policer
        }
    
        augment /node:active-nodes/node:active-node {
          description
            "This augment extends active nodes configuration";
          uses NODE-CFG;
        }
    
        augment /node:preconfigured-nodes/node:preconfigured-node {
          description
            "This augment extends preconfigured nodes
           configuration";
          uses NODE-CFG;
        }
      }  // module Cisco-IOS-XR-lpts-pre-ifib-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.