RC-WLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress, Counter64
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, TruthValue, DisplayString, MacAddress
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InetAddressType, InetAddress, InetPortNumber
        FROM INET-ADDRESS-MIB
    rcWlan
        FROM RAPID-CITY;

rcWlanMib MODULE-IDENTITY
       LAST-UPDATED "201202210000Z"
       ORGANIZATION "Avaya, Inc."
       CONTACT-INFO "Hellen Krikorian"

       DESCRIPTION  "Enterprise MIB for Wireless LAN "

       REVISION "201202210000Z" -- 21 February 2012
       DESCRIPTION "Version 2: Corrected description of
                               rcWlanConfigSystemSmltDataIPAddressType to
                               indicate that it shows the Inet address type of
                               rcWlanConfigSystemSmltDataIPAddress."

       REVISION "201202210000Z" -- 21 February 2012
       DESCRIPTION "Version 1: Initial version"


        ::= { rcWlan 0 }

-- Wlan Scalars

rcWlanScalars OBJECT IDENTIFIER ::= { rcWlan 1}

rcWlanVlanReserveVlanList       OBJECT-TYPE
	SYNTAX		OCTET STRING(SIZE(0..512))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	"The object is used as bitfield to indicate all the
	                 VLANs  that are reserved.  Each VLAN is stored as a
                         bit. The most-significant (left-most) bit represents
                         Vlan Id  1."
	::= { rcWlanScalars  1 }
	
rcWlanVlanReserveNumberVlans	OBJECT-TYPE
	SYNTAX        Integer32
	MAX-ACCESS    read-only
	STATUS        current
	DESCRIPTION   "The object contains the number of reserved VLANs."
	DEFVAL        { 0 }
	::= { rcWlanScalars  2 }

rcWlanVlanReserveVlanInUse	OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE (0..512))  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The object indicates if a Vlan Id from the reserved
                       pool is in use."
	::= { rcWlanScalars  3 }

rcWlanVlanReserveVlanInUseBySmlt	OBJECT-TYPE
        SYNTAX        OCTET STRING(SIZE(0..512))
	MAX-ACCESS    read-only
	STATUS        current
        DESCRIPTION   "The object indicates if a Vlan Id from the reserved
                       pool is in use by SMLT."
	::= { rcWlanScalars  4 }

rcWlanVlanReserveSmltConfigMatch	OBJECT-TYPE
        SYNTAX        OCTET STRING(SIZE(0..512))   
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The object indicates if a Vlan Id from the reserved
                        pool is the same for SMLT peers."
	::= { rcWlanScalars  5 }

rcWlanConfigSystemSmltDataIPAddressType	OBJECT-TYPE
   	SYNTAX       InetAddressType
      	MAX-ACCESS   read-write
      	STATUS       current
      	DESCRIPTION  "This object indicates the type of internet address in the
        	     corresponding instance of
                     rcWlanConfigSystemSmltDataIPAddress.  Currently,
                     only the values ipv4(1) and ipv6(2) are allowed."
     	::= { rcWlanScalars  6 }

rcWlanConfigSystemSmltDataIPAddress OBJECT-TYPE
      	SYNTAX       InetAddress (SIZE(4|16))
      	MAX-ACCESS   read-write
      	STATUS       current
      	DESCRIPTION    "This object contains the IP address that will be used
                        for Wireless LAN switch SMLT data tunnel."       
      	::= { rcWlanScalars  7}

rcWlanConfigSmltHoldDownTimer OBJECT-TYPE
        SYNTAX        Integer32 (0..3600)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Timer value, the range of value is from 0 to 3600.
                       Do not start forwarding data until local
                       syncronization is done."
        DEFVAL        { 0 }
        ::= { rcWlanScalars  8 }

rcWlanConfigSmltEnabled OBJECT-TYPE
    	SYNTAX        TruthValue
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "This is used to enable SMLT wireless feature.
			A value of true(1) means enabled."
    	DEFVAL       { false }
    	::= { rcWlanScalars  9 }

rcWlanConfigSmltTcpUdpBasePort OBJECT-TYPE
	SYNTAX       InetPortNumber (49152..64983)
	MAX-ACCESS   read-write
	STATUS       current
	DESCRIPTION  "TCP/UDP port to be used in SMLT."
	DEFVAL       { 61000 }
	::= { rcWlanScalars  10 }

