-- ****************************************************************************
--  ALVARION-TOOLS-MIB definitions
--
--  Copyright (c) 2007, Alvarion Ltd.
--  All Rights Reserved.
--
--  Alvarion Tools MIB file.
--
-- ****************************************************************************


ALVARION-TOOLS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Unsigned32
        FROM    SNMPv2-SMI
    DisplayString
        FROM    SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM    SNMPv2-CONF
    InterfaceIndex
        FROM    IF-MIB
    alvarionMgmtV2
        FROM    ALVARION-SMI
    AlvarionNotificationEnable
        FROM    ALVARION-TC
;


alvarionToolsMIB MODULE-IDENTITY
    LAST-UPDATED    "200710310000Z"
    ORGANIZATION    "Alvarion Ltd."
    CONTACT-INFO    "Alvarion Ltd.
                     Postal: 21a HaBarzel St.
                             P.O. Box 13139
                             Tel-Aviv 69710
                             Israel
                     Phone:  +972 3 645 6262"
    DESCRIPTION     "Alvarion Tools MIB module."

    ::= { alvarionMgmtV2 12 }


-- alvarionToolsMIBObjects definition
alvarionToolsMIBObjects OBJECT IDENTIFIER ::= { alvarionToolsMIB 1 }

-- IP Trace groups
traceToolConfig OBJECT IDENTIFIER ::=  { alvarionToolsMIBObjects 1 }


-- IP Trace configuration
traceInterface OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the interface to apply the trace to."
    ::= { traceToolConfig 1 }

traceCaptureDestination OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    local(1),
                    remote(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies if the traces shall be stored locally on the device
                 or remotely on a distant system.

                   'local': Stores the traces locally on the device.

                   'remote': Stores the traces in a remote file specified
                             by traceCaptureDestinationURL."
    ::= { traceToolConfig 2 }

traceCaptureDestinationURL OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the URL of the file that trace data will be sent to.
                 If a valid URL is not defined, the trace data cannot be sent
                 and will be discarded."
    ::= { traceToolConfig 3 }

traceTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (0..99999)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the amount of time the trace will capture data.
                 Once this limit is reached, the trace automatically stops."
    DEFVAL      { 600 }
    ::= { traceToolConfig 4 }

traceNumberOfPackets OBJECT-TYPE
    SYNTAX      Unsigned32 (0..99999)
    UNITS       "packets"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the maximum number of packets (IP datagrams) the
                 trace should capture. Once this limit is reached, the trace
                 automatically stops."
    DEFVAL      { 100 }
    ::= { traceToolConfig 5 }

tracePacketSize OBJECT-TYPE
    SYNTAX      Unsigned32 (68..4096)
    UNITS       "bytes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the maximum number of bytes to capture for each
                 packet. The remaining data is discarded."
    DEFVAL      { 128 }
    ::= { traceToolConfig 6 }

traceCaptureFilter OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies the packet filter to use to capture data.
                 The filter expression has the same format and behavior
                 as the expression parameter used by the well-known
                 TCPDUMP command."
    ::= { traceToolConfig 7 }

traceCaptureStatus OBJECT-TYPE
    SYNTAX      INTEGER
                {
                    stop(1),
                    start(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IP Trace tool action trigger.

                   'stop': Stops the trace tool from functioning. If any
                           capture was previously started it will end up.
                           if no capture was started, 'stop' has no effect.

                   'start': Starts to capture the packets following the
                            critera specified in the management tool and
                            in this MIB."
    DEFVAL      { stop }
    ::= { traceToolConfig 8 }

traceNotificationEnabled OBJECT-TYPE 
    SYNTAX      AlvarionNotificationEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specifies if IP trace notifications are generated."
    DEFVAL      { disable }
    ::= { traceToolConfig 9 }


-- IP trace notifications
alvarionToolsMIBNotificationPrefix OBJECT IDENTIFIER ::= { alvarionToolsMIB 2 }
alvarionToolsMIBNotifications OBJECT IDENTIFIER ::= { alvarionToolsMIBNotificationPrefix 0 }

traceStatusNotification NOTIFICATION-TYPE
    OBJECTS     {
                    traceCaptureStatus
                }
    STATUS      current
    DESCRIPTION "Sent when the user triggers the IP Trace tool either by starting
                 a new trace or stopping an existing session."
    ::= { alvarionToolsMIBNotifications 1 }


-- conformance information
alvarionToolsMIBConformance OBJECT IDENTIFIER ::= { alvarionToolsMIB 3 }
alvarionToolsMIBCompliances OBJECT IDENTIFIER ::= { alvarionToolsMIBConformance 1 }
alvarionToolsMIBGroups      OBJECT IDENTIFIER ::= { alvarionToolsMIBConformance 2 }

-- compliance statements
alvarionToolsMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "The compliance statement for entities which implement
                 the Alvarion Tools MIB."
    MODULE      MANDATORY-GROUPS
                    {
                        alvarionToolsMIBGroup,
                        alvarionToolsNotificationGroup
                    }
    ::= { alvarionToolsMIBCompliances 1 }

-- units of conformance
alvarionToolsMIBGroup OBJECT-GROUP
    OBJECTS     {
		    traceInterface,
                    traceCaptureDestination,
                    traceCaptureDestinationURL,
		    traceTimeout,
		    traceNumberOfPackets,
		    tracePacketSize,
                    traceCaptureFilter,
                    traceCaptureStatus,
                    traceNotificationEnabled
                }
    STATUS      current
    DESCRIPTION "A collection of objects providing the Tools MIB capability."
    ::= { alvarionToolsMIBGroups 1 }

alvarionToolsNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS   {
                        traceStatusNotification
                    }
    STATUS      current
    DESCRIPTION "A collection of supported notifications."
    ::= { alvarionToolsMIBGroups 2 }

END
