--MibName=rcLinkStateTrack
-- *****************************************************************
-- switch-linkStateTrack-mib.MIB:	 switch link state track MIB file
-- Copyright (c) 1994-2004,	2001 by	Raisecom, Inc.
-- All rights reserved. 


-- 01, 20140225, kangyingyong, ESW00017954, ת϶֧block vlan
-- *****************************************************************

SWITCH-LINKSTATETRACK-MIB DEFINITIONS ::= BEGIN

IMPORTS
        iscomSwitch			
         		FROM RAISECOM-BASE-MIB
        RowStatus,TruthValue
                FROM SNMPv2-TC
        EnableVar	
                FROM SWITCH-TC
        InterfaceIndexOrZero     
                FROM IF-MIB
        ifIndex  
        		FROM IF-MIB
        PortList
                FROM SWITCH-TC;
                 
     rcLinkStateTrack MODULE-IDENTITY
        LAST-UPDATED    "201212150000Z"
        ORGANIZATION    "Raisecom, Inc."
        CONTACT-INFO
                "Raisecom Systems
                        
                Postal: Beijing,
                        China

                Tel: 86-010-82884499

                E-mail: zhangjun@raisecom.com"
        DESCRIPTION
                "description of link state track group manage object."
                ::= { iscomSwitch 33} 

rcLinkStateTrackGroup                     OBJECT IDENTIFIER ::= { rcLinkStateTrack 1 }
rcLinkStateTrackNotifications             OBJECT IDENTIFIER ::= { rcLinkStateTrack 2 }

-- -------------------------------------------------------------
-- rcLinkStateTrackGroupTable
-- -------------------------------------------------------------
rcLinkStateTrackGroupTable               OBJECT-TYPE
        SYNTAX      SEQUENCE OF RcLinkStateTrackGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Link state tracking group fault source configure table."
        ::= { rcLinkStateTrackGroup 1 }

rcLinkStateTrackGroupEntry               OBJECT-TYPE
        SYNTAX      RcLinkStateTrackGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the rcLinkStateTrackGroupTable. It contains
            config fault source information of each link state tracking group."
	    INDEX        { rcLinkStateTrackGroupIndex }    
        ::={ rcLinkStateTrackGroupTable 1 }
    
RcLinkStateTrackGroupEntry ::= SEQUENCE
        {
    	    rcLinkStateTrackGroupIndex	                   INTEGER,
    	    rcLinkStateTrackGroupRowStatus                 RowStatus,
    	    rcLinkStateTrackGroupTrap                      EnableVar,
    	    rcLinkStateTrackGroupUpstreamType              BITS, 
    	    rcLinkStateTrackGroupUpstreamPortList          PortList,
    	    rcLinkStateTrackGroupUpstreamRmep              INTEGER,
    	    rcLinkStateTrackGroupUpstreamRmepMaName        OCTET STRING,
    	    rcLinkStateTrackGroupUpstreamElps8031LinkId    INTEGER,
    	    rcLinkStateTrackGroupUpstreamPbPrimaryPort     INTEGER, 
    	    rcLinkStateTrackGroupUpstreamPbBackupPort      INTEGER,
    	    rcLinkStateTrackGroupUpstreamLinkAggreGroup    INTEGER
        }

rcLinkStateTrackGroupIndex                 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Link state tracking group index, the index of rcLinkStateTrackGroupTable."
        ::= { rcLinkStateTrackGroupEntry 1 } 
        
rcLinkStateTrackGroupRowStatus             OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is responsible for managing the creation, deletion and modification
             of rows, which support active status and CreatAndGo, destroy operation."
        ::= { rcLinkStateTrackGroupEntry 2 }

rcLinkStateTrackGroupTrap                  OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The trap enable status of Link state tracking group."
        DEFVAL{ disable }
        ::= { rcLinkStateTrackGroupEntry 3 }

rcLinkStateTrackGroupUpstreamType          OBJECT-TYPE
        SYNTAX BITS
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The upstream type of link state tracking group. First 6 bits are used, 
            and only one bit can be setted for each group. Bit0:Port, Bit1:CfmMep,
            Bit2:Elps, Bit3:LinkAggregation, Bit4:PortBackup, Bit5:FlushMacSignal."
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupEntry 4 }

rcLinkStateTrackGroupUpstreamPortList       OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The upstream portlist of link state tracking group. 
            This is valid when bit0 of rcLinkStateTrackGroupUpstreamType setted."
        DEFVAL { "" }
        ::= { rcLinkStateTrackGroupEntry 5 }    

rcLinkStateTrackGroupUpstreamRmep           OBJECT-TYPE
        SYNTAX INTEGER(0..8191)
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The remote mep id. This is valid when bit1 of rcLinkStateTrackGroupUpstreamType setted." 
  		DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupEntry 6 }  

