-- ============================================================================
-- Copyright(c) 2008-2012 Shenzhen TP-LINK Technologies Co.,Ltd.
-- 
-- FileName    : tplink-gvrp.mib
-- Description : 
-- Reference   : 
-- Version     : 1.0
-- History     : 
--   V1.0  07Dec12  Created by dengjianjun
--     Original version.
-- ============================================================================

TPLINK-GVRP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY
            FROM  SNMPv2-SMI
        tplinkMgmt
            FROM  TPLINK-MIB
        ifIndex
            FROM  RFC1213-MIB;

    tplinkGvrpMIB MODULE-IDENTITY  
        LAST-UPDATED
            "201212060930Z"
        ORGANIZATION
            "TPLINK"
        CONTACT-INFO
            "www.tplink.com"
        DESCRIPTION
            "GVRP (GARP VLAN registration protocol) is an implementation of GARP 
            (generic attribute registration protocol). GVRP allows the switch to 
            automatically add or remove the VLANs via the dynamic VLAN registration 
            information and propagate the local VLAN registration information to 
            other switches, without having to individually configure each VLAN."
        REVISION
            "201212060930Z"
        DESCRIPTION
            "Initial version of this MIB module."
        ::= { tplinkMgmt 20 }
    
    
        tplinkGvrpMIBObjects  OBJECT IDENTIFIER ::= { tplinkGvrpMIB 1 }
        
            tpGvrpGlobalConfig  OBJECT IDENTIFIER ::= {tplinkGvrpMIBObjects 1}
                tpGvrpGlobalEnable OBJECT-TYPE
                    SYNTAX
                        INTEGER
                        {
                        disable(0),
                        enable(1)
                        }
                    MAX-ACCESS
                        read-write
                    STATUS
                        current
                    DESCRIPTION
                        "Allows you to Enable/Disable the GVRP function. 
                        0. disable 
                        1. enable"
                    ::= { tpGvrpGlobalConfig 1 }
    
            tpGvrpPortConfig  OBJECT IDENTIFIER ::= { tplinkGvrpMIBObjects 2 }
                tpGvrpPortTable OBJECT-TYPE
                    SYNTAX SEQUENCE OF TPGVRPPORTENTRY
                    MAX-ACCESS
                        not-accessible
                    STATUS
                        current
                    DESCRIPTION
                        "Here you can set the GVRP parameters for each port."
                    ::= { tpGvrpPortConfig 1 }
        
                    tpGvrpPortEntry OBJECT-TYPE
                        SYNTAX
                            TPGVRPPORTENTRY
                        MAX-ACCESS
                            not-accessible
                        STATUS
                            current
                        DESCRIPTION
                            "An entry contains of the information of a port."
                        INDEX
                            { ifIndex }
                    ::= { tpGvrpPortTable 1 }
          
                        TPGVRPPORTENTRY ::= SEQUENCE
                            {
                            tpGvrpPortNumber
                                OCTET STRING,
                            tpGvrpPortEnable
                                INTEGER,
                            tpGvrpPortRegistration
                                INTEGER,
                            tpGvrpLeaveAllTimer
                                INTEGER,
                            tpGvrpJoinTimer
                                INTEGER,
                            tpGvrpLeaveTimer
                                INTEGER,
                            tpGvrpPortLag
                                OCTET STRING
                            }
                                
                            tpGvrpPortNumber OBJECT-TYPE
                                SYNTAX OCTET STRING
                                    (SIZE (0..255))
                                MAX-ACCESS
                                    read-only
                                STATUS
                                    current
                                DESCRIPTION
                                    "Displays the port number."
                            ::= { tpGvrpPortEntry 1 }
                         
                            tpGvrpPortEnable OBJECT-TYPE
                                SYNTAX INTEGER
                                    {
                                    disable(0),
                                    enable(1)
                                    }
                                MAX-ACCESS
                                    read-write
                                STATUS
                                    current
                                DESCRIPTION
                                    "Enable/Disable the GVRP feature for the port. The port type 
                                    should be set to TRUNK before enabling the GVRP feature.
                                    0. Disable
                                    1. Enable"
                            ::= { tpGvrpPortEntry 2 }
                  
                            tpGvrpPortRegistration OBJECT-TYPE
                                SYNTAX INTEGER
                                    {
                                    normal(0),
                                    fixed(1),
                                    forbidden(2)
                                    }
                                MAX-ACCESS
                                    read-write
                                STATUS
                                    current
                                DESCRIPTION
                                    "Select the Registration Mode for the port.
                                    0. NORMAL:In this mode, a port can dynamically register/deregister
                                       a VLAN and propagate the dynamic/static VLAN information.
                                    1. FIXED:In this mode, a port cannot register/deregister a VLAN
                                       dynamically. It only propagates static VLAN information.
                                    2. FORBIDDEN:In this mode, a port cannot register/deregister VLANs. 
                                       It only propagates VLAN 1 information."
                                ::= { tpGvrpPortEntry 3 }
                 
                            tpGvrpLeaveAllTimer OBJECT-TYPE
                                SYNTAX INTEGER
                                    (1000..30000)
                                MAX-ACCESS
                                    read-write
                                STATUS
                                    current
                                DESCRIPTION
                                    "Once the LeaveAll Timer is set, the port with GVRP enabled 
                                    can send a LeaveAll message after the timer times out, so 
                                    that other GARP ports can re-register all the attribute information. 
                                    After that, the LeaveAll timer will start to begin a new cycle. 
                                    The LeaveAll Timer ranges from 1000 to 30000 centiseconds and could 
                                    be devided exactly by 5."
                                ::= { tpGvrpPortEntry 4 }
                  
                            tpGvrpJoinTimer OBJECT-TYPE
                                SYNTAX INTEGER
                                    (20..1000)
                                MAX-ACCESS
                                    read-write
                                STATUS
                                    current
                                DESCRIPTION
                                    "To guarantee the transmission of the Join messages, a GARP 
                                    port sends each Join message two times. The Join Timer is 
                                    used to define the interval between the two sending operations 
                                    of each Join message. The Join Timer ranges from 20 to 1000 
                                    centiseconds and could be devided exactly by 5."
                            ::= { tpGvrpPortEntry 5 }
                  
                            tpGvrpLeaveTimer OBJECT-TYPE
                                SYNTAX INTEGER
                                    (60..3000)
                                MAX-ACCESS
                                    read-write
                                STATUS
                                    current
                                DESCRIPTION
                                    "Once the Leave Timer is set, the GARP port receiving a 
                                    Leave message will start its Leave timer, and unregister 
                                    the attribute information if it does not receive a Join 
                                    message again before the timer times out. The Leave Timer 
                                    ranges from 60 to 3000 centiseconds and could be devided 
                                    exactly by 5.
                                    (leave timer)*10 <= leaveAll timer,
                                    (join timer)*2 <= leave timer."
                                ::= { tpGvrpPortEntry 6 }
                  
                            tpGvrpPortLag OBJECT-TYPE
                                SYNTAX  OCTET STRING
                                    (SIZE (0..255))
                                MAX-ACCESS
                                    read-only
                                STATUS
                                    current
                                DESCRIPTION
                                    "Displays the LAG to which the port belongs."
                            ::= { tpGvrpPortEntry 7 }
    
        tplinkGvrpNotifications  OBJECT IDENTIFIER ::= { tplinkGvrpMIB 2 }

END
