-- *****************************************************************
-- FS-WLAN-HOTBACKUP-MIB.mib:  FS WLAN HOT-BACKUP MIB file
--
-- July 2012, jiangweifeng
-- 
-- Copyright (c) 2012 by FS.COM Inc..
-- All rights reserved.
-- *****************************************************************


FS-WLAN-HOTBACKUP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, 
    OBJECT-TYPE,
    Integer32,
    IpAddress
        FROM SNMPv2-SMI
    fsMgmt
        FROM FS-SMI
    InetAddress,
    InetAddressType
        FROM INET-ADDRESS-MIB;

fsWlanHotbackupMIB MODULE-IDENTITY
    LAST-UPDATED "201207310000Z"
    ORGANIZATION "FS.COM Inc.."
    CONTACT-INFO
            " 
            Tel: 400-865-2852 
                
            E-mail: https://www.fs.com/live_chat_service_mail.html"
    DESCRIPTION
            "This MIB is intended to get the wlan hot-backup 
            information on AC. AC may establish hot-backup relationship 
            with several ACs(called peers)."
    REVISION  "201207310000Z"
    DESCRIPTION
            "Initial version of this mib."
    ::= { fsMgmt 115 }

fsWlanHotbackupMIBObjects OBJECT IDENTIFIER 
    ::= { fsWlanHotbackupMIB 1 }

fsWlanHotbackupNotificationsMIBObjects OBJECT IDENTIFIER
    ::= { fsWlanHotbackupMIB 2 }

fsWlanHotbackupNtfObjects OBJECT IDENTIFIER
    ::= { fsWlanHotbackupNotificationsMIBObjects 1 }

fsWlanHotbackupNotifications OBJECT IDENTIFIER
    ::= { fsWlanHotbackupNotificationsMIBObjects 2 }

--*******************************************************************
--fsWlanHotbackupPeerTable:  list of wlan hot-backup peer
--*******************************************************************
fsWlanHotbackupPeerTable  OBJECT-TYPE
     SYNTAX      SEQUENCE OF FSWlanHotbackupPeerEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
                 "A table listing the peers establishing hot-backup 
                 relationship with this AC."
     ::= { fsWlanHotbackupMIBObjects 1 }

fsWlanHotbackupPeerEntry OBJECT-TYPE
     SYNTAX      FSWlanHotbackupPeerEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
                 "Wlan hot-backup peer entry."
     INDEX       { fsWlanHotbackupIpAddress }
     ::= { fsWlanHotbackupPeerTable  1 }

FSWlanHotbackupPeerEntry ::= SEQUENCE {
         fsWlanHotbackupIpAddress        IpAddress,
         fsWlanHotbackupIsEnabled        INTEGER,
         fsWlanHotbackupState            INTEGER
         }

fsWlanHotbackupIpAddress OBJECT-TYPE
     SYNTAX      IpAddress
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
                 "Wlan hot-backup peer's IP address."
     ::= { fsWlanHotbackupPeerEntry 1 }

fsWlanHotbackupIsEnabled OBJECT-TYPE
     SYNTAX      INTEGER {
                     disable(0),
                     enable(1)
                 }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
                 "Wlan hot-backup enable state with this peer."
     ::= { fsWlanHotbackupPeerEntry 2 }

fsWlanHotbackupState OBJECT-TYPE
     SYNTAX      INTEGER {
                     hb-disable(1),
                     probe(2),
                     hdsk(3),
                     tcp-connect(4),
                     sulking(5),
                     channel-up(6)
                 }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
                 "Wlan hot-backup state with this peer."
     ::= { fsWlanHotbackupPeerEntry 3 }

--*******************************************************************
--fsWlanHotbackupContextTable:  list of wlan hot-backup context
--*******************************************************************
fsWlanHotbackupContextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FSWlanHotbackupContextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table descrips information about AC context info."
    ::= { fsWlanHotbackupMIBObjects 2 }

fsWlanHotbackupContextEntry OBJECT-TYPE
    SYNTAX      FSWlanHotbackupContextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry contains information about AC context info."
    INDEX { fsWlanHotbackupCtxIpAddress, fsWlanHotbackupContextId }
    ::= { fsWlanHotbackupContextTable 1 }

FSWlanHotbackupContextEntry ::=
    SEQUENCE {
		fsWlanHotbackupCtxIpAddress IpAddress,
        fsWlanHotbackupContextId  INTEGER,
        fsWlanHotbackupContextState INTEGER
    }

fsWlanHotbackupCtxIpAddress OBJECT-TYPE
     SYNTAX      IpAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
                 "Wlan hot-backup peer's IP address."
     ::= { fsWlanHotbackupContextEntry 1 }
	
fsWlanHotbackupContextId OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Each entry contains context id."
    ::= { fsWlanHotbackupContextEntry 2 }

fsWlanHotbackupContextState OBJECT-TYPE
    SYNTAX      INTEGER {
                    disable(0),
                    unknown(1),
                    single-active(2),
                    single-standby(3),
                    pair-active(4),
                    pair-standby(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "Each entry contains context state."
    ::= { fsWlanHotbackupContextEntry 3 }

-- ****************************************
--
--               Notify nodes
--
-- ****************************************
fsNotifyPeerIpType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Represents the peer ip type."
    ::= { fsWlanHotbackupNtfObjects 1 }
    
fsNotifyPeerIp OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Represents the peer ip."
    ::= { fsWlanHotbackupNtfObjects 2 }

fsNotifyCtxId OBJECT-TYPE
    SYNTAX      INTEGER(0..65535)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Represents the context id."
    ::= { fsWlanHotbackupNtfObjects 3 }
    
fsNotifyOldState OBJECT-TYPE
    SYNTAX      INTEGER {
                    disable(0),
                    unknown(1),
                    single-active(2),
                    single-standby(3),
                    pair-active(4),
                    pair-standby(5)
                }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Represents the old state."
    ::= { fsWlanHotbackupNtfObjects 4 }
    
fsNotifyNewState OBJECT-TYPE
    SYNTAX      INTEGER {
                    disable(0),
                    unknown(1),
                    single-active(2),
                    single-standby(3),
                    pair-active(4),
                    pair-standby(5)
                }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Represents the new state."
    ::= { fsWlanHotbackupNtfObjects 5 }
    
fsNotifyWlanHBChange NOTIFICATION-TYPE
    OBJECTS     {
                  fsNotifyPeerIpType,
                  fsNotifyPeerIp,
                  fsNotifyCtxId,
                  fsNotifyOldState,
                  fsNotifyNewState
                }
    STATUS      current
    DESCRIPTION
        "This notification is sent by the AC hotbackup change state."
    ::= { fsWlanHotbackupNotifications 1 }
    
END