rcWlanConfigRemoteVlanStg OBJECT-TYPE
	SYNTAX       Integer32 (0..64|255)
	MAX-ACCESS   read-write
	STATUS       current
	DESCRIPTION  "The stg id for the remote vlan in the STP/MSTP mode.
		     In STP mode, the stg range is 1 to 64.
		     IN MSTP mode, the msti range is 0 to 63.
		     Setting to 255 is used to remove the valid stg/mstp
                     from wlan."
	::= { rcWlanScalars  11 }

rcWlanConfigManagementAddressType OBJECT-TYPE
   	SYNTAX       InetAddressType
    	MAX-ACCESS   read-write
    	STATUS       current
    	DESCRIPTION
        	"This object indicates the type of address contained in
                 the object rcWlanConfigManagementAddress."
    	::= { rcWlanScalars  12 }

rcWlanConfigManagementAddress OBJECT-TYPE
    	SYNTAX       InetAddress
    	MAX-ACCESS   read-write
    	STATUS       current
    	DESCRIPTION
        	"This address is used as the management interface of the
                 wireless switch."
    	::= { rcWlanScalars  13 }

-- Wlan Mobility Tunnel

rcWlanMobSwTunnelTable	OBJECT-TYPE
	SYNTAX	SEQUENCE OF RcWlanMobSwTunnelEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION  "this table contains entries of the Access and Mobility
                      tunnels that are established at the local switch."
	::= { rcWlan 2}

rcWlanMobSwTunnelEntry	OBJECT-TYPE
	SYNTAX	RcWlanMobSwTunnelEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		"A peer mobility switch or an access point.  With one
                 rcWlanMobSwTunnelIntfId there ccould be two endpoints
                 with different rcWlanMobSwTunnelPeerDeviceId in the case
                 of mobility tunnel established with SMLT pair"
	INDEX	{ rcWlanMobSwTunnelIntfId,
		  rcWlanMobSwTunnelPeerDeviceId }
	::= { rcWlanMobSwTunnelTable 1 }

RcWlanMobSwTunnelEntry ::=
	SEQUENCE {
	rcWlanMobSwTunnelIntfId	    		Integer32,
	rcWlanMobSwTunnelPeerDeviceId		MacAddress,
	rcWlanMobSwTunnelPeerAddrType		InetAddressType,
	rcWlanMobSwTunnelPeerAddr		InetAddress,
	rcWlanMobSwTunnelPeerUdpPort		InetPortNumber,
	rcWlanMobSwTunnelStatus			INTEGER,
	rcWlanMobSwTunnelType			INTEGER
	}

rcWlanMobSwTunnelIntfId	OBJECT-TYPE
	SYNTAX		Integer32(0..65535)
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION	"Used to display Logical Port for the tunnel."
	::={rcWlanMobSwTunnelEntry 1}

rcWlanMobSwTunnelPeerDeviceId	OBJECT-TYPE
	SYNTAX          MacAddress
	MAX-ACCESS	not-accessible
	STATUS	        current
	DESCRIPTION
		        "The MAC address that uniquely identifies the peer
                         mobility switch or access point on the other side
                         of the tunnel."
	::= { rcWlanMobSwTunnelEntry 2 }

rcWlanMobSwTunnelPeerAddrType OBJECT-TYPE
	SYNTAX	        InetAddressType
	MAX-ACCESS	read-only
	STATUS	        current
	DESCRIPTION
		"This object indicates the type of internet address in the
		corresponding instance of rcWlanMobSwTunnelPeerAddr.
		Currently, only the values ipv4(1) and ipv6(2) are allowed."
	::= { rcWlanMobSwTunnelEntry 3 }

rcWlanMobSwTunnelPeerAddr OBJECT-TYPE
	SYNTAX	        InetAddress (SIZE(4|16))
	MAX-ACCESS	read-only
	STATUS	        current
	DESCRIPTION
		"The address of the peer mobility switch or access point.
		The type of address is indicated by the corresponding
		instance of rcWlanMobSwTunnelPeerAddrType."
	::= { rcWlanMobSwTunnelEntry 4 }

rcWlanMobSwTunnelPeerUdpPort OBJECT-TYPE
	SYNTAX	        InetPortNumber
	MAX-ACCESS	read-only
	STATUS	        current
	DESCRIPTION
		"Indicates the UDP port which the peer mobility switch or access
		point will use for control protocol communication with the local
		switch."
	::= { rcWlanMobSwTunnelEntry 5 }

