--  ********************************************************
--  $Id: ZXR10-MSTP.mib 2006-09-01 01:34:21Z wuxiaoxiang $
--
--  ZXR10-MSTP.mib: ZXR10 MSTP MIB file
--
--  Sep. 2006, Wu XiaoXiang
--  modify by yuly 155208
--  Copyright(c) 2006 by ZTE Corporation
--  All rights reserved
--
--  ********************************************************

ZXR10-MSTP DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32
        FROM SNMPv2-SMI

    TEXTUAL-CONVENTION
        FROM SNMPv2-TC

	  RowStatus
        FROM SNMPv2-TC
                     
    ifIndex
        FROM RFC1213-MIB    
            				        
    zxr10					    
    	FROM ZXR10-SMI
   ;

    mstpMIB MODULE-IDENTITY

        LAST-UPDATED "200609010000Z"  -- September 01, 2006

        ORGANIZATION "ZTE Corporation"

        CONTACT-INFO
            "ZTE Corporation

             Nanjing Institute of ZTE Corporation

             No.68 ZiJinghua Rd. YuHuatai District, Nanjing, China

             Tel: +86-25-52870000"

        DESCRIPTION
            "ZXROS V4.6.03B MSTP MIB"

    ::= { zxr10 127 }    

    mstpMibObjects  OBJECT IDENTIFIER ::= { mstpMIB  1 }


--TEXTUAL-CONVENTION

    UINT32 ::=
           Unsigned32
    -- This data type is used to unsigned integer.

    Char ::=
         OCTET STRING
    -- This data type is used to model textual information taken
    -- from the NVT ASCII character set.  By convention, objects
    -- with this syntax are declared as having 0-65535 characters.

    MSTPProtocolType ::= TEXTUAL-CONVENTION
        DISPLAY-HINT  "d"
        STATUS        current
        DESCRIPTION   "Spanning Tree Protocol Type"
        SYNTAX        INTEGER
                      {
                         disabled(0),
                         sstp(1),
                         rstp(2),
                         mstp(3)
                      }

    MSTPTransportType ::= TEXTUAL-CONVENTION
        DISPLAY-HINT  "d"
        STATUS        current
        DESCRIPTION   "Data Packets Transport Type"
        SYNTAX        INTEGER
                      {
                         untransparent(0),
                         transparent(1)
                      }

		MSTPPortEnable ::= TEXTUAL-CONVENTION
			  DISPLAY-HINT  "d"
			  STATUS        current
			  DESCRIPTION   "Whether Stp Run in Port"
			  SYNTAX        INTEGER
			                {
			                   portstpunused(0),
			                   portstpused(1)
			                }

		MSTPLinkType ::= TEXTUAL-CONVENTION
			  DISPLAY-HINT  "d"
			  STATUS        current
			  DESCRIPTION   "Link Type"
			  SYNTAX        INTEGER
			                {
			                   share(0),
			                   p2p(1),
			                   auto(2)
			                }

		MSTPEdgePortEnable ::= TEXTUAL-CONVENTION
		  DISPLAY-HINT  "d"
		  STATUS        current
		  DESCRIPTION   "Whether Edge Port"
		  SYNTAX        INTEGER
		                {
		                   edge-disable(0),
		                   edge-enable(1)
		                }

		MSTPBPDUGuardEnable ::= TEXTUAL-CONVENTION
		  DISPLAY-HINT  "d"
		  STATUS        current
		  DESCRIPTION   "BPDU Guard Function"
		  SYNTAX        INTEGER
		                {
		                   bpduguarddisable(0),
		                   bpduguardenable(1)
		                }

		MSTPPacketType ::= TEXTUAL-CONVENTION
		  DISPLAY-HINT  "d"
		  STATUS        current
		  DESCRIPTION   "Packet Type"
		  SYNTAX        INTEGER
		                {
		                   ieee(0),
		                   cisco(1),
		                   hammer(2),
		                   huawei(3)
		                }

		MSTPPortStatus ::= TEXTUAL-CONVENTION
		  DISPLAY-HINT  "d"
		  STATUS        current
		  DESCRIPTION   "Port Status"
		  SYNTAX        INTEGER
		                {
		                   disabled(0),
		                   blocking(1),
		                   listening(2),
		                   learning(3),
		                   forwarding(4),
		                   broken(5)
		                }

		MSTPRootGuardEnable ::= TEXTUAL-CONVENTION
		  DISPLAY-HINT  "d"
		  STATUS        current
		  DESCRIPTION   "Root Guard Function"
		  SYNTAX        INTEGER
		                {
		                   rootguarddisable(0),
		                   rootguardenable(1)
		                }

		MSTPLoopGuardEnable ::= TEXTUAL-CONVENTION
		  DISPLAY-HINT  "d"
		  STATUS        current
		  DESCRIPTION   "Loop Guard Function"
		  SYNTAX        INTEGER
		                {
		                   loopguarddisable(0),
		                   loopguardenable(1)
		                }