rcLinkStateTrackGroupUpstreamRmepMaName     OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE (1..13))
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The Short Maintenance Association name. The type/format of this object is 
            determined by the value of the dot1agCfmMaNetNameType object. This name 
            must be unique within a maintenance domain. This is valid when 
            bit1 of rcLinkStateTrackGroupUpstreamType setted."
  		DEFVAL { "" }
        ::= { rcLinkStateTrackGroupEntry 7 }

rcLinkStateTrackGroupUpstreamElps8031LinkId  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The elps link id. This is valid when bit2 of rcLinkStateTrackGroupUpstreamType setted." 
  		DEFVAL { 0 }
  		::= { rcLinkStateTrackGroupEntry 8 }
        
rcLinkStateTrackGroupUpstreamPbPrimaryPort   OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The primary port of upstream port backup of link state tracking group. 
            This is valid when bit3 of rcLinkStateTrackGroupUpstreamType setted." 
  		DEFVAL { 0 }
  		::= { rcLinkStateTrackGroupEntry 9 }

rcLinkStateTrackGroupUpstreamPbBackupPort    OBJECT-TYPE
        SYNTAX INTEGER
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The backup port of upstream port backup of link state tracking group. 
            This is valid when bit3 of rcLinkStateTrackGroupUpstreamType setted." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupEntry 10 } 
        
rcLinkStateTrackGroupUpstreamLinkAggreGroup  OBJECT-TYPE
        SYNTAX INTEGER
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The link aggregation group id. This is valid when bit4 of 
            rcLinkStateTrackGroupUpstreamType setted." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupEntry 11 }
        
-- -------------------------------------------------------------
-- rcLinkStateTrackGroupActionTable
-- -------------------------------------------------------------
rcLinkStateTrackGroupActionTable              OBJECT-TYPE
        SYNTAX      SEQUENCE OF RcLinkStateTrackGroupActionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Link state tracking group fault action configure table."
        ::= { rcLinkStateTrackGroup 2 }

rcLinkStateTrackGroupActionEntry              OBJECT-TYPE
        SYNTAX      RcLinkStateTrackGroupActionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the rcLinkStateTrackGroupActionTable. It contains
            config fault action information of each link state tracking group."
	    INDEX        { rcLinkStateTrackGroupActionGroupIndex }    
        ::={ rcLinkStateTrackGroupActionTable 1 }
    
RcLinkStateTrackGroupActionEntry ::= SEQUENCE
        {
            rcLinkStateTrackGroupActionGroupIndex	       INTEGER,
    	    rcLinkStateTrackGroupActionMode                BITS,
    	    rcLinkStateTrackGroupActionShutdownPortList    PortList,
    	    rcLinkStateTrackGroupActionPortPvid            INTEGER, 
    	    rcLinkStateTrackGroupActionPortPvidPortList    PortList,
    	    rcLinkStateTrackGroupActionDeleteVlan          INTEGER,     
    	    rcLinkStateTrackGroupActionSuspendVlan         INTEGER, 
    	    rcLinkStateTrackGroupActionFlushG8032RingList  BITS,
    	    rcLinkStateTrackGroupActionFlushEringList      BITS,
    	    rcLinkStateTrackGroupActionBlockVlanVlanList   BITS, 
    	    rcLinkStateTrackGroupActionBlockVlanPortList   PortList
        } 
        
rcLinkStateTrackGroupActionGroupIndex          OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Link state tracking group index, the index of rcLinkStateTrackGroupActionTable."
        ::= { rcLinkStateTrackGroupActionEntry 1 } 

rcLinkStateTrackGroupActionMode               OBJECT-TYPE
        SYNTAX BITS
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The fault action mode of link state tracking group. First 8 bits are used, 
            and only one bit can be setted for each group. Bit0: ShutdownPort, Bit1: ModifyPvid,
            Bit2: DeleteVlan, Bit3: SuspendVlan, Bit4: FlushG8032, Bit5: FlushEring,
            Bit6: SendFlushMacSignal, Bit7: BlockVlanLst." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupActionEntry 2 }

rcLinkStateTrackGroupActionShutdownPortList   OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ports to be shut down when the fault happens. This is 
            valid when bit0 of rcLinkStateTrackGroupActionMode is setted.
            Bit0 of the port list represents port 1, Bit2 represents port 
            2, and so on."
        DEFVAL { "" }
        ::= { rcLinkStateTrackGroupActionEntry 3 }    
        
