--MibName=rcVlanCfg
-- *****************************************************************
-- RAISECOM-VLAN-MIB.MIB:  Raisecom VLAN MIB file
-- 20090320, longyang
--
-- Copyright (c) 1994-2004 by Raisecom, Inc.
-- All rights reserved.
--
-- *****************************************************************  
--------------------------------------------------------------------
--01 20121025, kangyingyong, ɾvlanûvlan  
--02 20130221,guohuiming,ӽڵrcVlanFidVlan
--------------------------------------------------------------------

SWITCH-VLANCFG-MIB  DEFINITIONS ::= BEGIN

IMPORTS
        iscomSwitch
            FROM RAISECOM-BASE-MIB     
        rcPortIndex                                         
            FROM SWITCH-SYSTEM-MIB
        RowStatus
            FROM SNMPv2-TC
        Vlanset, EnableVar                
            FROM SWITCH-TC;
--        MODULE-IDENTITY, OBJECT-TYPE,
--        Integer32                         FROM SNMPv2-SMI
--        SnmpAdminString                   FROM SNMP-FRAMEWORK-MIB;


	rcVlanCfg MODULE-IDENTITY
        LAST-UPDATED    "201104250000Z"
        ORGANIZATION    "Raisecom, Inc."
        CONTACT-INFO
                "       Raise Systems

                Postal: Beijing,
                        China

                   Tel: 86-010-82884499

                E-mail: support@raisecom.com"
        DESCRIPTION
                "Configuration of vlan object."
                ::= { iscomSwitch 43}

-- -------------------------------------------------------------
-- groups in the SWITCH-VLANCFG MIB
-- -------------------------------------------------------------

rcVlanCfgMibObjects  OBJECT IDENTIFIER ::= { rcVlanCfg 1 }  

