-- *******************************************************************
-- CISCO-LWAPP-MESH-STATS-MIB.my
-- February,2007 Devesh Pujari
--   
-- Copyright (c) 2007, 2010, 2017 by Cisco Systems, Inc.
-- All rights reserved.
-- *******************************************************************

CISCO-LWAPP-MESH-STATS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32,
    Counter32,
    Gauge32,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TruthValue,
    TimeStamp,
    TimeInterval
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    cLApSysMacAddress,
    cLApName,
    cLApDot11RadioRole
        FROM CISCO-LWAPP-AP-MIB
    clMeshNeighborMacAddress,
    clMeshNodeBackhaul
        FROM CISCO-LWAPP-MESH-MIB
    ciscoMgmt
        FROM CISCO-SMI;


-- ********************************************************************
-- *  MODULE IDENTITY
-- ********************************************************************

ciscoLwappMeshStatsMIB MODULE-IDENTITY
    LAST-UPDATED    "201704230000Z"
    ORGANIZATION    "Cisco Systems Inc."
    CONTACT-INFO
            "Cisco Systems,
            Customer Service
            Postal: 170 West Tasman Drive
            San Jose, CA  95134
            USA
            Tel: +1 800 553-NETS

            Email: cs-wnbu-snmp@cisco.com"
    DESCRIPTION
        "This MIB is intended to be implemented on all those
        devices operating as Central Controllers (CC) that
        terminate the Light Weight Access Point Protocol
        (LWAPP) tunnel from Light-weight  Access Points.

        This MIB represents statistics collected for mesh node 
        in Wireless Mesh Network. 

        The deployment of the controller 
        (referred to as CC in the diagram), mesh nodes 
        (RAP and MAP) LWAPP APs, client(MS) and NMS appear 
        as follows.

         +.......+                 +.......+
         +       +                 +       +
         +  NMS  +                 +  NMS  +
         +       +                 +       +
         +.......+                 +.......+
            .                         .
         .    .                     .   .
        .         .                .        .
        .            .             .            .
        +......+     +......+     +......+           +......+
        +      +     +      +     +      +           +      +
        +  CC  +     +  CC  +     +  CC  +           +  CC  +
        +      +     +      +     +      +           +      +
        +......+     +......+     +......+           +......+
        ..            .             .                 .
        ..            .             .                 .
        .  .            .             .                 .
        .    .            .             .                 .
        .      .            .             .                 .
        .        .            .             .                 .
        +......+ +......+     +......+      +......+          +......+
        +      + +      +     +      +      +      +          +      +
        +  RAP + +  RAP +     +  RAP  +     +  RAP +          +  RAP +
        +      + +      +     +      +      +      +          +      +
        +......+ +......+     +......+      +......+          +......+
        .        .              .             .                 .
        .        .              .             .                 .
        .        .              .             .                 .
        .          .              .             .                 .
        .           .              .             .                 .
        +......+ +......+     +......+      +......+          +......+
        +      + +      +     +      +      +      +          +      +
        +  MAP + +  MS  +     +  MAP +      +  MAP +          +  MAP +
        +      + +      +     +      +      +      +          +      +
        +......+ +......+     +......+      +......+          +......+
        .                    .                          ..    . 
        . .                  .                     ..        .
        .   .                .                  ..            .
        .     .              .              .                .
        +......+ +......+     +......+      +......+.         +......+
        +      + +      +     +      +      +      +          +      +
        +  MAP + +  MAP +     +  MAP +      +  MAP +          +  MS  +
        +      + +      +     +      +      +      +          +      +
        +......+ +......+     +......+      +......+          +......+




        The LWAPP tunnel exists between the controller and
        the APs. The MNs communicate with the APs through
        the protocol defined by the 802.11 standard.

        LWAPP APs, upon bootup, discover and join one of the
        controllers and the controller pushes the 
        configuration, that includes the WLAN parameters to 
        the LWAPP APs. 
        The APs encapsulate all the 802.11 frames from
        wireless clients inside LWAPP frames and forward
        the LWAPP frames to the controller.

                           GLOSSARY

        Access Point ( AP )

        An entity that contains an 802.11 medium access
        control ( MAC ) and physical layer ( PHY ) interface
        and provides access to the distribution services via
        the wireless medium for associated clients.
        LWAPP APs encapsulate all the 802.11 frames in
        LWAPP frames and sends them to the controller to which
        it is logically connected.

        Central Controller ( CC )

        The central entity that terminates the LWAPP protocol
        tunnel from the LWAPP APs. Throughout this MIB,
        this entity is also referred to as 'controller'.

        Mobile Station ( MS )

        A roaming 802.11 wireless device in a wireless
        network associated with an access point. Mobile Station
        and client are used interchangeably. 

        Network Management System ( NMS )

        The station from which the administrator manages the
        wired and wireless networks.

        Mesh Node

        A mesh node is defined as a physical or logical entity
        in the mesh network participating in forming the mesh 
        backhaul. RAP and MAP are two types of mesh nodes 
        supported in mesh network.

        Root AP (RAP)

        The AP forming the bridge between a wired and a mesh
        network with an Ethernet interface to the wired 
        network and a 802.11 radio interface to the mesh 
        network

        Mesh AP (MAP).

        The AP extending wireless coverage similar to a 
        repeater in a mesh network and consists of a 802.11 
        uplink and a 802.11 downlink. On a single-radio 
        backhaul, both uplink and downlink exist on the same 
        radio and are logical links only. On a multi-radio 
        backhaul, they may exist on different radios.

        Mesh Network

        Network starting with the wireless backhaul downlink
        of the RAP and all the entities below except any 
        attached network to the Ethernet link of MAPs. A mesh 
        network below a single RAP is also referred to as a 
        'Mesh Sector'.A mesh network consists of mesh nodes. 
        A single mesh network is always augmented to a single 
        wired network.

        Mesh Link

        A logical 802.11 link between two mesh nodes. A single 
        link is point-to-point. All point-to-multipoint links 
        are considered as multiple mesh links. Often referred 
        to as mesh backhaul link.

        Mesh Backhaul

        A Mesh backhaul consists of mesh nodes and mesh links 
        terminating at a RAP. This necessarily creates a one-
        to-one relationship between a 'mesh network', 'mesh
        sector' and a 'mesh backhaul' where these terms can be 
        used interchangeably.

        SNR

        Signal to Noise ratio on the 802.11 radio.

        Bridged network 

        The bridged network is defined as the network(s)
        attached to the Ethernet port of any MAP. There can be
        multiple such networks attached to a single mesh 
        network.

        Mesh Node Roaming

        A mesh node may change its parent mesh node naturally 
        when the RF/network condition changes. Child Mesh node 
        will re-associate and re-authenticate to new parent 
        mesh node. Mesh Security supports two types of mesh 
        node roaming.
           Intra-controller - LWAPP session is not lost.
           Inter-controller - LWAPP session is lost.


        REFERENCE

        [1] Wireless LAN Medium Access Control ( MAC ) and
        Physical Layer ( PHY ) Specifications.

        [2] Draft-obara-capwap-lwapp-00.txt, IETF Light 
        Weight Access Point Protocol"
    REVISION        "201704230000Z"
    DESCRIPTION
        "Addressing the review comments." 
    REVISION        "201009010000Z"
    DESCRIPTION
        "Added following new objects to clMeshNodeStatsTable:
        clMeshNodeSecBackhaulCount,
        clMeshNodeAssociationCount.

        Added the following new tables:
        clMeshNeighStatsTable,
        clMeshAccessClassTable,
        clMeshDataRateStatsTable

        Added following objects to ciscoLwappMeshStatsMIBConfigObjects
        clMeshNodeSecBackhaulChangeNotifEnabled,
        clMeshNodeExcessiveAssociationNotifEnabled,
        clMeshNodeExcessiveAssociationThreshold.

        Added following new notification object.
        clMeshInitiatingApName

        Added following new notifications. 
        ciscoLwappMeshExcessiveAssociation,
        ciscoLwappMeshSecBackhaulChange.

        Added following new Groups. 
        ciscoLwappMeshNeighStatsGroup,
        ciscoLwappMeshStatsNotifObjsGroup,
        ciscoLwappMeshAccessClassGroup,
        ciscoLwappMeshDataRateStatsGroup,


        ciscoLwappMeshNodeStatsGroupSup1 is a supplement to 
        ciscoLwappMeshNodeStatsGroup, 

        ciscoLwappMeshStatsConfigObjsGroupSup1 is a supplement to 
        ciscoLwappMeshStatsConfigObjsGroup. 

        Added ciscoLwappMeshStatsNotifsGroupSup1, which supplements
        ciscoLwappMeshStatsNotifsGroup.

        Added ciscoLwappMeshStatsMIBComplianceR01, which deprecates 
        ciscoLwappMeshStatsMIBCompliance."
    REVISION        "200708010000Z"
    DESCRIPTION
        "Added the following notifications and the associated thresholds
        and controls:
            ciscoLwappMeshExcessiveAssociation,
            ciscoLwappMeshSecBackhaulChange.
        Added the following objects to clMeshNodeStatsTable table:
            clMeshNodeParentChanges,
            clMeshNodeSecBackhaulCount,
            clMeshNodeAssociationCount"
    REVISION        "200703120000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 617 }


ciscoLwappMeshStatsMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIB 0 }

ciscoLwappMeshStatsMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIB 1 }

ciscoLwappMeshStatsMIBConfigObjects  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIB 2 }

ciscoLwappMeshStatsMIBConform  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIB 3 }

ciscoLwappMeshNodeStats  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBObjects 1 }

ciscoLwappMeshNeighStats  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBObjects 2 }

ciscoLwappMeshStatsMIBNotifObjects  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBObjects 3 }

ciscoLwappMeshAccessClass OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBObjects 4 }
    
ciscoLwappMeshDataRateStats OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBObjects 5 }     

-- ********************************************************************
-- * Mesh Node Statistics
-- ********************************************************************

clMeshNodeStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClMeshNodeStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table represents statistics information about a mesh
        node such as the number of that were transmitted to or received
        from the mesh node, number association attempts, packets
        transmitted on secondary backhaul etc.
        An entry in this table gets added when a mesh node 
        associates to the controller and entry gets removed 
        when mesh node disassociates from the controller."
    ::= { ciscoLwappMeshNodeStats 1 }

clMeshNodeStatsEntry OBJECT-TYPE
    SYNTAX          ClMeshNodeStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in this table represents statistics
        for a mesh node."
    INDEX           { cLApSysMacAddress } 
    ::= { clMeshNodeStatsTable 1 }