rcLinkStateTrackGroupActionPortPvid           OBJECT-TYPE
        SYNTAX INTEGER(0..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The new pvid to be setted when the fault happens. This is 
            valid when bit1 of rcLinkStateTrackGroupActionMode is setted." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupActionEntry 4 }

rcLinkStateTrackGroupActionPortPvidPortList   OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ports whose pvid to be modified when the fault happens. This is 
            valid when bit1 of rcLinkStateTrackGroupActionMode is setted. Bit0 
            of the port list represents port 1, Bit2 represents port 2, and so on."
        DEFVAL { "" }
        ::= { rcLinkStateTrackGroupActionEntry 5 }    
        
rcLinkStateTrackGroupActionDeleteVlan         OBJECT-TYPE
        SYNTAX INTEGER(0..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The vlan to be deleted when the fault happens. This is 
            valid when bit2 of rcLinkStateTrackGroupActionMode is setted." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupActionEntry 6 }       
        
rcLinkStateTrackGroupActionSuspendVlan        OBJECT-TYPE
        SYNTAX INTEGER(0..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The vlan to be suspended when the fault happens. This is 
            valid when bit3 of rcLinkStateTrackGroupActionMode is setted." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupActionEntry 7 }

rcLinkStateTrackGroupActionFlushG8032RingList OBJECT-TYPE
        SYNTAX BITS
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The G.8032 rings to be flushed when the fault happens. This is 
            valid when bit4 of rcLinkStateTrackGroupActionMode is setted. Bit0 
            of the ring list represents ring 1, Bit2 represents ring 2, and 
            so on."
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupActionEntry 8 }

rcLinkStateTrackGroupActionFlushEringList     OBJECT-TYPE
        SYNTAX BITS
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ethernet rings to be flushed when the fault happens. This is 
            valid when bit5 of rcLinkStateTrackGroupActionMode is setted. Bit0 
            of the ring list represents ring 1, Bit2 represents ring 2, and 
            so on."
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupActionEntry 9 }    
        
rcLinkStateTrackGroupActionBlockVlanVlanList   OBJECT-TYPE
        SYNTAX BITS
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The vlans to be blocked when the fault happens. This is valid when 
            bit7 of rcLinkStateTrackGroupActionMode is setted. Bit0 of the vlan
            list represents vlan 1, Bit2 represents vlan 2, and so on." 
        DEFVAL { "" }
        ::= { rcLinkStateTrackGroupActionEntry 10 }

rcLinkStateTrackGroupActionBlockVlanPortList   OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ports on which the vlans to be blocked when the fault happens. 
            This is valid when bit7 of rcLinkStateTrackGroupActionMode is setted.
            Bit0 of the port list represents port 1, Bit2 represents port 2, and 
            so on."
        DEFVAL { "" }
        ::= { rcLinkStateTrackGroupActionEntry 11 } 
        
-- -------------------------------------------------------------
-- rcLinkStateTrackGroupStateTable
-- -------------------------------------------------------------
rcLinkStateTrackGroupStateTable               OBJECT-TYPE
        SYNTAX      SEQUENCE OF RcLinkStateTrackGroupStateEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "Link state tracking group state table."
        ::= { rcLinkStateTrackGroup 3 }

rcLinkStateTrackGroupStateEntry               OBJECT-TYPE
        SYNTAX      RcLinkStateTrackGroupStateEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the rcLinkStateTrackGroupStateTable. It contains
             fault track state information of each link state tracking group."
	    INDEX        { rcLinkStateTrackGroupStateGroupIndex }    
        ::={ rcLinkStateTrackGroupStateTable 1 }
    
        RcLinkStateTrackGroupStateEntry ::= SEQUENCE
        {
            rcLinkStateTrackGroupStateGroupIndex	 INTEGER,
    	    rcLinkStateTrackGroupState               INTEGER,
    	    rcLinkStateTrackGroupSourceFaultType     INTEGER 
        }

rcLinkStateTrackGroupStateGroupIndex          OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Link state tracking group index, the index of rcLinkStateTrackGroupStateTable."
        ::= { rcLinkStateTrackGroupStateEntry 1 } 

rcLinkStateTrackGroupState                    OBJECT-TYPE
        SYNTAX INTEGER {
                           normal(0),
                           failover(1)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The fault track state of link state tracking group."
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupStateEntry 2 }

rcLinkStateTrackGroupSourceFaultType          OBJECT-TYPE
        SYNTAX INTEGER {
                           none(0),
                           port-shutdown(1),
                           mep-down(2),
                           cc-timeout(3),
                           rdi-fault(4),
                           elps-down(5),
                           lacp-swtitch(6),
                           portbackup-switch(7),
                           flush-mac-signal(8)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The fault reason type of link state tracking group." 
        DEFVAL { 0 }
        ::= { rcLinkStateTrackGroupStateEntry 3 }    
        
-- -------------------------------------------------------------
-- rcLinkStateTrackFailoverTrap
-- -------------------------------------------------------------
rcLinkStateTrackFailoverTrap NOTIFICATION-TYPE
         OBJECTS {
                     rcLinkStateTrackGroupState,
                     rcLinkStateTrackGroupSourceFaultType
                 }
         STATUS  current
         DESCRIPTION                                
             "Send this trap when link state tracking group fault tracked."
         ::= { rcLinkStateTrackNotifications 1 }

         
END