-- groups in mstpMibObjects

      mstpGlobalPara      OBJECT IDENTIFIER ::= { mstpMibObjects  1 }

      mstpInstance        OBJECT IDENTIFIER ::= { mstpMibObjects  2 }

      mstpPort            OBJECT IDENTIFIER ::= { mstpMibObjects  3 }

      mstpPortInstance    OBJECT IDENTIFIER ::= { mstpMibObjects  4 }


---mstpGlobalPara

	  stpProtocolSpecification   OBJECT-TYPE
        SYNTAX		    MSTPProtocolType
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Configure STP Protocol Type."
	  ::=  { mstpGlobalPara  1 }

	  stpMaxAge   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Root Bridge Max Age."
	  ::=  { mstpGlobalPara  2 }

	  stpHelloTime   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Root Bridge Hello Time."
	  ::=  { mstpGlobalPara  3 }

	  stpHoldTime   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Root Bridge Hold Time."
	  ::=  { mstpGlobalPara  4 }

	  stpForwardDelay   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Root Bridge Forward Delay Time."
	  ::=  { mstpGlobalPara  5 }

	  stpBridgeMaxAge   OBJECT-TYPE
        SYNTAX		    UINT32(6..40)
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Bridge Max Age."
	  ::=  { mstpGlobalPara  6 }

	  stpBridgeHelloTime   OBJECT-TYPE
        SYNTAX		    UINT32(1..10)
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Bridge Hello Time."
	  ::=  { mstpGlobalPara  7 }

	  stpBridgeForwardDelay   OBJECT-TYPE
        SYNTAX		    UINT32(4..30)
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Bridge Forward Delay Time."
	  ::=  { mstpGlobalPara  8 }

	  stpTransparentEnable   OBJECT-TYPE
        SYNTAX		    MSTPTransportType
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Packet Transparent method."
	  ::=  { mstpGlobalPara  9 }

	  stpRevision   OBJECT-TYPE
        SYNTAX		    UINT32(0..65535)
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Vision."
	  ::=  { mstpGlobalPara  10 }

	  stpConfigName   OBJECT-TYPE
        SYNTAX		    Char(SIZE(0..33))
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "Bridge Name in Region."
	  ::=  { mstpGlobalPara  11 }

	  stpHmd5Digest   OBJECT-TYPE
        SYNTAX		    Char(SIZE(0..35))
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "Hmd5Digest."
	  ::=  { mstpGlobalPara  12 }

	  stpHmd5Key   OBJECT-TYPE
        SYNTAX		    Char(SIZE(0..35))
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Hmd5Key."
	  ::=  { mstpGlobalPara  13 }