ClMeshNodeStatsEntry ::= SEQUENCE {
        clMeshNodeMalformedNeighPkts Counter32,
        clMeshNodePoorNeighSnrPkts   Counter32,
        clMeshNodeExcludedPkts       Counter32,
        clMeshNodeRxNeighReq         Counter32,
        clMeshNodeRxNeighRsp         Counter32,
        clMeshNodeTxNeighReq         Counter32,
        clMeshNodeTxNeighRsp         Counter32,
        clMeshNodeParentChanges      Counter32,
        clMeshNodeSecBackhaulCount   Counter32,
        clMeshNodeAssociationCount   Counter32
}

clMeshNodeMalformedNeighPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        received from neighbor mesh nodes which could 
        not be decoded." 
    ::= { clMeshNodeStatsEntry 1 }

clMeshNodePoorNeighSnrPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        received from neighbor mesh nodes which were below 
        SNR threshold value." 
    ::= { clMeshNodeStatsEntry 2 }

clMeshNodeExcludedPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        received from excluded neighbor mesh nodes." 
    ::= { clMeshNodeStatsEntry 3 }

clMeshNodeRxNeighReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of request
        received from neighbor mesh node APs. Requests 
        can be either broadcast or unicast from neighbor 
        mesh nodes." 
    ::= { clMeshNodeStatsEntry 4 }

clMeshNodeRxNeighRsp OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of response
        received from neighbor mesh node APs." 
    ::= { clMeshNodeStatsEntry 5 }

clMeshNodeTxNeighReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of request
        sent to neighbor mesh node APs. Requests can be 
        broadcast or unicast to neighbor mesh node." 
    ::= { clMeshNodeStatsEntry 6 }

clMeshNodeTxNeighRsp OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of response
        sent to neighbor mesh node APs." 
    ::= { clMeshNodeStatsEntry 7 }

clMeshNodeParentChanges OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "parent-switches"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of times
        this mesh node has changed its parent." 
    ::= { clMeshNodeStatsEntry 8 }

clMeshNodeSecBackhaulCount OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the number of packets sent on the
        secondary backhaul after the change, and is also sent as a part
        of the 'ciscoLwappMeshSecBackhaulChange' notification." 
    ::= { clMeshNodeStatsEntry 9 }

clMeshNodeAssociationCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the number of association attempts
        of children nodes at a parent node and is also sent as a part
        of the ciscoLwappMeshExcessiveAssociation notification." 
    ::= { clMeshNodeStatsEntry 10 }
 

-- ********************************************************************
-- * Mesh Node Packet Queue Statistics
-- ********************************************************************

clMeshNodePktQueueStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClMeshNodePktQueueStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table represents information about different
        packet queues of a mesh node. Queues are maintained 
        in a mesh node based on quality of service and packets 
        wait for its turn in queue before it is sent to 
        network. An (conceptual) entry in this table is created
        when a mesh node associates with controller and start 
        sending packets to neighbor mesh node or controller
        Entries are removed when the mesh node disassociates 
        from controller."
    ::= { ciscoLwappMeshNodeStats 2 }

clMeshNodePktQueueStatsEntry OBJECT-TYPE
    SYNTAX          ClMeshNodePktQueueStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry in this table represents average queue size
        and peak packets queue reached."
    INDEX           {
                        cLApSysMacAddress,
                        clMeshNodePktQueueIndex
                    } 
    ::= { clMeshNodePktQueueStatsTable 1 }

ClMeshNodePktQueueStatsEntry ::= SEQUENCE {
        clMeshNodePktQueueIndex       INTEGER ,
        clMeshNodePktQueueAvg         Gauge32,
        clMeshNodePktQueuePeak        Gauge32,
        clMeshNodePktQueuePktsDropped Counter32,
        clMeshNodePktQueueTimeStamp   TimeStamp,
        clMeshNodePktQueueSize        Unsigned32
}

clMeshNodePktQueueIndex OBJECT-TYPE
    SYNTAX          INTEGER  {
                        silver(1),
                        gold(2),
                        platinum(3),
                        bronze(4),
                        management(5)
                    }
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object represents different types of priority 
         queues in a mesh node. 
            silver     - queue for Best Effort packets.
            gold       - queue for Video Application.
            platinum   - queue for Voice Application.
            bronze     - queue for Background.
            management - queue for management frames." 
    ::= { clMeshNodePktQueueStatsEntry 1 }

clMeshNodePktQueueAvg OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents average number of
        packets waiting in the queue during interval 
        defined by object 'clMeshNodeStatsTimeInterval'." 
    ::= { clMeshNodePktQueueStatsEntry 2 }

clMeshNodePktQueuePeak OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents peak number of
        packets waiting in the queue during interval
        defined by object 'clMeshNodeStatsTimeInterval'." 
    ::= { clMeshNodePktQueueStatsEntry 3 }