rcWlanMobSwTunnelStatus	OBJECT-TYPE
	SYNTAX	INTEGER {
			up(1),
			down(2)
		}
	MAX-ACCESS	read-only
	STATUS	        current
	DESCRIPTION
		"Indicates the status of the mobility tunnel connection to this
		peer mobility switch, or the access tunnel to this access point."
	::= { rcWlanMobSwTunnelEntry 6 }

rcWlanMobSwTunnelType OBJECT-TYPE
	SYNTAX	INTEGER {
			mobTunnel(1),
			accessTunnel(2),
			resPeerAccessTunnel(3)
		}
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The tunnel type."
	::= { rcWlanMobSwTunnelEntry 7 }

-- WLAN Notifications

rcWlanNotifications	OBJECT IDENTIFIER ::= { rcWlan 3 }

rcWlanNotificationErrorType	OBJECT-TYPE
	SYNTAX	INTEGER{
                        none(1),
                        holdDownTimerConfigMismatch(2),
                        smltDataIpConfigMismatch(3),
                        smltDatUdpPortConfigMismatch(4),
                        lvlanCollision(5),
                        rvlanCollision(6),
                        mvlanMappingMismatch(7)
			}
	MAX-ACCESS	accessible-for-notify
	STATUS		current
	DESCRIPTION	"Indicates the type of the error occurred."
	::= { rcWlanNotifications 1}

rcWlanNotificationTrapInfo	OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE (0..255))
  	MAX-ACCESS	accessible-for-notify
  	STATUS		current
  	DESCRIPTION	"String that contains error details."
  	::= { rcWlanNotifications 2 }

rcWlanNotificationMobilityTunnelPeerId OBJECT-TYPE
    	SYNTAX         MacAddress
    	MAX-ACCESS     accessible-for-notify
    	STATUS         current
    	DESCRIPTION	"This object contains the MAC address that uniquely
                        identifies the Tunnel peer id.  This value is what
                        is used to identify this switch in peer switches,
                        and is used as an in traps."
    	::= { rcWlanNotifications 3 }

rcWlanNotificationMobTunnelAddressType OBJECT-TYPE
      	SYNTAX         InetAddressType
      	MAX-ACCESS     accessible-for-notify
      	STATUS         current
      	DESCRIPTION	"This object indicates the type of internet address
                        in the corresponding instance of
                        rcWlanAuxMobTunnelAddress. Currently, only the
                        values ipv4(1) and ipv6(2) are allowed."
      	::= { rcWlanNotifications 4 }

rcWlanNotificationMobTunnelAddress OBJECT-TYPE
      	SYNTAX         InetAddress (SIZE(4|16))
      	MAX-ACCESS     accessible-for-notify
      	STATUS         current
      	DESCRIPTION	"This object contains the tunnel IP address that
                        will be used in errors notification traps."       
      	::= { rcWlanNotifications 5}

rcWlanNotificationMobTunnelMVlanName OBJECT-TYPE
    	SYNTAX       SnmpAdminString (SIZE(1..32))
    	MAX-ACCESS   accessible-for-notify
    	STATUS       current
    	DESCRIPTION	"This object contains mobility VLAN name to be
                          used in errors notification traps."
    	::= { rcWlanNotifications 6 }

-- Wlan Tunnel Stats

rcWlanTunnelStatTable OBJECT-TYPE	
        SYNTAX        SEQUENCE OF RcWlanTunnelStatEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "A table used to store wireless LAN tunnel statistics."
        ::= { rcWlan 4 }
 
rcWlanTunnelStatEntry OBJECT-TYPE
        SYNTAX        RcWlanTunnelStatEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "interface counters"
        INDEX         { rcWlanTunnelStatInterfaceId,
                        rcWlanTunnelStatPeerDeviceId}
        ::= { rcWlanTunnelStatTable 1 }
 