---mstpInstance

	  mstpInstanceTable	OBJECT-TYPE
	      SYNTAX		    SEQUENCE OF MstpInstanceEntry
	      MAX-ACCESS	  not-accessible
	      STATUS		    current
	      DESCRIPTION   "Configure MSTP instance parameters."
  	::=  { mstpInstance  1 }

	  mstpInstanceEntry	OBJECT-TYPE
	      SYNTAX		    MstpInstanceEntry
	      MAX-ACCESS	  not-accessible
	      STATUS		    current
	      DESCRIPTION   "Each row index by StpInstanceID And contain imformation of Instance."
	  	  INDEX		      {  stpInstanceID  }
    ::=  { mstpInstanceTable 1 }

	  MstpInstanceEntry
	  ::=  SEQUENCE
	  {
        stpInstanceID           UINT32,
        stpBridgePriority       UINT32,
	      stpBridgeMac            Char,
	      stpInstanceRootPriority UINT32,
	      stpInstanceRootMac      Char,
        stpRemainHops           UINT32,
	      stpVlanMaps             Char,
	      stpMAXHops              UINT32,
	      stpBridgeMAXHops        UINT32,
        stpInstanceRowStatus    RowStatus
	  }

	  stpInstanceID   OBJECT-TYPE
        SYNTAX		    UINT32(0..31)
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "Instance ID."
	  ::=  { mstpInstanceEntry  1 }

	  stpBridgePriority   OBJECT-TYPE
        SYNTAX		    UINT32(0..61440)
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "Bridge Priority."
	  ::=  { mstpInstanceEntry  2 }

	  stpBridgeMac   OBJECT-TYPE
        SYNTAX		    Char
	  	  MAX-ACCESS	  read-only
	  	  STATUS		    current
		    DESCRIPTION   "Bridge Mac."
	  ::=  { mstpInstanceEntry  3 }

	  stpInstanceRootPriority   OBJECT-TYPE
        SYNTAX		    UINT32
	  	  MAX-ACCESS	  read-only
	  	  STATUS		    current
	  	  DESCRIPTION   "Instance Root Bridge Priority."
	  ::=  { mstpInstanceEntry  4 }

	  stpInstanceRootMac   OBJECT-TYPE
        SYNTAX		    Char
	  	  MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Instance Root Bridge Mac."
	  ::=  { mstpInstanceEntry  5 }

	  stpRemainHops   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "BPDU Packet Reamin Hops."
	  ::=  { mstpInstanceEntry  6 }

	  stpVlanMaps   OBJECT-TYPE
        SYNTAX		    Char(SIZE(100))
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
		    DESCRIPTION   "VLAN Tag spearated by ',' or '-'."
  	::=  { mstpInstanceEntry  7 }
  	
    stpMAXHops   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Root Bridge Max Hops."
	  ::=  { mstpInstanceEntry  8 }

	  stpBridgeMAXHops   OBJECT-TYPE
        SYNTAX		    UINT32(1..40)
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Bridge Max Hops."
	  ::=  { mstpInstanceEntry  9 }
	  	  
	  stpInstanceRowStatus   OBJECT-TYPE
        SYNTAX		    RowStatus
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "This variable is used to create, modify, and/or delete a row in this table."
  	::=  { mstpInstanceEntry  10 }


---mstpPort

	  mstpPortTable	OBJECT-TYPE
	      SYNTAX		    SEQUENCE OF MstpPortEntry
	      MAX-ACCESS	  not-accessible
	      STATUS		    current
	      DESCRIPTION   "Configure MSTP Port parameters."
	  ::=  { mstpPort  1 }

	  mstpPortEntry	OBJECT-TYPE
	      SYNTAX		    MstpPortEntry
	      MAX-ACCESS	  not-accessible
	      STATUS		    current
	      DESCRIPTION   "Each row index by ifIndex And contain stp imformation of Port."
		    INDEX		      {  ifIndex  }
    ::=  { mstpPortTable 1 }

	  MstpPortEntry
	  ::=  SEQUENCE
	  {
        stpPortEnable          MSTPPortEnable,
        stpLinkType            MSTPLinkType,
        stpEdgedPortEnable     MSTPEdgePortEnable,
	      stpBPDUGuardEnable     MSTPBPDUGuardEnable,
        stpPacketType          MSTPPacketType,
	      stpIfName              Char
    }

	  stpPortEnable   OBJECT-TYPE
        SYNTAX		    MSTPPortEnable
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "STP Protocol status on port."
	  ::=  { mstpPortEntry  1 }

	  stpLinkType   OBJECT-TYPE
        SYNTAX		    MSTPLinkType
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
	  	  DESCRIPTION   "Link Type."
	  ::=  { mstpPortEntry  2 }

	  stpEdgedPortEnable   OBJECT-TYPE
        SYNTAX		    MSTPEdgePortEnable
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
		    DESCRIPTION   "Whether EdgedPort."
  	::=  { mstpPortEntry  3 }

  	stpBPDUGuardEnable   OBJECT-TYPE
        SYNTAX		    MSTPBPDUGuardEnable
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "BPDU Guard Function status."
	  ::=  { mstpPortEntry  4 }

	  stpPacketType   OBJECT-TYPE
        SYNTAX		    MSTPPacketType
	  	  MAX-ACCESS	  read-write
		    STATUS		    current
	  	  DESCRIPTION   "BPDU Packet Type."
	  ::=  { mstpPortEntry  5 }

    stpIfName   OBJECT-TYPE
        SYNTAX		    Char
	  	  MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Interface Name."
	  ::=  { mstpPortEntry  6 }