rcVlanCfgConfig      OBJECT IDENTIFIER ::= { rcVlanCfgMibObjects 1 }
rcVlanCfgPort        OBJECT IDENTIFIER ::= { rcVlanCfgMibObjects 2 }
rcVlanCfgPriority    OBJECT IDENTIFIER ::= { rcVlanCfgMibObjects 3 }
rcVlanCfgMgmt        OBJECT IDENTIFIER ::= { rcVlanCfgMibObjects 4 }
rcVlanCfgAttribute   OBJECT IDENTIFIER ::= { rcVlanCfgMibObjects 5 }                  
-- -------------------------------------------------------------
-- rcVlanCfgConfig
-- -------------------------------------------------------------          
    rcVlanCfgSwitchMode OBJECT-TYPE
        SYNTAX	INTEGER
        {
            transparent(1),
        	dot1q-vlan(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           	"The switch mode of the device is transparent(1) or dot1q-vlan(2)."
        ::= { rcVlanCfgConfig 1 } 
                                
 -- -------------------------------------------------------------
-- rcVlanCfgPort
-- -------------------------------------------------------------
    rcVlanCfgPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcVlanCfgPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan port configuration table."
        ::= { rcVlanCfgPort 1 }

    rcVlanCfgPortEntry OBJECT-TYPE
        SYNTAX RcVlanCfgPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan port configuration table entry."
        INDEX { rcPortIndex }
        ::= { rcVlanCfgPortTable 1 }

    RcVlanCfgPortEntry ::= SEQUENCE {
        rcPortMode                            INTEGER,
        rcPortAccessVlanId                    INTEGER,
        rcPortAccessPvidOverride              EnableVar,
        rcPortAccessEgressVlanList            Vlanset,
        rcPortTrunkVlanNative                 INTEGER,
        rcPortTrunkAllowVlanList              Vlanset,
        rcPortTrunkUntagVlanList              Vlanset,
        rcPortRejectFrameType                 INTEGER,   
        rcPortVlanMappingMissMode             INTEGER

     }

    rcPortMode OBJECT-TYPE
        SYNTAX  INTEGER  {
                 access(1),
                 trunk(2)                
                 }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Vlan port mode."
        ::= { rcVlanCfgPortEntry 1 }

    rcPortAccessVlanId OBJECT-TYPE
        SYNTAX  INTEGER  (1..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Access vlan ID, when port is in access mode."
        ::= { rcVlanCfgPortEntry 2 }

    rcPortAccessPvidOverride OBJECT-TYPE
        SYNTAX  EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "If enable, set all ingress packets' vlan ID  
                to access vlan. Else, do nothing."
        ::= { rcVlanCfgPortEntry 3 }

    rcPortAccessEgressVlanList OBJECT-TYPE
        SYNTAX  Vlanset
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Egress vlan list when port is in access mode."
        ::= { rcVlanCfgPortEntry 4 }

    rcPortTrunkVlanNative OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Native vlan when port is in trunk mode."
        ::= { rcVlanCfgPortEntry 5 }

    rcPortTrunkAllowVlanList OBJECT-TYPE
        SYNTAX  Vlanset
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Allowed vlan list when port is in trunk mode."
        ::= { rcVlanCfgPortEntry 6 }

    rcPortTrunkUntagVlanList OBJECT-TYPE
        SYNTAX  Vlanset
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Untagged vlan list when port is in trunk mode."
        ::= { rcVlanCfgPortEntry 7 }
                                                
    rcPortRejectFrameType OBJECT-TYPE
        SYNTAX  INTEGER  {
                 none(1),
                 tagged(2),
                 untagged(3),
                 taggedAndUntagged(4)                
                 }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set reject packet type."
        ::= { rcVlanCfgPortEntry 8 }        
      
    rcPortVlanMappingMissMode OBJECT-TYPE
        SYNTAX  INTEGER  {
                 discard(1),
                 forwarding(2)              
                 }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Tagged packet mode."
        ::= { rcVlanCfgPortEntry 9 }


-- -------------------------------------------------------------
-- rcVlanPriority
-- -------------------------------------------------------------
    rcVlanCfgPriorityTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcVlanCfgPriorityEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan priority configuration table."
        ::= { rcVlanCfgPriority 2 }

    rcVlanCfgPriorityEntry OBJECT-TYPE
        SYNTAX RcVlanCfgPriorityEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan priority configuration table entry."
        INDEX { rcVlanPriorityIndex }
        ::= { rcVlanCfgPriorityTable 1 }

    RcVlanCfgPriorityEntry ::= SEQUENCE {
        rcVlanPriorityIndex          INTEGER,
        rcVlanPriority               INTEGER,
        rcVlanPriorityRowStatus      RowStatus,
        rcVlanFidVlan                INTEGER
     }

    rcVlanPriorityIndex OBJECT-TYPE
        SYNTAX  INTEGER  (1..4094)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan ID of priority. The range is from 1 to 4094."
        ::= { rcVlanCfgPriorityEntry 1 }

    rcVlanPriority OBJECT-TYPE
        SYNTAX  INTEGER  (-1..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the priority of the vlan."
        ::= { rcVlanCfgPriorityEntry 2 }

    rcVlanPriorityRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { rcVlanCfgPriorityEntry 3 }   
        
    rcVlanFidVlan OBJECT-TYPE
        SYNTAX  INTEGER  (1..4094)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the fid of the vlan."
        ::= { rcVlanCfgPriorityEntry 4 }

        
-- -------------------------------------------------------------
-- rcVlanCfgMgmt
-- -------------------------------------------------------------   
rcMgmtVlanTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RcMgmtVlanEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Management VLAN Configure table."
      ::= { rcVlanCfgMgmt 1 }
   
  rcMgmtVlanEntry OBJECT-TYPE
       SYNTAX      RcMgmtVlanEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the rcManagementVlanTable."
       INDEX {
               rcMgmtVlanIndex
             }
       ::= { rcMgmtVlanTable 1 }   
       
       RcMgmtVlanEntry ::=
       SEQUENCE {
         rcMgmtVlanIndex		INTEGER,
         rcMgmtVlanMode  		EnableVar, 
         rcMgmtVlanRowStatus    RowStatus
         }  
         
    rcMgmtVlanIndex OBJECT-TYPE
       SYNTAX  INTEGER  (1..4094)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "Management VLAN ID."
        ::= { rcMgmtVlanEntry 1 }
   
    rcMgmtVlanMode OBJECT-TYPE
       SYNTAX      INTEGER	{forward(1),
							 termination(2)
							 }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "Indicates the mode of this manamgement vlan."
        ::= { rcMgmtVlanEntry 2 }

    rcMgmtVlanRowStatus OBJECT-TYPE
       SYNTAX   RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "The status of this table."
        ::= { rcMgmtVlanEntry 3 }

-- -------------------------------------------------------------
-- rcVlanCfgAttribute
-- -------------------------------------------------------------           
rcVlanCfgStaticTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RcVlanCfgStaticEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "VLAN static configure table."
      ::= { rcVlanCfgAttribute 1 }
   
  rcVlanCfgStaticEntry OBJECT-TYPE
       SYNTAX      RcVlanCfgStaticEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the rcVlanCfgStaticTable."
       INDEX {
               rcVlanCfgStaticIndex
             }
       ::= { rcVlanCfgStaticTable 1 }   
       
       RcVlanCfgStaticEntry ::=
       SEQUENCE {
             rcVlanCfgStaticIndex	        INTEGER,
             rcVlanCfgStaticBeCustomerVlan  INTEGER, 
         }  
         
    rcVlanCfgStaticIndex OBJECT-TYPE
       SYNTAX  INTEGER  (1..4094)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "Vlan static  attribute table index."
        ::= { rcVlanCfgStaticEntry 1 }
   
    rcVlanCfgStaticBeCustomerVlan OBJECT-TYPE
       SYNTAX      INTEGER	{true(1),
							 false(2)
							 }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "Indicates if this vlan is customer vlan."
        ::= { rcVlanCfgStaticEntry 2 }   
END