RcWlanTunnelStatEntry ::= SEQUENCE {
	      	rcWlanTunnelStatInterfaceId                    Integer32,
              	rcWlanTunnelStatPeerDeviceId                   MacAddress,
                rcWlanTunnelStatBridgeInUnicastFrames          Counter64,
                rcWlanTunnelStatBridgeInMulticastFrames        Counter64,
                rcWlanTunnelStatBridgeInBroadcastFrames        Counter64,
                rcWlanTunnelStatBridgeInDiscards               Counter64,
                rcWlanTunnelStatBridgeOutFrames                Counter64,
                rcWlanTunnelStatRouteInUnicastFrames           Counter64,
                rcWlanTunnelStatRouteInMulticastFrames         Counter64,
                rcWlanTunnelStatRouteInDiscards                Counter64,
                rcWlanTunnelStatRouteOutUnicastFrames          Counter64,
                rcWlanTunnelStatRouteOutMulticastFrames        Counter64,
            	rcWlanTunnelStatKeepaliveInFrames              Counter64,
            	rcWlanTunnelStatKeepaliveOutFrames             Counter64,
            	rcWlanTunnelStatAllInFrames                    Counter64,
            	rcWlanTunnelStatAllOutFrames                   Counter64,
            	rcWlanTunnelStatAllInDiscardFrames             Counter64,
            	rcWlanTunnelStatAllOutDiscardFrames            Counter64,
		rcWlanTunnelStatReset			       INTEGER
        }

rcWlanTunnelStatInterfaceId     OBJECT-TYPE
        SYNTAX        Integer32(0..65535)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Used to display Logical Port for the tunnel."
        ::= { rcWlanTunnelStatEntry 1 }

rcWlanTunnelStatPeerDeviceId   OBJECT-TYPE
        SYNTAX        MacAddress
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "The MAC address that uniquely identifies the 
		       peer mobility switch or access point on the 
		       other side of the tunnel."
        ::= { rcWlanTunnelStatEntry 2 }
	 
rcWlanTunnelStatBridgeInUnicastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming unicast frames that 
		      were bridged."
   	::= { rcWlanTunnelStatEntry 3 }

rcWlanTunnelStatBridgeInMulticastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming multicast frames that 
		      were bridged."
   	::= { rcWlanTunnelStatEntry 4 }

rcWlanTunnelStatBridgeInBroadcastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming broadcast frames that 
		      were bridged."
   	::= { rcWlanTunnelStatEntry 5 }

rcWlanTunnelStatBridgeInDiscards OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of frames that were discarded by
		      the bridging entity."
   	::= { rcWlanTunnelStatEntry 6 }
       
rcWlanTunnelStatBridgeOutFrames  OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of outgoing frames that 
		      were bridged."
   	::= { rcWlanTunnelStatEntry 7 }
       
rcWlanTunnelStatRouteInUnicastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming unicast frames that 
		      were routed."
   	::= { rcWlanTunnelStatEntry 8 }
    
rcWlanTunnelStatRouteInMulticastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming multicast frames that 
		      were routed."
   	::= { rcWlanTunnelStatEntry 9 } 

rcWlanTunnelStatRouteInDiscards OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming frames that were discarded by
		      the routing entity."
   	::= { rcWlanTunnelStatEntry 10 }        

rcWlanTunnelStatRouteOutUnicastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of outgoing unicast frames that 
		      were routed."
   	::= { rcWlanTunnelStatEntry 11 }   

rcWlanTunnelStatRouteOutMulticastFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of outgoing multicast frames that 
		      were routed."
   	::= { rcWlanTunnelStatEntry 12 } 

rcWlanTunnelStatKeepaliveInFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming keepalive frames."
   	::= { rcWlanTunnelStatEntry 13 }       

rcWlanTunnelStatKeepaliveOutFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of outgoing keepalive frames."
   	::= { rcWlanTunnelStatEntry 14 }      

rcWlanTunnelStatAllInFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming frames that 
		      were bridged, routed and incoming keepalive frames."
   	::= { rcWlanTunnelStatEntry 15 }             

rcWlanTunnelStatAllOutFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of outgoing frames that 
		      were bridged, routed and outgoing keepalive frames."
   	::= { rcWlanTunnelStatEntry 16 }            

rcWlanTunnelStatAllInDiscardFrames OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of incoming frames that were discarded."
   	::= { rcWlanTunnelStatEntry 17 }      

rcWlanTunnelStatAllOutDiscardFrames  OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "The total number of outgoing frames that were discarded."
   	::= { rcWlanTunnelStatEntry 18 }    

rcWlanTunnelStatReset OBJECT-TYPE
   	SYNTAX        INTEGER {
        	             none(1),
                	     reset(2)
                 	}	
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "This is an action object. When this object is set
                       to reset(2), statistics for the tunnel will be cleared. 
         	       Read on this object always returns none(1)."
    	::= { rcWlanTunnelStatEntry 19 }

END