---mstpPortInstance

	  mstpPortInstanceTable	OBJECT-TYPE
	      SYNTAX		    SEQUENCE OF MstpPortInstanceEntry
	      MAX-ACCESS	  not-accessible
	      STATUS		    current
	      DESCRIPTION   "Configure MSTP Port Instance parameters."
	  ::=  { mstpPortInstance  1 }

	  mstpPortInstanceEntry	OBJECT-TYPE
	      SYNTAX		    MstpPortInstanceEntry
	      MAX-ACCESS	  not-accessible
	      STATUS		    current
	      DESCRIPTION   "Each row index by stpPortInstanceID and ifIndex
	                     And contain imformation of Port-Instance."
		    INDEX		      {  stpPortInstanceID , ifIndex  }
    ::=  { mstpPortInstanceTable 1 }

	  MstpPortInstanceEntry
	  ::=  SEQUENCE
	  {
        stpPortInstanceID                 UINT32,
        stpPortName                       Char,
        stpPortPriority                   UINT32,
        stpPortPathCost                   UINT32,
	      stpPortState                      MSTPPortStatus,
        stpPortDesignatedCost             UINT32,
	      stpPortDesignatedBridgePriority   UINT32,
	      stpPortDesignatedBridgeMac        Char,
	      stpPortDesignatedPort             UINT32,
	      stpRootGuardEnable                MSTPRootGuardEnable,
	      stpLoopGuardEnable                MSTPLoopGuardEnable
    }

	  stpPortInstanceID   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Instance ID."
	  ::=  { mstpPortInstanceEntry  1 }

	  stpPortName   OBJECT-TYPE
        SYNTAX		    Char
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Interface Name."
	  ::=  { mstpPortInstanceEntry  2 }

	  stpPortPriority   OBJECT-TYPE
        SYNTAX		    UINT32(0..240)
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
		    DESCRIPTION   "Port Priority."
	  ::=  { mstpPortInstanceEntry  3 }

	  stpPortPathCost   OBJECT-TYPE
        SYNTAX		    UINT32(1..2000000)
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Port Cost."
	  ::=  { mstpPortInstanceEntry  4 }

	  stpPortState   OBJECT-TYPE
        SYNTAX		    MSTPPortStatus
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Port Status."
	  ::=  { mstpPortInstanceEntry  5 }

	  stpPortDesignatedCost   OBJECT-TYPE
        SYNTAX		    UINT32
	  	  MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Cost To Root Bridge."
	  ::=  { mstpPortInstanceEntry  6 }

	  stpPortDesignatedBridgePriority   OBJECT-TYPE
        SYNTAX		    UINT32
		    MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "Priority of Designated Bridge."
	  ::=  { mstpPortInstanceEntry  7 }

	  stpPortDesignatedBridgeMac   OBJECT-TYPE
        SYNTAX		    Char
	  	  MAX-ACCESS	  read-only
		    STATUS		    current
		    DESCRIPTION   "MAC address of Designated Bridge."
	  ::=  { mstpPortInstanceEntry  8 }

	  stpPortDesignatedPort   OBJECT-TYPE
        SYNTAX		    UINT32
	  	  MAX-ACCESS	  read-only
	  	  STATUS		    current
	  	  DESCRIPTION   "Port ID."
	  ::=  { mstpPortInstanceEntry  9 }

	  stpRootGuardEnable   OBJECT-TYPE
        SYNTAX		    MSTPRootGuardEnable
		    MAX-ACCESS	  read-write
		    STATUS		    current
		    DESCRIPTION   "Root Guard Function Status."
	  ::=  { mstpPortInstanceEntry  10 }

	  stpLoopGuardEnable   OBJECT-TYPE
        SYNTAX		    MSTPLoopGuardEnable
	  	  MAX-ACCESS	  read-write
	  	  STATUS		    current
		    DESCRIPTION   "Loop Guard Function Status."
	  ::=  { mstpPortInstanceEntry  11 }


END