clMeshNodePktQueuePktsDropped OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        dropped due to queue overflow." 
    ::= { clMeshNodePktQueueStatsEntry 4 }

clMeshNodePktQueueTimeStamp OBJECT-TYPE
    SYNTAX          TimeStamp
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents when the queue statistics
        was last collected. This value is represented as a 
        instance of sysUp time." 
    ::= { clMeshNodePktQueueStatsEntry 5 }

clMeshNodePktQueueSize OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents max number of packets a
        queue can hold." 
    ::= { clMeshNodePktQueueStatsEntry 6 }
 

-- ********************************************************************
-- * Mesh Node Security Statistics
-- ********************************************************************

clMeshNodeSecStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClMeshNodeSecStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table represents information about packets
        transmitted to or received from a mesh node during 
        association or authentication of a child mesh node 
        to parent mesh node. An (conceptual) entry in this 
        table is created when a mesh node associates 
        or authenticates with a parent mesh node. Entries are 
        removed when the mesh node disassociates from controller."
    ::= { ciscoLwappMeshNodeStats 3 }

clMeshNodeSecStatsEntry OBJECT-TYPE
    SYNTAX          ClMeshNodeSecStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry in this table represents count of
        security packets a mesh node exchange with its parent mesh
        node."
    INDEX           { cLApSysMacAddress } 
    ::= { clMeshNodeSecStatsTable 1 }

ClMeshNodeSecStatsEntry ::= SEQUENCE {
        clMeshNodeSecTxPkts          Counter32,
        clMeshNodeSecRxPkts          Counter32,
        clMeshNodeAssocReqFailures   Counter32,
        clMeshNodeAssocReqTimeouts   Counter32,
        clMeshNodeAssocReqSuccess    Counter32,
        clMeshNodeAuthReqFailures    Counter32,
        clMeshNodeAuthReqTimeouts    Counter32,
        clMeshNodeAuthReqSuccess     Counter32,
        clMeshNodeReassocReqFailures Counter32,
        clMeshNodeReassocReqTimeouts Counter32,
        clMeshNodeReassocReqSuccess  Counter32,
        clMeshNodeReauthReqFailures  Counter32,
        clMeshNodeReauthReqTimeouts  Counter32,
        clMeshNodeReauthReqSuccess   Counter32,
        clMeshNodeUnknownAssocReq    Counter32,
        clMeshNodeInvalidAssocReq    Counter32,
        clMeshNodeUnknownReauthReq   Counter32,
        clMeshNodeInvalidReauthReq   Counter32,
        clMeshNodeUnknownReassocReq  Counter32,
        clMeshNodeInvalidReassocReq  Counter32
}

clMeshNodeSecTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        transmitted by this mesh node during security 
        negotiations." 
    ::= { clMeshNodeSecStatsEntry 1 }

clMeshNodeSecRxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        received by this mesh node during security 
        negotiations." 
    ::= { clMeshNodeSecStatsEntry 2 }

clMeshNodeAssocReqFailures OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        association request sent by this node as a 
        child mesh node to a parent mesh node, that 
        resulted in a failure." 
    ::= { clMeshNodeSecStatsEntry 3 }

clMeshNodeAssocReqTimeouts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        association request sent by this node, as a 
        child mesh node to a parent mesh node, that 
        timed out." 
    ::= { clMeshNodeSecStatsEntry 4 }

clMeshNodeAssocReqSuccess OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of association
        request sent by this node, as a child mesh 
        node to a parent mesh node, that completed." 
    ::= { clMeshNodeSecStatsEntry 5 }

clMeshNodeAuthReqFailures OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        authenticaton request sent by this node, as a child 
        mesh node to a parent mesh node, that failed." 
    ::= { clMeshNodeSecStatsEntry 6 }

clMeshNodeAuthReqTimeouts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        authentication request sent by this node, as a child 
        mesh node to a parent mesh node, that timed out." 
    ::= { clMeshNodeSecStatsEntry 7 }

clMeshNodeAuthReqSuccess OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        authentication request sent by this node, as a child 
        mesh node to a parent mesh node, that completed." 
    ::= { clMeshNodeSecStatsEntry 8 }

clMeshNodeReassocReqFailures OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        re-association request sent by this node, as a child 
        mesh node to a parent mesh node, that failed." 
    ::= { clMeshNodeSecStatsEntry 9 }

clMeshNodeReassocReqTimeouts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        re-association request sent by this node, as a child 
        mesh node to a parent mesh node, that timed out." 
    ::= { clMeshNodeSecStatsEntry 10 }

clMeshNodeReassocReqSuccess OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        re-association request sent by this node, as a child 
        mesh node to a parent mesh node, that completed." 
    ::= { clMeshNodeSecStatsEntry 11 }

clMeshNodeReauthReqFailures OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        re-authentication request sent by this node, as a child 
        mesh node to a parent mesh node, that failed." 
    ::= { clMeshNodeSecStatsEntry 12 }

clMeshNodeReauthReqTimeouts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        re-authentication request sent by this node, as a child 
        mesh node to a parent mesh node, that timed out." 
    ::= { clMeshNodeSecStatsEntry 13 }

clMeshNodeReauthReqSuccess OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of
        re-authentication request sent by this node, as a child 
        mesh node to a parent mesh node, that completed." 
    ::= { clMeshNodeSecStatsEntry 14 }

clMeshNodeUnknownAssocReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of unknown
        association request received by this node, as 
        a parent mesh node from a child mesh node. This 
        may happen when child is a unknown neighbor." 
    ::= { clMeshNodeSecStatsEntry 15 }

clMeshNodeInvalidAssocReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of invalid
        association request that were received by this node, 
        as a parent mesh node from a child mesh node. This 
        may happen when child is a valid neighbor but is in 
        a wrong state to be associated." 
    ::= { clMeshNodeSecStatsEntry 16 }

clMeshNodeUnknownReauthReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of unknown
        re-authentication request received by this node, as 
        a parent mesh node from a child mesh node. This may 
        happen when child is a unknown neighbor." 
    ::= { clMeshNodeSecStatsEntry 17 }

clMeshNodeInvalidReauthReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of invalid
        re-authentication request received by this node, as 
        a parent mesh node from a child mesh node. This may 
        happen when child is a valid neighbor but is in a 
        wrong state to be re-authenticated." 
    ::= { clMeshNodeSecStatsEntry 18 }

clMeshNodeUnknownReassocReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of unknown
        re-association request received by this node, as 
        a parent mesh node from a child mesh node. This may 
        happen when child is a unknown neighbor." 
    ::= { clMeshNodeSecStatsEntry 19 }

clMeshNodeInvalidReassocReq OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of invalid
        re-association request received by this node, as 
        a parent mesh node from a child mesh node. This 
        may happen when child is a valid neighbor but is 
        in a wrong state to be re-associated." 
    ::= { clMeshNodeSecStatsEntry 20 }
 

-- ********************************************************************
-- *    Neighbor Statistics
-- ********************************************************************

clMeshNeighStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClMeshNeighStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table represents information about packets
        transmitted to neighbor mesh node in wirless mesh
        network."
    ::= { ciscoLwappMeshNeighStats 1 }

clMeshNeighStatsEntry OBJECT-TYPE
    SYNTAX          ClMeshNeighStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in this table is created
        when a mesh node transmit packets to another
        neighbor mesh node. Neighbor mesh node can be 
        parent, child or neighbor.
        Entries are removed when the mesh node does not see 
        another mesh node as neighbor."
    INDEX           {
                        cLApSysMacAddress,
                        clMeshNeighborMacAddress
                    } 
    ::= { clMeshNeighStatsTable 1 }

ClMeshNeighStatsEntry ::= SEQUENCE {
        clMeshNeighAsParentTxPkts Counter32,
        clMeshNeighAsParentRxPkts Counter32,
        clMeshNeighTotalTxPkts    Counter32,
        clMeshNeighSuccessTxPkts  Counter32,
        clMeshNeighRetriesTxPkts  Counter32,
        clMeshNeighPoorSnrRxPkts  Counter32
}

clMeshNeighAsParentTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This objec represents number of packets
        transmitted as a parent to a neighbor mesh node." 
    ::= { clMeshNeighStatsEntry 1 }

clMeshNeighAsParentRxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        received as a parent to a neighbor mesh node." 
    ::= { clMeshNeighStatsEntry 2 }

clMeshNeighTotalTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        transmitted to a neighbor mesh node." 
    ::= { clMeshNeighStatsEntry 3 }

clMeshNeighSuccessTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of successful
        packets transmitted to a neighbor mesh node." 
    ::= { clMeshNeighStatsEntry 4 }

clMeshNeighRetriesTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of retries were
        made at MAC layer to send the packet to a neighbor
        mesh node." 
    ::= { clMeshNeighStatsEntry 5 }

clMeshNeighPoorSnrRxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of packets
        received from a neighbor mesh node whose SNR value 
        were lower than threshold value." 
    ::= { clMeshNeighStatsEntry 6 }
 

-- ********************************************************************
-- *    Mesh Backhaul Access Class 
-- ********************************************************************

clMeshAccessClassTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClMeshAccessClassEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table represents statistics information about a mesh
        node such as the number of that were successful transmitted, 
        number of dropped packets, retried packets etc.
        An entry in this table gets added when a mesh node
        associates to the controller and entry gets removed
        when mesh node disassociates from the controller."
    ::= { ciscoLwappMeshAccessClass 1 }

clMeshAccessClassEntry OBJECT-TYPE
    SYNTAX          ClMeshAccessClassEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in this table represents mesh backhaul access
         class statistics for a mesh node."
    INDEX           { cLApSysMacAddress,
		      clMeshNeighborMacAddress 
		    } 
    ::= { clMeshAccessClassTable 1 }

ClMeshAccessClassEntry ::= SEQUENCE {
	    clMeshAccessClassTotalTxPkts Counter32,
        clMeshAccessClassSuccTxPkts  Counter32,
        clMeshAccessClassRetryPkts   Counter32,
        clMeshAccessClassRTSAttempts Counter32,
        clMeshAccessClassRTSSuccess  Counter32 
}

clMeshAccessClassTotalTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the total number of packets transmitted
         to particular mesh node that can be either child,parent or neighbor." 
    ::= { clMeshAccessClassEntry 1 }
    
clMeshAccessClassSuccTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the total number of packets successfully 
         transmitted to particular mesh node that can be either child,
         parent or neighbor." 
    ::= { clMeshAccessClassEntry 2 }
 
  
clMeshAccessClassRetryPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents total number of retried packets
         to particular mesh node that can be either child,parent or neighbor." 
    ::= { clMeshAccessClassEntry 3 }    


clMeshAccessClassRTSAttempts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the total number of RTS attempts
         to particular mesh node that can be either child,parent or neighbor." 
    ::= { clMeshAccessClassEntry 4 }

clMeshAccessClassRTSSuccess OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the total number of RTS packets sent successfully
         to a particular mesh node that can be either child,parent or neighbor." 
    ::= { clMeshAccessClassEntry 5 }

-- ********************************************************************
-- *    Mesh Backhaul Data Rate  Statistics
-- ********************************************************************

clMeshDataRateStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF ClMeshDataRateStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table represents statistics information about a mesh
        node the number of that were successful transmitted packets, 
        of each data rate.
        An entry in this table gets added when a mesh node
        associates to the controller and entry gets removed
        when mesh node disassociates from the controller."
    ::= { ciscoLwappMeshDataRateStats 1 }

clMeshDataRateStatsEntry OBJECT-TYPE
    SYNTAX          ClMeshDataRateStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in this table represents mesh backhaul data rate
         statistics for a mesh node."
    INDEX           {   cLApSysMacAddress,
			clMeshNeighborMacAddress,
			cLMeshDataRateIndex 
		    } 
    ::= { clMeshDataRateStatsTable 1 }

ClMeshDataRateStatsEntry ::= SEQUENCE {
	cLMeshDataRateIndex		Unsigned32,
	clMeshDataRateSuccTxPkts 	Counter32,
	clMeshDataRateTxAttempts	Counter32
 }

  
cLMeshDataRateIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS	    "Mbps"				  
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object represents supported data rates of the mesh access point." 
    ::= { clMeshDataRateStatsEntry 1 }
    
clMeshDataRateSuccTxPkts OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the total number of packets successfully  
         transmitted at a given data rate." 
    ::= { clMeshDataRateStatsEntry 2 }

clMeshDataRateTxAttempts OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the total number of transmitted attempts
         at a given data rate." 
    ::= { clMeshDataRateStatsEntry 3 }


-- ********************************************************************
-- *    Config objects
-- ********************************************************************

clMeshNodeQueueOverflowNotifEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The object to control the generation of
        'ciscoLwappMeshQueueOverflow' notification.

        A value of 'true' indicates that the agent generates
        'ciscoLwappMeshQueueOverflow' notification.

        A value of 'false' indicates that the agent doesn't
        generate ciscoLwappMeshQueueOverflow notification."
    DEFVAL          { true } 
    ::= { ciscoLwappMeshStatsMIBConfigObjects 1 }

clMeshNodeStatsTimeInterval OBJECT-TYPE
    SYNTAX          TimeInterval (18000..90000 )
    UNITS           "hundredths-seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The object specifies the time interval after
        which statistics are populated for each mesh node."
    DEFVAL          { 18000 } 
    ::= { ciscoLwappMeshStatsMIBConfigObjects 2 }

clMeshNodeSecBackhaulChangeNotifEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether the SNMP entity
        generates the 'ciscoLwappMeshSecBackhaulChange' notification.
        A value of 'true' indicates this notification will be generated.
        A value of 'false' indicates this notification will not be generated."
    DEFVAL          { true } 
    ::= { ciscoLwappMeshStatsMIBConfigObjects 3 }

clMeshNodeExcessiveAssociationNotifEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether the SNMP entity
        generates the 'ciscoLwappMeshExcessiveAssociation' notification.       
        A value of 'true' indicates notification will 
        be generated.
        A value of 'false' indicates notification will 
        be not be generated."
    DEFVAL          { true } 
    ::= { ciscoLwappMeshStatsMIBConfigObjects 4 }

clMeshNodeExcessiveAssociationThreshold OBJECT-TYPE
    SYNTAX          Unsigned32 (1..50 )
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the cumulative association
        at parent by different child mesh nodes. Notification 
        'ciscoLwappMeshExcessiveAssociation' is raised 
        when this number is crossed in one hour."
    DEFVAL          { 25 } 
    ::= { ciscoLwappMeshStatsMIBConfigObjects 5 }

-- ********************************************************************
-- *    NOTIFICATION objects
-- ********************************************************************

clMeshInitiatingApName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..32))
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "This object specifies the name of the AP that initiated the
        backhaul Change." 
    ::= { ciscoLwappMeshStatsMIBNotifObjects 1 }

-- ********************************************************************
-- *    NOTIFICATION TYPE objects
-- ********************************************************************

ciscoLwappMeshQueueOverflow NOTIFICATION-TYPE
    OBJECTS         {
                        cLApName,
                        clMeshNodePktQueuePeak,
                        clMeshNodePktQueuePktsDropped
                    }
    STATUS          current
    DESCRIPTION
        "This notification is generated by the agent when a
        queue overflows and as a result packets get dropped.
        After each time interval, defined by object 
        'clMeshNodeStatsTimeInterval', mesh node sends its 
        queue statistics to the controller which also includes 
        cumulative number of packets dropped, defined by object 
        'clMeshNodePktQueuePktsDropped'. If the packets dropped 
        is higher than the previous time notification generated 
        then this notification is raised."
   ::= { ciscoLwappMeshStatsMIBNotifs 1 }

ciscoLwappMeshExcessiveAssociation NOTIFICATION-TYPE
    OBJECTS         {
                        cLApName,
                        clMeshNodeAssociationCount
                    }
    STATUS          current
    DESCRIPTION
        "This notification is generated by the agent when cumulative
        association counter at parent mesh node exceeds value
        configured in 'clMeshNodeExcessiveAssociationThreshold'.
        cLApName is the name of the parent mesh node."
   ::= { ciscoLwappMeshStatsMIBNotifs 2 }

ciscoLwappMeshSecBackhaulChange NOTIFICATION-TYPE
    OBJECTS         {
                        clMeshInitiatingApName,
                        cLApName,
                        clMeshNodeBackhaul,
                        clMeshNodeSecBackhaulCount
                    }
    STATUS          current
    DESCRIPTION
        "This notification is generated by the agent when the MAP identified by
        clApName intiates the backhaul change from primary to
        secondary. cLApName identifies the AP that receives the
        change.  The MAC address of the initiating AP is sent as a part of the
        index of clMeshNodeBackhaul. clMeshNodeBackhaul identifies the
        secondary backhaul channel used. The MAC address of the receiving AP
        is sent as a part of the index of cLApName."
   ::= { ciscoLwappMeshStatsMIBNotifs 3 }

ciscoLwappMeshRadioRoleChange NOTIFICATION-TYPE
    OBJECTS         {
                    cLApName,
                    cLApDot11RadioRole    
                    }
    STATUS          current
    DESCRIPTION
        "This notification is generated by the agent when the mesh radio role
        is set or unset."
   ::= { ciscoLwappMeshStatsMIBNotifs 4 }

-- ********************************************************************
-- *    Compliance statements
-- ********************************************************************

ciscoLwappMeshStatsMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBConform 1 }

ciscoLwappMeshStatsMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoLwappMeshStatsMIBConform 2 }


ciscoLwappMeshStatsMIBCompliance MODULE-COMPLIANCE
    STATUS         deprecated 
    DESCRIPTION
        "The compliance statement for the SNMP entities that
        implement the ciscoLwappMeshStatsMIB module."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoLwappMeshNodeStatsGroup,
                        ciscoLwappMeshNodePktQueueStatsGroup,
                        ciscoLwappMeshNodeSecStatsGroup,
                        ciscoLwappMeshStatsConfigObjsGroup,
                        ciscoLwappMeshStatsNotifsGroup,
                        ciscoLwappMeshNeighStatsGroup,
                        ciscoLwappMeshStatsNotifObjsGroup
                    }
    ::= { ciscoLwappMeshStatsMIBCompliances 1 }

ciscoLwappMeshStatsMIBComplianceR01 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for the SNMP entities that
        implement the ciscoLwappMeshStatsMIB module."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoLwappMeshNodeStatsGroup,
                        ciscoLwappMeshNodePktQueueStatsGroup,
                        ciscoLwappMeshNodeSecStatsGroup,
                        ciscoLwappMeshStatsConfigObjsGroup,
                        ciscoLwappMeshStatsNotifsGroup,
                        ciscoLwappMeshNeighStatsGroup,
                        ciscoLwappMeshStatsNotifObjsGroup,
                        ciscoLwappMeshAccessClassGroup,
                        ciscoLwappMeshDataRateStatsGroup,
                        ciscoLwappMeshNodeStatsGroupSup1,
                        ciscoLwappMeshStatsConfigObjsGroupSup1,
                        ciscoLwappMeshStatsNotifsGroupSup1
                    }
    ::= { ciscoLwappMeshStatsMIBCompliances 2 }

-- ********************************************************************
-- *    Units of conformance
-- ********************************************************************

ciscoLwappMeshNodeStatsGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshNodeMalformedNeighPkts,
                        clMeshNodePoorNeighSnrPkts,
                        clMeshNodeExcludedPkts,
                        clMeshNodeRxNeighReq,
                        clMeshNodeRxNeighRsp,
                        clMeshNodeTxNeighReq,
                        clMeshNodeTxNeighRsp,
                        clMeshNodeParentChanges,
                        clMeshNodeSecBackhaulCount,
                        clMeshNodeAssociationCount
                    }
    STATUS          current
    DESCRIPTION
        "This collection of  represents statistics information about
        a mesh node such as the number of that were transmitted to
        or received from the mesh node, number association attempts,
        packets transmitted on secondary backhaul etc."
    ::= { ciscoLwappMeshStatsMIBGroups 1 }

ciscoLwappMeshNodePktQueueStatsGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshNodePktQueueAvg,
                        clMeshNodePktQueuePeak,
                        clMeshNodePktQueuePktsDropped,
                        clMeshNodePktQueueTimeStamp,
                        clMeshNodePktQueueSize
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent packets
        is different types of queues to be transmitted to
        neighbor meshnode or to controller."
    ::= { ciscoLwappMeshStatsMIBGroups 2 }

ciscoLwappMeshNodeSecStatsGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshNodeSecTxPkts,
                        clMeshNodeSecRxPkts,
                        clMeshNodeAssocReqFailures,
                        clMeshNodeAssocReqTimeouts,
                        clMeshNodeAssocReqSuccess,
                        clMeshNodeAuthReqFailures,
                        clMeshNodeAuthReqTimeouts,
                        clMeshNodeAuthReqSuccess,
                        clMeshNodeReassocReqFailures,
                        clMeshNodeReassocReqTimeouts,
                        clMeshNodeReassocReqSuccess,
                        clMeshNodeReauthReqFailures,
                        clMeshNodeReauthReqTimeouts,
                        clMeshNodeReauthReqSuccess,
                        clMeshNodeUnknownAssocReq,
                        clMeshNodeInvalidAssocReq,
                        clMeshNodeUnknownReauthReq,
                        clMeshNodeInvalidReauthReq,
                        clMeshNodeUnknownReassocReq,
                        clMeshNodeInvalidReassocReq
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent packets
        that were transmitted or received by a child mesh node 
        or a parent mesh node during security negotiations."
    ::= { ciscoLwappMeshStatsMIBGroups 3 }

ciscoLwappMeshStatsConfigObjsGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshNodeQueueOverflowNotifEnabled,
                        clMeshNodeStatsTimeInterval,
                        clMeshNodeSecBackhaulChangeNotifEnabled,
                        clMeshNodeExcessiveAssociationNotifEnabled,
                        clMeshNodeExcessiveAssociationThreshold
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent configuration
        objects for statistics of mesh network."
    ::= { ciscoLwappMeshStatsMIBGroups 4 }

ciscoLwappMeshStatsNotifsGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        ciscoLwappMeshQueueOverflow,
                        ciscoLwappMeshExcessiveAssociation,
                        ciscoLwappMeshSecBackhaulChange
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent the mesh network
        statistics related notifications sent by the agent to a
        network management station."
    ::= { ciscoLwappMeshStatsMIBGroups 5 }

ciscoLwappMeshNeighStatsGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshNeighAsParentTxPkts,
                        clMeshNeighAsParentRxPkts,
                        clMeshNeighTotalTxPkts,
                        clMeshNeighSuccessTxPkts,
                        clMeshNeighRetriesTxPkts,
                        clMeshNeighPoorSnrRxPkts
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent packets
        transmitted or received by a mesh node to or from 
        a neighbor mesh node."
    ::= { ciscoLwappMeshStatsMIBGroups 6 }

ciscoLwappMeshStatsNotifObjsGroup OBJECT-GROUP
    OBJECTS         { clMeshInitiatingApName }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent the information
        carried by the mesh network statistics related notifications sent
        by the agent to a network management station."
    ::= { ciscoLwappMeshStatsMIBGroups 7 }

ciscoLwappMeshAccessClassGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshAccessClassTotalTxPkts,
                        clMeshAccessClassSuccTxPkts,
                        clMeshAccessClassRetryPkts,
                        clMeshAccessClassRTSAttempts,
                        clMeshAccessClassRTSSuccess
                    }
    STATUS          current
    DESCRIPTION
        "Thia collection of objects represents statistics
        information about a meshnode such as the number of that 
        were successful transmitted, number of dropped packets, retried 
        packets."
    ::= { ciscoLwappMeshStatsMIBGroups 8 }

ciscoLwappMeshDataRateStatsGroup OBJECT-GROUP
    OBJECTS         {
                        clMeshDataRateSuccTxPkts,
                        clMeshDataRateTxAttempts
                    }
    STATUS          current
    DESCRIPTION
        "Thia collection of objects represents statistics information about a mesh
        node the number of that were successful transmitted packets, 
        of each data rate."
    ::= { ciscoLwappMeshStatsMIBGroups 9 }

ciscoLwappMeshNodeStatsGroupSup1 OBJECT-GROUP
    OBJECTS         {
                        clMeshNodeSecBackhaulCount,
                        clMeshNodeAssociationCount
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent statistics information of
        a mesh node such as the number of packets that were transmitted
        to
        or received from the mesh node, number association attempts,
        packets transmitted on secondary backhaul."
    ::= { ciscoLwappMeshStatsMIBGroups 10 }

ciscoLwappMeshStatsConfigObjsGroupSup1 OBJECT-GROUP
    OBJECTS         {
                        clMeshNodeSecBackhaulChangeNotifEnabled,
                        clMeshNodeExcessiveAssociationNotifEnabled,
                        clMeshNodeExcessiveAssociationThreshold
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent configuration
        objects for statistics of mesh network."
    ::= { ciscoLwappMeshStatsMIBGroups 11 }

ciscoLwappMeshStatsNotifsGroupSup1 NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        ciscoLwappMeshExcessiveAssociation,
                        ciscoLwappMeshSecBackhaulChange
                    }
    STATUS          current
    DESCRIPTION
        "This collection of objects represent the mesh network
        statistics related notifications sent by the agent to a
        network management station."
    ::= { ciscoLwappMeshStatsMIBGroups 12 }

END

