-- Automatically generated by MIB Converter ... 


-- ----------------------------------------------------------------------
-- scalance_x200_msps.mib
-- SIMATIC NET Industrial Ethernet Scalance 
-- MSPS Private MIB
-- Copyright (c) 2012 Siemens AG
-- ----------------------------------------------------------------------
--
-- MIB Module :   SN-MSPS-SCX200-MIB
--
-- Revision   :   V04.02.00
-- Date       :   2020-04-24 19:30:08
-- 
-- ----------------------------------------------------------------------
      
SN-MSPS-SCX200-MIB DEFINITIONS ::= BEGIN

IMPORTS 
	DisplayString                            FROM RFC1213-MIB
	MODULE-COMPLIANCE,
	OBJECT-GROUP,
	NOTIFICATION-GROUP                       FROM SNMPv2-CONF
	enterprises                              FROM RFC1155-SMI
	PaeControlledPortStatus                  FROM IEEE8021-PAE-MIB
	BridgeId,
	Timeout                                  FROM BRIDGE-MIB
	InterfaceIndex,
	ifIndex,
	InterfaceIndexOrZero                     FROM IF-MIB
	InetAddress,
	InetAddressType,
	InetAddressPrefixLength,
	InetAddressIPv4,
	InetPortNumber,
	InetVersion,
	InetZoneIndex,
	InetAutonomousSystemNumber               FROM INET-ADDRESS-MIB
	TRAP-TYPE                                FROM RFC-1215
	SnmpEngineID,
	SnmpAdminString                          FROM SNMP-FRAMEWORK-MIB
	snmpTargetAddrEntry                      FROM SNMP-TARGET-MIB
	EnabledStatus                            FROM P-BRIDGE-MIB
	Counter32,
	Integer32,
	Unsigned32,
	enterprises,
	OBJECT-TYPE,
	OBJECT-IDENTITY,
	NOTIFICATION-TYPE,
	MODULE-IDENTITY,
	TimeTicks,
	IpAddress,
	Gauge32,
	mib-2                                    FROM SNMPv2-SMI
	PortList,
	VlanId,
	dot1qVlanIndex,
	dot1qStaticUnicastEntry,
	dot1qTpFdbEntry,
	dot1qFdbEntry,
	dot1qFdbId,
	dot1qStaticUnicastAddress,
	dot1qStaticUnicastReceivePort,
	dot1qStaticMulticastAddress,
	dot1qStaticMulticastReceivePort,
	VlanIdOrNone,
	dot1qVlanStaticEntry,
	VlanIndex                                FROM Q-BRIDGE-MIB
	pethPsePortEntry,
	pethMainPseEntry                         FROM POWER-ETHERNET-MIB
	RowStatus,
	DateAndTime,
	MacAddress,
	TruthValue,
	DisplayString,
	TEXTUAL-CONVENTION,
	StorageType                              FROM SNMPv2-TC
	IANAipRouteProtocol                      FROM IANA-RTPROTO-MIB;



org                                      OBJECT IDENTIFIER ::= { iso 3}

dod                                      OBJECT IDENTIFIER ::= { org 6}

internet                                 OBJECT IDENTIFIER ::= { dod 1}

private                                  OBJECT IDENTIFIER ::= { internet 4}

enterprises                              OBJECT IDENTIFIER ::= { private 1}

siemens                                  OBJECT IDENTIFIER ::= { enterprises 4329}

industrialComProducts                    OBJECT IDENTIFIER ::= { siemens 20}

iComPlatforms                            OBJECT IDENTIFIER ::= { industrialComProducts 1}

simaticNet                               OBJECT IDENTIFIER ::= { iComPlatforms 1}

snMsps                                   OBJECT IDENTIFIER ::= { simaticNet 1}

snMspsCommon                             OBJECT IDENTIFIER ::= { snMsps 1}
snMspsModules                            OBJECT IDENTIFIER ::= { snMsps 3}
snMspsTrapPrefix                         OBJECT IDENTIFIER ::= { snMsps 0}

snMspsAcl                                OBJECT IDENTIFIER ::= { snMspsCommon 30}
snMspsCableTester                        OBJECT IDENTIFIER ::= { snMspsCommon 44}
snMspsConfig                             OBJECT IDENTIFIER ::= { snMspsCommon 1}
snMspsCplug                              OBJECT IDENTIFIER ::= { snMspsCommon 23}
snMspsDas                                OBJECT IDENTIFIER ::= { snMspsCommon 83}
snMspsDhcp                               OBJECT IDENTIFIER ::= { snMspsCommon 17}
snMspsDiagnostics                        OBJECT IDENTIFIER ::= { snMspsCommon 79}
snMspsDot1ad                             OBJECT IDENTIFIER ::= { snMspsCommon 81}
snMspsDst                                OBJECT IDENTIFIER ::= { snMspsCommon 54}
snMspsDualNetAccess                      OBJECT IDENTIFIER ::= { snMspsCommon 88}
snMspsEthernetIp                         OBJECT IDENTIFIER ::= { snMspsCommon 62}
snMspsGeneral                            OBJECT IDENTIFIER ::= { snMspsCommon 2}
snMspsGuestVlan                          OBJECT IDENTIFIER ::= { snMspsCommon 55}
snMspsHttp                               OBJECT IDENTIFIER ::= { snMspsCommon 20}
snMspsIf                                 OBJECT IDENTIFIER ::= { snMspsCommon 34}
snMspsIp                                 OBJECT IDENTIFIER ::= { snMspsCommon 13}
snMspsIpACD                              OBJECT IDENTIFIER ::= { snMspsCommon 63}
snMspsKeyPlug                            OBJECT IDENTIFIER ::= { snMspsCommon 35}
snMspsLa                                 OBJECT IDENTIFIER ::= { snMspsCommon 5}
snMspsLinkCheck                          OBJECT IDENTIFIER ::= { snMspsCommon 82}
snMspsLoadSave                           OBJECT IDENTIFIER ::= { snMspsCommon 26}
snMspsLog                                OBJECT IDENTIFIER ::= { snMspsCommon 31}
snMspsLoopDetection                      OBJECT IDENTIFIER ::= { snMspsCommon 36}
snMspsMacAuth                            OBJECT IDENTIFIER ::= { snMspsCommon 56}
snMspsMstp                               OBJECT IDENTIFIER ::= { snMspsCommon 6}
snMspsNatv2                              OBJECT IDENTIFIER ::= { snMspsCommon 75}
snMspsNtp                                OBJECT IDENTIFIER ::= { snMspsCommon 33}
snMspsPnac                               OBJECT IDENTIFIER ::= { snMspsCommon 10}
snMspsPnio                               OBJECT IDENTIFIER ::= { snMspsCommon 32}
snMspsPoe                                OBJECT IDENTIFIER ::= { snMspsCommon 38}
snMspsPort                               OBJECT IDENTIFIER ::= { snMspsCommon 29}
snMspsPtp                                OBJECT IDENTIFIER ::= { snMspsCommon 37}
snMspsQos                                OBJECT IDENTIFIER ::= { snMspsCommon 22}
snMspsRadius                             OBJECT IDENTIFIER ::= { snMspsCommon 11}
snMspsRedundancy                         OBJECT IDENTIFIER ::= { snMspsCommon 24}
snMspsReport                             OBJECT IDENTIFIER ::= { snMspsCommon 28}
snMspsRmon                               OBJECT IDENTIFIER ::= { snMspsCommon 12}
snMspsSfp                                OBJECT IDENTIFIER ::= { snMspsCommon 46}
snMspsSinema                             OBJECT IDENTIFIER ::= { snMspsCommon 25}
snMspsSnmp                               OBJECT IDENTIFIER ::= { snMspsCommon 4}
snMspsSnooping                           OBJECT IDENTIFIER ::= { snMspsCommon 9}
snMspsSntp                               OBJECT IDENTIFIER ::= { snMspsCommon 19}
snMspsSyslog                             OBJECT IDENTIFIER ::= { snMspsCommon 21}
snMspsTc                                 OBJECT IDENTIFIER ::= { snMspsModules 1}
snMspsVlan                               OBJECT IDENTIFIER ::= { snMspsCommon 3}

snMspsDhcpClient                         OBJECT IDENTIFIER ::= { snMspsDhcp 1}
snMspsDhcpRelay                          OBJECT IDENTIFIER ::= { snMspsDhcp 3}
snMspsDhcpServer                         OBJECT IDENTIFIER ::= { snMspsDhcp 2}
snMspsQosAgentMac                        OBJECT IDENTIFIER ::= { snMspsQos 16}
snMspsQosBcast                           OBJECT IDENTIFIER ::= { snMspsQos 14}
snMspsQosCos                             OBJECT IDENTIFIER ::= { snMspsQos 3}
snMspsQosCosPort                         OBJECT IDENTIFIER ::= { snMspsQos 12}
snMspsQosDscp                            OBJECT IDENTIFIER ::= { snMspsQos 4}
snMspsQosSchedule                        OBJECT IDENTIFIER ::= { snMspsQos 10}
snMspsRadiusServer                       OBJECT IDENTIFIER ::= { snMspsRadius 2}
snMspsRedundancyExt                      OBJECT IDENTIFIER ::= { snMspsRedundancy 4}
snMspsRingRedundancy                     OBJECT IDENTIFIER ::= { snMspsRedundancy 1}
snMspsRingRedundancyMrpIntercon          OBJECT IDENTIFIER ::= { snMspsRedundancy 5}
snMspsRingRedundancyObserver             OBJECT IDENTIFIER ::= { snMspsRedundancy 3}
snMspsRingRedundancyStandby              OBJECT IDENTIFIER ::= { snMspsRedundancy 2}
snMspsSntpClient                         OBJECT IDENTIFIER ::= { snMspsSntp 1}
snMspsSyslogClient                       OBJECT IDENTIFIER ::= { snMspsSyslog 1}




SnMspsOrderNumber          ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "The format of type identification / order 
                                numbers of Siemens MSPS products."
    SYNTAX                     OCTET STRING (SIZE (1|5..32))     
                               
SnMspsSerialNumber         ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "The format of serial numbers of 
                                Siemens MSPS products."
    SYNTAX                     OCTET STRING (SIZE (1|5..32))
                 
SnMspsVersionNumber        ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "The version format of Siemens MSPS in a 
                               simplified OSLO form :
                               [RCSTBPVKD][0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}
                               "
    SYNTAX                     OCTET STRING (SIZE (5..32))
    
SnMspsMacAddress           ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "
                               A six octet string (48-bit), using the 
                               hexadecimal representation, in canonical
                               order specified by IEEE Std 802 
                               (Overview and Architecture, 
                                formerly IEEE Std 802.1a).

                               Shorter MAC address values than 48 bits, if 
                               used, are represented by setting their 
                               unused upper octets to all 0's, i.e., 
                               the 16-bit address AAFF shall be 
                               represented as 00000000AAFF.
                               "
    SYNTAX                     OCTET STRING (SIZE (6)) 

SnMspsIpAddress            ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "
                               An octet string which represents either a 
                               IPv4 address or a IPv6a ddress or 
                               a DNS compliant name. 
                               "
    SYNTAX                     OCTET STRING

SnMspsStatus               ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "A uniform representation of status values."
    SYNTAX                     INTEGER { invalid(0), enable(1), disable(2) }
    
SnMspsTrigger              ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "A uniform representation of trigger values"
    SYNTAX                     INTEGER { trigger(1), notTriggered(2) }

SnMspsFunctionString       ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "
                               The format of function tags according 
                               IEC 61158-6-10, chapter 6.2.4.83.13.
                               The value shall be filled with blanks 
                               if it is shorter than 32.
                               Non-printable characters and 
                               control sequences are not allowed.
                               "
    SYNTAX                     DisplayString (SIZE (32))

SnMspsLocationString       ::= TEXTUAL-CONVENTION
    STATUS                     current
    DESCRIPTION                "
                               The format of function tags according 
                               IEC 61158-6-10, chapter 6.2.4.83.14.
                               The value shall be filled with blanks 
                               if it is shorter than 22.
                               Non-printable characters and 
                               control sequences are not allowed.
                               "
    SYNTAX                     DisplayString (SIZE (22))



-- ----------------------------------------------------------------
-- MSPS General Groups
-- ----------------------------------------------------------------


-- ----------------------------------------------------------------
-- MSPS General Objects
-- ----------------------------------------------------------------

snMspsGeneralDeviceType OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (10..50))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION "Device Type of current product. This value is the part of 
                fully-qualified domain name, which is stored in sys-Name.
		"
   ::= { snMspsGeneral 5 }

snMspsGeneralDeviceGroup  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (10..50))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The group name of the device, which is used as a part 
	                   of the cplug device's identification data"
   ::= { snMspsGeneral 10 }

snMspsGeneralHwVersionTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsGeneralHwVersionEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "This table contains version informations of all hardware 
        (basic device and extension cards), which are currently 
	      available on the device."
   ::= { snMspsGeneral 20 }
   
snMspsGeneralHwVersionEntry OBJECT-TYPE 
   SYNTAX      SnMspsGeneralHwVersionEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each hardware 
        in the system, which has a MLFB number."
   INDEX { snMspsGeneralHwVersionTableIndex }
   ::= { snMspsGeneralHwVersionTable 1 }   

SnMspsGeneralHwVersionEntry ::= 
   SEQUENCE { 
      snMspsGeneralHwVersionTableIndex 
         INTEGER,
      snMspsGeneralHwType 
         DisplayString,
      snMspsGeneralHwName
         DisplayString,
      snMspsGeneralHwRevision 
         DisplayString,
      snMspsGeneralHwOrderId
         SnMspsOrderNumber
  }

snMspsGeneralHwVersionTableIndex OBJECT-TYPE 
   SYNTAX      INTEGER (1..2147483647)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION "This index correlates with entPhysicalIndex 
                from entPhysicalTable (ENTITY-MIB)."
   ::= { snMspsGeneralHwVersionEntry 1 }

snMspsGeneralHwType OBJECT-TYPE 
   SYNTAX      DisplayString (SIZE(0..32))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The type of hardware in readable format."
   ::= { snMspsGeneralHwVersionEntry 2 }
    
snMspsGeneralHwName OBJECT-TYPE 
   SYNTAX      DisplayString (SIZE(0..32))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The name of hardware in readable format."
   ::= { snMspsGeneralHwVersionEntry 3 }    

snMspsGeneralHwRevision OBJECT-TYPE 
   SYNTAX      DisplayString (SIZE(1..32))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The number of hardware revision."
   ::= { snMspsGeneralHwVersionEntry 4 }    

snMspsGeneralHwOrderId OBJECT-TYPE 
   SYNTAX      SnMspsOrderNumber
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Order ID of hardware."
   ::= { snMspsGeneralHwVersionEntry 5 }    

snMspsGeneralSwVersionTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsGeneralSwVersionEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "This table contains version informations of software, which is currently 
	running on relevant hardware (basic device and extension cards)."
   ::= { snMspsGeneral 25 }
   
snMspsGeneralSwVersionEntry OBJECT-TYPE 
   SYNTAX      SnMspsGeneralSwVersionEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each software 
        running in the system. Since the same kinds of software 
	could run on different hardware, which is available 
	on the device, the index from 'snMspsGeneralHwVersionTable' 
	is also used here."
   INDEX { snMspsGeneralHwVersionTableIndex,
           snMspsGeneralSwVersionTableIndex
         }
   ::= { snMspsGeneralSwVersionTable 1 }   

SnMspsGeneralSwVersionEntry ::= 
   SEQUENCE { 
      snMspsGeneralSwVersionTableIndex 
         INTEGER,
      snMspsGeneralSwType 
         DisplayString,
      snMspsGeneralSwRevision 
         SnMspsVersionNumber,
      snMspsGeneralSwDate 
         DateAndTime,
      snMspsGeneralSwDescription
         DisplayString
  }

snMspsGeneralSwVersionTableIndex OBJECT-TYPE 
   SYNTAX      INTEGER (1..2147483647)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION "The numerical index of software, 
                which is available on relevant hardware."
   ::= { snMspsGeneralSwVersionEntry 1 }

snMspsGeneralSwType OBJECT-TYPE 
   SYNTAX      DisplayString (SIZE(0..32))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The type of software in readable format."
   ::= { snMspsGeneralSwVersionEntry 2 }   

snMspsGeneralSwRevision OBJECT-TYPE 
   SYNTAX      SnMspsVersionNumber
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The number of software revision."
   ::= { snMspsGeneralSwVersionEntry 3 }    

snMspsGeneralSwDate OBJECT-TYPE 
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The revision date of software."
   ::= { snMspsGeneralSwVersionEntry 4 } 

snMspsGeneralSwDescription OBJECT-TYPE 
   SYNTAX      DisplayString
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "The description of software."
   ::= { snMspsGeneralSwVersionEntry 5 }    



snMspsConfigLoginAuthentication OBJECT-TYPE
   SYNTAX      INTEGER {
               local(1),
               remoteRadius(2),
               remoteTacacs(3),
	       radiusFallbackToLocal(4),
	       tacacsFallbackToLocal(5),
		   localFallbackToRadius(6)

              }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
   	"Configures the mechanism by which the user login has to be authenticated 
   	for accessing the GUI to manage the switch. Authentication is done 
	either locally or in the remote side through a RADIUS Server or TACACS.
        If Authentication is configured as radiusLocal or tacacsLocal then
        Local authentication  provides a back door or a secondary option
        for authentication if the server fails."

   DEFVAL  { local } 
   ::= { snMspsConfig 1 }

------ Config Control Group ------------------------------------
   
snMspsConfigCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to control device features like egress traffic control,
        stats collection, etc. either for the entire switch or for each
        interface in the switch."
   ::= { snMspsConfig 2 }
   
snMspsConfigCtrlEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each interface in the system.
   
       In addition to that an entry with index '0' is created in this
       table by default.
       
       If 'snMspsConfigCtrlStatus' of the entry '0' is made 'valid', then
       global control is chosen and the values against entry '0' is 
       applicable for all the interfaces of the switch.
   
       If 'snMspsConfigCtrlStatus' of the entry '0' is made 'invalid', 
       then interface-wise control is chosen & the values against each 
       interface index is applicable for that interface.
       
       At a particular point of time, either global control will be
       applicable or interface-wise control is applicable. 
       Both will not be considered together.
       
       Index to the table is the interface index of the port."

   INDEX { snMspsConfigCtrlIndex }
   ::= { snMspsConfigCtrlTable 1 }   

SnMspsConfigCtrlEntry ::= 
   SEQUENCE { 
      snMspsConfigCtrlIndex 
         Integer32,
      snMspsConfigCtrlEgressStatus
         INTEGER,
      snMspsConfigCtrlStatsCollection 
         INTEGER,
      snMspsConfigCtrlStatus
         INTEGER
  }

snMspsConfigCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Interface index of the port for which the configuration
      in this entry applies.
   
      If any configuration is made in this table for the index '0',
      that configuration will be considered as global configuration 
      and is applicable for all the interfaces of the switch."
   ::= { snMspsConfigCtrlEntry 1 }
    
snMspsConfigCtrlEgressStatus OBJECT-TYPE
   SYNTAX      INTEGER {
               enabled (1),
               disabled (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Controls the transmission of egress traffic over this interface.
      
       This value for entry '0' controls the egress traffic over all 
       interfaces."
   DEFVAL  { enabled }
   ::= { snMspsConfigCtrlEntry 2 }
   
   
snMspsConfigCtrlStatsCollection OBJECT-TYPE 
   SYNTAX      INTEGER {
               enabled (1),
               disabled (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Enables or disables statistics collection for this interface.
    
       This value for entry '0' controls the stats collection for all
       interfaces."
   DEFVAL  { enabled }
   ::= { snMspsConfigCtrlEntry 3 }
   
snMspsConfigCtrlStatus OBJECT-TYPE 
   SYNTAX      INTEGER {
               valid (1),
               invalid (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Speficies the validity of the entry.
       
       If the 'Config Control Status' for entry '0' is made 'valid',
       then global control is chosen in the system.
       It signifies that the values against entry '0' is applicable 
       for all the interfaces of the switch.
   
       If the 'Config Control Status' for entry '0' is made 'invalid',
       then interface-wise control is chosen.
       Then the values against each interface index is applicable 
       for that interface.
       
       By default, 'snMspsConfigCtrlStatus' will be 'invalid' for 
       entry '0' and 'valid' for all other entries. 
       (ie) by default, interface-wise configuration is enabled
       in the system.
       
       The status of entries other than the zeroth(0th) entry can not be
       made 'invalid'."
   ::= { snMspsConfigCtrlEntry 4 }         
   
-- Rate Control Group --------------------------------------------- --   

snMspsConfigRateCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigRateCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "A table to control the rate limiting parameters 
       either for the entire switch or for each physical and port-channel
       interface in the switch."
   ::= { snMspsConfig 3 }

snMspsConfigRateCtrlEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigRateCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "An entry appears in this table for each physical and port-channel
       interface in the switch."
   INDEX { snMspsConfigRateCtrlIndex }
   ::= { snMspsConfigRateCtrlTable 1 }
   
SnMspsConfigRateCtrlEntry ::= 
   SEQUENCE { 
      snMspsConfigRateCtrlIndex 
         Integer32, 
      snMspsConfigRateCtrlDLFLimitValue
         Integer32, 
      snMspsConfigRateCtrlBCASTLimitValue
         Integer32, 
      snMspsConfigRateCtrlMCASTLimitValue
         Integer32,
      snMspsConfigRateCtrlPortRateLimit
         Integer32,
      snMspsConfigRateCtrlPortBurstSize
         Integer32,
      snMspsConfigRateCtrlUCASTLimitValue
         Integer32
  }

snMspsConfigRateCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The interface index for which the configuration in this 
       entry applies."
   ::= { snMspsConfigRateCtrlEntry 1 }
    
snMspsConfigRateCtrlDLFLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of dlf data that can be transmitted per second over this interface.
       The unit of data is given by snMspsConfigRateCtrlUnit object.
       Setting this object to the value zero disables rate limiting for 
       Destination lookup failure packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigRateCtrlEntry 2 }

snMspsConfigRateCtrlBCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of broadcast data that can be transmitted per second over this 
       interface. The unit of data is given by snMspsConfigRateCtrlUnit object.
       Setting this object to the value zero disables rate 
       limiting for Broadcast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigRateCtrlEntry 3 }


snMspsConfigRateCtrlMCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of multicast data that can be transmitted per second over this 
       interface. The unit of data is given by snMspsConfigRateCtrlUnit object.
       Setting this object to the value zero disables rate 
       limiting for Multicast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigRateCtrlEntry 4}

snMspsConfigRateCtrlPortRateLimit OBJECT-TYPE
   SYNTAX      Integer32 (0..80000000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Configures interface Rate Limit (Packet that can be transferred
      on a port at a particular second).

      This object's value will take effect on the interface speed. Based
      on the operating speed of the port, the rate limit will be applied.
      This value can also be affected by the metering. A value of zero(0)
      disable rate limiting i.e. sets the port to full speed."

   ::= { snMspsConfigRateCtrlEntry 5 }

snMspsConfigRateCtrlPortBurstSize OBJECT-TYPE
   SYNTAX      Integer32 (0..80000000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Configures interface Burst Pkt Rate. (Packet Burst that can be
       transferred on a port at a particular second)

      This object's value will take effect on the interface speed. Based
      on the operating speed of the port, the burst size of the port
      will be applied. This value can also be affected by the metering. A
      value of zero(0) disable burst rate limiting i.e. sets the port burst
      rate limit to full speed."

   ::= { snMspsConfigRateCtrlEntry 6 }

snMspsConfigRateCtrlUCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of unicast data that can be transmitted per second over this 
       interface. The unit of data is given by snMspsConfigRateCtrlUnit object.
       Setting this object to the value zero disables rate 
       limiting for Multicast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigRateCtrlEntry 7}


-- Rate Control Group --------------------------------------------- --    

snMspsConfigAclRateCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigAclRateCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "A table to control the rate limiting parameters 
       either for the entire switch or for each physical and port-channel
       interface in the switch. Chip-Dependent!"
   ::= { snMspsConfig 4 }

snMspsConfigAclRateCtrlEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigAclRateCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "An entry appears in this table for each physical and port-channel
       interface in the switch."
   INDEX { snMspsConfigAclRateCtrlIndex }
   ::= { snMspsConfigAclRateCtrlTable 1 }
   
SnMspsConfigAclRateCtrlEntry ::= 
   SEQUENCE { 
      snMspsConfigAclRateCtrlIndex 
         Integer32, 
      snMspsConfigAclRateCtrlDLFLimitValue
         Integer32, 
      snMspsConfigAclRateCtrlBCASTLimitValue
         Integer32, 
      snMspsConfigAclRateCtrlMCASTLimitValue
         Integer32,
      snMspsConfigAclRateCtrlPortRateLimit
         Integer32,
      snMspsConfigAclRateCtrlPortBurstSize
         Integer32
  }

snMspsConfigAclRateCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The interface index for which the configuration in this 
       entry applies."
   ::= { snMspsConfigAclRateCtrlEntry 1 }
    
snMspsConfigAclRateCtrlDLFLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of dlf packets that can be transmitted per second over this interface.
       Setting this object to the value zero disables rate limiting for 
       Destination lookup failure packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigAclRateCtrlEntry 2 }

snMspsConfigAclRateCtrlBCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of broadcast packets that can be transmitted per second over this 
       interface. Setting this object to the value zero disables rate 
       limiting for Broadcast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigAclRateCtrlEntry 3 }


snMspsConfigAclRateCtrlMCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of multicast packets that can be transmitted per second over this 
       interface. Setting this object to the value zero disables rate 
       limiting for Multicast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { snMspsConfigAclRateCtrlEntry 4}

snMspsConfigAclRateCtrlPortRateLimit OBJECT-TYPE
   SYNTAX      Integer32 (0..80000000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Configures interface Rate Limit (Packet that can be transferred
      on a port at a particular second).

      This object's value will take effect on the interface speed. Based
      on the operating speed of the port, the rate limit will be applied.
      This value can also be affected by the metering. A value of zero(0)
      disable rate limiting i.e. sets the port to full speed."

   ::= { snMspsConfigAclRateCtrlEntry 5 }

snMspsConfigAclRateCtrlPortBurstSize OBJECT-TYPE
   SYNTAX      Integer32 (0..80000000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Configures interface Burst Pkt Rate. (Packet Burst that can be
       transferred on a port at a particular second)

      This object's value will take effect on the interface speed. Based
      on the operating speed of the port, the burst size of the port
      will be applied. This value can also be affected by the metering. A
      value of zero(0) disable burst rate limiting i.e. sets the port burst
      rate limit to full speed."

   ::= { snMspsConfigAclRateCtrlEntry 6 }

-- Port Control Table 

snMspsConfigPortCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigPortCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to control the port specific parameters of the device like speed,
        duplex mode, etc."
   ::= { snMspsConfig 5 }

snMspsConfigPortCtrlEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigPortCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each interface in the system.
   
       Index to the table is the interface index of the port."

   INDEX { snMspsConfigPortCtrlIndex }
   ::= { snMspsConfigPortCtrlTable 1 }
   
SnMspsConfigPortCtrlEntry ::= 
   SEQUENCE { 
      snMspsConfigPortCtrlIndex 
         Integer32, 
      snMspsConfigPortCtrlMode
         INTEGER, 
      snMspsConfigPortCtrlDuplex
         INTEGER,
      snMspsConfigPortCtrlSpeed
         INTEGER, 
      snMspsConfigPortCtrlFlowControl
         INTEGER, 
      snMspsConfigPortCtrlRenegotiate
         INTEGER, 
      snMspsConfigPortCtrlMaxMacAddr 
         Integer32,
      snMspsConfigPortCtrlMaxMacAction 
          INTEGER,
      snMspsConfigPortHOLBlockPrevention
         INTEGER
  }

snMspsConfigPortCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Interface index of the port for which the configuration
      in this entry applies."
   
   ::= { snMspsConfigPortCtrlEntry 1 }

snMspsConfigPortCtrlMode OBJECT-TYPE 
   SYNTAX      INTEGER {
                 auto          (1),
                 noNegotiation (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Speficies the mode in which the speed, duplex modes and flow control
       of the interface is determined.

       If set as 'auto', the hardware senses speed and negotiates with the port 
       on the other end of the link for data transfer operation as
       'full-duplex' or 'half-duplex' and about flow contol.
       
       If set as 'nonegotiation', the configured values for interface 
       speed, duplex mode and flow control will be effective."
       
   DEFVAL  { auto }
   ::= { snMspsConfigPortCtrlEntry 2 }

snMspsConfigPortCtrlDuplex OBJECT-TYPE 
   SYNTAX      INTEGER {
                 full  (1),
                 half  (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Configures interface data transfer mode as full-duplex or half-duplex.
      
      This object can be configured only if the 'PortCtrlMode' is 'nonegotiation'. 
      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
      after negotiating  with its peer"

   ::= { snMspsConfigPortCtrlEntry 3 }

snMspsConfigPortCtrlSpeed OBJECT-TYPE 
   SYNTAX      INTEGER {
                 tenMBPS     (1),
                 hundredMBPS (2),
                 oneGB       (3),
                 tenGB       (4)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Configures interface speed.

      This object can be configured only if the 'PortCtrlMode' is 'nonegotiation'.
      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
      after negotiating  with its peer"

   ::= { snMspsConfigPortCtrlEntry 4 }

snMspsConfigPortCtrlFlowControl OBJECT-TYPE 
   SYNTAX      INTEGER {
                 enable     (1),
                 disable    (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Enables / disables flow control for the interface.

      This object be configured only if the 'PortCtrlMode' is 'nonegotiation'.
      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
      after negotiating  with its peer"

   ::= { snMspsConfigPortCtrlEntry 5 }

snMspsConfigPortCtrlRenegotiate OBJECT-TYPE 
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "When configured as 'true', restarts autonegotiation on the interface.

       Once autonegotiation is restarted, the value of this object reverts
       to 'false'."

   DEFVAL  { false }
   ::= { snMspsConfigPortCtrlEntry 6 }

snMspsConfigPortCtrlMaxMacAddr OBJECT-TYPE 
   SYNTAX      Integer32
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the maximum number of new MAC addresses that can be 
      learnt over the interface."
   ::= { snMspsConfigPortCtrlEntry 7 }

snMspsConfigPortCtrlMaxMacAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  drop     (1),
                  purgeLRU (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken when the maximum number of new MAC 
      addresses that can be learnt over the interface is exceeded.
      
      If the action is 'drop', the packet with new mac address will be
      dropped once the maximum number of new MAC addresses that can be
      learnt over the interface is exceeded.

      If the action is 'purgeLRU', the 'Least Recently Used' mac address
      will be deleted from the MAC table and the new mac address will be
      added."
   ::= { snMspsConfigPortCtrlEntry 8 }

snMspsConfigPortHOLBlockPrevention OBJECT-TYPE
   SYNTAX       INTEGER {
                   disabled  (1),
                   enabled   (2)
                }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "Enables or disables Head-Of-Line Blocking prevention on a port."
   DEFVAL  { enabled }
   ::= { snMspsConfigPortCtrlEntry 9 }

-- Mirror Group ------------------------------------------------------

snMspsConfigMirror                OBJECT IDENTIFIER ::= { snMspsConfig 6 }

snMspsConfigMirrorStatus OBJECT-TYPE 
   SYNTAX      INTEGER {
                  disabled      (1),
                  enabled       (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
       "This object is used to enable/disable mirroring
        feature in hardware.
        When set to 'disabled (1)', all mirroring configurations will be
        removed from hardware.
        When set to 'enabled (2)', all mirroring configurations
        present in software will be programmed in hardware."

   DEFVAL  { disabled }
   ::= { snMspsConfigMirror 1 }

snMspsConfigMirrorToPort OBJECT-TYPE 
   SYNTAX      Integer32
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
         "Specifies the port to which the active mirrored traffic controlled
         by snMspsConfigMirrorCtrlTable is to be copied."
   ::= { snMspsConfigMirror 2 }

-- Mirror Control Table

snMspsConfigMirrorCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigMirrorCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "A table to control mirroring features for each interface 
       in the switch.
      
       Parameters in this table are valid only when the 
       'snMspsConfigMirrorStatus' for the switch is not 'disabled'."
   ::= { snMspsConfigMirror 3 }

snMspsConfigMirrorCtrlEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigMirrorCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each interface 
        in the system."
   INDEX { snMspsConfigMirrorCtrlIndex }
   ::= { snMspsConfigMirrorCtrlTable 1 }
   
SnMspsConfigMirrorCtrlEntry ::= 
   SEQUENCE { 
      snMspsConfigMirrorCtrlIndex
         Integer32, 
      snMspsConfigMirrorCtrlIngressMirroring 
         INTEGER, 
      snMspsConfigMirrorCtrlEgressMirroring 
         INTEGER,
      snMspsConfigMirrorCtrlStatus 
         INTEGER 
  }

snMspsConfigMirrorCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The interface index of the port for which the configuration
      in this entry applies."
   ::= { snMspsConfigMirrorCtrlEntry 1 }
    
snMspsConfigMirrorCtrlIngressMirroring OBJECT-TYPE 
   SYNTAX      INTEGER {
               enabled(1),
               disabled(2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
       "Provides control to enable or disable mirroring of ingress 
        traffic over this interface to the mirrored-to port."
   DEFVAL  { disabled }
   ::= { snMspsConfigMirrorCtrlEntry 2 }

snMspsConfigMirrorCtrlEgressMirroring OBJECT-TYPE 
   SYNTAX      INTEGER {
               enabled(1),
               disabled(2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
       "Provides control to enable or disable mirroring of egress 
        traffic over this interface to the mirrored-to port."
   DEFVAL  { disabled }
   ::= { snMspsConfigMirrorCtrlEntry 3 }

snMspsConfigMirrorCtrlStatus OBJECT-TYPE 
   SYNTAX      INTEGER {
               valid(1),
               invalid(2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the validity of the entry."
   ::= { snMspsConfigMirrorCtrlEntry 4 }

-- Mirror Control Extension Table
-- snMspsConfigMirror 4 Reserved for future extensions
-- snMspsConfigMirror 5 Reserved for future extensions
snMspsConfigMirrorCtrlExtnTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsConfigMirrorCtrlExtnEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This Table is used to configure advanced mirroring features like
       - Port Based Mirroring:
       - flow based mirroring
       - vlan based mirroring

            Following are the configuration details for Port based mirroring:
                To configure source ports in a session
               - snMspsConfigMirrorCtrlExtnMirrType - is set to portBased
               - snMspsConfigMirrorCtrlExtnSrcTable - should be used to configure list
                                             of source ports to be mirrored 
                                             in a session
               - snMspsConfigMirrorCtrlExtnSrcId  - represents the source port. 
                                           The port Id to be mirrored 
                                           should be given here.
               - snMspsConfigMirrorCtrlExtnSrcCfg - this object is used to 
                                           add/remove a port in the 
                                           source port list 

               Example
               To create a session 1 with source ports 5,6 following 
               sequence of configuration should be followed
               For table snMspsConfigMirrorCtrlExtnTable
               snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
               snMspsConfigMirrorCtrlExtnMirrType = portBased

               For table snMspsConfigMirrorCtrlExtnSrcTable
               snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
               snMspsConfigMirrorCtrlExtnSrcId  = 5 as index
               snMspsConfigMirrorCtrlExtnSrcCfg = add
               snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
               snMspsConfigMirrorCtrlExtnSrcId  = 6 as index
               snMspsConfigMirrorCtrlExtnSrcCfg = add
                    
               To configure destination ports in a session
                - snMspsConfigMirrorCtrlExtnDestinationTable - should be used to 
                                                      configure list of 
                                                      destination ports to be 
                                                      mirrored in a session
                    - snMspsConfigMirrorCtrlExtnDestination  - represents the 
                                                      destination port. The 
                                                      port Id to which packets 
                                                      should be mirrored should
                                                      be given here.
                    - snMspsConfigMirrorCtrlExtnDestCfg - this object is used to 
                                                 add/remove a port in the 
                                                 source port list. 
                    Example
                    To create a session 1 with destination port 10,11 following
                    sequence of configuration should be followed
                    For table snMspsConfigMirrorCtrlExtnTable
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnMirrType = portBased

                    For table snMspsConfigMirrorCtrlExtnDestinationTable
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnDestination  = 10 as index
                    snMspsConfigMirrorCtrlExtnDestCfg = add
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnDestination  = 11 as index
                    snMspsConfigMirrorCtrlExtnDestCfg = add

               To Activate a session
                - snMspsConfigMirrorCtrlExtnStatus - should be used to 
                                            activate/deactivate mirroring for a
                                            session
                    Example
                    To enable mirroring for a session following sequence of 
                    configuration should be followed        
                    For table snMspsConfigMirrorCtrlExtnTable
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnStatus = active

                Above configurations applies to flow based mirroring also, the 
                snMspsConfigMirrorCtrlExtnSrcId used above for configuratin ports 
                should be used to configure flow Id
                
               To enable remote monitoring of sources for a session
                - snMspsConfigMirrorCtrlExtnRSpanStatus - should be used to 
                                                 enable/disable remote 
                                                 monitoring for a session 
                                                 it can be used to set a 
                                                 session as source rspan 
                                                 session which implies source 
                                                 entities for this session are 
                                                 monitored remotely or can be 
                                                 used to set a session 
                                                 as destination rspan session 
                                                 which implies that mirrored 
                                                 data is received for this 
                                                 session should be forwarded to 
                                                 destination entities of this 
                                                 session
                - snMspsConfigMirrorCtrlExtnRSpanVlanId - it is the vlan id which is 
                                                 reserved in the network to 
                                                 carry Mirrored data,if the 
                                                 session is configured as 
                                                 source rspan session then data 
                                                 mirrored for the source 
                                                 entities will be forwarded on 
                                                 this vlan if the session is 
                                                 configured as destination 
                                                 rspan session then data 
                                                 received on this vlan will be 
                                                 forwarded to the destination 
                                                 entities of this session

            Following are the configuration details for configurating Vlan 
            based mirroring:
                To configure vlans as source for a session
               - snMspsConfigMirrorCtrlExtnMirrType - is set to vlanBased
               - snMspsConfigMirrorCtrlExtnSrcVlanTable - should be used to configure 
                                                 list of source vlans to be 
                                                 mirrored in a session
                 - snMspsConfigMirrorCtrlExtnSrcVlanId  - represents a source vlan. The 
                                                 vlan to be mirrored should be 
                                                 given here.
                 - snMspsConfigMirrorCtrlExtnSrcVlanCfg - this object is used to 
                                                 add/remove a vlan in the 
                                                 source vlan list 
                    Example
                    To create a session 1 with source list as vlan 5,6 
                    belonging to context 1 following sequence of configuration
                    should be followed
                    For table snMspsConfigMirrorCtrlExtnTable
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnMirrType = vlanBased

                    For table snMspsConfigMirrorCtrlExtnSrcVlanTable
                    snMspsConfigMirrorCtrlExtnSrcVlanContext = 1 as index
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnSrcVlanId  = 5 as index
                    snMspsConfigMirrorCtrlExtnSrcVlanCfg = add
                    snMspsConfigMirrorCtrlExtnSrcVlanContext = 1 as index
                    snMspsConfigMirrorCtrlExtnSessionIndex = 1 as index
                    snMspsConfigMirrorCtrlExtnSrcVlanId  = 6 as index
                    snMspsConfigMirrorCtrlExtnSrcVlanCfg = add
                    
       Entries for this table can be configured only when snMspsConfigMirrorStatus 
       is set to enabled.
       Configurations done through 'snMspsConfigMirrorCtrlTable' will change the 
       following for the first session on this table:
            - Mirroring type will be changed to port-based
            - Mode and Source entities will be overwritten 
              with the values configured through 'snMspsConfigMirrorCtrlTable'
            - Destination entities will be overwritten 
              with the value configured through 'snMspsConfigMirrorToPort' object "
   ::= { snMspsConfigMirror 6 } 

snMspsConfigMirrorCtrlExtnEntry OBJECT-TYPE
   SYNTAX      SnMspsConfigMirrorCtrlExtnEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "An entry appears in this table for each session
        in the system."
   INDEX { snMspsConfigMirrorCtrlExtnSessionIndex}
   ::= { snMspsConfigMirrorCtrlExtnTable 1 }

SnMspsConfigMirrorCtrlExtnEntry ::=
   SEQUENCE {
      snMspsConfigMirrorCtrlExtnSessionIndex
         Integer32,
      snMspsConfigMirrorCtrlExtnMirrType
         INTEGER,
      snMspsConfigMirrorCtrlExtnRSpanStatus
         INTEGER,
      snMspsConfigMirrorCtrlExtnRSpanVlanId
         Integer32,
      snMspsConfigMirrorCtrlExtnRSpanContext
         Integer32,
      snMspsConfigMirrorCtrlExtnStatus
         RowStatus,
      snMspsConfigMirrorCtrlExtnHardwareIndex
         Integer32
  }

snMspsConfigMirrorCtrlExtnSessionIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..20)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The index of the mirroring session for which the configuration
      in this entry applies."
   ::= { snMspsConfigMirrorCtrlExtnEntry 1 }

snMspsConfigMirrorCtrlExtnMirrType OBJECT-TYPE
     SYNTAX       INTEGER{
                    portBased(1),
                    mac-flowBased(2),
                    vlanBased(3),
                    invalid(4),
                    ip-flowBased(5)
     }
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "This object tells the type of mirroring this session supports.
          This object needs to be set before doing any configuration for 
          a mirroring session"
     DEFVAL       { invalid }
     ::= { snMspsConfigMirrorCtrlExtnEntry 2 }

snMspsConfigMirrorCtrlExtnRSpanStatus OBJECT-TYPE
     SYNTAX       INTEGER{
                    sourceRSpanVlan(1),
                    destinationRSpanVlan(2),
                    disabled(3)
     }
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "This object indicates session is enabled or disabled for 
         Remote monitoring.
         If set as 'source-rspan-vlanid' indicates that the session is 
         enabled for Remote monitoring and the source entities for this 
         session will be remotely monitored.
         If set as 'destination-rspan-vlanid' indicates that the session 
         should monitor remote traffic mirrored with RSPAN VLAN ID tag.
         RSPAN VLAN ID should be configured through object 
         'snMspsConfigMirrorCtrlExtnRSpanVlanId'.
         If set as 'disabled' Remote monitoring is disabled for this
         mirroring session."

     DEFVAL       { disabled }
     ::= { snMspsConfigMirrorCtrlExtnEntry 3 }

snMspsConfigMirrorCtrlExtnRSpanVlanId OBJECT-TYPE
     SYNTAX       Integer32
     MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Vlan Id used for Remote monitoring for this session.
         If snMspsConfigMirrorCtrlExtnRSpanStatus is set to disabled, then 
         this object will have an invalid value (zero)"
     DEFVAL { 0 }
     ::= { snMspsConfigMirrorCtrlExtnEntry 4 }
     
snMspsConfigMirrorCtrlExtnRSpanContext OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the Context Id to which the RSpan Vlan belongs.
        Value '0' mean this object is not considered for this 
        mirroring session."
   DEFVAL  { 0 }
     ::= { snMspsConfigMirrorCtrlExtnEntry 5 }

snMspsConfigMirrorCtrlExtnStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "This object indicates the status of the entry. The entry can be 
       made active only if snMspsConfigMirrorCtrlExtnMirrType is configured and 
       source and destination entries for this sesion is also configured"
   ::= { snMspsConfigMirrorCtrlExtnEntry 6 }  
     
snMspsConfigMirrorCtrlExtnHardwareIndex OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "Specifies the Hardware Index associated with this mirroring session.
        Value '0' mean this object is not applicable for this 
        mirroring session."
     ::= { snMspsConfigMirrorCtrlExtnEntry 7 }
   
snMspsConfigMirrorCtrlExtnSrcTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsConfigMirrorCtrlExtnSrcEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A table to configure list of source entities for mirroring sessions"
   ::= { snMspsConfigMirror 7 }

snMspsConfigMirrorCtrlExtnSrcEntry OBJECT-TYPE
   SYNTAX      SnMspsConfigMirrorCtrlExtnSrcEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "An entry appears in this table for each mirroring session."
   INDEX { snMspsConfigMirrorCtrlExtnSessionIndex, snMspsConfigMirrorCtrlExtnSrcId }
   ::= { snMspsConfigMirrorCtrlExtnSrcTable 1 }

SnMspsConfigMirrorCtrlExtnSrcEntry ::=
   SEQUENCE {
      snMspsConfigMirrorCtrlExtnSrcId
         Integer32,
      snMspsConfigMirrorCtrlExtnSrcCfg
         INTEGER,
      snMspsConfigMirrorCtrlExtnSrcMode
         INTEGER
   }

snMspsConfigMirrorCtrlExtnSrcId OBJECT-TYPE
   SYNTAX      Integer32 (1..65535) 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Specifies the source id which participates in a mirroring session.
        For Port based mirroring this object can be port IfIndex.
        To mirror Tunnel and Trunk ports the same Id can be used for 
        specifying Tunnel/Trunk Id.
        For Flow based mirroring this object can be Acl Ids."
   ::= { snMspsConfigMirrorCtrlExtnSrcEntry 1 }

snMspsConfigMirrorCtrlExtnSrcCfg OBJECT-TYPE
   SYNTAX      INTEGER{
                add(1),
                delete(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "This object is used to create/delete a source entry for a session."
   ::= { snMspsConfigMirrorCtrlExtnSrcEntry 2 }

snMspsConfigMirrorCtrlExtnSrcMode OBJECT-TYPE
   SYNTAX      INTEGER {
               ingress(1),
               egress(2),
               both(3)
              }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Provides control to set the mode of mirroring. 
        It can be ingerss,Egress or Both."
   DEFVAL  { both }
   ::= { snMspsConfigMirrorCtrlExtnSrcEntry 3 }  

snMspsConfigMirrorCtrlExtnSrcVlanTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsConfigMirrorCtrlExtnSrcVlanEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A table to configure list of vlan source entities for mirroring sessions"
   ::= { snMspsConfigMirror 8 }

snMspsConfigMirrorCtrlExtnSrcVlanEntry OBJECT-TYPE
   SYNTAX      SnMspsConfigMirrorCtrlExtnSrcVlanEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "An entry appears in this table for each mirroring session."
   INDEX { snMspsConfigMirrorCtrlExtnSessionIndex, snMspsConfigMirrorCtrlExtnSrcVlanContext, snMspsConfigMirrorCtrlExtnSrcVlanId }
   ::= { snMspsConfigMirrorCtrlExtnSrcVlanTable 1 }

SnMspsConfigMirrorCtrlExtnSrcVlanEntry ::=
   SEQUENCE {
      snMspsConfigMirrorCtrlExtnSrcVlanContext
         Integer32,
      snMspsConfigMirrorCtrlExtnSrcVlanId
         Integer32,
      snMspsConfigMirrorCtrlExtnSrcVlanCfg
         INTEGER,
      snMspsConfigMirrorCtrlExtnSrcVlanMode
         INTEGER
   }

snMspsConfigMirrorCtrlExtnSrcVlanContext OBJECT-TYPE
   SYNTAX      Integer32 (1..64)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Specifies the Context Id to which the source entity belongs, this 
       is used in case of specifying vlan as source.
       Value '-1' mean this object is not considered for this mirroring
       session."
   ::= { snMspsConfigMirrorCtrlExtnSrcVlanEntry 1 }
 
snMspsConfigMirrorCtrlExtnSrcVlanId OBJECT-TYPE
   SYNTAX      Integer32 (1..4094) 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Specifies the Vlan id which participates in a mirroring session."
   ::= { snMspsConfigMirrorCtrlExtnSrcVlanEntry 2 }

snMspsConfigMirrorCtrlExtnSrcVlanCfg OBJECT-TYPE
   SYNTAX      INTEGER{
                add(1),
                delete(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "This object is used to create/delete a vlan entry for a session."
   ::= { snMspsConfigMirrorCtrlExtnSrcVlanEntry 3 }

snMspsConfigMirrorCtrlExtnSrcVlanMode OBJECT-TYPE
   SYNTAX      INTEGER {
               ingress(1),
               egress(2),
               both(3)
              }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Provides control to set the mode of mirroring. 
        It can be ingerss,Egress or Both."
   DEFVAL  { both }
   ::= { snMspsConfigMirrorCtrlExtnSrcVlanEntry 4 }

snMspsConfigMirrorCtrlExtnDestinationTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsConfigMirrorCtrlExtnDestinationEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A table to configure list of destination entities"
   ::= { snMspsConfigMirror 9 }

snMspsConfigMirrorCtrlExtnDestinationEntry OBJECT-TYPE
   SYNTAX      SnMspsConfigMirrorCtrlExtnDestinationEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "An entry appears in this table for each destination entity
        in a mirroring session."
   INDEX { snMspsConfigMirrorCtrlExtnSessionIndex, snMspsConfigMirrorCtrlExtnDestination }
   ::= { snMspsConfigMirrorCtrlExtnDestinationTable 1 }

SnMspsConfigMirrorCtrlExtnDestinationEntry ::=
   SEQUENCE {
      snMspsConfigMirrorCtrlExtnDestination
         Integer32,
      snMspsConfigMirrorCtrlExtnDestCfg
         INTEGER
   }

snMspsConfigMirrorCtrlExtnDestination OBJECT-TYPE
   SYNTAX      Integer32 (1..65535) 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Specifies the destination port id which participates in a mirroring 
        session."
   ::= { snMspsConfigMirrorCtrlExtnDestinationEntry 1 }

snMspsConfigMirrorCtrlExtnDestCfg OBJECT-TYPE
   SYNTAX      INTEGER{
                add (1),
                delete (2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "This object is used to create/delete a destination entry for a session."
   ::= { snMspsConfigMirrorCtrlExtnDestinationEntry 2 }


-- Network Group --------------------------------------------------   
snMspsConfigNetwork                OBJECT IDENTIFIER ::= { snMspsConfig 7 }

snMspsConfigL2FilterTable OBJECT-TYPE 

   SYNTAX      SEQUENCE OF SnMspsConfigL2FilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to configure L2 filter rules in the system."
   ::= { snMspsConfigNetwork 1 }

snMspsConfigL2FilterEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigL2FilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "Each entry in this table is a L2 filter rule.
   
       Index to the table is the L2 filter number."
   INDEX { snMspsConfigL2FilterNo}
   ::= { snMspsConfigL2FilterTable 1 }
   
SnMspsConfigL2FilterEntry ::= 
   SEQUENCE { 
      snMspsConfigL2FilterNo 
         Integer32, 
      snMspsConfigL2FilterPriority 
         Integer32, 
      snMspsConfigL2FilterEtherType
         Integer32, 
      snMspsConfigL2FilterProtocolType 
         Unsigned32, 
      snMspsConfigL2FilterDstMacAddr 
         MacAddress, 
      snMspsConfigL2FilterSrcMacAddr 
         MacAddress, 
      snMspsConfigL2FilterVlanId 
         Integer32,
      snMspsConfigL2FilterInPortList 
         PortList,
      snMspsConfigL2FilterAction 
         INTEGER, 
      snMspsConfigL2FilterMatchCount
         Counter32, 
      snMspsConfigL2FilterStatus
         RowStatus,
      snMspsConfigL2FilterOutPortList 
         PortList,
      snMspsConfigL2FilterDirection
         INTEGER

  }

snMspsConfigL2FilterNo OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "L2 Filter rule number."
   ::= { snMspsConfigL2FilterEntry 1 }
    
snMspsConfigL2FilterPriority OBJECT-TYPE 
   SYNTAX      Integer32 (1..255)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The priority of the L2 filter can be used to decide which filter rule
       is applicable when 
          --> the packet matches with more than one filter rules
          --> All the filter rules result in 'allow'ing the packet

      Higher value of 'filter priority' implies a higher priority.

      Usage of 'L2FilterPriority' is implementation dependant."
   DEFVAL  { 1 }
   ::= { snMspsConfigL2FilterEntry 2 }

snMspsConfigL2FilterEtherType OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The value in the Type/Len field of a frame that will
      be matched to trigger this filter. The default value of
      this object is '0'. When this object is SET with the default
      value, frames are not matched for the value in the Type/Len
      field with the value set for this object."
   DEFVAL  { 0 }
   ::= { snMspsConfigL2FilterEntry 3 }

   
snMspsConfigL2FilterProtocolType OBJECT-TYPE 
   SYNTAX      Unsigned32 (0..65535) 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the non IP protocol type to be filtered.
       aarp | amber | dec-spanning | decnet-iv | 
       diagnostic | dsm |etype-6000 | etype-8042 | 
       lat | lavc-sca | mop-console | mop-dump | 
       msdos | mumps | netbios | vines-echo |
       vines-ip | xns-idp: A non-IP protocol.

      A value of '0' means, the filter is applicable for all protocols."
   DEFVAL  { 0 }
   ::= { snMspsConfigL2FilterEntry 4 }

snMspsConfigL2FilterDstMacAddr OBJECT-TYPE 
   SYNTAX      MacAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Destination MAC address to be matched with the packet. By Default, the
       Destination Mac Address will be zero which means dont care condition ie)
       any Dst Mac Address ."
   ::= { snMspsConfigL2FilterEntry 5 }

snMspsConfigL2FilterSrcMacAddr OBJECT-TYPE 
   SYNTAX      MacAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Source MAC address to be matched with the packet. By Default, the Source 
       Mac Address will be zero which means dont care condition ie) any Src Mac 
       address"
   ::= { snMspsConfigL2FilterEntry 6 }


snMspsConfigL2FilterVlanId OBJECT-TYPE 
   SYNTAX      Integer32 (0..4094)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
      be treated as customer Vlan Id. 
      A value of '0' means, this object is unused. Configuring this value is not
      allowed."
   DEFVAL  { 0 }
   ::= { snMspsConfigL2FilterEntry 7 }


snMspsConfigL2FilterInPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which this filter is applied
       for packets ingress at ports in this list.
       If the In port list is '0', the filter rule is applicable for  the 
       incoming packets on all ports.
       Even though the snMspsConfigL2FilterInPortList is configured, It is applicable only
       if snMspsConfigL2FilterDirection is configured as 'in'.
       By default inport list is maintained as '0'." 
   ::= { snMspsConfigL2FilterEntry 8 }

snMspsConfigL2FilterAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  allow (1),
                  drop  (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken on the packet if the filter
      rule matches.
      If the action is 'allow', the packet will be forwarded according
      to the forwarding rules.
      If the action is 'drop', the packet will be discarded."
   DEFVAL  { allow } 
   ::= { snMspsConfigL2FilterEntry 9 }

snMspsConfigL2FilterMatchCount OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is matched."

   ::= { snMspsConfigL2FilterEntry 10 }

snMspsConfigL2FilterStatus OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
   ::= { snMspsConfigL2FilterEntry 11 }

snMspsConfigL2FilterOutPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which this filter is applied
       for packets egress at Ports in this list.
      If the Out port list is '0', the filter rule is applicable for  the 
      outgoing packets on all ports.
      Even though the snMspsConfigL2FilterOutPortList is configured, It is applicable only
      if snMspsConfigL2FilterDirection is configured as 'out'.
      By default outport list is maintained as '0'." 
   ::= { snMspsConfigL2FilterEntry 12 }
   
snMspsConfigL2FilterDirection OBJECT-TYPE 
   SYNTAX      INTEGER {
                    in (1),
                    out (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the direction of this filter to be applied. By Default the
      filter will be applied on ingress direction.
      When the direction of this filter is 'in', It is applied on specified
      ports of the snMspsConfigL2FilterInPortList.
      When the direction of this filter is 'out', It is applied on specified
      ports of the snMspsConfigL2FilterOutPortList."
   DEFVAL  { in } 
   ::= { snMspsConfigL2FilterEntry 13 }

-- Layer 4 Switching         

snMspsConfigL4SwitchingFilterTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigL4SwitchingFilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       " A table to L4 Switching rules in the system.
       "
   ::= { snMspsConfigNetwork 2 }

snMspsConfigL4SwitchingFilterEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigL4SwitchingFilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       " Each entry in this table is a L4 Switching rule.
         Index to the table is L4 filter number. "
   INDEX { snMspsConfigL4SwitchingFilterNo}
   ::= { snMspsConfigL4SwitchingFilterTable 1 }
   
SnMspsConfigL4SwitchingFilterEntry ::= 
   SEQUENCE { 
      snMspsConfigL4SwitchingFilterNo 
         Integer32, 
      snMspsConfigL4SwitchingProtocol 
         Integer32, 
      snMspsConfigL4SwitchingPortNo
         Unsigned32, 
      snMspsConfigL4SwitchingCopyToPort
         Integer32, 
      snMspsConfigL4SwitchingFilterStatus
         RowStatus
  }

snMspsConfigL4SwitchingFilterNo OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "L4 Switching Filter rule number."
   ::= { snMspsConfigL4SwitchingFilterEntry 1 }
    
   
snMspsConfigL4SwitchingProtocol OBJECT-TYPE 
   SYNTAX      Integer32 (0..255)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The type of protocol to be checked against the packet. The
      default value is 255. If the value is 255, it means that the
      protocol type can be anything and it will not be checked to 
      decide the action. "
   DEFVAL   { 255 }
   ::= { snMspsConfigL4SwitchingFilterEntry 2 }
   

snMspsConfigL4SwitchingPortNo OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Layer 4 port no. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 0 }
   ::= { snMspsConfigL4SwitchingFilterEntry 3 }

snMspsConfigL4SwitchingCopyToPort OBJECT-TYPE 
   SYNTAX      Integer32(0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is Port to which the packet would be switched"

   ::= { snMspsConfigL4SwitchingFilterEntry 4 }

snMspsConfigL4SwitchingFilterStatus OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
      "This object indicates the status of this entry."
   
  ::= { snMspsConfigL4SwitchingFilterEntry 5 }

-- ------------------------------------------------------------------ 
-- IP Authorized Manager

snMspsConfigIpAuthMgrTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsConfigIpAuthMgrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "A table to configure IP authorized managers in the system."
   ::= { snMspsConfigNetwork 3 }

snMspsConfigIpAuthMgrEntry OBJECT-TYPE
   SYNTAX      SnMspsConfigIpAuthMgrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "IP Authorized managers, which restricts configuration from specific 
       workstations only, provides additional security. Each entry in this 
       table represents rules for particular IP authorized manager."   
       
   INDEX { snMspsConfigIpAuthMgrIpAddr, snMspsConfigIpAuthMgrIpMask }
   ::= { snMspsConfigIpAuthMgrTable 1 }

SnMspsConfigIpAuthMgrEntry ::=
   SEQUENCE {
      snMspsConfigIpAuthMgrIpAddr
         IpAddress,
      snMspsConfigIpAuthMgrIpMask
         IpAddress,
      snMspsConfigIpAuthMgrPortList
         PortList,
      snMspsConfigIpAuthMgrVlanList
         OCTET STRING,
      snMspsConfigIpAuthMgrOOBPort
         TruthValue,
      snMspsConfigIpAuthMgrAllowedServices
         Integer32, 
      snMspsConfigIpAuthMgrRowStatus
         RowStatus,
	  snMspsConfigIpAuthMgrCreationOrder
		 Integer32
 }

snMspsConfigIpAuthMgrIpAddr OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Specifies either the Network or Host address from which the switch
        can be managed.
        An address 0.0.0.0 indicates 'Any Manager'."
   ::= { snMspsConfigIpAuthMgrEntry 1 }

snMspsConfigIpAuthMgrIpMask OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Specifies the IP address mask to be applied on snMspsConfigIpAuthMgrIpAddr.
        Value 0.0.0.0 indicates mask for 'Any Manager'."
   ::= { snMspsConfigIpAuthMgrEntry 2 }

snMspsConfigIpAuthMgrPortList OBJECT-TYPE
   SYNTAX       PortList
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies the port numbers through which the authorized manager can
        access the switch. 

        By default the authorized manager is allowed to access the switch 
        through all the ports.

        If a set of ports are configured in the 'PortList', the manager can
        access the switch only through the configured ports."
   ::= { snMspsConfigIpAuthMgrEntry 3 }

snMspsConfigIpAuthMgrVlanList OBJECT-TYPE
   SYNTAX       OCTET STRING
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies the Vlan's in which the IP authorized manager can reside.
        By default the manager is allowed to reside in any vlan.

        If a set of vlans are configured in the 'VlanList', the manager can 
        reside only in the configured vlan set.  Access to the switch 
        will be denied from any other vlan." 
   ::= { snMspsConfigIpAuthMgrEntry 4 }

snMspsConfigIpAuthMgrOOBPort OBJECT-TYPE
     SYNTAX       TruthValue
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "Specifies whether the authorized manager can access the switch
         through OOB Port
          By default the manager is denied access to reside on OOB Interface"
     DEFVAL       { false }
     ::= { snMspsConfigIpAuthMgrEntry 5 }

snMspsConfigIpAuthMgrAllowedServices OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the allowed services through which the authorized manager can
        access the switch. 
	This object takes bit mask values. The services represented by each bit
	position is as given below:
	 
 	With bit 0 being the Least Significant Bit,

	 		Bit0  --> snmp
			Bit1  --> telnet
			Bit2  --> http
			Bit3  --> https
			Bit4  --> ssh
	       
        If the particular bit is set to 1,corresponding service is allowed for 
        the configured manager.		
        
	By default all services are allowed for the configured manager." 
	  
   DEFVAL  { '1F'h }
   ::= { snMspsConfigIpAuthMgrEntry 6 }

snMspsConfigIpAuthMgrRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "This object indicates the status of this entry."
   ::= { snMspsConfigIpAuthMgrEntry 7 }
   
snMspsConfigIpAuthMgrCreationOrder OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies creation order of the rules" 
   ::= { snMspsConfigIpAuthMgrEntry 8 }

snMspsConfigIpAuthMgrEnabled  OBJECT-TYPE
	SYNTAX  INTEGER {
	  enabled(1),
	  disabled(2)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION "Enable/Disable Ip Authorized Manager."
	DEFVAL  {disabled}
	::= { snMspsConfigNetwork 4 }    

snMspsConfigResetTopologyChgCounter  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      no-operation(1),
	      reset(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Reset topology change counters for RSTP and MSTP depending on the stack running."
	    ::= { snMspsConfigNetwork 5 }	

-- snMspsConfigNetwork 6-9 reserved for future extensions     
-- ------------------------------------------------------------------
-- Ipvx Authorized Manager

snMspsConfigIpvxAuthMgrTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsConfigIpvxAuthMgrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "A table to configure Ipvx(ipv4 and ipv6) authorized managers in the system."
   ::= { snMspsConfigNetwork 10 }

snMspsConfigIpvxAuthMgrEntry OBJECT-TYPE
   SYNTAX      SnMspsConfigIpvxAuthMgrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Ipvx Authorized managers, which restricts configuration from specific
       workstations only, provides additional security. Each entry in this
       table represents rules for particular Ipvx authorized manager."

   INDEX { snMspsConfigIpvxAuthMgrAddrType, snMspsConfigIpvxAuthMgrAddr, snMspsConfigIpvxAuthMgrAddrLen }
   ::= { snMspsConfigIpvxAuthMgrTable 1 }

SnMspsConfigIpvxAuthMgrEntry ::=
   SEQUENCE {
      snMspsConfigIpvxAuthMgrAddrType
         InetAddressType,
      snMspsConfigIpvxAuthMgrAddr
         InetAddress,
      snMspsConfigIpvxAuthMgrAddrLen
         InetAddressPrefixLength,
      snMspsConfigIpvxAuthMgrPortList
         PortList,
      snMspsConfigIpvxAuthMgrVlanList
         OCTET STRING,
      snMspsConfigIpvxAuthMgrOOBPort
         TruthValue,
      snMspsConfigIpvxAuthMgrAllowedServices
         Integer32,
      snMspsConfigIpvxAuthMgrCreationOrder
         Integer32,
      snMspsConfigIpvxAuthMgrRowStatus
         RowStatus
 }

snMspsConfigIpvxAuthMgrAddrType OBJECT-TYPE
   SYNTAX       InetAddressType
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
       "The IP address type of SnMspsConfigIpvxAuthMgrEntry.
       This value determines the type for
       snMspsConfigIpvxAuthMgrAddr and snMspsConfigIpvxAuthMgrAddrLen.

       ipv4(1) and ipv6(2) are the only two values supported
       in this MIB module."
   ::= { snMspsConfigIpvxAuthMgrEntry 1 }

snMspsConfigIpvxAuthMgrAddr OBJECT-TYPE
   SYNTAX      InetAddress
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Specifies either the Network or Host address from which the switch
        can be managed.
        An address 0.0.0.0 or :: indicates 'Any Manager'."
   ::= { snMspsConfigIpvxAuthMgrEntry 2 }

snMspsConfigIpvxAuthMgrAddrLen OBJECT-TYPE
   SYNTAX      InetAddressPrefixLength
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "Indicates the number of leading one bits that form the
        mask to be logical-ANDed with the snMspsConfigIpvxAuthMgrAddr
        before being compared to the value in the
        snMspsConfigIpvxAuthMgrAddr field.

        The values for the index objects snMspsConfigIpvxAuthMgrAddr and
        snMspsConfigIpvxAuthMgrAddrLen must be consistent.
        Value 0 indicates mask for 'Any Manager'."

   ::= { snMspsConfigIpvxAuthMgrEntry 3 }

snMspsConfigIpvxAuthMgrPortList OBJECT-TYPE
   SYNTAX       PortList
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies the port numbers through which the authorized manager can
        access the switch.

        By default the authorized manager is allowed to access the switch
        through all the ports.

        If a set of ports are configured in the 'PortList', the manager can
        access the switch only through the configured ports."
   ::= { snMspsConfigIpvxAuthMgrEntry 4 }

snMspsConfigIpvxAuthMgrVlanList OBJECT-TYPE
   SYNTAX       OCTET STRING
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies the Vlan's in which the IP authorized manager can reside.
        By default the manager is allowed to reside in any vlan.

        If a set of vlans are configured in the 'VlanList', the manager can
        reside only in the configured vlan set.  Access to the switch
        will be denied from any other vlan."
   ::= { snMspsConfigIpvxAuthMgrEntry 5 }

snMspsConfigIpvxAuthMgrOOBPort OBJECT-TYPE
     SYNTAX       TruthValue
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "Specifies whether the authorized manager can access the switch
         through OOB Port
          By default the manager is denied access to reside on OOB Interface"
     DEFVAL       { false }
     ::= { snMspsConfigIpvxAuthMgrEntry 6 }

snMspsConfigIpvxAuthMgrAllowedServices OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies the allowed services through which the authorized manager can
        access the switch.
        This object takes bit mask values. The services represented by each bit
        position is as given below:

        With bit 0 being the Least Significant Bit,

                        Bit0  --> snmp
                        Bit1  --> telnet
                        Bit2  --> http
                        Bit3  --> https
                        Bit4  --> ssh

        If the particular bit is set to 1,corresponding service is allowed for
        the configured manager.

        By default all services are allowed for the configured manager."

   DEFVAL  { '1F'h }
   ::= { snMspsConfigIpvxAuthMgrEntry 7 }

snMspsConfigIpvxAuthMgrCreationOrder OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Specifies creation order of the rules"
   ::= { snMspsConfigIpvxAuthMgrEntry 8 }

snMspsConfigIpvxAuthMgrRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "This object indicates the status of this entry."
   ::= { snMspsConfigIpvxAuthMgrEntry 9 }

-- ------------------------------------------------------------------
	
snMspsConfigIpVlanId  OBJECT-TYPE
        SYNTAX  INTEGER (0..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Inband ports VLAN ID (VID) from 1 to 4094 or 0 if 
                the VID is unassigned for the agent."
        DEFVAL  {0}
        ::= { snMspsConfig 8 }  

snMspsConfigAgentReceiveOnAllKnownVLANs  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
	      disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Setting AgentReceiveOnAllKnownVLANs to Enable(1)
                enables the reception of IP traffic for the agent on all VLANs.
                This means the agent accepts incoming connections on all the VLANs.
                For outgoing traffic like sending SNMP traps and 
                connection to the e-mail server the Agent VLAN is used."
        ::= { snMspsConfig 9 }   

snMspsConfigVlan0Aware OBJECT-TYPE
		SYNTAX  INTEGER (0..4094)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "The VLAN ID of VLAN which is to be in transparent mode. Zero (0) indicates that no VLAN is in transparent mode." 
		DEFVAL {0}
		::= { snMspsConfig 10}		
		
--snMspsConfig 11 reserved for future extensions     

-- Port Control Configuration Table 

snMspsConfigPortCtrlConfigurationTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigPortCtrlConfigurationEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to control the port specific parameters of the device like speed,
        duplex mode, etc."
   ::= { snMspsConfig 12 }

snMspsConfigPortCtrlConfigurationEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigPortCtrlConfigurationEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each interface in the system.
   
       Index to the table is the interface index of the port."

   INDEX { snMspsConfigPortCtrlConfigurationIndex }
   ::= { snMspsConfigPortCtrlConfigurationTable 1 }
   
SnMspsConfigPortCtrlConfigurationEntry ::= 
   SEQUENCE { 
      snMspsConfigPortCtrlConfigurationIndex 
         Integer32, 
      snMspsConfigPortCtrlConfigurationMode
         INTEGER, 
      snMspsConfigPortCtrlConfigurationDuplex
         INTEGER,
      snMspsConfigPortCtrlConfigurationSpeed
         INTEGER, 
      snMspsConfigPortCtrlConfigurationFlowControl
         INTEGER, 
      snMspsConfigPortCtrlConfigurationRenegotiate
         INTEGER, 
      snMspsConfigPortCtrlConfigurationMaxMacAddr 
         Integer32,
      snMspsConfigPortCtrlConfigurationMaxMacAction 
          INTEGER,
      snMspsConfigPortCtrlConfigurationHOLBlockPrevention
         INTEGER
  }

snMspsConfigPortCtrlConfigurationIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Interface index of the port for which the configuration
      in this entry applies."
   
   ::= { snMspsConfigPortCtrlConfigurationEntry 1 }

snMspsConfigPortCtrlConfigurationMode OBJECT-TYPE 
   SYNTAX      INTEGER {
                 auto          (1),
                 noNegotiation (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Speficies the mode in which the speed, duplex modes and flow control
       of the interface is determined.

       If set as 'auto', the hardware senses speed and negotiates with the port 
       on the other end of the link for data transfer operation as
       'full-duplex' or 'half-duplex' and about flow contol.
       
       If set as 'nonegotiation', the configured values for interface 
       speed, duplex mode and flow control will be effective.
       
       The current value of this MIB object represents only configuration state. 
       The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlMode')."
       
   DEFVAL  { auto }
   ::= { snMspsConfigPortCtrlConfigurationEntry 2 }

snMspsConfigPortCtrlConfigurationDuplex OBJECT-TYPE 
   SYNTAX      INTEGER {
                 full  (1),
                 half  (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Configures interface data transfer mode as full-duplex or half-duplex.
      
      This object can be configured only if the 'PortCtrlMode' is 'nonegotiation'. 
      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
      after negotiating  with its peer.
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlDuplex')."

   ::= { snMspsConfigPortCtrlConfigurationEntry 3 }

snMspsConfigPortCtrlConfigurationSpeed OBJECT-TYPE 
   SYNTAX      INTEGER {
                 tenMBPS     (1),
                 hundredMBPS (2),
                 oneGB       (3),
                 tenGB       (4)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Configures interface speed.

      This object can be configured only if the 'PortCtrlMode' is 'nonegotiation'.
      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
      after negotiating  with its peer.
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlSpeed')."

   ::= { snMspsConfigPortCtrlConfigurationEntry 4 }

snMspsConfigPortCtrlConfigurationFlowControl OBJECT-TYPE 
   SYNTAX      INTEGER {
                 enable     (1),
                 disable    (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Enables / disables flow control for the interface.

      This object be configured only if the 'PortCtrlMode' is 'nonegotiation'.
      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
      after negotiating  with its peer. 
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlFlowControl')."

   ::= { snMspsConfigPortCtrlConfigurationEntry 5 }

snMspsConfigPortCtrlConfigurationRenegotiate OBJECT-TYPE 
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "When configured as 'true', restarts autonegotiation on the interface.

       Once autonegotiation is restarted, the value of this object reverts
       to 'false'.
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlRenegotiate')."

   DEFVAL  { false }
   ::= { snMspsConfigPortCtrlConfigurationEntry 6 }

snMspsConfigPortCtrlConfigurationMaxMacAddr OBJECT-TYPE 
   SYNTAX      Integer32
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the maximum number of new MAC addresses that can be 
      learnt over the interface.
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlMaxMacAddr')."
   ::= { snMspsConfigPortCtrlConfigurationEntry 7 }

snMspsConfigPortCtrlConfigurationMaxMacAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  drop     (1),
                  purgeLRU (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken when the maximum number of new MAC 
      addresses that can be learnt over the interface is exceeded.
      
      If the action is 'drop', the packet with new mac address will be
      dropped once the maximum number of new MAC addresses that can be
      learnt over the interface is exceeded.

      If the action is 'purgeLRU', the 'Least Recently Used' mac address
      will be deleted from the MAC table and the new mac address will be
      added.
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortCtrlMaxMacAction')."
   ::= { snMspsConfigPortCtrlConfigurationEntry 8 }

snMspsConfigPortCtrlConfigurationHOLBlockPrevention OBJECT-TYPE
   SYNTAX       INTEGER {
                   disabled  (1),
                   enabled   (2)
                }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "Enables or disables Head-Of-Line Blocking prevention on a port.
       
      The current value of this MIB object represents only configuration state. 
      The real state of this port-specific parameter may be different ('see snMspsConfigPortHOLBlockPrevention')."
   DEFVAL  { enabled }
   ::= { snMspsConfigPortCtrlConfigurationEntry 9 }

--snMspsConfig 13-14 reserved for future extensions 

-- Rate Control Limit Group ---------------------------------------------

snMspsConfigRateCtrlLimitTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigRateCtrlLimitEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "A table to control the rate limiting parameters 
       either for the entire switch or for each physical and port-channel
       interface in the switch."
   ::= { snMspsConfig 15 }

snMspsConfigRateCtrlLimitEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigRateCtrlLimitEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "An entry appears in this table for each physical and port-channel
       interface in the switch."
   INDEX { snMspsConfigRateCtrlLimitIndex }
   ::= { snMspsConfigRateCtrlLimitTable 1 }
    SnMspsConfigRateCtrlLimitEntry ::= 
   SEQUENCE { 
      snMspsConfigRateCtrlLimitIndex 
         Integer32, 
      snMspsConfigRateCtrlLimitValue
         Integer32 
  }

snMspsConfigRateCtrlLimitIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The interface index for which the configuration in this 
       entry applies."
   ::= { snMspsConfigRateCtrlLimitEntry 1 }
    
snMspsConfigRateCtrlLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of dlf, multicast and broadcast data that can be transmitted 
       per second over this interface. The unit of data is given by 
       snMspsConfigRateCtrlUnit object. Setting this object to the 
       value zero disables rate limiting for Destination lookup failure
       packets on this interface. The value that can be set for this
       object is limited by the underlying hardware"

   DEFVAL  {0}
   ::= { snMspsConfigRateCtrlLimitEntry 2 }

snMspsConfigRateCtrlUnit OBJECT-TYPE
   SYNTAX      INTEGER {
               pps (1),
               kbps (2)
              }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Defines unit of rate limiting values in corresponding entry 
       from snMspsConfigRateCtrlTable. It can be treated 
       either in packet per second or kilobit per second."
 
   ::= { snMspsConfig 16 }

--snMspsConfig 17-19 reserved for future extensions 

snMspsConfigSwitchAgingEnable  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Enable/Disable auto-aging functionality of the learning table."
	    DEFVAL  {enabled}
	    ::= { snMspsConfig 20 }
	    
snMspsConfigSwitchSnifferBarrierEnable  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enable/Disable Monitor Barrier functionality. If disabled the mirror destination
                 port is also part of the switching engine "
	    DEFVAL  {enabled}
	    ::= { snMspsConfig 25 }
        

	    
--snMspsConfig 21-26 reserved for future extensions      

snMspsConfigSwitchTime  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..64))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Show/Set -MM/DD/YYYY hh:mm:ss- date and time of the switch."
        ::= { snMspsConfig 27 }

snMspsConfigurationSaveMode  OBJECT-TYPE
        SYNTAX  INTEGER {
          trailmode(1),
	      autosave(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "When set to 'autosave(2)', all nonvolatile configuration parameters
        are saved automaticly to flash after configuration changes. In 'trailmode (1)' save
        must be triggered manually. Autosave mode may not be available on all devices. 
        In this case, 'wrong value' error will be returned, when trying to set 'autosave(2)'"   
        DEFVAL  { trailmode }
        ::= { snMspsConfig 28 }  
        
        
snMspsInitiateConfigSave  OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "When set as 'true' switch configurations save operation is
       initiated. 
       As soon as the configuration save operation is completed, the value 
       of this object reverts back to 'false'.
       
       All the configurations made via the three interfaces
       viz. 
           -> commandline interface
           -> Web Interface
           -> SNMP interface
       are saved either in 'Startup Configuration File' in the flash or 
       in the specified 'issConfigSaveFileName' in the flash or
       in the chosen remote system, depending upon 'ConfigSaveOption'."
   DEFVAL  { false }
   ::= { snMspsConfig 29 }

snMspsConfigLastSynchronisationTime  OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..64))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION
       "MM/DD/YYYY hh:mm:ss- This is the time when the system time is last synchronized.
       It return zero length value if the system time is not yet synchronized."
   ::= { snMspsConfig 30 }

snMspsConfigChangesSaved  OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION
       "Value 'true' means there are no configuration changes that are not saved.
       Otherwise it will have the value 'false'." 
   DEFVAL  { true }
   ::= { snMspsConfig 31 }

snMspsConfigurationAutoRestartTimer OBJECT-TYPE
   SYNTAX INTEGER (0|300..86400)
   MAX-ACCESS read-write
   STATUS current
   DESCRIPTION "When setting to time interval in seconds, device will perform restart 
               automatically after the time interval is expired. 
               Setting 0 will cancel any timer, which was previously set" 
   DEFVAL { 0 }
   ::= { snMspsConfig 32 } 

snMspsEnhancedPassiveListeningCompatibility  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
          disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Enables or disables Enhance Passive Listening Compatibility mode on this device. 
        			If port wise configuration is supported, the port specific object 
					<snMspsPortEnhPassListComp> must be configured for each port in order to support the feature."
        DEFVAL  {disabled}
        ::= { snMspsConfig 35 }    

snMspsConfigVrrpAcceptPing OBJECT-TYPE
		SYNTAX INTEGER {
			enabled(1),
			disabled(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Enable/disable ability to accept pings to associated ip addresses"
		DEFVAL {disabled}
		::= { snMspsConfig 41}

snMspsOperLoginPasswordPolicy  OBJECT-TYPE
    SYNTAX  INTEGER {
      low(1),
      medium(2),
      high(3)
    }
    MAX-ACCESS  read-only 
    STATUS  current
    DESCRIPTION "Shows the password policy which is enforced to users when determining their password.
				 Low 	- password should contain minimum 6 characters,
				 Medium - not supported,
				 High 	- password should contain minimum 8 characters, minimum 1 upper case character, 
						  minimum 1 special character, and minimum 1 number."
    DEFVAL  {high}
    ::= { snMspsConfig 60 }  

snMspsConfigLoginPasswordPolicy  OBJECT-TYPE
    SYNTAX  INTEGER {
      low(1),
      medium(2),
      high(3)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION "Sets the password policy which is enforced to users when determining their password.
				 Low 	- password should contain minimum 6 characters,
				 Medium - not supported,
				 High 	- password should contain minimum 8 characters, minimum 1 upper case character, 
						  minimum 1 special character, and minimum 1 number."
    DEFVAL  {high}
    ::= { snMspsConfig 61 }     


-- ----------------------------------------------------------------
-- MSPS Objects:  USERS MIB
-- ----------------------------------------------------------------

snMspsLoginUsers                OBJECT IDENTIFIER ::= { snMspsConfig 65 }

snMspsLoginUsersTable           OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsLoginUsersTableEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This table contains the login usernames and privileges, which are currently created."
    ::= { snMspsLoginUsers  5 }

snMspsLoginUsersTableEntry     	OBJECT-TYPE
    SYNTAX                      SnMspsLoginUsersTableEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "user table entry"
    INDEX                       { snMspsLoginUserName }
    ::= { snMspsLoginUsersTable  1 }

SnMspsLoginUsersTableEntry ::= SEQUENCE {
    snMspsLoginUserName DisplayString,
    snMspsLoginUserPrivilege Integer32,
    snMspsLoginUserRemoteAccess Integer32
}

snMspsLoginUserName            	   OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..255))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "User Name which is used as index of the snMspsLoginUserTable. "		
		
    ::= { snMspsLoginUsersTableEntry 1 }

snMspsLoginUserPrivilege       	OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "User Privilege"		
		
    ::= { snMspsLoginUsersTableEntry 2 }

snMspsLoginUserRemoteAccess    OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote Access Filter . Value 0 means its allowed to access."		
		
    ::= { snMspsLoginUsersTableEntry 3 }


-- ------------------------------------
-- Config Backup Configuration Group	
-- ------------------------------------
snMspsConfigBackup                OBJECT IDENTIFIER ::= { snMspsConfig 100 }
	
snMspsConfigBackupTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsConfigBackupEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "A table to display and to control the configuration pack backup."
   ::= { snMspsConfigBackup 10 }

snMspsConfigBackupEntry OBJECT-TYPE 
   SYNTAX      SnMspsConfigBackupEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "An entry appears in this table for each configuration pack."
   INDEX { snMspsConfigBackupIndex }
   ::= { snMspsConfigBackupTable 1 }
   
    SnMspsConfigBackupEntry ::= 
   SEQUENCE { 
      snMspsConfigBackupIndex	    Integer32, 
      snMspsConfigBackupFileName 	DisplayString,
	  snMspsConfigBackupFileSize 	Integer32, 
	  snMspsConfigBackupOperation 	INTEGER,
	  snMspsConfigBackupStatus 	    RowStatus
      }

snMspsConfigBackupIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..32)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The auxiliary number of corresponding entry 
	  representing settings of each config backup."
   ::= { snMspsConfigBackupEntry 1 }
    
snMspsConfigBackupFileName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
         "The file name of configuration backup."
    ::= { snMspsConfigBackupEntry 4 }
	
snMspsConfigBackupFileSize OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The file size in kilobytes of configuration backup."
    ::= { snMspsConfigBackupEntry 7 }

snMspsConfigBackupOperation OBJECT-TYPE
    SYNTAX      INTEGER {
	                     idle(0),
						 restore(1),
						 in-progress(2),
						 not-enough-storage(3),
						 error(4)
	                    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This is a trigger and status variable.
		 Write access using restore(1), initiates restore of corresponding backup 
		 configuration. After the operation is completed, the object will return idle(0).
		 Write access using other values as restore(1) will cause 'bad value' error.
		 Read access will return following values:
		 0 - No action in performing or last action was successfull.
		 2 - Last initiated action (restore or create new backup) is in progress.
		 3 - No enough free memory to create new configuration backup.
		 4 - Internal error during last action."
		 
    ::= { snMspsConfigBackupEntry 50 }	

snMspsConfigBackupStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
         "This is a control variable.
		 It controls the instantiation of a conceptual row
		 in snMspsConfigBackupTable. 
		 The new row cannot be activated as long as 
		 snMspsConfigBackupFileName is not set."
    ::= { snMspsConfigBackupEntry 100 }
	
	
snMspsConfigSourceIpVlanId  OBJECT-TYPE
        SYNTAX  INTEGER (0..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Configures the LoopBack IP interface VLAN ID (1 to 4094).
                Non-Zero IPv4/IPv6 Address of this LoopBack interface will be
                used as Source Address for management communication. 
                Using of Loopback IP as source IP is applicable for Syslog,
                SMTP, NTP, SNTP, Radius and SNMP Packets generated from this
                device. 

                If snMspsConfigSourceIpVlanId is 0, then this feature
                is disabled.

                If snMspsConfigSourceIpVlanId in non-zero, 
                and if the corresponding Loopback interface has IPv4 Address as
                0.0.0.0, then this feature is disabled for all IPv4 management 
                communication.
 
                If the loopback interface does not have an 
                active IPv6 Global Address, then this feature is disabled for 
                all IPv6 management communication."
        DEFVAL  {0}
        ::= { snMspsConfig 101 } 

snMspsConfigNetworkFiltering OBJECT-TYPE
                SYNTAX INTEGER {
                        enabled(1),
                        disabled(2)
                }
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION "Enable/disable ability to identify and temporarily filter source mac-addresses of the incoming network traffic that cause CPU congestion.
                             Traffic from identified source mac-addresses will not be switched for the filter period."
                ::= { snMspsConfig 201}



          
-- snMspsIfMainTable
-- This table is used for the management of all the interfaces in the
-- system. 
         
      snMspsIfMainTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF SnMspsIfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of all the interface entries in the system. 
            This table contains objects which are applicable to all
            types of interfaces in the system. This table can be used
            to monitor all the interface types. However only virtual and 
            logical interfaces could be created via this table.
            Physical interfaces were created automatically during system initialization 
            and cannot be added or removed. This table is a 
            proprietary extension to the standard ifTable and 
            ifXTable. The index to this table has the semantics of
            the MIB-2 ifIndex."
         ::= { snMspsIf 4 }

      snMspsIfMainEntry          OBJECT-TYPE
         SYNTAX            SnMspsIfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
            to a particular interface."
         INDEX { snMspsIfMainIndex }
         ::= { snMspsIfMainTable 1 }

      SnMspsIfMainEntry ::=
         SEQUENCE {
            snMspsIfMainIndex              InterfaceIndex,
            snMspsIfMainType               INTEGER,
            snMspsIfMainMtu                Integer32,
            snMspsIfMainAdminStatus        INTEGER,
            snMspsIfMainOperStatus         INTEGER,
            snMspsIfMainEncapType          INTEGER,
            snMspsIfMainBrgPortType         INTEGER,
            snMspsIfMainRowStatus          RowStatus,
            snMspsIfMainSubType            INTEGER 
            }

      snMspsIfMainIndex          OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        not-accessible 
         STATUS            current
         DESCRIPTION
            "A unique value, greater than zero, for each
            interface. This object is identical to the ifIndex
            of the standard MIB-2 ifTable." 
         ::= { snMspsIfMainEntry 1 }

      snMspsIfMainType      OBJECT-TYPE
         SYNTAX       INTEGER {
                        rfc877x25(5), -- X.25
                        ethernetCsmacd(6), -- Ethernet/802.3
                        iso88025TokenRing(9), -- Token Ring
                        ppp(23), -- PPP link
                        softwareLoopback(24), -- Loopback Interface
                        frameRelay(32), -- Frame Relay DTE port
                        miox25(38), -- multiprotocol over x.25
                                    -- used for X.25 VCs
                        aal5(49), -- AAL5 over ATM
			propVirtual (53), -- Proprietary Virtual Interface
                        async(84), -- ASYNC
                        frameRelayMPI(92), -- multiprotocol
                                           -- over FR
                                           -- used for FR VCs
                                           -- and sub-interfaces
                        pppMultilinkBundle(108), -- PPP Multilink
                                                 -- Bundle
                        ipOverAtm(114), -- IPoA virtual
                        hdlc(118), -- HDLC port
                        tunnel(131), -- Encapsulation interface   
                        atmSubInterface(134), -- VCs under IPoA
                        l3ipvlan(136), -- Layer3 VLAN interface
                        mplsTunnel (150), -- MPLS Tunnel Virtual Interface
                        ieee8023ad(161), -- Link Aggregation Mib
                        mpls (166), -- MPLS
                        brgPort(209), -- Bridge port used for creating virtual ports in PBB
			            ilan(247), -- Internal-lan 
            			pip (248) -- Virtual (Internal) Provider Instance port 
                        } -- These are the currently supported 
                          -- interfaces. More can be added at a
                          -- later time.
         MAX-ACCESS   read-create
         STATUS       current
         DESCRIPTION
            "The type/protocol of interface. Specification of
            the object is mandatory for all interfaces. This
            value should be specified after the row creation
            in the snMspsIfMainTable and before setting any other
            object in this table. Once the type is specified,
            it cannot be changed - the interface should be
            deleted for changing the type of the interface.

            The ethernetCsmacd(6), iso88025TokenRing(9), aal5(49),
            async(84) and hdlc(118) are physical interfaces while
            all other types are virtual or logical interfaces.
            
	    Specific ifIndex ranges are reserved for different interface types.
	    Creation of different types of interfaces is possible only within 
	    their corresponding ifIndex range. So the snMspsIfMainType should be 
	    configured corresponding to the  ifIndex range reserved for that 
	    particular interface type.
	    
	    pip interface type will be used vritual Provider Instance port in 
	    PBB bridge mode. physical PIPs can be created using ethernetCsmacd .

	    Following is the mapping of different port types and there snMspsIfMaintype values.
	    
	    External ports
	    --------------
	    Port:	    snMspsIfMaintype		Port type
	    -------------------------------------------------------------------
	    CNP- Ctagged         6 - customerNetworkPortCtagged   (9)
	    CNP - Port based	 6 - customerNetworkPortPortBased (2)
	    CNP- Stagged         6 - customerNetworkPortStagged   (3)
	    PNP                  6 - providerNetworkPort          (1)
	    PIP                  6 - providerInstancePort         (11)
	    CBP                  6 - customerBackbonePort         (12)

 
	    Internal ports
	    --------------
	    VIP 209 - virtualInstancePort     (10)
	    PIP 248 - providerInstancePort    (11)
	    CBP 209 - customerBackbonePort    (12)
	
	    brgPort will be used to create virtual PBB ports other than PIPs- VIPs and CBPs.

	    The propVirtual type denotes properietary logical interfaces. These
	    type of interfaces can be associated with a {physical interface, 
	    switch instance} for the purpose of sharing the physical interface 
	    to more than one context and thus realising Switch Instance Sharing 
	    of a physical interface."
         ::= { snMspsIfMainEntry 2 }

      snMspsIfMainMtu            OBJECT-TYPE
         SYNTAX            Integer32
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "The MTU for the interface as shown to the higher
            interface sub-layer (this value should not include
            the encapsulation or header added by the interface).
            If IP is operating over the interface, then this 
            value indicates the IP MTU over this interface.
            
            For changing the MTU of any interface, the interface
            must be brought down first - changing MTU while the
            interface is administratively up is not permitted.
            
            If not specified during interface creation, a default
            value is assigned based on the snMspsIfMainType given to
            the particular interface.
            
            While configuring for logical VLAN interfaces, care
            should be taken to, configure this value as the
            lowest of the MTU values of the member ports."
         ::= { snMspsIfMainEntry 3 }

      snMspsIfMainAdminStatus    OBJECT-TYPE
         SYNTAX            INTEGER {
                              up(1),   -- ready to pass packets
                              down(2),
                              testing(3)   -- in some test mode
                              }
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "The desired state of the interface. This object
            can be set only when the snMspsIfMainRowStatus of the
            interface is active. This object has the semantics
            of the ifAdminStatus of the standard ifTable.
            
            The testing(3) state indicates that no operational 
            packets can be passed - this state is not currently
            supported. 
            
            When a managed system initializes, all 
            interfaces start with snMspsIfMainAdminStatus in the
            down(2) state, it's a default state also. As a result
            of either explicit management action or per 
            configuration information retained by the managed
            system, snMspsIfMainAdminStatus is then changed to
            the up (1) state (or remains in the
            down(2) state)."
         DEFVAL { down } 
         ::= { snMspsIfMainEntry 4 }

      snMspsIfMainOperStatus     OBJECT-TYPE
         SYNTAX            INTEGER  {
                              up(1),        -- ready to pass packets
                              down(2),
                              testing(3),   -- in some test mode
                              unknown(4),   -- status can not be
                                            -- determined for
                                            -- some reason.
                              dormant(5),
                              notPresent(6), -- some component is
                                             -- missing
                              lowerLayerDown(7) -- down due to state
                                                --  of lower-layer
                                                -- interface(s).
                              }
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "The current operational state of the interface.
            The testing (3) state indicates that no operational
            packets can be passed - this state is not supported
            currently. 
            
            If snMspsIfMainAdminStatus is down (2)
            then snMspsIfMainOperStatus would be down (2). If
            snMspsIfMainAdminStatus is changed to up (1) then
            snMspsIfMainOperStatus should change to up (1) if the
            interface is ready to transmit and receive
            work traffic; it should change to dormant (5)
            the interface is waiting for external actions
            (such as a serial line waiting for an incoming
            connection); it should change to lowerLayerDown(7)
            state if it cannot be made up as the interface sub-layer
            below it is down; it should remain in the down (2) state
            if and only if there is a fault that prevents it
            from going to the up (1) state; it should remain in
            the notPresent (6) state if the interface has
            missing (typically, hardware) components.
            
            The status unknown(4) is shown when it is not possible
            to determine the exact status of the interface - e.g.
            the interface sub-layer is performing negotiations - 
            during this period the interface is not up but at the
            same time, it is not a fault condition and hence it
            cannot be shown as down - in such periods the status
            is shown as unknown.
            
            This object has the semantics of the ifOperStatus of the
            standard ifTable."
         ::= { snMspsIfMainEntry 5 }

      snMspsIfMainEncapType         OBJECT-TYPE
         SYNTAX               INTEGER {
                                 other(1),
                                 nlpid(2), -- NLPID based encap
                                           -- in the case of FR
                                           -- and multiplexed
                                           -- NLPID encap for X.25
                                 nlpidSnap(3), -- NLPID-SNAP based
                                                -- encap in the case
                                                -- of FR and multiplexed
                                                -- NLPID-SNAP encap for
                                                -- X.25.
                                 cudNlpid(4),   -- dedicated NLPID for
                                                -- X.25 only
                                 cudNlpidSnap(5),   -- dedicated
                                                      -- NLPID-SNAP for
                                                      -- X.25 only
                                 llcSnap(6),   -- for ATM VCs only
                                 vcMultiplexed(7),  -- for ATM VCs only
                                 ethernetV2(8) -- for Ethernet interfaces
                                 }
         MAX-ACCESS           read-write
         STATUS               current
         DESCRIPTION
            "The encapsulation type to be used over the interface.

            For Ethernet interfaces, the default encapsulation
            type is ethernetV2(8). The other possible encapsulation
            is llcSnap(6). If other(1) is specified then an
            automatic encapsulation type learning method is used
            in ARP for determining the encapsulation for unicast
            destinations while the multicast and broadcast destinations
            use ethernetV2(8).

            For PPP and MLPPP interfaces, the encapsulation type can
            only be other(1) and this is the default value.

            For FR VCs, the value can be nlpid(2) (for carrying protocols
            which have NLPID) or nlpidSnap(3) (for other protocols). The
            default is nlpid(2) and the types of protocols supported are
            inferred from the stack-layering implemented over the
            interface.

            For X.25 VCs, the value can be nlpid(2) or nlpidSnap(3) 
            (where the VC can carry multiplexed protocol traffic with
            each data packet containing the NLPID or SNAP header) or
            cudNlpid(4) or cudNlpidSnap(5) (where the CUD specifies
            the NLPID of the protocol or SNAP and the data packets do
            not contain these headers - for dedicated VCs). The default 
            is cudNlpid(4).
            
            For ATM VCs, the default is llcSnap(6) but the 
            vcMultiplexed(7) encapsulation is also supported.
				
            This object is not applicable to other interfaces."
         ::= { snMspsIfMainEntry 6 }

      snMspsIfMainBrgPortType      OBJECT-TYPE
        SYNTAX      INTEGER {
                             providerNetworkPort           (1),
                             customerNetworkPortPortBased  (2),
                             customerNetworkPortStagged    (3),
                             customerEdgePort              (4),
                             propCustomerEdgePort          (5),
                             propCustomerNetworkPort       (6),
                             propProviderNetworkPort       (7),
                             customerBridgePort            (8),
                             customerNetworkPortCtagged    (9),
			     virtualInstancePort  	   (10),	
			     providerInstancePort	   (11),
			     customerBackbonePort	   (12)

         }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The Bridge port type of this specified switch port.
           Bridge Port type can be specified only for switch ports and not for 
           router ports, IVR interfaces and I-LAN Interfaces.

           providerNetworkPort - Port Connected to a single Provider.
           SVLAN Classification is based on only the PVID configured for the 
           port for untagged packets.

           customerNetworkPortPortBased - Port in the S-VLAN component that 
           can transmit or received frames for single customer. 
           All packets received on this port, are mapped to one single service 
           instance identified by the PVID of that Port.
           Acceptable Port Type will be always Admit only Untagged or Priority 
           Tagged Frames on this port.

           customerNetworkPortStagged - Port in the S-VLAN component that 
           can transmit or received frames for single customer. 
           VLAN classification on this interface will be based on the S-tag 
           received or on the PVID of the port. Ingress Filtering will be 
           always enabled on this port.

           customerEdgePort - Port in a Provider Edge Bridge connected to a 
           single customer. Multiple services can be provide on this port.
           The Packets received on this interface will be first classified 
           to a CVLAN. CVLAN classification can be based on the Vid 
           in the C-Tag present in the packet (if it C-tagged packet) or from 
           the pvid of the port. Service instance selection (S-VLAN selection) 
           for a frame is done based on the entry present in the C-VID 
           registration table for the pair (C-VID, reception Port). 
           CustomerEdgePort configuration is allowed only in Provider Edge 
           Bridges.

           propCustomerEdgePort - Port connected to a single customer, where 
           multiple services can be provided based on only Proprietary SVLAN 
           classification tables. S-VLAN classification will not happen based on
           C-VID registration table on this port. propCustomerEdgePort 
           configuration is allowed only in Provider Edge Bridges.

           propCustomerNetworkPort - Port connected to a single customer, where 
           multiple service can be provided based on CVLANs by assigning one of 
           the Proprietary SVLAN classification tables to this port. The 
           services can also be assigned using other proprietary SVLAN 
           classification tables where CVLAN is not the index of the table.

           propProviderNetworkPort - Port connected to a Q-in-Q Bridge located
           inside Provider Network. This port is part of S-VLAN component. 
           If packets to be tagged and sent out of this port will have 0x8100
           as the ether type. Similarly pakcets with standard Q tag (ether type
           as 0x8100) received will be considered as S-Tagged packets. 

           customerBridgePort - Type of the port to be used in customer 
           bridges as well in Provider(Q-in-Q) bridges. This type is not valid 
           in Provider Core bridges as well as Provider Edge bridge. 
	   
	   customerNetworkPortCtagged - Port in the I component that 
           can transmit or received frames for single customer. 
           VLAN classification on this interface will be based on the C-tag 
           received or on the default CVID of the port. Ingress Filtering will be 
           always enabled on this port.
	   
	   virtualInstancePort - A Bridge Port on an I-component in a Backbone Edge Bridge 
	   that provides access to a single backbone service instance.
	   
	   providerInstancePort - The set of Virtual Instance Ports that are supported
	   by a single instance of the device.
	   
	   customerBackbonePort	- A Backbone Edge Bridge Port that can receive and transmit
	   I-tagged frames for multiple customers, and assign B-VIDs and translate I-SID on
	   the basis of the received I-SID.
           
           In Customer bridges and in Provider Bridges only customerPort option
           is allowed.

   	   In Provider backbone bridge only customerNetworkPort, providerNetworkPort
	   and customerBackbonePort type of ports are allowed.

           Bridge Port Type cannot be set for a port-channel port, if some 
           physical ports are aggregated in it.
           Also Bridge Port type cannot be set for a port, if part of a 
           port-channel.

           Whenever the Bridge port type changes, the previous configuration 
           associated with the port will be flushed.

           For example. 
           
           whenever CNP(STagged) and PNP port types are changed to any 
           other port type,
             - The unicast entries learnt on this port and 
             - The VID translation table entries associated with the port 
               will be flushed.

           Whenever CEP port type is changed to any other port type,
             - The unicast entries learnt on this port
             - The C-VID registration table entries associated with the port
             - The PEP configuration table entries
             - The service priority regeneration table entries 
             will be flushed.

             Even the vlan membership of the port will be removed when the 
             Pbport type is changed."

         DEFVAL { 8 }
         ::= { snMspsIfMainEntry 7 }

      snMspsIfMainRowStatus      OBJECT-TYPE
         SYNTAX            RowStatus
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "A RowStatus variable for addition (except for physical interfaces),
             deletion (except for physical interfaces ) and in-activation
            of the interfaces. Specification of the object is mandatory
            for all interfaces.
            
            When the status is active, the interface is created and
            ready to use in the respective protocol modules.
            
            When the status is notInService, the interface has not been
            registered with the respective protocol modules and as such
            those modules are not aware of the existence of the interface
            - creation is hence, incomplete. Setting an active interface
            to notInService results in de-registration/deletion of the
            interface from the respective protocol modules and all the
            configurations associated with that interface in those modules
            may be lost.
            
            Deletion of an interface, may affect the status of other
            interfaces which are layered above or below it in the Interface
            Stack (ifStackTable) and may result in other interfaces being
            made notReady or notInService."
         ::= { snMspsIfMainEntry 8 }

     snMspsIfMainSubType    OBJECT-TYPE
         SYNTAX            INTEGER {
                              extremeEther(251),
                              fastEther(252),
                              gigabitEthernet(253)
                           }
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
           "This object stores the subType value of the specified interface.
            Configuration of this object is not mandatory.By default
            Sub type value will be updated based on the hardware link speed."

         ::= { snMspsIfMainEntry 9 }

 
 -- snMspsIfIpTable
-- This table is used for the management of the interfaces in the
-- system which are registered with IP. 
      
      snMspsIfIpTable            OBJECT-TYPE
         SYNTAX            SEQUENCE OF SnMspsIfIpEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of all the interface entries in the system which
            are registered with IP.
                  
            This table contains objects which are applicable for the
            management of IP over the network interfaces
            in the system. 
               
            This table is a extension to the snMspsIfMainTable. 
            The index to this table has the semantics of
            the snMspsIfMainIndex of the snMspsIfMainTable.
                  
            Entries are created automatically in this table for
            any interface sub-layer which is layer below IP using
            the ifStackTable. Similarly, entries are deleted from
            this table when the interface's layering below IP is
            removed."
         ::= { snMspsIf 5 }

      snMspsIfIpEntry            OBJECT-TYPE
         SYNTAX            SnMspsIfIpEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
            to a particular interface over which IP is operating."
         INDEX { snMspsIfMainIndex }
         ::= { snMspsIfIpTable 1 }

      SnMspsIfIpEntry ::=
         SEQUENCE {
            snMspsIfIpAddrAllocMethod  INTEGER,
            snMspsIfIpAddr             IpAddress,
            snMspsIfIpSubnetMask       IpAddress,
            snMspsIfIpBroadcastAddr    IpAddress,
            snMspsIfIpForwardingEnable  TruthValue,
            snMspsIfIpAddrAllocProtocol INTEGER,
			snMspsIfIpInterfaceName		DisplayString
            }

      snMspsIfIpAddrAllocMethod  OBJECT-TYPE
         SYNTAX            INTEGER {
                              manual(1),  -- To be set by Manager
                              negotiation(2), -- obtained from peer
                              dynamic(3),
			      none(4)  -- none of the above
                              } -- Currently only
                                -- these method possible.
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "The mechanism to be used for allocation of IP
            address for this interface. 
            
            The value negotiation can be used only for PPP
            and MLPPP interfaces which support obtaining of
            IP addresses through negotiation.

            The dynamic(3) option takes an IP 
            address dynamically from the available 
            server (dhcp/bootp/rarp) according to the
            protocol specified in snMspsIfIpAddrAllocProtocol. 

            If the method specified is manual and the IP 
            address is not provided (then the interface   
            would be treated as a un-numbered interface."
         DEFVAL { none }
         ::= { snMspsIfIpEntry 1 }

      snMspsIfIpAddr             OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP address given to this
            interface. The specification of this object is
            mandatory for all network interfaces (Ethernet,
            FR VC, IPoA interface, PPP link - not under MP,
            MP interface and X.25 VC). If the interface is
            not a network interface then the default value
            of 0.0.0.0 is assigned and the interface is
            treated as a un-numbered interface by IP."
         DEFVAL { '00000000'H } 
         ::= { snMspsIfIpEntry 2 }

      snMspsIfIpSubnetMask       OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP Subnet Mask for this
            interface. The value should be specified only
            for network interfaces and any valid VLSM is
            accepted. 
            
            If not specified, this object takes the default
            subnet mask value based on the class of the IP
            address configured for the interface."
         ::= { snMspsIfIpEntry 3 }

      snMspsIfIpBroadcastAddr    OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Specifies the IP broadcast address for this
            interface. The value should be specified only
            for network interfaces and any valid broadcast
            address based on a valid VLSM is accepted. 
            
            If not specified, this object takes the default
            value based on the class of the IP
            address configured for the interface."
         ::= { snMspsIfIpEntry 4 }

      snMspsIfIpForwardingEnable OBJECT-TYPE
         SYNTAX            TruthValue
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Specifies whether IP forwarding is enable on
            this interface. Disabling IP forwarding on an
            interface will result in packets which are to
            be forwarded on that interface being dropped
            and ICMP error messages being generated for the
            packets."
         DEFVAL { true } 
         ::= { snMspsIfIpEntry 5 }

      snMspsIfIpAddrAllocProtocol  OBJECT-TYPE
         SYNTAX              INTEGER {
                                rarp(1),
                                dhcp(2)
                              } 
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
           "Specifies the protocol to be used to obtain
            IP address for this interface.  This object is
            valid only when snMspsIfIpAddrAllocMethod is set to
            dynamic (3). 

            Currently rarp (1) option is not
            supported. The assigned value will be effective
            only when the interface admin status changes"
         DEFVAL { dhcp }
         ::= { snMspsIfIpEntry 6 }
		 
	snMspsIfIpInterfaceName   OBJECT-TYPE
		SYNTAX      DisplayString (SIZE(1..64))
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
            "Interface name for IP interfaces"
		::= { snMspsIfIpEntry 7 }

-- snMspsIfIvrTable
-- This table is used for the Inter VLAN Routing related 
-- configurations for each interface such as converting Bridged interfaces
-- to Routed interfaces and vice-versa.

      snMspsIfIvrTable              OBJECT-TYPE
         SYNTAX               SEQUENCE OF SnMspsIfIvrEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A list of all the interfaces in the system with IVR related
            configurations.

            This table is an extension to the snMspsIfMainTable. The index to 
            this table has the semantics of the snMspsIfMainIndex of the 
            snMspsIfMainTable."
         ::= { snMspsIf 8 }

      snMspsIfIvrEntry           OBJECT-TYPE
         SYNTAX            SnMspsIfIvrEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing IVR-related information applicable
            to a interface."
         INDEX { snMspsIfMainIndex }
         ::= { snMspsIfIvrTable 1 }
         
      SnMspsIfIvrEntry ::=
         SEQUENCE {
            snMspsIfIvrBridgedIface
               TruthValue,
            snMspsIfIvrLoopBackIface
               TruthValue
            }

      snMspsIfIvrBridgedIface     OBJECT-TYPE
         SYNTAX            TruthValue 
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Indicates if this interface is a Bridged interface
            or not. 
            A value of 'TRUE' indicates that this interface is 
            a Bridged interface and is capable of performing 
            bridging of packets through this interface.
            A value of 'FALSE' indicates that this 
            interface is a Routed interface and is capable of
            performing routing of packets through this interface." 
         ::= { snMspsIfIvrEntry 1 }

      snMspsIfIvrLoopBackIface    OBJECT-TYPE
         SYNTAX            TruthValue 
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Indicates if this interface is a IVR Loopback interface
            or not. 
            A value of 'TRUE' indicates that this IVR interface is 
            a Loopback Interface.
            A value of 'FALSE' indicates that this IVR
            interface is not a Loopback interface."
         DEFVAL { false } 
         ::= { snMspsIfIvrEntry 2 }

	
-- snMspsIfSecondaryIpAddressTable
-- This table is to configure secondary ip address over the interfaces
-- registered with IP. 
      
      snMspsIfSecondaryIpAddressTable  OBJECT-TYPE
         SYNTAX            SEQUENCE OF SnMspsIfSecondaryIpAddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of secondary IP addresses configured over the 
            interfaces registered with IP.
                  
            This table is a extension to the snMspsIfMainTable. 
            The index to this table has the semantics of
            the snMspsIfMainIndex of the snMspsIfMainTable.
            
            Secondary IpAddress configuration should not override the 
            primary ip address configured for any of the interface
            
            Updation of entries in this table are not allowd when 
            RowStatus is active"
                  
         ::= { snMspsIf 11 }

      snMspsIfSecondaryIpAddressEntry       OBJECT-TYPE
         SYNTAX            SnMspsIfSecondaryIpAddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry contains the information associated with the
            secondary(additional) ip address configured to a particular 
            interface."
         INDEX { snMspsIfMainIndex , snMspsIfSecondaryIpAddress}
         ::= { snMspsIfSecondaryIpAddressTable 1 }

      SnMspsIfSecondaryIpAddressEntry ::=
         SEQUENCE {
            snMspsIfSecondaryIpAddress       IpAddress,
            snMspsIfSecondaryIpSubnetMask    IpAddress,
            snMspsIfSecondaryIpBroadcastAddr IpAddress,
            snMspsIfSecondaryIpRowStatus     RowStatus,
			snMspsIfSecondaryIpInterfaceName DisplayString
            }

      snMspsIfSecondaryIpAddress         OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        not-accessible 
         STATUS            current
         DESCRIPTION
            "Specifies the Secondary IP address associated with the 
            interface"
         ::= {snMspsIfSecondaryIpAddressEntry  1 }

      snMspsIfSecondaryIpSubnetMask     OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP Subnet Mask associted with the
            secondary ip address configuration. The value should be 
            specified only for network interfaces and any valid 
            VLSM is accepted. 
            
            If not specified, this object takes the default
            subnet mask value based on the class of the IP
            address configured for the interface."
         ::= { snMspsIfSecondaryIpAddressEntry 2 }

      snMspsIfSecondaryIpBroadcastAddr    OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Specifies the IP broadcast address associated with
            the configured secondary IP address. The value should be 
            specified only for network interfaces and any valid 
            broadcast address based on a valid VLSM is accepted. 
            
            If not specified, this object takes the default
            value based on the class of the IP
            address configured for the interface."
         ::= { snMspsIfSecondaryIpAddressEntry 3 }

      snMspsIfSecondaryIpRowStatus OBJECT-TYPE
         SYNTAX            RowStatus
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "This object is used to manage creation and deletion of rows
             in this table."
         ::= { snMspsIfSecondaryIpAddressEntry 4 }
		 
	  snMspsIfSecondaryIpInterfaceName   OBJECT-TYPE
		SYNTAX      DisplayString (SIZE(0..64))
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
            "Interface name for secondary IP interfaces"
		::= { snMspsIfSecondaryIpAddressEntry 5 }

	
-- snMspsIfOverviewIpAddressTable
-- This table is to display primary and secondary ip addresses over the interfaces
-- registered with IP. 
      
      snMspsIfOverviewIpAddressTable  OBJECT-TYPE
         SYNTAX            SEQUENCE OF SnMspsIfOverviewIpAddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of primary and secondary IP addresses configured over the 
            interfaces registered with IP."
                  
         ::= { snMspsIf 15 }

      snMspsIfOverviewIpAddressEntry       OBJECT-TYPE
         SYNTAX            SnMspsIfOverviewIpAddressEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry contains the information associated with the primary and
            secondary(additional) ip addresses configured to a particular 
            interface."
         INDEX { snMspsIfMainIndex , snMspsIfOverviewIpAddress}
         ::= { snMspsIfOverviewIpAddressTable 1 }

      SnMspsIfOverviewIpAddressEntry ::=
         SEQUENCE {
            snMspsIfOverviewIpAddress       IpAddress,
            snMspsIfOverviewIpSubnetMask    IpAddress,
            snMspsIfOverviewIpBroadcastAddr IpAddress,
            snMspsIfOverviewIpType     	  INTEGER,
            snMspsIfOverviewIpAddressACDStatus     	  INTEGER
            }

      snMspsIfOverviewIpAddress         OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        not-accessible 
         STATUS            current
         DESCRIPTION
            "Shows primary and secondary IP addresses associated with the 
            interface"
         ::= {snMspsIfOverviewIpAddressEntry  1 }

      snMspsIfOverviewIpSubnetMask     OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-only 
         STATUS            current
         DESCRIPTION
            "Shows the IP Subnet Mask associted with the
            primary and secondary ip addresses configuration."
         ::= { snMspsIfOverviewIpAddressEntry 2 }

      snMspsIfOverviewIpBroadcastAddr    OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "Shows the IP broadcast address associated with
            the configured primary and secondary IP addresses."
         ::= { snMspsIfOverviewIpAddressEntry 3 }
		
      snMspsIfOverviewIpType  OBJECT-TYPE
         SYNTAX              INTEGER {
                                primary(1),
                                secondary(2)
                              } 
         MAX-ACCESS        read-only 
         STATUS            current
         DESCRIPTION
           "Shows IP address type: primary or secondary."
         DEFVAL { secondary }
         ::= { snMspsIfOverviewIpAddressEntry 4 }

      snMspsIfOverviewIpAddressACDStatus  OBJECT-TYPE
         SYNTAX              INTEGER {
                                acdStatusIdle(0), 
								acdStatusStarting(1), 
								acdStatusConflict(2), 
								acdStatusDefending(3), 
								acdStatusActive(4),
								acdStatusNotSupported(5), 
								acdStatusDisabled(6)
                              } 
         MAX-ACCESS        read-only 
         STATUS            current
         DESCRIPTION
           "Shows IPV4 Address Collision Detection Status."
         ::= { snMspsIfOverviewIpAddressEntry 5 }		 
	
    
-- snMspsIfIvrMappingTable
-- Mapping of multiple Vlans to IVR interfaces.

      snMspsIfIvrMappingTable  	OBJECT-TYPE
         SYNTAX               SEQUENCE OF SnMspsIfIvrMappingEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
           "This table is used to configure the list of vlans to be 
            associated for an IVR interface.
            The primary Index to this table can only be a IVR interface.
           
           Only considered if device supports corresponding functionality, 
           otherwise any set operation will fail with an inconsistentValue error 
           and get will return empty."

         ::= { snMspsIf 18 }

      snMspsIfIvrMappingEntry    OBJECT-TYPE
         SYNTAX            SnMspsIfIvrMappingEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "Each entry in this table gives an assoicated vlan to an IVR 
             interface."
         INDEX { snMspsIfMainIndex, snMspsIfIvrAssociatedVlan }
         ::= { snMspsIfIvrMappingTable 1 }
 
      SnMspsIfIvrMappingEntry ::=
         SEQUENCE {
             snMspsIfIvrAssociatedVlan 	        VlanId,
             snMspsIfIvrMappingRowStatus		RowStatus
            }

      snMspsIfIvrAssociatedVlan OBJECT-TYPE
         SYNTAX            VlanId
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "This object specifies one of the associated VLANs for a given
             IVR interface. Vlan Id associated with an IVR interface during
             IVR interface creation, should not be configured as 
             snMspsIfIvrAssociatedVlan for that IVR interface.
             snMspsIfIvrAssociatedVlan and the primary vlan (vlan associated with 
             IVR during IVR creation) for an IVR interface should be in the 
             same Layer 2 context."
         ::= { snMspsIfIvrMappingEntry 1 }

      snMspsIfIvrMappingRowStatus   OBJECT-TYPE
         SYNTAX            	RowStatus
         MAX-ACCESS        	read-create
         STATUS            	current
         DESCRIPTION
            "Denotes the Row Status for port isolation table entry.
             Only 'CreateAndGo' and 'destroy' values are allowed for this
             object. 'CreateAndWait' and 'notInService' values are not allowed.
             Example:
                To add vlans 2, 3 as associated vlans to an IVR interface with
                interface index as 10 in this table, the following sequence 
                to be followed:
        
                   1. Set the snMspsIfIvrMappingRowStatus as 'CreateAndGo' for the
                      entry with index 
                      (snMspsIfMainIndex = 10, snMspsIfIvrAssociatedVlan = 2)
                   2. Set the snMspsIfIvrMappingRowStatus as 'CreateAndGo' for the
                      entry with index 
                      (snMspsIfMainIndex = 10, snMspsIfIvrAssociatedVlan = 3)
        
                To delete vlan 3 from the list of associated vlans for an IVR 
                interface with IfIndex = 10 ports, do the following:
                      Set the snMspsIfIvrMappingRowStatus as 'destroy' for the
                      entry with index 
                      (snMspsIfMainIndex = 10, snMspsIfIvrAssociatedVlan = 3)."
         ::= { snMspsIfIvrMappingEntry 2 }



     	                                                               
-- --------------------------------------------------------------
-- SIMATIC NET MSPS SPECIFIC PORT MIB
-- --------------------------------------------------------------
-- --------------------------------------------------------------
-- PortTable Sub-Group
-- --------------------------------------------------------------      
snMspsPortTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsPortEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION	"Table containing per-port objects in the form of private
	            extensions of interface objects."
	    ::= { snMspsPort 90 }

snMspsPortEntry  OBJECT-TYPE
	    SYNTAX  SnMspsPortEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Interface entry containing objects at the
	            subnetwork layer and below for a particular
	            interface."
	    INDEX   { snMspsPortIndex }
	    ::= { snMspsPortTable 1 }

SnMspsPortEntry ::= SEQUENCE {
        snMspsPortIndex            			INTEGER,
        snMspsPortFaultMaskState   			INTEGER,
        snMspsPortLockState        			INTEGER,
        snMspsPortFlowControlStatus         TruthValue,
        snMspsPortStandbyMaskState 			INTEGER,
        snMspsPortBroadcastBlocking			INTEGER,
        snMspsPortDcpConfig					INTEGER,
        snMspsPortUnknownMulticastBlocking  INTEGER,
        snMspsPortActive                    TruthValue,
        snMspsPortUnknownUnicastBlocking    INTEGER,
        snMspsPortMediaType					INTEGER,
		snMspsPortEnhPassListComp		    INTEGER,
		snMspsPortQoSTrustMode              INTEGER,
        snMspsPortBlockState            	INTEGER,
        snMspsPortRouterAdvertisementBlocking  INTEGER,
        snMspsPortAdminMacLearningStatus    TruthValue,
        snMspsPortMacLearningFlush    INTEGER,
        snMspsPortNOACtrlMode    INTEGER
        }

snMspsPortIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (1..60)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Unique number for each interface. The number is in the range
	            1 to 26. The number for each interface must remain
	            constant at least from one re-initialization of the entity's
	            network management system to the next re-initialization."
	    ::= { snMspsPortEntry 1 }

snMspsPortFaultMaskState  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      checked-link-down(1),
	      notChecked(2),
	      checked-link-up(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Mask for checking link state of the port.
	            If a link of a masked as link down (checked-link-down) port
	            is down then a fault will be generated. If a link of a masked
	            as link up (checked-link-up) port is up then
	            a fault will be generated."
	    DEFVAL  {notChecked}
	    ::= { snMspsPortEntry 2 }
	    
snMspsPortLockState  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      disabled(1),        
	      enabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current    
	    DESCRIPTION "Lock state of the port.
        		disabled (1) - MAC Learning and Forwarding enabled.  Dynamic entries can be added.
                enabled (2) - MAC Learning and Forwarding disabled. Dynamic entries alter to static."
	    DEFVAL  {disabled}
	    ::= { snMspsPortEntry 3 }
	    	    
snMspsPortFlowControlStatus OBJECT-TYPE
     SYNTAX       TruthValue
     MAX-ACCESS   read-only
     STATUS       current
     DESCRIPTION
         "Current state of Flow Control on the port returned from the hardware"
     ::= { snMspsPortEntry 4 }

	    
snMspsPortStandbyMaskState  OBJECT-TYPE
    	SYNTAX  INTEGER {
      	  checked(1),
          notChecked(2)
    	}    
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "Mask for standby ports." 
    	::= { snMspsPortEntry 6 }
    	
snMspsPortBroadcastBlocking  OBJECT-TYPE
    	SYNTAX  INTEGER {
      	  enabled(1),
          disabled(2)
    	}    
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "Enable / Disable broadcast blocking. Used to select which ports are 
    			prevented from being forwarded broadcast packets." 
    	::= { snMspsPortEntry 7 }     	 

snMspsPortDcpConfig  OBJECT-TYPE
    	SYNTAX  INTEGER {
      	  rxOnly(2),
          txAndRx(3)
        }   
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "The administratively desired behavior of the device for DCP frames.
    	 	    If the associated snMspsPortDcpConfig object has a
            	value of 'rxOnly(2)', then the device will receive,
            	but it will not transmit DCP frames on this port.

           		If the associated snMspsPortDcpConfig object has a
            	value of 'txAndRx(3)', then the device will transmit
            	and receive DCP frames on this port."
        ::= { snMspsPortEntry 8 }    	
          
snMspsPortUnknownMulticastBlocking  OBJECT-TYPE
    	SYNTAX  INTEGER {
      	  enabled(1),
          disabled(2)
    	}    
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "Enable / Disable unknown multicast blocking. Used to select which ports are 
    			prevented from being forwarded multicast packets to unknown multicast addresses." 
    	::= { snMspsPortEntry 9 }    

snMspsPortActive  OBJECT-TYPE
        SYNTAX  TruthValue
    	MAX-ACCESS  read-write
    	STATUS  current
        DESCRIPTION "Setting this object to false(2) forces link down on this ports and its connected devices."
    	::= { snMspsPortEntry 10 } 
        
snMspsPortUnknownUnicastBlocking  OBJECT-TYPE
    	SYNTAX  INTEGER {
      	  enabled(1),
          disabled(2)
    	}    
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "Enable / Disable unknown unicast blocking. Used to select which ports are 
    			prevented from being forwarded unicast packets to unknown unicast addresses." 
    	::= { snMspsPortEntry 11 }    
    	
snMspsPortMediaType  OBJECT-TYPE
    	SYNTAX  INTEGER {
    	    not-available(0),
      	  auto(1),
          copper(2),
          optical(3) 
    	}    
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "Defines the currently active media type of the combo port. 
    	             Write access is only allowed for combo ports, i.e. ports that consist 
    	             of both a copper port and an optical port. 
    	             not-available(0) - the port is not a combo port; configuration of media type is not possible 
    	             auto (1) - the media type that has a connection is used; if both ports are connected, the optical port is preferred 
    	             copper (2) - the copper port is used 
    	             optical (3) - the optical port is used" 
    	::= { snMspsPortEntry 12 }

snMspsPortEnhPassListComp  OBJECT-TYPE
        SYNTAX  INTEGER {
          not-available(0),
          enabled(1),
          disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Enables or disables Enhanced Passive listening Compatibility mode on a specific port. 
        			The global object snMspsEnhancedPassiveListeningCompatibility 
        			must be configured accordingly to activate this configuration.
        			
        			If the functionality is not available on corresponding device, 
        			not-available(0) will be returned and no other value can be set."
        DEFVAL  {disabled}
        ::= { snMspsPortEntry 13 }		

snMspsPortQoSTrustMode OBJECT-TYPE
        SYNTAX  INTEGER 
        {
          not-available(0),
          untrust(1),
          trustcos(2),
          trustdscp(3),
          trustcos-dscp(4)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "
                    not-available (0) - the port qos trust mode is not supported 
                    untrust       (1) - packet qos parameters are assigned as per 
                                    port default priority settings 
                    trust-cos      (2) - if the packet is tagged the qos parameters
                                    are assigned according to User Priority field, else like untrust 
                    trust-dscp     (3) - if the packet is IPv4/IPv6 qoS parameters 
                                    are assigned to the Dscp field or remapped Dscp, else like untrust 
                    trust-cos-dscp (4) - if the packet is IPv4/IPv6 the packet is assigned like trustdscp 
                                    else if the packet is tagged like trustcos else like untrust"

        ::= { snMspsPortEntry 14 } 
              
snMspsPortBlockState OBJECT-TYPE
        SYNTAX INTEGER
        {
        not-available (0),
        forwarding (1),
        ring-redundancy (2),
        spanning-tree (3),
        loop-detected (4),
        down-in-bundle (5),
        la-loop-detected (6),
        la-spanning-tree (7),
        link-down (8),
		admin-down (9),
        power-down (10),
        standby (11),
        link-check (12),
        mrp-interconnection (13)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
        not-available (0) - the port block state analysis is not supported
        forwarding (1)  - not blocked by any configuration or protocol
        ring-redundancy (2) - blocked as per ring-redundancy state assigned
        spanning-tree (3) - blocked as per spanning-tree state assigned
        loop-detected (4) - blocked as per loop-detection state assigned
        down-in-bundle (5) - blocked as member of an aggregation
        la-loop-detected (6) - blocked as per loop-detection state of LA
        la-spanning-tree (7) - blocked as per spanning-tree state of LA
		link-down (8) - blocked as per operative link state
        admin-down (9) - blocked as per configured admin state
        power-down (10) - blocked as per configured power state
        standby (11) - blocked as per standby state assigned
        link-check (12) - blocked as per link-check state assigned
        mrp-interconnection (13) - blocked as per mrp-interconnection state assigned"
        ::= { snMspsPortEntry 15 }	
						
snMspsPortRouterAdvertisementBlocking  OBJECT-TYPE
    	SYNTAX  INTEGER {
          not-available (0),
      	  enabled(1),
          disabled(2)
    	}    
    	MAX-ACCESS  read-write
    	STATUS  current
        DESCRIPTION "
		not-available (0) - Ipv6 Router Advertisements blocking not supported
		enabled (1) - Ipv6 Router Advertisements blocking enabled 
		disabled (2) - Ipv6 Router Advertisements blocking disabled"
		::= { snMspsPortEntry 20 }
	    	    
snMspsPortAdminMacLearningStatus OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION "
           Truth value used to configure the unicast MAC learning Admin status
           for the port.
           Value true (1), allows the unicast MAC learning on the port. 
           Value false(2), disables the unicast MAC learning on the port. 
           Status can not be set to false (2), if the device does not 
           support this feature"
        DEFVAL  { true }
     ::= { snMspsPortEntry 25 }

snMspsPortMacLearningFlush  OBJECT-TYPE
        SYNTAX  INTEGER {
    	  not-available(0),
          disabled (1),
          port-flush (2),
          full-flush (3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "
		not-available (0) - This feature is not supported.
                disabled (1) - On link down, learnt MAC will not be flushed
                port-flush (2) - On link down, learnt MAC will be flushed only on this port
                full-flush (3) - On link down, learnt MAC will be flushed for the entire switch"
      ::= { snMspsPortEntry 30 }

snMspsPortNOACtrlMode OBJECT-TYPE
        SYNTAX INTEGER {
          ot (0),
          it (1),
          both (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
              "Sets the port to access with Operational Technology (OT) Network or Information Technology (IT) Network or both.
	       Support only for physical ports and not for LA ports."
        DEFVAL { both }
      ::= { snMspsPortEntry 35 }




    snMspsTrapMSTPNewRootbridgeDetected  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "(M)STP new Rootbridge detected. Variable Bindings: Bridge Address, Old Root Bridge, New Root Bridge"
    ::= 251

    snMspsTrapMSTPTopChange  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "(M)STP Topologychange detected."
    ::= 252

   snMspsTrapPnacPortAuthStateChange  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
           "Pnac port auth state change notification."
    ::= 451

    snMspsTrapRmActiveState  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Redundancy manager entered active state."
    ::= 1451

    snMspsTrapRmPassiveState  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Redundancy manager entered passive state."
    ::= 1452

    snMspsTrapStandbyActiveState  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Standby manager entered active state."
    ::= 1501

    snMspsTrapStandbyPassiveState  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Standby manager entered passive state."
    ::= 1502

    snMspsTrapWlanGeneric     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "A generic WLAN event occured."
    ::= 1751

  snMspsTrapWlanNewOverlapAp     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "New Overlap-AP found"
    ::= 1752

  snMspsTrapWlanOverlapApAgedOut  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Overlap-AP aged out"
    ::= 1753

  snMspsTrapWlanWdsUp     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "WDS interface is up"
    ::= 1754

  snMspsTrapWlanWdsDown     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "WDS interface is down"
    ::= 1755

  snMspsTrapWlanRadarDetected     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "DFS radar interference event occured"
    ::= 1756

  snMspsTrapWlanRadarAgedOut     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "DFS channel aged out"
    ::= 1757

  snMspsTrapWlanRadiusAccessAccepted     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "RADIUS: access from a client accepted"
    ::= 1758

  snMspsTrapWlanRadiusAccessRejected     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "RADIUS: access request from a client rejected"
    ::= 1759

  snMspsTrapWlanAuthToAPFailed     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: Authentication on AP failed"
    ::= 1761

  snMspsTrapWlanAssociatedToAP     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: successfully associated to AP"
    ::= 1763

  snMspsTrapWlanAssociationToAPFailed     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: Association failed"
    ::= 1764

  snMspsTrapWlanDisassociatedFromAP     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: disassociated from AP"
    ::= 1765

  snMspsTrapWlanDisassociationFromAPFailed     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: Disassotiation failed"
    ::= 1766

  snMspsTrapWlanAuthenticationFromClientFailed     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "AP: Client authentication failed"
    ::= 1767

  snMspsTrapWlanClientDeauthenticated     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: deauthenticated from AP"
    ::= 1768

  snMspsTrapWlanClientAuthenticated     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: authenticated to AP"
    ::= 1769

  snMspsTrapWlanClientAssociated     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: associated to AP"
    ::= 1770

  snMspsTrapWlanAssociationFromClientFailed     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "AP: Client association failed"
    ::= 1771

  snMspsTrapWlanClientDisassociated     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Client: disassociated from AP"
    ::= 1772

  snMspsTrapWlanDisassociationFromClientFailed     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "AP: Client disassociation failed"
    ::= 1773

  snMspsTrapWlanForcedRoaming     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Forced Roaming event occured"
    ::= 1774

  snMspsTrapWlanIPCFMaxSta     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "iPCF: number of wireless clients too big for the cycle time"
    ::= 1781

  snMspsTrapWlanIPCFMaxCycleTime     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "iPCF: Max. PROFINET cycle time exceeded"
    ::= 1782

  snMspsTrapWlanIPCFMaxCyclicPollSize     TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Max. size of PROFINET cyclic poll exceeded (too many PROFINET devices)"
    ::= 1783

    snMspsTrapPowerLine1Down  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Power down on line L1."
    ::= 1851

    snMspsTrapPowerLine1Up  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Power up on line L1."
    ::= 1852

    snMspsTrapPowerLine2Down  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Power down on line L2."
    ::= 1853

    snMspsTrapPowerLine2Up  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Power up on line L2."
    ::= 1854

    snMspsTrapChangedFaultState  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Device changed fault state."
    ::= 1855

    snMspsTrapPoEDown  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Power down on line 3 (PoE)."
    ::= 1856

    snMspsTrapPoEUp  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Power up on line L3 (PoE)."
    ::= 1857

    snMspsTrapEnvData      TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "The device entered an considerable temperature / usage value.
            Variable Bindigs: Message what happened"
    ::= 1860

    snMspsTrapServiceInformation      TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Service Information occured. Variable Bindigs: Message what happened"
    ::= 1861

    snMspsTrapCLIScriptFileStatus      TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "This trap is generated when a CLI script file was successfully loaded via TFTP and the file transfer was triggered through DHCP Options 66/67"
    ::= 1862

    snMspsTrapConfigurationChange      TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Informs user when configuration is changed"
    ::= 1863

    snMspsTrapNTPInvalidConfiguration TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "Invalid NTP Configuration."
    ::= 2101

    snMspsTrapNTPWrongPacketLength TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "Received NTP Packet with wrong length."
    ::= 2102

    snMspsTrapNTPWrongSourceAddress TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "Received NTP Packet from wrong Source Address."
    ::= 2103

    snMspsTrapNTPWrongKeyId TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "Received NTP Packet with wrong or missing Key Id."
    ::= 2104

    snMspsTrapNTPAddAuthFail TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "Secure NTP failed to add authentication."
    ::= 2105

    snMspsTrapNTPVerifyAuthFail TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "Received NTP Packet failed authentication."
    ::= 2106

    snMspsTrapNTPKeyUpdate TRAP-TYPE
        ENTERPRISE snMsps
        DESCRIPTION
            "SecureNTP Keys were updated."
    ::= 2107

    snMspsTrapVRRPStateChange  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Device changed vrrp master state."
    ::= 2201

    snMspsTrapLOOPDStateChange  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Device changed LOOPD state."
    ::= 2251

    snMspsTrapOSPFStateChange  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Device changed OSPF route state."
    ::= 2301

  snMspsTrapMNMobileConnectionSuccess  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Mobile connection successfull."
    ::= 2351

  snMspsTrapMNMobileConnectionFailure  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Mobile connection failed."
    ::= 2352

  snMspsTrapMNMobileConnectionLost  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Mobile connection lost."
    ::= 2353

  snMspsTrapDigitalIOStateChange  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Digital IO pin state change detected."
    ::= 2851

  snTrapMspsLinkCheckBrokenLinkDetected  TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
            "Link Check disabled port because of broken link."
    ::= 2901

  snTrapMspsLinkCheckPortEnabled TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
         "By Link Check disabled port is enabled again."
    ::=  2902

  snTrapMspsLinkCheckMultiplePartners TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
         "Link Check detected multiple partners on port."
    ::= 2903

  snTrapMspsLinkCheckMultiplePartnersReset TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
         "Link Check partner detection reset on port."
    ::=  2904

  snTrapMspsLinkCheckCriticalLinkDetected TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
         "Link Check indicates critical link state on port."
   ::=  2905

  snTrapMspsLinkCheckCriticalLinkReset TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
         "By Link Check indicated critical link state reset on port."
   ::= 2906

  snTrapMspsLinkCheckUnapprovedConfigDetected TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
        "Unapproved Link Check configuration. Disable Link Check on this port."
   ::=  2907

  snTrapMspsLinkCheckUnapprovedConfigResolved TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
        "Unapproved Link Check configuration resolved on this port."
   ::=  2908

  snMspsTrapMrpInterconMgrOpenState TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
        "MRP Interconnection state change to open."
   ::=  3001

  snMspsTrapMrpInterconMgrClosedState TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
        "MRP Interconnection state change to closed."
   ::=  3002

  snMspsTrapPoeStateChange TRAP-TYPE
        ENTERPRISE  snMsps
        DESCRIPTION
        "Poe state change notification."
   ::=  3051



     	                                                               
-- --------------------------------------------------------------
-- SIMATIC NET MSPS SPECIFIC SFP MIB
-- --------------------------------------------------------------
-- --------------------------------------------------------------
-- SfpTable Sub-Group
-- --------------------------------------------------------------      
snMspsSfpTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsSfpEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION	"Table containing per-port objects in the form of private
	            extensions of interface objects."
	    ::= { snMspsSfp 10 }

snMspsSfpEntry  OBJECT-TYPE
	    SYNTAX  SnMspsSfpEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Interface entry containing objects at the
	            subnetwork layer and below for a particular
	            interface."
	    INDEX   { snMspsSfpIndex }
	    ::= { snMspsSfpTable 1 }

SnMspsSfpEntry ::= SEQUENCE {
        snMspsSfpIndex            			INTEGER,
        snMspsSfpStatus                     TruthValue,
        snMspsSfpName            			DisplayString,
        snMspsSfpModel          			DisplayString,
        snMspsSfpRevision				    DisplayString,
        snMspsSfpSerial                     DisplayString,
        snMspsSfpNominalBitrate             INTEGER,
        snMspsSfpMaxLinkLength50            INTEGER,
        snMspsSfpMaxLinkLength62			INTEGER, 
        snMspsSfpTemperature			    INTEGER, 
        snMspsSfpTemperatureMin				INTEGER,
		snMspsSfpTemperatureMax		    	INTEGER,   
		snMspsSfpVoltage				    INTEGER, 
        snMspsSfpVoltageMin					INTEGER,
		snMspsSfpVoltageMax		    		INTEGER, 
		snMspsSfpCurrent				    INTEGER, 
        snMspsSfpCurrentMin					INTEGER,
		snMspsSfpCurrentMax		    		INTEGER,
		snMspsSfpRxPower					INTEGER, 
        snMspsSfpRxPowerMin					INTEGER,
		snMspsSfpRxPowerMax		    		INTEGER,
		snMspsSfpTxPower					INTEGER, 
        snMspsSfpTxPowerMin					INTEGER,
		snMspsSfpTxPowerMax		    		INTEGER,
		snMspsSfpRxPowerdBm					INTEGER, 
        snMspsSfpRxPowerMindBm					INTEGER,
		snMspsSfpRxPowerMaxdBm		    		INTEGER,
		snMspsSfpTxPowerdBm					INTEGER, 
        snMspsSfpTxPowerMindBm					INTEGER,
		snMspsSfpTxPowerMaxdBm		    		INTEGER           
        }

snMspsSfpIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (1..52)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Unique number for each interface. The number is in the range
	            1 to 52. The number for each interface must remain
	            constant at least from one re-initialization of the entity's
	            network management system to the next re-initialization."
	    ::= { snMspsSfpEntry 1 }
	    	    
snMspsSfpStatus OBJECT-TYPE
     	SYNTAX       TruthValue
     	MAX-ACCESS   read-only
     	STATUS       current
     	DESCRIPTION "Indicates whether a SFP device in currently plugged in on this interface"
     ::= { snMspsSfpEntry 2 }    
     
snMspsSfpName  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The name of the SFP device"
   ::= { snMspsSfpEntry 3 }
     
snMspsSfpModel  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The model of the SFP device"
   ::= { snMspsSfpEntry 4 }

snMspsSfpRevision  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The revision number of the SFP device"
   ::= { snMspsSfpEntry 5 }

snMspsSfpSerial  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The serial number of the SFP device"
   ::= { snMspsSfpEntry 6 }
 

snMspsSfpNominalBitrate  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The nominal bitrate [MBit/s] of the SFP device"
	    ::= { snMspsSfpEntry 7 }
 
snMspsSfpMaxLinkLength50  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The maximum link length(50/125um) of the SFP device"
	    ::= { snMspsSfpEntry 8 }

snMspsSfpMaxLinkLength62  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The maximum link length(62/125um) of the SFP device"
	    ::= { snMspsSfpEntry 9 }     
	    
snMspsSfpTemperature  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The temperature of the SFP device in 1/100 degree Celsius"
	    ::= { snMspsSfpEntry 10 }

snMspsSfpTemperatureMin  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported temperature of the SFP device in 1/100 degree Celsius"
	    ::= { snMspsSfpEntry 11 }  
	    
snMspsSfpTemperatureMax  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported temperature of the SFP device in 1/100 degree Celsius"
	    ::= { snMspsSfpEntry 12 }

snMspsSfpVoltage  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The voltage of the SFP device"
	    ::= { snMspsSfpEntry 13 }

snMspsSfpVoltageMin  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported voltage of the SFP device"
	    ::= { snMspsSfpEntry 14 }  
	    
snMspsSfpVoltageMax  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported voltage of the SFP device"
	    ::= { snMspsSfpEntry 15 }
	     
snMspsSfpCurrent  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The bias current of the SFP device"
	    ::= { snMspsSfpEntry 16 }

snMspsSfpCurrentMin  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported bias current of the SFP device"
	    ::= { snMspsSfpEntry 17 }  
	    
snMspsSfpCurrentMax  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported bias current of the SFP device"
	    ::= { snMspsSfpEntry 18 } 
	    
snMspsSfpRxPower  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The receive power of the SFP device in units of 0.1 uW"
	    ::= { snMspsSfpEntry 19 }

snMspsSfpRxPowerMin  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported receive power of the SFP device in units of 0.1 uW"
	    ::= { snMspsSfpEntry 20 }  
	    
snMspsSfpRxPowerMax  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported receive power of the SFP device in units of 0.1 uW"
	    ::= { snMspsSfpEntry 21 }

snMspsSfpTxPower  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The transmit power of the SFP device in units of 0.1 uW"
	    ::= { snMspsSfpEntry 22 }

snMspsSfpTxPowerMin  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported transmit power of the SFP device in units of 0.1 uW"
	    ::= { snMspsSfpEntry 23 }  
	    
snMspsSfpTxPowerMax  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported transmit power of the SFP device in units of 0.1 uW"
	    ::= { snMspsSfpEntry 24 }
	    
snMspsSfpRxPowerdBm  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The receive power of the SFP device in units of 0.1 dBm. If this is -999 power is 0 uW"
	    ::= { snMspsSfpEntry 32 }

snMspsSfpRxPowerMindBm  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported receive power of the SFP device in units of 0.1 dBm. If this is -999 power is 0 uW"
	    ::= { snMspsSfpEntry 33 }  
	    
snMspsSfpRxPowerMaxdBm  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported receive power of the SFP device in units of 0.1 dBm. If this is -999 power is 0 uW"
	    ::= { snMspsSfpEntry 34 }

snMspsSfpTxPowerdBm  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"The transmit power of the SFP device in units of 0.1 dBm. If this is -999 power is 0 uW"
	    ::= { snMspsSfpEntry 35 }

snMspsSfpTxPowerMindBm  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported transmit power of the SFP device in units of 0.1 dBm. If this is -999 power is 0 uW"
	    ::= { snMspsSfpEntry 36 }  
	    
snMspsSfpTxPowerMaxdBm  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported transmit power of the SFP device in units of 0.1 dBm. If this is -999 power is 0 uW"
	    ::= { snMspsSfpEntry 37 }


-- ----------------------------------------------------------------
-- MSPS Load& Save Global Objects
-- ----------------------------------------------------------------
snMspsLoadSaveRestartRequired  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "Represents current state of the device according 
                     to file transfer activities, which are done for files 
                     registered by Load & Save component. If the current 
                     state is 'true', the restart of the device is required."
        DEFVAL      { false }
        ::= { snMspsLoadSave  1 }
    
-- ----------------------------------------------------------------
-- MSPS Load & Save Group Objects
-- ----------------------------------------------------------------

snMspsLoadSavePasswords  OBJECT IDENTIFIER ::= { snMspsLoadSave 5 }
snMspsLoadSaveTftp       OBJECT IDENTIFIER ::= { snMspsLoadSave 10 }
snMspsLoadSaveSftp       OBJECT IDENTIFIER ::= { snMspsLoadSave 11 }


-- ----------------------------------------------------------------
-- MSPS Load& Save Component Objects (Passwords)
-- ----------------------------------------------------------------

 snMspsLoadSaveFilePasswordTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsLoadSaveFilePasswordEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Contains files, which are currently 
        registered by Load & Save component."
    ::= { snMspsLoadSavePasswords 10 }

snMspsLoadSaveFilePasswordEntry OBJECT-TYPE
    SYNTAX      SnMspsLoadSaveFilePasswordEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The row in the snMspsLoadSaveFilePasswordTable representing 
        password settings of configuration files, which are currently 
        registered by Load & Save component."
    INDEX   { snMspsLoadSaveFileIndex }
    ::= { snMspsLoadSaveFilePasswordTable 1 }

SnMspsLoadSaveFilePasswordEntry ::=
    SEQUENCE {
        snMspsLoadSaveFileIndex
            OCTET STRING,
        snMspsLoadSaveFileType
            DisplayString,
        snMspsLoadSaveFileEnablePassword
            TruthValue,
        snMspsLoadSaveFilePassword
            OCTET STRING,
        snMspsLoadSaveFilePasswordStatus
            INTEGER
    }

snMspsLoadSaveFileIndex OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unique string representing file type ID."
    ::= { snMspsLoadSaveFilePasswordEntry 1 }

snMspsLoadSaveFileType OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The file type ID of registered file. 
        This string is identical to snMspsLoadSaveFileIndex."
    ::= { snMspsLoadSaveFilePasswordEntry 2 }   

snMspsLoadSaveFileEnablePassword OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Set 'true' if this file type needs a configured password."
    DEFVAL                      { false }
    ::= { snMspsLoadSaveFilePasswordEntry 5 }

snMspsLoadSaveFilePassword OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The encrypted password value, which is used when accessing 
        registered file. This value has to be entered by user."
    ::= { snMspsLoadSaveFilePasswordEntry 10 }

snMspsLoadSaveFilePasswordStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                  not-checked(0),
                  valid(1),
                  invalid(2),
                  required(3),
                  not-required(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current validation status of entered password. 
         0 - The password value is not considered by the file type.
         1 - The password value stored in snMspsLoadSaveFilePassword 
             is valid for the corresponding file type.
         2 - The password value stored in snMspsLoadSaveFilePassword 
             is invalid for the corresponding file type.
         3 - The password value is required by the file type.   
         4 - The password value is not required by the file type."
    ::= { snMspsLoadSaveFilePasswordEntry 15 }
 
-- ----------------------------------------------------------------
-- MSPS Load& Save Component Objects (TFTP)
-- ----------------------------------------------------------------

snMspsLoadSaveTftpServerAddress  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  deprecated
        DESCRIPTION "The IP address of TFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveTftp  1 }	

snMspsLoadSaveTftpServerPort  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The port number of TFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveTftp  2 }
		
snMspsLoadSaveTftpServerInetAddress  OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The Inet address of TFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveTftp  5 }
		
snMspsLoadSaveTftpServerInetAddressType  OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The Inet address type of TFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveTftp  6 }
        
 snMspsLoadSaveTftpFileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsLoadSaveTftpFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of configuration files, which are currently 
        registered by Load & Save component."
    ::= { snMspsLoadSaveTftp 10 }

snMspsLoadSaveTftpFileEntry OBJECT-TYPE
    SYNTAX      SnMspsLoadSaveTftpFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The row in the snMspsLoadSaveTftpFileTable representing 
        settings of configuration files, which are currently 
        registered by Load & Save component."
    INDEX   { snMspsLoadSaveTftpFileIndex }
    ::= { snMspsLoadSaveTftpFileTable 1 }

SnMspsLoadSaveTftpFileEntry ::=
    SEQUENCE {
        snMspsLoadSaveTftpFileIndex
            OCTET STRING,
        snMspsLoadSaveTftpFileType
            DisplayString,
        snMspsLoadSaveTftpFileName
            DisplayString,
        snMspsLoadSaveTftpFilePresent
            INTEGER,
        snMspsLoadSaveTftpFileLoadSupported
            TruthValue,
        snMspsLoadSaveTftpFileSaveSupported
            TruthValue,
        snMspsLoadSaveTftpFileDeleteSupported
            TruthValue
    }

snMspsLoadSaveTftpFileIndex OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unique string representing file type ID."
    ::= { snMspsLoadSaveTftpFileEntry 1 }
        
snMspsLoadSaveTftpFileType OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The file type ID of registered file. 
        This string is identical to snMspsLoadSaveTftpFileIndex."
    ::= { snMspsLoadSaveTftpFileEntry 2 }        
        
snMspsLoadSaveTftpFileName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file name of registered file. The file name can also contain 
         the relative path starting from root folder of TFTP server."
    ::= { snMspsLoadSaveTftpFileEntry 3 }
    
snMspsLoadSaveTftpFilePresent OBJECT-TYPE
    SYNTAX      INTEGER {
                    not-present(0),
                    presentSave(1),
                    presentDelete(2),
                    presentSaveDelete(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Availability of the registered file on the device. 
        0 - the registered file is currently not present on device
        1 - the registered file can be downloaded from device
        2 - the registered file can be deleted on the device
        3 - the registered file can be downloaded from device and 
            deleted on device
        "
    ::= { snMspsLoadSaveTftpFileEntry 4 }

snMspsLoadSaveTftpFileLoadSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents whether the Load functionality 
        is supported for this file type."
    ::= { snMspsLoadSaveTftpFileEntry 10 }

snMspsLoadSaveTftpFileSaveSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents whether the Save functionality 
        is supported for this file type."
    ::= { snMspsLoadSaveTftpFileEntry 11 }

snMspsLoadSaveTftpFileDeleteSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents whether the Delete functionality 
        is supported for this file type."
    ::= { snMspsLoadSaveTftpFileEntry 12 }
                
-- ----------------------------------------                
-- TFTP File triggers table                
-- ----------------------------------------
                
 snMspsLoadSaveTftpFileTransferTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsLoadSaveTftpFileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This conceptual table is an extension of 
	snMspsLoadSaveTftpFileTable and contains file triggers for initiate 
	file operations with files registered by Load & Save component."
    ::= { snMspsLoadSaveTftp 11 }

snMspsLoadSaveTftpFileTransferEntry OBJECT-TYPE
    SYNTAX      SnMspsLoadSaveTftpFileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The row in the snMspsLoadSaveTftpFileTransferTable 
	representing file triggers of configuration files, 
	which are currently registered by Load & Save component."
    AUGMENTS { snMspsLoadSaveTftpFileEntry }
    ::= { snMspsLoadSaveTftpFileTransferTable 1 }

SnMspsLoadSaveTftpFileTransferEntry ::=
    SEQUENCE {
        snMspsLoadSaveTftpFileLoad
            INTEGER,
        snMspsLoadSaveTftpFileSave
            INTEGER,
        snMspsLoadSaveTftpFileDelete
            INTEGER
    }
snMspsLoadSaveTftpFileLoad OBJECT-TYPE
    SYNTAX      INTEGER {
                    initial(1),
                    activate(2),
                    in-progress(3),
                    successNoRestart(4),
                    successRestartRequired(5),
                    loadError(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Write access using activate(2) initiates transfer 
        of registered file from TFTP server to device, 
        if this functionality is supported for this file type. 
        The support of functionality is represented in 
        snMspsLoadSaveTftpFileLoadSupported.
        Write access using other values will cause 'bad value' 
        error. Read access will return following values:
        
        1 - No Load transfers have been done for this file type 
            since last start of the device.
        2 - Activate transfer of registered file from TFTP server 
            to device. If this file type does not support this 
            functionality, the 'bad value' error will be returned.
        3 - Last transfer of registered file from TFTP server is in progress.
        4 - Last transfer of registered file from TFTP server  
            was successfull. Device restart is not reqired.
        5 - Last transfer of registered file from TFTP server 
            was successfull. Device restart is reqired.
        6 - Last transfer of registered file from TFTP server 
            was not successfull."
             
    ::= { snMspsLoadSaveTftpFileTransferEntry 1 }

snMspsLoadSaveTftpFileSave OBJECT-TYPE
    SYNTAX      INTEGER {
                    initial(1),
                    activate(2),
                    in-progress(3),
                    successNoRestart(4),
                    successRestartRequired(5),
                    saveError(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Write access using activate(2) initiates transfer 
        of registered file from device to TFTP server, 
        if this functionality is supported for this file type. 
        The support of functionality is represented in 
        snMspsLoadSaveTftpFileSaveSupported.
        Write access using other values will cause 'bad value' 
        error. Read access will return following values:
        
        1 - No Save transfers have been done for this file type 
            since last start of the device.
        2 - Activate transfer of registered file from device to 
            TFTP server. If this file type does not support this 
            functionality, the 'bad value' error will be returned.
        3 - Last transfer of registered file from device is in progress.
        4 - Last transfer of registered file from device 
            was successfull. Device restart is not reqired.
        5 - Last transfer of registered file from device 
            was successfull. Device restart is reqired.
        6 - Last transfer of registered file from device 
            was not successfull."
    ::= { snMspsLoadSaveTftpFileTransferEntry 2 }

snMspsLoadSaveTftpFileDelete OBJECT-TYPE
    SYNTAX      INTEGER {
                    initial(1),
                    activate(2),
                    in-progress(3),
                    successNoRestart(4),
                    successRestartRequired(5),
                    deleteError(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Write access using activate(2) initiates deletion 
        of registered file on TFTP server, 
        if this functionality is supported for this file type. 
        The support of functionality is represented in 
        snMspsLoadSaveTftpFileDeleteSupported.
        Write access using other values will cause 'bad value' 
        error. Read access will return following values:
        
        1 - No Delete actions have been done for this file type 
            since device start.
        2 - Activate deletion of registered file on TFTP server 
            If this file type does not support this functionality, 
            the 'bad value' error will be returned.
        3 - Deletion of registered file on TFTP server is in progress.
        4 - Last deletion of registered file on TFTP server 
            was successfull. Restart of the device is not reqired.
        5 - Last deletion of registered file on TFTP server 
            was successfull. Restart of the device is reqired.
        6 - Last deletion of registered file on TFTP server 
            was not successfull."
    ::= { snMspsLoadSaveTftpFileTransferEntry 3 }
                    
-- ----------------------------------------------------------------
-- MSPS Load& Save Component Objects (SFTP)
-- ----------------------------------------------------------------        

snMspsLoadSaveSftpServerInetAddress  OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The IP address of SFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveSftp  1 }
    
snMspsLoadSaveSftpServerInetAddressType  OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The Inet address type of SFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveSftp  2 }

snMspsLoadSaveSftpServerPort  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The port number of SFTP server, which stores 
                     the files registered by Load&Save component."
        ::= { snMspsLoadSaveSftp  3 }

snMspsLoadSaveSftpServerUser  OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The user ID, which has to be allowed 
                     for login to SFTP server."
        ::= { snMspsLoadSaveSftp  6 }
        
snMspsLoadSaveSftpServerPassword  OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The user password, which has to be valid 
                     for login with user ID defined in 
                     snMspsLoadSaveSftpServerUser to SFTP server."
        ::= { snMspsLoadSaveSftp  7 }
            
snMspsLoadSaveSftpFileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsLoadSaveSftpFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of configuration files, which are currently 
        registered by Load & Save component."
    ::= { snMspsLoadSaveSftp 10 }

snMspsLoadSaveSftpFileEntry OBJECT-TYPE
    SYNTAX      SnMspsLoadSaveSftpFileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The row in the snMspsLoadSaveSftpFileTable representing 
        settings of configuration files, which are currently 
        registered by Load & Save component."
    INDEX   { snMspsLoadSaveSftpFileIndex }
    ::= { snMspsLoadSaveSftpFileTable 1 }

SnMspsLoadSaveSftpFileEntry ::=
    SEQUENCE {
        snMspsLoadSaveSftpFileIndex
            OCTET STRING,
        snMspsLoadSaveSftpFileType
            DisplayString,
        snMspsLoadSaveSftpFileName
            DisplayString,
        snMspsLoadSaveSftpFilePresent
            INTEGER,
        snMspsLoadSaveSftpFileLoadSupported
            TruthValue,
        snMspsLoadSaveSftpFileSaveSupported
            TruthValue,
        snMspsLoadSaveSftpFileDeleteSupported
            TruthValue
    }

snMspsLoadSaveSftpFileIndex OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unique string representing file type ID."
    ::= { snMspsLoadSaveSftpFileEntry 1 }
        
snMspsLoadSaveSftpFileType OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The file type ID of registered file. 
        This string is identical to snMspsLoadSaveSftpFileIndex."
    ::= { snMspsLoadSaveSftpFileEntry 2 }        
        
snMspsLoadSaveSftpFileName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file name of registered file. The file name can also contain 
         the relative path starting from root folder of SFTP server."
    ::= { snMspsLoadSaveSftpFileEntry 3 }

snMspsLoadSaveSftpFilePresent OBJECT-TYPE
    SYNTAX      INTEGER {
                    not-present(0),
                    presentSave(1),
                    presentDelete(2),
                    presentSaveDelete(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Availability of the registered file on the device. 
        0 - the registered file is currently not present on device
        1 - the registered file can be downloaded from device
        2 - the registered file can be deleted on the device
        3 - the registered file can be downloaded from device and 
            deleted on device
        "
    ::= { snMspsLoadSaveSftpFileEntry 4 }
    
snMspsLoadSaveSftpFileLoadSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents whether the Load functionality 
        is supported for this file type."
    ::= { snMspsLoadSaveSftpFileEntry 10 }

snMspsLoadSaveSftpFileSaveSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents whether the Save functionality 
        is supported for this file type."
    ::= { snMspsLoadSaveSftpFileEntry 11 }

snMspsLoadSaveSftpFileDeleteSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Represents whether the Delete functionality 
        is supported for this file type."
    ::= { snMspsLoadSaveSftpFileEntry 12 }
                             
-- ----------------------------------------                
-- SFTP File triggers table                
-- ----------------------------------------
                
 snMspsLoadSaveSftpFileTransferTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsLoadSaveSftpFileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This conceptual table is an extension of 
	snMspsLoadSaveSftpFileTable and contains file triggers for initiate 
	file operations with files registered by Load & Save component."
    ::= { snMspsLoadSaveSftp 11 }

snMspsLoadSaveSftpFileTransferEntry OBJECT-TYPE
    SYNTAX      SnMspsLoadSaveSftpFileTransferEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The row in the snMspsLoadSaveSftpFileTransferTable 
	representing file triggers of configuration files, 
	which are currently registered by Load & Save component."
    AUGMENTS { snMspsLoadSaveSftpFileEntry }
    ::= { snMspsLoadSaveSftpFileTransferTable 1 }

SnMspsLoadSaveSftpFileTransferEntry ::=
    SEQUENCE {
        snMspsLoadSaveSftpFileLoad
            INTEGER,
        snMspsLoadSaveSftpFileSave
            INTEGER,
        snMspsLoadSaveSftpFileDelete
            INTEGER
    }
snMspsLoadSaveSftpFileLoad OBJECT-TYPE
    SYNTAX      INTEGER {
                    initial(1),
                    activate(2),
                    in-progress(3),
                    successNoRestart(4),
                    successRestartRequired(5),
                    loadError(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Write access using activate(2) initiates transfer 
        of registered file from SFTP server to device, 
        if this functionality is supported for this file type. 
        The support of functionality is represented in 
        snMspsLoadSaveSftpFileLoadSupported.
        Write access using other values will cause 'bad value' 
        error. Read access will return following values:
        
        1 - No Load transfers have been done for this file type 
            since last start of the device.
        2 - Activate transfer of registered file from SFTP server 
            to device. If this file type does not support this 
            functionality, the 'bad value' error will be returned.
        3 - Last transfer of registered file from SFTP server is in progress.
        4 - Last transfer of registered file from SFTP server  
            was successfull. Device restart is not reqired.
        5 - Last transfer of registered file from SFTP server 
            was successfull. Device restart is reqired.
        6 - Last transfer of registered file from SFTP server 
            was not successfull."
             
    ::= { snMspsLoadSaveSftpFileTransferEntry 1 }

snMspsLoadSaveSftpFileSave OBJECT-TYPE
    SYNTAX      INTEGER {
                    initial(1),
                    activate(2),
                    in-progress(3),
                    successNoRestart(4),
                    successRestartRequired(5),
                    saveError(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Write access using activate(2) initiates transfer 
        of registered file from device to SFTP server, 
        if this functionality is supported for this file type. 
        The support of functionality is represented in 
        snMspsLoadSaveSftpFileSaveSupported.
        Write access using other values will cause 'bad value' 
        error. Read access will return following values:
        
        1 - No Save transfers have been done for this file type 
            since last start of the device.
        2 - Activate transfer of registered file from device to 
            SFTP server. If this file type does not support this 
            functionality, the 'bad value' error will be returned.
        3 - Last transfer of registered file from device is in progress.
        4 - Last transfer of registered file from device 
            was successfull. Device restart is not reqired.
        5 - Last transfer of registered file from device 
            was successfull. Device restart is reqired.
        6 - Last transfer of registered file from device 
            was not successfull."
    ::= { snMspsLoadSaveSftpFileTransferEntry 2 }

snMspsLoadSaveSftpFileDelete OBJECT-TYPE
    SYNTAX      INTEGER {
                    initial(1),
                    activate(2),
                    in-progress(3),
                    successNoRestart(4),
                    successRestartRequired(5),
                    deleteError(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Write access using activate(2) initiates deletion 
        of registered file on SFTP server, 
        if this functionality is supported for this file type. 
        The support of functionality is represented in 
        snMspsLoadSaveSftpFileDeleteSupported.
        Write access using other values will cause 'bad value' 
        error. Read access will return following values:
        
        1 - No Delete actions have been done for this file type 
            since device start.
        2 - Activate deletion of registered file on SFTP server 
            If this file type does not support this functionality, 
            the 'bad value' error will be returned.
        3 - Deletion of registered file on SFTP server is in progress.
        4 - Last deletion of registered file on SFTP server 
            was successfull. Restart of the device is not reqired.
        5 - Last deletion of registered file on SFTP server 
            was successfull. Restart of the device is reqired.
        6 - Last deletion of registered file on SFTP server 
            was not successfull."
    ::= { snMspsLoadSaveSftpFileTransferEntry 3 }
                                 




snMspsHttpRedirectionStatus OBJECT-TYPE
    SYNTAX	    INTEGER { disabled (1), enabled (2) } 
    MAX-ACCESS	    read-write 
    STATUS	    current
    DESCRIPTION
	    "The status of the HTTP redirection"
    DEFVAL     { 1 }
    ::= { snMspsHttp 1 }

snMspsHttpToHttpsRedirectionStatus OBJECT-TYPE
    SYNTAX TruthValue 
    MAX-ACCESS read-write 
    STATUS current
    DESCRIPTION
      "The status of the HTTP to HTTPS redirection. 
      If device do not support this feature, the value of this MIB object 
      can not be set to true."
    DEFVAL { false }
    ::= { snMspsHttp 2 }

-- snMspsHttp 3 reserved

snMspsHttpRedirectionTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsHttpRedirectionEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
              "The (conceptual) table listing the Redirection related objects"
    ::= { snMspsHttp 4 }

snMspsHttpRedirectionEntry OBJECT-TYPE
    SYNTAX     SnMspsHttpRedirectionEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsHttpRedirectionTable."
    INDEX      { snMspsHttpRedirectionURL }
    ::= { snMspsHttpRedirectionTable 1 }

SnMspsHttpRedirectionEntry ::= SEQUENCE {
    snMspsHttpRedirectionURL	   DisplayString,
    snMspsHttpRedirectedSrvAddrType    InetAddressType,
    snMspsHttpRedirectedSrvIP          InetAddress,
    snMspsHttpRedirectedSrvDomainName  DisplayString,
    snMspsHttpRedirectionEntryStatus   RowStatus
}

snMspsHttpRedirectionURL OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (100))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The URL which has to be redirected"
    ::= { snMspsHttpRedirectionEntry 1 }

snMspsHttpRedirectedSrvAddrType OBJECT-TYPE
    SYNTAX            InetAddressType
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The Address type of HTTP server to which URL has to be 
              redirected"
     ::= { snMspsHttpRedirectionEntry 2 }

snMspsHttpRedirectedSrvIP OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          " The IP address of the HTTP Server to which redirect has to be done
          interface belongs to"   
    ::= { snMspsHttpRedirectionEntry 3 }      


snMspsHttpRedirectedSrvDomainName OBJECT-TYPE
    SYNTAX           DisplayString
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
            "The domain name of the HTTP server to which the URL has to be 
              has to redirected"
    ::= { snMspsHttpRedirectionEntry 4 }

snMspsHttpRedirectionEntryStatus OBJECT-TYPE
    SYNTAX           RowStatus 
    MAX-ACCESS       read-create
    STATUS           current
    DESCRIPTION
            "The status of HTTP redirection table entry"
    ::= { snMspsHttpRedirectionEntry 5 }

-- snMspsHttp 6 reserved

snMspsWBMTimeOut  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Time out for the Web-Based-Management in seconds. Range 60s to 3600s.
        	 If value is 0, timeout is disabled."
        DEFVAL  {900}
        ::= { snMspsHttp 7 }

snMspsWBMDefaultLoginPage  OBJECT-TYPE
        SYNTAX  INTEGER { configuration (0), firewall (1) }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Default login page for the Web-Based-Management."
        DEFVAL  {0}
        ::= { snMspsHttp 8 }
		
-- snMspsHttp 9 reserved 

snMspsHttpPort  OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "The port to be used by the hosts/PC to configure the device using the Web Interface
        Allowed values are default port and ports in the dynamic port range (49500-65535).
        Get operation return current listening port.
        The HTTP server must be disabled before this configuration is done
        Set operation return Inconsistent value for any one of the following 
        1. if the set port value is other than allowed port range or 
        2. if the port already used by another service in the device or
        3. if the device does not support to change the port."
   DEFVAL  { 80 }
   ::= { snMspsHttp 10 }

snMspsHttpStatus  OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for enabling or disabling HTTP in the system."
   ::= { snMspsHttp 11 }

-- snMspsHttp 12-14 reserved
 
snMspsHttpSslSecureHttpMinTlsVersion OBJECT-TYPE 
SYNTAX INTEGER {
tlsv10 (769),
tlsv11 (770),
tlsv12 (771),
tlsv13 (772)
}
MAX-ACCESS read-write 
STATUS current 
DESCRIPTION 
"This object holds the configuration of the minimum Tls Version for secure HTTP in the system."
DEFVAL { tlsv11 } 
::= { snMspsHttp 15} 

snMspsHttpSslSecureHttpStatus OBJECT-TYPE 
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
                }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling secure HTTP in the system."

   DEFVAL  { disable } 
   ::= { snMspsHttp 16 }

snMspsHttpSslPort      OBJECT-TYPE
   SYNTAX       Integer32 (1..65535)
   MAX-ACCESS   read-write 
   STATUS       current 
   DESCRIPTION 
      "This object is to configure the SSL port.
      Allowed values are default port and ports in the dynamic port range (49500-65535).
      Get operation return current listening port.
      The HTTP Secure server must be disabled before this configuration is done
      Set operation return Inconsistent value for any one of the following 
      1. if the set port value is other than allowed port range or 
      2. if the port already used by another service in the device or
      3. if the device does not support to change the port."

   DEFVAL  { 443 } 
   ::= { snMspsHttp 17 }

snMspsHttpSshStatus  OBJECT-TYPE
   SYNTAX      TruthValue 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for enabling or disabling ssh in the system."

   DEFVAL  { true }
   ::= { snMspsHttp 18}

snMspsHttpSshPort   OBJECT-TYPE
   SYNTAX           Integer32 (1..65535)
   MAX-ACCESS       read-write
   STATUS           current
   DESCRIPTION      "SSh service's server listening port.
                     Allowed values are default port and ports in the dynamic port range (49500-65535).
                     Get operation return current listening port.
                     The SSH server must be disabled before this configuration is done
                     Set operation return Inconsistent value for any one of the following 
                     1. if the set port value is other than allowed port range or 
                     2. if the port already used by another service in the device or
                     3. if the device does not support to change the port."
   DEFVAL           { 22 }
   ::= { snMspsHttp 19 }

snMspsHttpTelnetPort    OBJECT-TYPE
  SYNTAX                Integer32 (1..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "Telnet service's server listening port.
                        Allowed values are default port and ports in the dynamic port range (49500-65535).
                        Get operation return current listening port.
                        The Telnet server must be disabled before this configuration is done
                        Set operation return Inconsistent value for any one of the following 
                        1. if the set port value is other than allowed port range or 
                        2. if the port already used by another service in the device or
                        3. if the device does not support to change the port."
  DEFVAL                { 23 }
  ::= { snMspsHttp  23 }
   




-- ----------------------------------------------------------------
-- SN-MSPS-RR-MIB Group Objects
-- ----------------------------------------------------------------

-- ----------------------------------------------------------------
-- MSPS Component Objects:  SN-MSPS-RR-MIB
-- ----------------------------------------------------------------
snMspsRingRedundancyMode  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      ringRedundancyOff(1),
	      ringRedundancyHrpOn(2),
	      ringRedundancyMrpOn(3),
	      ringRedundancyArd(4)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Redundancy Mode:
	    		ringRedundancyOff(1)   - no redundancy
	    		ringRedundancyHrpOn(2) - high speed redundancy protocol
	    		ringRedundancyMrpOn(3) - media redundancy protocol
                ringRedundancyArd(4)   - automatic redundancy detection."
	    ::= { snMspsRingRedundancy 1 }
	    
snMspsHrpRmMode  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      rmOff(1),
	      rmOn(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "HRP RM mode."
	    ::= { snMspsRingRedundancy 2 }

snMspsRmState  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      rmPassive(1),
	      rmActive(2)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "RM State."
	    ::= { snMspsRingRedundancy 3 }

snMspsRmStateChanges  OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Number of changes to RM active state."
	    ::= { snMspsRingRedundancy 4 }
    
snMspsStaticPort  OBJECT-TYPE
	    SYNTAX  INTEGER (1..26)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Portnumber of static port (HRP) or RingPort 2 (MRP)."
	    ::= { snMspsRingRedundancy 5 }

snMspsIsolatedPort  OBJECT-TYPE
	    SYNTAX  INTEGER (1..26)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Portnumber of isolated port (HRP) or RingPort 1 (MRP)."
	    ::= { snMspsRingRedundancy 6 }
  
snMspsTestMaxDelay  OBJECT-TYPE
	    SYNTAX  INTEGER (0..200)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Measured maximum delay of RM test telegrams."
	    ::= { snMspsRingRedundancy 7 }

snMspsRmResetCounters  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      no-operation(1),
	      reset(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Reset all counters of Redundancy protocol software. At the moment only supported for HRP."
	    ::= { snMspsRingRedundancy 8 }	

snMspsMrpRmMode  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      rmOff(1),
	      rmOn(2),
		  rmNormOn(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "MRP RM mode.
		        rmOff(1)      - ring client
				rmOn(2)       - ring manager (MRP AUTO manager if ringRedundancyMrpOn)
				rmNormOn(3)   - ring norm manager (MRP NORM manager if ringRedundancyMrpOn)"
	    ::= { snMspsRingRedundancy 9 }

snMspsRingRedundancyOperState  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      disabled(1),
	      hrpClient(2),
          hrpManager(3),
          mrpClient(4),
          mrpManager(5)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Ring Redundancy Oper State:
                disabled(1)   - no redundancy
    	        hrpClient(2)  - high speed redundancy protocol client
                hrpManager(3) - high speed redundancy protocol manager
                mrpClient(4)  - media redundancy protocol client
                mrpManager(5) - media redundancy protocol manager."
	    ::= { snMspsRingRedundancy 10 }

snMspsHrpRedundancyLostFaultLED  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
          disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION   "Enables or disables the Fault LED when Ring Redundancy (HRP and MRP) is lost (Redundancy Manager or Standby)."
        DEFVAL  {2}
        ::= { snMspsRingRedundancy 11 }

snMspsMrpDomainName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..240))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Media redundancy protocol domain name."
        ::= { snMspsRingRedundancy 16 }

snMspsMrpRestoreDefaultConfig  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      no-operation(1),
	      restore-default(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Restore default ring redundancy configuration."
	    ::= { snMspsRingRedundancy 20 }	

-- --------------------------------------------------------------------------------
-- SIMATIC NET MSPS Product Specific MRP Multi-Ring Objects:
-- --------------------------------------------------------------------------------        
snMspsMultiMrpTable  OBJECT-TYPE
      SYNTAX  SEQUENCE OF SnMspsMultiMrpEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION "Table containing MRP multi-ring configuration."
      ::= { snMspsRingRedundancy 30 }

snMspsMultiMrpEntry  OBJECT-TYPE
      SYNTAX  SnMspsMultiMrpEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION "Interface entry containing objects for MRP multi-ring configuration."
      INDEX   { snMspsMultiMrpIndex }
      ::= { snMspsMultiMrpTable 1 }

SnMspsMultiMrpEntry ::= SEQUENCE {
        snMspsMultiMrpIndex             INTEGER,
        snMspsMultiMrpDomainName        DisplayString,
        snMspsMultiMrpAdminMode         INTEGER,
        snMspsMultiMrpAdminRole         INTEGER,
        snMspsMultiHrpAdminRole         INTEGER,        
        snMspsMultiMrpAdminRingPort1    INTEGER,
        snMspsMultiMrpAdminRingPort2    INTEGER,
        snMspsMultiMrpOperState         INTEGER,
        snMspsMultiRmState              INTEGER,
        snMspsMultiMrpOperRingPort1     INTEGER,
        snMspsMultiMrpOperRingPort2     INTEGER,
        snMspsMultiMrpRmStateChanges    Counter32,
        snMspsMultiMrpTestMaxDelay      INTEGER,
        snMspsMultiMrpStatus            RowStatus
        }
        
snMspsMultiMrpIndex  OBJECT-TYPE
      SYNTAX  INTEGER (1..4)
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION "Unique number for each MRP ring. The number for each MRP ring must remain
              constant at least from one re-initialization of the entity's
              network management system to the next re-initialization."
      ::= { snMspsMultiMrpEntry 1 }

snMspsMultiMrpDomainName  OBJECT-TYPE
      SYNTAX  DisplayString  (SIZE(0..255))
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "Instance MRP domain name."
    ::= { snMspsMultiMrpEntry 3 }

snMspsMultiMrpAdminMode  OBJECT-TYPE
	  SYNTAX  INTEGER {
	    ringRedundancyOff(1),
	    ringRedundancyHrpOn(2),
	    ringRedundancyMrpOn(3),
	    ringRedundancyArd(4)
	  }
      MAX-ACCESS  read-write
      STATUS  current
	    DESCRIPTION "ringRedundancyOff(1)   - no redundancy
	    		     ringRedundancyHrpOn(2) - high speed redundancy protocol
	    		     ringRedundancyMrpOn(3) - media redundancy protocol
                     ringRedundancyArd(4)   - automatic redundancy detection."
      ::= { snMspsMultiMrpEntry 9 }

snMspsMultiMrpAdminRole  OBJECT-TYPE
   SYNTAX  INTEGER {
	      rmOff(1),
	      rmOn(2),
	      rmNormOn(3)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "rmOff(1)      - ring client
                   rmOn(2)       - ring manager (MRP AUTO manager if ringRedundancyMrpOn)
                   rmNormOn(3)   - ring norm manager (MRP NORM manager if ringRedundancyMrpOn)"
      ::= { snMspsMultiMrpEntry 12 }

snMspsMultiHrpAdminRole  OBJECT-TYPE
   SYNTAX  INTEGER {
	    rmOff(1),
	    rmOn(2)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "rmOff(1)      - HRP ring client
                   rmOn(2)       - HRP ring manager"
      ::= { snMspsMultiMrpEntry 14 }
      
snMspsMultiMrpAdminRingPort1  OBJECT-TYPE
      SYNTAX  INTEGER
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "Configured Portnumber of first ring-port."
      ::= { snMspsMultiMrpEntry 16 }

snMspsMultiMrpAdminRingPort2  OBJECT-TYPE
      SYNTAX  INTEGER
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "Configured Portnumber of second ring-port."
      ::= { snMspsMultiMrpEntry 19 }

snMspsMultiMrpOperState OBJECT-TYPE
      SYNTAX  INTEGER {
	    disabled(1),
	    hrpClient(2),
        hrpManager(3),
        mrpClient(4),
        mrpManager(5),
        mrpNormManager(6)
      }
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION "disabled(1)   - no redundancy
    	           hrpClient(2)  - high speed redundancy protocol client
                   hrpManager(3) - high speed redundancy protocol manager
                   mrpClient(4)  - media redundancy protocol client
                   mrpManager(5) - media redundancy protocol auto manager
                   mrpNormManager(6) - media redundancy protocol norm manager"
      ::= { snMspsMultiMrpEntry 21 }

snMspsMultiRmState OBJECT-TYPE
      SYNTAX  INTEGER {
	    rmPassive(1),
	    rmActive(2)
      }
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION "Current Redundancy Manager's active/passive state."
      ::= { snMspsMultiMrpEntry 23 }

snMspsMultiMrpOperRingPort1  OBJECT-TYPE
      SYNTAX  INTEGER
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION "Current first ring-port's portnumber."
      ::= { snMspsMultiMrpEntry 25 }

snMspsMultiMrpOperRingPort2  OBJECT-TYPE
      SYNTAX  INTEGER
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION "Current second ring-port's portnumber."
      ::= { snMspsMultiMrpEntry 28 }

snMspsMultiMrpRmStateChanges  OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Number of changes to RM active state."
	    ::= { snMspsMultiMrpEntry 31 }

snMspsMultiMrpTestMaxDelay  OBJECT-TYPE
	    SYNTAX  INTEGER (0..200)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Measured maximum delay of RM test telegrams."
	    ::= { snMspsMultiMrpEntry 36 }
        
snMspsMultiMrpStatus    OBJECT-TYPE
      SYNTAX       RowStatus
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION "The status of the aggregation row."
      ::= { snMspsMultiMrpEntry 40 }

snMspsTrapRmActiveState       NOTIFICATION-TYPE
		 STATUS                  current 
         DESCRIPTION
            "Redundancy manager entered active state."
         ::= { snMspsTrapPrefix 1451 }   
         
snMspsTrapRmPassiveState      NOTIFICATION-TYPE
		 STATUS                  current 
         DESCRIPTION
            "Redundancy manager entered passive state."
         ::= { snMspsTrapPrefix 1452 }  
         		 

	   

snMspsStandbyMode OBJECT-TYPE
	    SYNTAX  INTEGER {
	      standbyOn(1),
	      standbyOff(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Standby connection mode."
	    ::= { snMspsRingRedundancyStandby 1 }
	    
snMspsStandbyConnectionName  OBJECT-TYPE
	    SYNTAX  DisplayString  (SIZE(0..32))
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "The standby connection name (Max 32 Symbol)."
	    ::= { snMspsRingRedundancyStandby 3 }

snMspsStandbyState OBJECT-TYPE
	    SYNTAX  INTEGER {
	      standbyMasterPassive(1),
	      standbySlavePassive(3),
	      standbyMasterActive(5),
	      standbySlaveActive(7),
	      standbyMasterPassive-lost(17),
	      standbySlavePassive-lost(19),
	      standbyMasterActive-lost(21),
	      standbySlaveActive-lost(23),
	      standbyWaitingForPartner(257),
          standbyDisabled(300)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Standby connection state.
	      		Bit 0 is always 1, bit 1 is Master/Slave, 
	      		bit 2 is Active/Passive and bit 8 is Partner not found or not.
	      
	      		standbyMasterPassive(1)   		- Master in passive state
	      		standbySlavePassive(3)   	    - Slave in passive state
	      		standbyMasterActive(5)  	    - Master in active state
	      		standbySlaveActive(7)     		- Slave in passive state
	      		standbyMasterPassive-lost(17)   - Master in passive state but partner is lost
	      		standbySlavePassive-lost(19)    - Slave in passive state but partner is lost
	      		standbyMasterActive-lost(21)    - Master in active state but partner is lost
	      		standbySlaveActive-lost(23)     - Slave in active state but partner is lost
	      		standbyWaitingForPartner(257)   - Waiting for partner, partner was not yet found
                standbyDisabled(300)     	    - Standby connection is disabled"
	    ::= { snMspsRingRedundancyStandby 4 }

snMspsStandbyStateChanges  OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Number of changes to Standby connection active state."
	    ::= { snMspsRingRedundancyStandby 5 }

snMspsStandbyResetCounters  OBJECT-TYPE
	    SYNTAX  INTEGER {
		  no-operation(1),
		  reset(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Reset all counters of Standby protocol software."
	    ::= { snMspsRingRedundancyStandby 6 }

snMspsStandbyForceToMaster OBJECT-TYPE
                    SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                    }
                    MAX-ACCESS  read-write
                    STATUS  current
                    DESCRIPTION "Force this device to Standby master."
                    ::= { snMspsRingRedundancyStandby 7 }

snMspsStandbyStartDelay OBJECT-TYPE
      SYNTAX  INTEGER
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "Time in [ms] that a standby master/slave will wait
                   before to enable its standby ports even if no standby
                   partner has been contacted yet.
                   If set to zero (default) master/slave do not enable
                   any standby port until being connected with the
                   partner standby slave/master"
      ::= { snMspsRingRedundancyStandby 12 }
	  
snMspsStandbyBackoff OBJECT-TYPE
					SYNTAX  INTEGER {
					  enabled(1),
					  disabled(2)
					}
                    MAX-ACCESS  read-write
                    STATUS  current
                    DESCRIPTION "controls Standby device backoff mechanisms."
                    ::= { snMspsRingRedundancyStandby 14 }


snMspsTrapStandbyActiveState       NOTIFICATION-TYPE
		 STATUS                  current 
         DESCRIPTION
            "Standby manager entered active state."
         ::= { snMspsTrapPrefix 1501 }   
         
snMspsTrapStandbyPassiveState      NOTIFICATION-TYPE
		 STATUS                  current 
         DESCRIPTION
            "Standby manager entered passive state."
         ::= { snMspsTrapPrefix 1502 } 
		


-- ----------------------------------------------------------------
-- MSPS REDUNDANCY EXT Group Objects
-- ----------------------------------------------------------------

-- ----------------------------------------------------------------
-- MSPS Component Objects:  SN-MSPS-RR-EXT-MIB 
-- ----------------------------------------------------------------
snMspsPassiveListeningEnable  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
          disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Enable / Disable Passive Listening Functionality.
        On enabled the device reacts on receiving a TCN (Topology Change Notifications) even (and only) if (R)STP is disabled."
        DEFVAL  {disabled}
        ::= { snMspsRedundancyExt 1 }  

snMspsPassiveListeningBpduVlanFwd  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
          disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Enable / Disable Forwarding of BPDU in VLAN member ports when Passive Listening Functionality is enabled.
        On enabled the device forwards the BPDU only on the VLAN member ports.
        On disabled the device forwards on all the available ports in the system. "
        DEFVAL  {enabled}
        ::= { snMspsRedundancyExt 2 }
		
		       


snMspsRmObserverMode  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      disabled(2),
	      restart(3),
	      protect(4),
	      not-supported(5)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "RM Observer Mode."
	    ::= { snMspsRingRedundancyObserver 1 }

snMspsRmObserverState  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      rmObserverPassive(1),
	      rmObserverActive(2)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "RM Observer State."
	    ::= { snMspsRingRedundancyObserver 2 }



	   

snMspsLinkCheckPortTable OBJECT-TYPE
		SYNTAX        SEQUENCE OF SnMspsLinkCheckPortEntry      
		MAX-ACCESS        not-accessible
		STATUS        current
		DESCRIPTION   "Table containing per-port objects."
		::= { snMspsLinkCheck 10 }

snMspsLinkCheckPortEntry OBJECT-TYPE
		SYNTAX        SnMspsLinkCheckPortEntry
		MAX-ACCESS        not-accessible
		STATUS        current
		DESCRIPTION   "Link Check per-port entry."
		INDEX 		  { snMspsLinkCheckPortIndex }
		::= { snMspsLinkCheckPortTable 1 }

SnMspsLinkCheckPortEntry ::= SEQUENCE {
		snMspsLinkCheckPortIndex             InterfaceIndex,
		snMspsLinkCheckPortAdminState        INTEGER,
        snMspsLinkCheckPortOperState         INTEGER,
        snMspsLinkCheckPortMode              INTEGER,
        snMspsLinkCheckPortAdvState          INTEGER,
        snMspsLinkCheckPortAdvReset          INTEGER,
        snMspsLinkCheckPortFramesIn          Counter32,
        snMspsLinkCheckPortFramesOut         Counter32
		}
  
snMspsLinkCheckPortIndex OBJECT-TYPE
		SYNTAX        InterfaceIndex
    	        MAX-ACCESS    accessible-for-notify
		STATUS        current
		DESCRIPTION   "Port number of Link Check port."
		::= { snMspsLinkCheckPortEntry 1 }    
 
snMspsLinkCheckPortAdminState OBJECT-TYPE
	    SYNTAX  INTEGER {
	      auto(1),
	      force-on(2),
          force-off(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Link Check state to be used"
	    DEFVAL  {3}
	    ::= { snMspsLinkCheckPortEntry 2 }
                      
snMspsLinkCheckPortOperState OBJECT-TYPE
	    SYNTAX  INTEGER {
	      active(1),
	      not-active(2)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Link Check operating state"
	    DEFVAL  {2}
	    ::= { snMspsLinkCheckPortEntry 3 }

snMspsLinkCheckPortMode OBJECT-TYPE
	    SYNTAX  INTEGER {
	      standard(1),
	      advanced(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "In advanced mode the port will be disabled after Link Check breakdown"
	    DEFVAL  {1}
	    ::= { snMspsLinkCheckPortEntry 6 }

snMspsLinkCheckPortAdvState OBJECT-TYPE
	    SYNTAX  INTEGER {
	      disabled(1),
	      enabled(2),
          running(3),
          fault(4),
		  critical(5)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Port state in advanced mode"
	    ::= { snMspsLinkCheckPortEntry 9 }

snMspsLinkCheckPortAdvReset OBJECT-TYPE
	    SYNTAX  INTEGER {
	      no-action(1),
	      reset(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "resetting a port that has been disabled after Link Check advanced mode breakdown detection"
	    DEFVAL  {1}
	    ::= { snMspsLinkCheckPortEntry 12 }

snMspsLinkCheckPortFramesIn OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "number of received Link Check frames"
	    ::= { snMspsLinkCheckPortEntry 15 }

snMspsLinkCheckPortFramesOut OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "number of sent Link Check frames"
	    ::= { snMspsLinkCheckPortEntry 18 }

snMspsLinkCheckFrameLossStatsTable OBJECT-TYPE
		SYNTAX        SEQUENCE OF SnMspsLinkCheckFrameLossStatsEntry      
		MAX-ACCESS        not-accessible
		STATUS        current
		DESCRIPTION   "Table containing per-port, per-instance objects."
		::= { snMspsLinkCheck 7 }		
		
snMspsLinkCheckFrameLossStatsEntry OBJECT-TYPE
		SYNTAX        SnMspsLinkCheckFrameLossStatsEntry
		MAX-ACCESS    not-accessible
		STATUS        current
		DESCRIPTION   "Link Check frame loss statistic per-port, per-instance entry."
		INDEX 		  { snMspsLinkCheckPortIndex,
                        snMspsFrameLossStatsInstance }
		::= { snMspsLinkCheckFrameLossStatsTable 1 }		
		
SnMspsLinkCheckFrameLossStatsEntry ::= SEQUENCE {
		snMspsFrameLossStatsInstance         INTEGER,
		snMspsFrameLossStatsRating           INTEGER,
		snMspsFrameLossStatsInterval         INTEGER,
        snMspsFrameLossStatsThreshold        INTEGER,
        snMspsFrameLossStatsCurrentRate      INTEGER
		}	
		
snMspsFrameLossStatsInstance OBJECT-TYPE
		SYNTAX        INTEGER (0..1)
    	MAX-ACCESS    not-accessible
		STATUS        current
		DESCRIPTION   "Link Check frame loss statistics instance of port."
		::= { snMspsLinkCheckFrameLossStatsEntry 2 } 
		
snMspsFrameLossStatsRating OBJECT-TYPE
	    SYNTAX  INTEGER {
	      none(1),
	      critical(2),
          broken(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Rating of link state if threshold is exceeded."
	    ::= { snMspsLinkCheckFrameLossStatsEntry 5 }		
		
snMspsFrameLossStatsInterval OBJECT-TYPE
	    SYNTAX  INTEGER (100..1000000000)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Interval [ms] of frame loss calculation."
	    ::= { snMspsLinkCheckFrameLossStatsEntry 8 }
		
snMspsFrameLossStatsThreshold OBJECT-TYPE
	    SYNTAX  INTEGER (0..1000)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Frame loss rate threshold [per mill]."
	    ::= { snMspsLinkCheckFrameLossStatsEntry 11 }
		
snMspsFrameLossStatsCurrentRate OBJECT-TYPE
	    SYNTAX  INTEGER (0..1000)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Current frame loss rate [per mill]."
	    ::= { snMspsLinkCheckFrameLossStatsEntry 14 }

snMspsLinkCheckPacketErrStatsTable OBJECT-TYPE
		SYNTAX        SEQUENCE OF SnMspsLinkCheckPacketErrStatsEntry      
		MAX-ACCESS        not-accessible
		STATUS        current
		DESCRIPTION   "Table containing per-port, per-type objects."
		::= { snMspsLinkCheck 9 }		
		
snMspsLinkCheckPacketErrStatsEntry OBJECT-TYPE
		SYNTAX        SnMspsLinkCheckPacketErrStatsEntry
		MAX-ACCESS        not-accessible
		STATUS        current
		DESCRIPTION   "Packet errors statistic per-type entry"
		INDEX 		  { snMspsLinkCheckPortIndex,
                        snMspsPacketErrStatsType }
		::= { snMspsLinkCheckPacketErrStatsTable 1 }			
		
SnMspsLinkCheckPacketErrStatsEntry ::= SEQUENCE {
		snMspsPacketErrStatsType             INTEGER,
		snMspsPacketErrStatsRating           INTEGER,
        snMspsPacketErrStatsThreshold        Counter32,
        snMspsPacketErrStatsIncrease         Counter32
		}	

snMspsPacketErrStatsType OBJECT-TYPE
		SYNTAX  INTEGER {
	      crc(1),
	      undersize(2),
          oversize(3),
		  fragment(4),
		  jabber(5),
		  collision(6)
	    }
    	MAX-ACCESS    not-accessible
		STATUS        current
		DESCRIPTION   "Packet error type."
		::= { snMspsLinkCheckPacketErrStatsEntry 3 } 	

snMspsPacketErrStatsRating OBJECT-TYPE
	    SYNTAX  INTEGER {
	      none(1),
	      critical(2),
          broken(3)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Rating of link state if threshold is exceeded."
	    ::= { snMspsLinkCheckPacketErrStatsEntry 6 }	

snMspsPacketErrStatsThreshold OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Packet error increase threshold."
	    ::= { snMspsLinkCheckPacketErrStatsEntry 9 }	

snMspsPacketErrStatsIncrease OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Packet error increase since Link Check state is 'running'."
	    ::= { snMspsLinkCheckPacketErrStatsEntry 12 }		

-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------

snTrapMspsLinkCheckBrokenLinkDetected NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		STATUS                  current 
		DESCRIPTION "Link Check disabled port because of broken link."
 ::= { snMspsTrapPrefix 2901 }   

snTrapMspsLinkCheckPortEnabled NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		 STATUS                  current 
		DESCRIPTION "By Link Check disabled port is enabled again."
 ::= { snMspsTrapPrefix 2902 }   

snTrapMspsLinkCheckMultiplePartners NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		 STATUS                  current 
		DESCRIPTION "Link Check detected multiple partners on port."
 ::= { snMspsTrapPrefix 2903 }   

snTrapMspsLinkCheckMultiplePartnersReset NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		 STATUS                  current 
		DESCRIPTION "Link Check partner detection reset on port."
 ::= { snMspsTrapPrefix 2904 }   

snTrapMspsLinkCheckCriticalLinkDetected NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		 STATUS                  current 
		DESCRIPTION "Link Check indicates critical link state on port."
 ::= { snMspsTrapPrefix 2905 }   

snTrapMspsLinkCheckCriticalLinkReset NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		 STATUS                  current 
		DESCRIPTION "By Link Check indicated critical link state reset on port."
 ::= { snMspsTrapPrefix 2906 }   

snTrapMspsLinkCheckUnapprovedConfigDetected NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
		 STATUS                  current 
		DESCRIPTION "Unapproved Link Check configuration. Disable Link Check on this port."
 ::= { snMspsTrapPrefix 2907 }   

snTrapMspsLinkCheckUnapprovedConfigResolved NOTIFICATION-TYPE
		 OBJECTS     { snMspsLinkCheckPortIndex }
	 STATUS                  current 
		DESCRIPTION "Unapproved Link Check configuration resolved on this port."
 ::= { snMspsTrapPrefix 2908 }   

		

          

-- ***********************************************************************
-- Objects of the Media redundancy Interconnection
-- ***********************************************************************

snMspsMrpInterconStatus     OBJECT-TYPE
    SYNTAX          INTEGER {
                    enabled(1),
                    disabled(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "MRP Interconnection protocol status.
                     If set to disabled(2), all configured entries of the MRP Interconnection 
                     table are set out of sevice, despite the mode and the admin role.
                     If set to enabled(1), all configured entries are put into operation, 
                     depending on the mode and the admin role.
                    "
  ::= { snMspsRingRedundancyMrpIntercon 1 }

snMspsMrpInterconResetCounters      OBJECT-TYPE
    SYNTAX          INTEGER {
                    no-operation(1),
                    reset(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Reset all counters of MRP Interconnection protocol software.
                     This object is not persistent.
                    "
  ::= { snMspsRingRedundancyMrpIntercon 2 }

snMspsMrpInterconTable      OBJECT-TYPE
    SYNTAX          SEQUENCE OF SnMspsMrpInterconEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Every entry in this table contains information about 
                     a Media redundancy Interconnection domain.
                    "
  ::= { snMspsRingRedundancyMrpIntercon 10 }

snMspsMrpInterconEntry      OBJECT-TYPE
    SYNTAX          SnMspsMrpInterconEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "An entry in the snMspsMrpInterconTable.
                    "
    INDEX           { snMspsMrpInterconIndex }
  ::= { snMspsMrpInterconTable 1 }

SnMspsMrpInterconEntry::=  SEQUENCE {
                    snMspsMrpInterconIndex                  Unsigned32,
                    snMspsMrpInterconDomainID               Unsigned32,
                    snMspsMrpInterconDomainName             DisplayString,
                    snMspsMrpInterconPort                   Integer32,
                    snMspsMrpInterconPortState              INTEGER,
                    snMspsMrpInterconMode                   INTEGER,
                    snMspsMrpInterconAdminRole              INTEGER,
                    snMspsMrpInterconOperRole               INTEGER,
                    snMspsMrpInterconState                  INTEGER,
                    snMspsMrpInterconOpenCount              Counter32, 
                    snMspsMrpInterconLastOpenChange         TimeTicks,
                    snMspsMrpInterconPeerMAC                OCTET STRING,
                    snMspsMrpInterconAdminMICPosition       INTEGER,
                    snMspsMrpInterconOperMICPosition        INTEGER,                    
                    snMspsMrpInterconLinkCheckProfile       INTEGER,
                    snMspsMrpInterconStartDelay             INTEGER,
                    snMspsMrpInterconRowStatus              RowStatus
                    }

snMspsMrpInterconIndex              OBJECT-TYPE
    SYNTAX          Unsigned32(1..64)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "The index of the entry
                    "
  ::= { snMspsMrpInterconEntry 1 }

snMspsMrpInterconDomainID          OBJECT-TYPE
    SYNTAX          Unsigned32(0..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "An identifier of the Media redundancy Interconnection domain
                     which represents an Interconnection topology.
                     A value of 0 (invalid) indicates that no ID is given yet.
                    "
  ::= { snMspsMrpInterconEntry 2 }

snMspsMrpInterconDomainName        OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..240))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "A logical name for the Media redundancy Interconnection domain to 
                     ease the management of Media redundancy Interconnection domains.
                    "
  ::= { snMspsMrpInterconEntry 3 }

snMspsMrpInterconPort               OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "The ifIndex of the layer 2 interface which is used 
                     as interconnection port.
                     A value of 0 (invalid) indicates that no interface is selected yet.
                    "
  ::= { snMspsMrpInterconEntry 4 }
 
snMspsMrpInterconPortState          OBJECT-TYPE
    SYNTAX          INTEGER {
                    disabled(1),
                    blocked(2),
                    forwarding(3),
                    notConnected(4)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Operational state of the Interconnection port.
     disabled(1)     indicates that all frames are dropped.
     blocked(2)      indicates that all frames are dropped except 
                     - MRP Interconnection topology change frames, 
                     - MRP Interconnection test frames, 
                     - MRP Interconnection link change frames, 
                     - MRP Interconnection link status poll frames, 
                     - frames from other protocols that also define to pass 
                       blocked(2) ports.
     forwarding(3)   indicates that all frames are passed through 
                     according to the forwarding behavior of IEEE 802.1D.
     notConnected(4) indicates that the port has no link.
                    "
  ::= { snMspsMrpInterconEntry 5 }

-- { snMspsMrpInterconEntry 6 } reserved for future use as VLAN ID

snMspsMrpInterconMode               OBJECT-TYPE
    SYNTAX          INTEGER {
                    disable(0),
                    undefined(1),
                    lcMode(2),
                    rcMode(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Control the MRP Interconnection mode.

                     The value disable(0) is used to set the entry persistent 
                     out of service (the corresponding row status has to be set) 
                     without losing the primary configuration (mainly admin role).
                     In this case, the MRP Interconnection entity of this domain 
                     shall be disabled as is with admin role disable(0).

                     The value undefined(1) signals that the interconnection mode is 
                     not disable(0) and neither set to lcMode(2) nor to rcMode(3).

                     If the value is set to lcMode(2) the devices in Media redundancy 
                     Interconnection Manager (MIM) role as well as these in Media 
                     redundancy Interconnection Client role (MIC) are using the link 
                     check mode to detect open or closed interconnection links.

                     If the value is set to rcMode(3) the device in Media redundancy 
                     Interconnection Manager (MIM) role is using the ring check mode to 
                     detect open or closed interconnection links.

                     The factory settings are recommended to adjust the 
                     value of this object to the lcMode(2) capability. 
                     If the agent restricts the write access, no matter what 
                     reason, it shall reject write requests by responding 
                     with 'badValue'.
                    "
  ::= { snMspsMrpInterconEntry 7 }
 
snMspsMrpInterconAdminRole          OBJECT-TYPE
    SYNTAX          INTEGER {
                    disable(0),
                    client(1),
                    manager(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Control the MRP Interconnection behavior of the system per 
                     Media redundancy Interconnection domain.

                     If the value is set to disable(0) the MRP Interconnection 
                     entity of this domain shall be disabled.

                     If the value is set to client(1) the entity shall be set 
                     to the role of a Media redundancy Interconnection Client (MIC).

                     If the value is set to manager(2) the entity shall be set 
                     to the role of a Media redundancy Interconnection Manager (MIM).

                     The factory settings are recommended to adjust the 
                     value of this object to the client(1) capability of the 
                     component in order to prevent multiple managers are 
                     in the interconnection (the order of the capabilities are not 
                     necessarily conform to the order of the object values here).
                     If the agent restricts the write access, no matter what 
                     reason, it shall reject write requests by responding 
                     with 'badValue'.
                    "
  ::= { snMspsMrpInterconEntry 8 }

snMspsMrpInterconOperRole           OBJECT-TYPE
    SYNTAX          INTEGER {
                    disable(0),
                    client(1),
                    manager(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The operational role of an MRP Interconnection entity 
                     per Media redundancy Interconnection domain.

                     A value of disable(0) signals that the entity doesn't 
                     work (whatever reason).

                     A value of client(1) signals that the entity is in a 
                     Media redundancy Interconnection Client role.

                     A value of manager(2) signals that the entity is the 
                     manager of this Media redundancy Interconnection domain.
                    "
  ::= { snMspsMrpInterconEntry 9 }

snMspsMrpInterconState              OBJECT-TYPE
    SYNTAX          INTEGER {
                    disable(0),
                    undefined(1),
                    interconnOpen(2),
                    interconnClosed(3)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Operational status of a MIM of the MRP Interconnection entity.
                     disable(0)          The entity is disabled.
                     undefined(1)        Value is not valid.
                     interconnOpen(2)    MRP Interconnection redundancy lost of this Media 
                                          redundancy Interconnection domain.
                     interconnClosed(3)  MRP Interconnection redundancy available of this Media 
                                          redundancy Interconnection domain.
                    "
  ::= { snMspsMrpInterconEntry 10 }

-- { snMspsMrpInterconEntry 11 } reserved for future use as configuration status
 
snMspsMrpInterconOpenCount          OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Counter for MRP Interconnection state changes to interconnOpen.
                    "
  ::= { snMspsMrpInterconEntry 12 }

snMspsMrpInterconLastOpenChange     OBJECT-TYPE
    SYNTAX          TimeTicks
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Timeticks since last change of snMspsMrpInterconState to interconnOpen.
                    "
  ::= { snMspsMrpInterconEntry 13 }

snMspsMrpInterconPeerMAC            OBJECT-TYPE
    SYNTAX          OCTET STRING
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Device-MAC-Address of the devices interconnection peer, connected 
                     to the devices interlink port.
                     This variable contains the MAC-Address contained in the media link 
                     check frame received at the interconnection port.
                    "
  ::= { snMspsMrpInterconEntry 14 }

-- { snMspsMrpInterconEntry 15 } reserved for future use as own MRM MAC address

-- { snMspsMrpInterconEntry 16 } reserved for future use as coupled ring MRM MAC address

-- { snMspsMrpInterconEntry 17 } reserved for future use as coupled ring MRP domain UUID

snMspsMrpInterconAdminMICPosition   OBJECT-TYPE
    SYNTAX          INTEGER {
                    primary(0),
                    secondary(1)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Controls the MRP Interconnection  Client position 
                     in the interconnection setup.
                     If the value is set to primary(0) the MRP Interconnection Client 
                     is a primary MRP Interconnection Client.
                     If the value is set to secondary(1) the MRP Interconnection Client 
                     is the secondary MRP Interconnection Client.
                    "
  ::= { snMspsMrpInterconEntry 18 }

snMspsMrpInterconOperMICPosition   OBJECT-TYPE
    SYNTAX          INTEGER {
                    primary(0),
                    secondary(1)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Reads the MRP Interconnection  Client position 
                     in the interconnection setup.
                     If the value is set to primary(0) the MRP Interconnection Client 
                     is a primary MRP Interconnection Client.
                     If the value is set to secondary(1) the MRP Interconnection Client 
                     is the secondary MRP Interconnection Client.
                    "
  ::= { snMspsMrpInterconEntry 19 }

snMspsMrpInterconLinkCheckProfile   OBJECT-TYPE
    SYNTAX          INTEGER {
                    undefined(0),
                    primary-default(1),
                    secondary-default(2),
                    secondary-high(4)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Controls the link check sensibility (check frame send interval 
                     and thus link check frame load) of the MRP Interconnection links.
                     undefined(0)         - link check profile not set.
                     primary_default(1)   - 10ms on primary MRP Interconnection link.
                     secondary_default(2) - 1000ms on secondary MRP Interconnection link.
                     secondary_high(4)    - 10ms on secondary MRP Interconnection link.
                    "
  ::= { snMspsMrpInterconEntry 28 }

snMspsMrpInterconStartDelay         OBJECT-TYPE
    SYNTAX          INTEGER(0..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Time in [100 ms] that an MRP Interconnection manager/client 
                     will wait before to enable the MRP Interconnection port 
                     even if the MRP Interconnection ring coupling configuration 
                     is not complete.
                     The maximum value of 65535 (0xFFFF) means indefinite waiting.
                     Some values are reserved and/or differ in meaning/usage, see below.
                     ---------------------+----------------------------+-------------------------
                      Value (hexadecimal) | Meaning                    | Usage   
                     ---------------------+----------------------------+-------------------------
                      0x0000              | Reserved                   | -
                      0x0001              | Value    100 ms = 100 ms  | Optional Startup delay
                      0x0002              | Value    100 ms = 200 ms  | Mandatory Startup delay
                      0x0003 - 0xEA60     | Value    100 ms           | Optional Startup delay
                      0xEA61 - 0xFFFE     | Reserved                   | -
                      0xFFFF              | Wait infinite time         | Optional Startup delay
                     ---------------------+----------------------------+-------------------------
                    "
  ::= { snMspsMrpInterconEntry 29 }

snMspsMrpInterconRowStatus          OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Support of creation and deletion of rows.
                     A row can be taken out of service by writing
                     the value notInService(2).
                    "
  ::= { snMspsMrpInterconEntry 30 }

-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------

snMspsTrapMrpInterconMgrOpenState NOTIFICATION-TYPE
		OBJECTS     { snMspsMrpInterconIndex }
		STATUS                  current
		DESCRIPTION "MRP Interconnection state change to open."
 ::= { snMspsTrapPrefix 3001 }

snMspsTrapMrpInterconMgrClosedState NOTIFICATION-TYPE
		OBJECTS     { snMspsMrpInterconIndex }
		STATUS                  current
		DESCRIPTION "MRP Interconnection state change to closed."
 ::= { snMspsTrapPrefix 3002 }
 



snMspsDualNetAccessScalars               OBJECT IDENTIFIER ::= { snMspsDualNetAccess 1 }

-- --------------------------------------------------------------
-- Dual Network Access Scalar Objects
-- --------------------------------------------------------------
snMspsDualNetAccessAdminMode OBJECT-TYPE
        SYNTAX        INTEGER {
                                 standalone (0),
                                 manager (1),
                                 client (2)
                              }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "The Configured Admin mode for the Dual Network Access Module.
            The value standalone (0) is used to disable the feature.
            The value manager (1) is used make the role as manager
            for the dual network access redundant links.
            The value client(2) is used make the role as client for 
            for the Dual network access redundant links"
       DEFVAL { standalone }
    ::= { snMspsDualNetAccessScalars 1 }

snMspsDualNetAccessOperMode OBJECT-TYPE
        SYNTAX        INTEGER {
                                 standalone (0),
                                 manager (1),
                                 client (2),
                                 mismatch (3)
                              }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
            "The Operational mode for the Dual Network Access (DNA)Module.
            The mode standalone (0) is used to disable the feature.
            when the value is standalone, the port role for the dual network  
            access links are not controlled by this DNA Module.

            If both admin and oper mode are manager, then the port role for 
            the dual network access links will be forwarding.

            If both admin and oper mode are client, then the port role for 
            the dual network access links will be discarding or forwarding, 
            depending on reachability to the MRP Manager in the ring.
            
            If oper mode state is mismatch for DNA admin mode manager, then 
            port state for DNA links will be discarding.
            If oper mode state is mismatch for DNA admin mode client, then 
            port state for DNA links will be forwarding.
            The oper state moves to mismatch in the following conditions,
             a) if ring redundancy is disabled and admin mode for DNA is
                 manager or client.
             b) if ring redundancy admin mode is not MRP Manager(Auto or Norm)
                 and DNA admin mode is manager
             c) if ring redundancy admin mode is not MRP Client
                 and DNA admin mode is client
             d) if ring redundancy oper mode (manager/client) is not matching
                 with DNA admin mode (manager/client).
            The oper state for DNA moves out of mismatch state, When the 
            mismatch between ring redundancy and DNA are resolved."
    ::= { snMspsDualNetAccessScalars 2 }

snMspsDualNetAccessForwardLinks OBJECT-TYPE
        SYNTAX        PortList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
            "The List of Dual Network Access links in the forwarding state and are controlled 
            by this DNA Module."
    ::= { snMspsDualNetAccessScalars 3 }

snMspsDualNetAccessBlockedLinks OBJECT-TYPE
        SYNTAX        PortList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
            "The List of Dual Network Access links in the discarding state and are controlled 
            by this DNA Module."
    ::= { snMspsDualNetAccessScalars 4 }


    
-- ----------------------------------------------------------------
-- MSPS DHCP Group Objects
-- ----------------------------------------------------------------

-- ----------------------------------------------------------------
-- MSPS Component Objects:  DHCP CLIENT MIB
-- ----------------------------------------------------------------

snMspsDhcpClientControl  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled (1),
          disabled (2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The value enabled(1) will run DHCP Client. 
	             The value disabled(2) will inhibit DHCP."
        DEFVAL  {1}
        ::= { snMspsDhcpClient  1 }	

snMspsDhcpClientMode  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled-via-mac-address (1),
          enabled-via-client-id (2),
          enabled-via-sysname (3),
          enabled-via-nameofstation (4),
          enabled-via-iaidandduid (5)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The value enabled-via-mac-address(1) 
	             sets DHCP Client Mode with option 
		     MAC Address as ClientId,
                    enabled-via-client-id(2) runs DHCP Client Mode 
		     with option ClientId, 
                    enabled-via-sysname(3) runs DHCP Client with 
		     the sysname as ClientId, 
	                enabled-via-nameofstation(4) runs DHCP with 
		     the name of station as ClientId,
                    enabled-via-iaidandduid(5) runs DHCP with RFC 3315 style
             identifier binding as client identifier. DUID type is 
             determined by snMspsDhcpClientIfDuidType object."
        DEFVAL  {1}
        ::= { snMspsDhcpClient  2 }	
	
snMspsDhcpClientConfigFileRequest  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
	      disabled(2)
        }
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION "If enabled(1) DHCP client requests option 66/67 ."
        DEFVAL  {1}
        ::= { snMspsDhcpClient  3 }        

snMspsDhcpClientId  OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..254))
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION "An administratively-assigned name 
	             for this DHCP client."
        DEFVAL  {"default"}
        ::= { snMspsDhcpClient  4 }     

snMspsDhcpClientIPAddrKeepAlive  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
          disabled(2)
        }
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION "If enabled (1) DHCP client will retain the ip address from server
	             accordingly to MSPS requirements.
	             If disabled(2) DHCP client reset the ip address to 0.0.0.0
	             accordingly to RFC."
        ::= { snMspsDhcpClient  5 }        

		
-- DUID Group ------------------------------------------------------

snMspsDhcpClientDUID                OBJECT IDENTIFIER ::= { snMspsDhcpClient 10 }

SnMspsDhcpClientDuidType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A DUID consists of a two-octet type code represented in network byte
        order, followed by a variable number of octets that make up the
        actual identifier. The following types are currently defined:

        1   Link-layer address plus time
        2   Vendor-assigned unique ID based on Enterprise Number
        3   Link-layer address

        DUID Based on Link-layer Address plus Time [DUID-LLT]

        This type of DUID consists of a two octet type field containing the
        value 1, a two octet hardware type code, four octets containing a
        time value, followed by link-layer address of any one network
        interface that is connected to the DHCP device at the time
        that the DUID is generated.  The time value is the time that the
        DUID is generated represented in seconds since midnight
        (UTC), January 1, 2000, modulo 2^32.

        The following diagram illustrates the format of a DUID-LLT:

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               1               |    hardware type (16 bits)    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        time (32 bits)                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    .             link-layer address (variable length)              .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        The choice of network interface can be completely arbitrary, as long
        as that interface provides a globally unique link-layer address for
        the link type, and the same DUID-LLT SHOULD be used in configuring
        all network interfaces connected to the device, regardless of which
        interface's link-layer address was used to generate the DUID-LLT.

        Clients and servers using this type of DUID MUST store the
        DUID-LLT in stable storage, and MUST continue to use this DUID-LLT even
        if the network interface used to generate the DUID-LLT is removed.
        Clients and servers that do not have any stable storage MUST NOT
        use this type of DUID.

        Clients and servers that use this DUID SHOULD attempt to configure
        the time prior to generating the DUID, if that is possible, and MUST
        use some sort of time source (for example, a real-time clock) in
        generating the DUID, even if that time source could not be configured
        prior to generating the DUID.  The use of a time source makes it
        unlikely that two identical DUID-LLTs will be generated if the
        network interface is removed from the client and another client then
        uses the same network interface to generate a DUID-LLT.  A collision
        between two DUID-LLTs is very unlikely even if the clocks have not
        been configured prior to generating the DUID.

        This method of DUID generation is recommended for all general purpose
        computing devices such as desktop computers and laptop computers, and
        also for devices such as printers, routers, and so on, that contain
        some form of writable non-volatile storage.

        DUID Assigned by Vendor Based on Enterprise Number [DUID-EN]

        This form of DUID is assigned by the vendor to the device.  It
        consists of the vendor's registered Private Enterprise Number as
        maintained by IANA [6] followed by a unique identifier assigned by
        the vendor. 

        The following diagram summarizes the structure of a DUID-EN:

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               2               |       enterprise-number       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   enterprise-number (contd)   |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
    .                           identifier                          .
    .                       (variable length)                       .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        The source of the identifier is left up to the vendor defining it,
        but each identifier part of each DUID-EN MUST be unique to the
        device that is using it, and MUST be assigned to the device at the time
        it is manufactured and stored in some form of non-volatile
        storage. The generated DUID SHOULD be recorded in non-erasable storage. 

        DUID Based on Link-layer Address [DUID-LL]:-

        This type of DUID consists of two octets containing the DUID type 3,
        a two octet network hardware type code, followed by the link-layer
        address of any one network interface that is permanently connected to
        the client or server device.

        The following diagram illustrates the format of a DUID-LL:

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               3               |    hardware type (16 bits)    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    .             link-layer address (variable length)              .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        The choice of network interface can be completely arbitrary, as long
        as that interface provides a unique link-layer address and is
        permanently attached to the device on which the DUID-LL is being
        generated.  The same DUID-LL SHOULD be used in configuring all
        network interfaces connected to the device, regardless of which
        interface's link-layer address was used to generate the DUID.

        DUID-LL is recommended for devices that have a permanently-connected
        network interface with a link-layer address, and do not have
        nonvolatile, writable stable storage.  DUID-LL MUST NOT be used by
        DHCP clients or servers that cannot tell whether or not a network
        interface is permanently attached to the device on which the DHCP
        client is running."
    REFERENCE
        "Section 9. DHCP Unique Identifier (DUID) RFC 3315"
    SYNTAX  INTEGER {
             dtLlt     (1),
             dtEn      (2),
             dtLl      (3)
            }

SnMspsDhcpClientDuidValue ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Each DHCP client has a unique DUID. DHCP servers use DUIDs to identify 
        clients for the selection of configuration parameters and in the 
        association of IAs with clients.  DHCP clients use DUIDs to Identify 
        a client in messages where a client needs to be identified.
        Clients MUST treat DUIDs as opaque values and MUST only compare DUIDs 
        for equality Clients and servers MUST NOT in any Other way interpret 
        DUIDs. The DUID is carried in an option because it may be variable length 
        and because it is not required in all DHCP messages.  The DUID is 
        designed to be unique across all DHCP clients and servers, and stable
        for any specific client or server - that is, the DUID used by a client 
        or server SHOULD NOT change over time if at all possible; for example, 
        a device's DUID should not change as a result of a change in
        the device's network hardware.
        The motivation for having more than one type of DUID is that the DUID 
        must be globally unique, and must also be easy to generate. The sort of 
        globally-unique identifier that is easy to generate for any given device 
        can differ quite widely. Also, some devices may not contain any 
        persistent storage. Retaining a generated DUID in such a device is not 
        possible, so the DUID scheme must accommodate such devices. A DUID can be
        no more than 130(including the type code) octets long."
    REFERENCE
        "Section 9. DHCP Unique Identifier (DUID) RFC 3315"
    SYNTAX  OCTET STRING (SIZE(1..130)) 

snMspsDhcpClientDuidType OBJECT-TYPE
    SYNTAX      SnMspsDhcpClientDuidType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object contains the type of DUID. Client sends the Client Identifier 
        TLV in the client sending messages. 
        The value dtLlt(1) indicates that DHCP client will use the Link layer address
        of the interface and Current System time value for the Client Identifier
        option TLV value.
        The value dtEn (2) indicates that DHCP client will use the Vendor-assigned
        unique ID based on Enterprise Number for the Client Identifier
        option TLV value.
        The value dtLl (3) indicates that DHCP client will use the link layer address 
        for the client Identifier option TLV value."
    DEFVAL { dtLlt }
	::= { snMspsDhcpClientDUID 1 }

snMspsDhcpClientDuidLltValue OBJECT-TYPE
    SYNTAX      SnMspsDhcpClientDuidValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This Object contains the value of Link-layer Address plus Time DUID. This DUID value is used by client if dtLlt is selected in snMspsDhcpClientDuidType."
	::= { snMspsDhcpClientDUID 2 }

snMspsDhcpClientDuidEnValue OBJECT-TYPE
    SYNTAX      SnMspsDhcpClientDuidValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the value of vendor-assigned unique ID based on Enterprise Number DUID. This DUID value is used by client if dtEn is selected in snMspsDhcpClientDuidType."
	::= { snMspsDhcpClientDUID 3 }

snMspsDhcpClientDuidLlValue OBJECT-TYPE
    SYNTAX      SnMspsDhcpClientDuidValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This Object contains the value of Link-layer address DUID. This DUID value is used by client if dtLl is selected in snMspsDhcpClientDuidType."
	::= { snMspsDhcpClientDUID 4 }

snMspsDhcpClientDuidConfigStatus OBJECT-TYPE
    SYNTAX  INTEGER(0..7)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
       "This is used to identify duid values are auto generated or manually configured.
       0x00 -- All(dtLlt,dtEn,dtLl) duid types are auto generated.
       0x01 -- dtLlt manually configured.
       0x02 -- dtEn manually configured.
       0x03 -- dtLlt and dtEn manually configured.
       0x04 -- dtLl manually configured.
       0x05 -- dtLlt and dtLl manually configured.
       0x06 -- dtEn and dtLl manually configured.
       0x07 -- dtLlt,dtEn and dtLl manually configured."
       DEFVAL  { 0 }
       ::= { snMspsDhcpClientDUID 5 }

	   
	   --- snMspsDhcpClientOptTable START

snMspsDhcpClientOptTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF SnMspsDhcpClientOptEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                " The dhcp options which are to be requested to server
                  will be added as entries in this table.   

                  While sending out discover message, the options entries
                  which are avilable in this table will be added with
                  discover message.  
 
                  The option values which are received via dhcp ack
                  packet will be stored in this table."

            ::= { snMspsDhcpClient 15 }

snMspsDhcpClientOptEntry  OBJECT-TYPE
        SYNTAX      SnMspsDhcpClientOptEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry containing requested dhcp options and its values
                 at a particular interface."
        INDEX { snMspsDhcpClientOptIfIndex, snMspsDhcpClientOptType }
        ::= { snMspsDhcpClientOptTable 1 }

SnMspsDhcpClientOptEntry ::=
        SEQUENCE {
            snMspsDhcpClientOptIfIndex    InterfaceIndex, 
            snMspsDhcpClientOptType       Integer32,
            snMspsDhcpClientOptLen        Integer32,
            snMspsDhcpClientOptVal        OCTET STRING,
            snMspsDhcpClientOptRowStatus  RowStatus 
            }

snMspsDhcpClientOptIfIndex  OBJECT-TYPE
        SYNTAX        InterfaceIndex
        MAX-ACCESS    not-accessible 
        STATUS        current
        DESCRIPTION
           "A unique identifier for each interface.
            This object is identical to the ifIndex
           of the standard MIB-2 ifTable." 
        ::= { snMspsDhcpClientOptEntry 1 }

snMspsDhcpClientOptType  OBJECT-TYPE
        SYNTAX     Integer32 (1..254)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The object identifies the option, this is the
                tag octet of the DHCP option. This option is 
                one of the index in the snMspsDhcpClientOptTable.
                  
                Option 0 denotes padding. Option 255 denotes
                end of option field. Other options can be
                requested from client to server."
        ::= { snMspsDhcpClientOptEntry 2 }

snMspsDhcpClientOptLen   OBJECT-TYPE
        SYNTAX     Integer32 (0..255)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "This object specifies the length of the DHCP Client Option.
                 This length does not include the two octets
                 specifiying the tag and length.

                 This object has read-write support only for option 60."
        ::= { snMspsDhcpClientOptEntry 3 }

snMspsDhcpClientOptVal   OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
                "This object specifies the octets of data, for the length
                specified by snMspsDhcpClientOptLen.

                This object has read-write support only for option 60.
                
                This value is taken from DHCP ACK message
                sent from server to client."
        ::= { snMspsDhcpClientOptEntry 4 }

snMspsDhcpClientOptRowStatus  OBJECT-TYPE
         SYNTAX         RowStatus
         MAX-ACCESS     read-create
         STATUS         current
         DESCRIPTION
            "The RowStatus variable is for addition and deletion
             of snMspsDhcpClientOptEntry."
        ::= { snMspsDhcpClientOptEntry 5 }

--- snMspsDhcpClientOptTable END
	   


     
snMspsDhcpRelaying OBJECT-TYPE
	      SYNTAX  INTEGER {
            enable (1),
            disable (2) 
       }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
		      "Only when enabled, the Relay Agent shall become active."
	      DEFVAL { disable }
	      ::= { snMspsDhcpRelay 1 }

snMspsDhcpRelayServersOnly OBJECT-TYPE
	      SYNTAX  INTEGER {
            enable (1),
            disable (2) 
       }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
		      "When enabled, the Relay Agent shall forward the
         packets from the client to a specific DHCP server."
	      DEFVAL { disable }
	      ::= { snMspsDhcpRelay 2 }

snMspsDhcpRelaySecsThreshold OBJECT-TYPE
	      SYNTAX  Integer32 (0..65535)
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
                      "IF the secs field in the DHCP message is greater than the 
         snMspsDhcpRelaySecsThreshold, Packet get dropped at the Relay Agent"
	      DEFVAL { 0 }
	      ::= { snMspsDhcpRelay 3 }


snMspsDhcpRelayHopsThreshold OBJECT-TYPE
	      SYNTAX  Integer32 (0..16)
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
                      "A maximum hop count,a relay agent allow to pass through it.If
              the HopCount in the Dhcp Message is greater than the snMspsDhcpRelayHopsThreshold,
              Packet get dropped at the Relay Agent "
	      DEFVAL { 4 }
	      ::= { snMspsDhcpRelay 4 }

snMspsDhcpRelayRAIOptionControl OBJECT-TYPE
	      SYNTAX  INTEGER {
            enable (1),
            disable (2) 
       }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
		      "Only when enabled, the Relay Agent shall do any processing
         related to Relay Agent Information Options - like
         inserting the necessary options while relaying a packet
         from a client to a server and examining/stripping of
         options when relaying a packet from a server to a
         client."
	      DEFVAL { disable }
	      ::= { snMspsDhcpRelay 5 }

snMspsDhcpRelayRAICircuitIDSubOptionControl OBJECT-TYPE
	      SYNTAX  INTEGER {
            enable (1),
            disable (2) 
       }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
		      "When enabled, if the RAIOption is globally enabled, 
         then the Relay Agent shall insert the CircuitID sub-option,
         when necessary, while relaying packets from a client 
         to server and also examines/strips off this sub-option
         while relaying packets from a server to a client."
	      DEFVAL { disable }
	      ::= { snMspsDhcpRelay 6 }

snMspsDhcpRelayRAIRemoteIDSubOptionControl OBJECT-TYPE
	      SYNTAX  INTEGER {
            enable (1),
            disable (2) 
       }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
		      "When enabled, if the RAIOption is globally enabled, 
         then the Relay Agent shall insert the RemoteID sub-option,
         when necessary, while relaying packets from a client 
         to server and also examines/strips off this sub-option
         while relaying packets from a server to a client."
	      DEFVAL { disable }
	      ::= { snMspsDhcpRelay 7 }

snMspsDhcpRelayRAISubnetMaskSubOptionControl OBJECT-TYPE
	      SYNTAX  INTEGER {
            enable (1),
            disable (2) 
       }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
		      "When enabled, if the RAIOption is globally enabled, 
         then the Relay Agent shall insert the Subnet Mask sub-option,
         when necessary, while relaying packets from a client 
         to server and also examines/strips off this sub-option
         while relaying packets from a server to a client."
	      DEFVAL { disable }
	      ::= { snMspsDhcpRelay 8 }

 snMspsDhcpRelayRAIAddressFieldActivated OBJECT-TYPE
	SYNTAX TruthValue
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enables or disables Relay Agent Information (RAI) Address Field on the Relay Agent."
		DEFVAL { false }
         ::= { snMspsDhcpRelay 9 }

snMspsDhcpRelayRAIAddressFieldInterface OBJECT-TYPE
	SYNTAX InterfaceIndex
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The Relay Agent insert the gi address field using 
         ip address of the given interface.
	 The value of this MIB object will only be considered 
	 if 'snMspsDhcpRelayRAIAddressFieldActivated' is true."
	::= { snMspsDhcpRelay 10 }

-- snMspsDhcpRelay 11-15 reserved

snMspsDhcpConfigDhcpCircuitOption OBJECT-TYPE
    SYNTAX       BITS {
                  routerindex(0),      -- Router Interfce Index
                  vlanid(1),           -- vlanId 
                  recvport(2)          -- port or lag port
    }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
       "This Object defines the type of information to be present in circuit id 
        sub-option.And this option can specfied  only if 
        CircuitIDSubOptionControl is enabled.It is possible to set more than 
        one bit at a time.Currently first three bits are used and remaning bits         are reserved for future purpose" 
        
    ::= { snMspsDhcpRelay 16 }

--IPADDRESS_TABLE_BEGIN

      snMspsDhcpRelaySrvAddressTable   OBJECT-TYPE 
            SYNTAX SEQUENCE OF SnMspsDhcpRelaySrvAddressEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    "This table contains the IP addresses of the DHCP Server 
		    to which the Relay Agent needs to forward the packets from 
		    the client. This object becomes active only when 
		    snMspsDhcpRelayServersOnly is enabled."
            ::= { snMspsDhcpRelay 17 }

       snMspsDhcpRelaySrvAddressEntry OBJECT-TYPE 
            SYNTAX SnMspsDhcpRelaySrvAddressEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    " "
            INDEX { snMspsDhcpRelaySrvIpAddress }
            ::= { snMspsDhcpRelaySrvAddressTable 1 }


       SnMspsDhcpRelaySrvAddressEntry ::=
       SEQUENCE {
                    snMspsDhcpRelaySrvIpAddress            IpAddress,
                    snMspsDhcpRelaySrvAddressRowStatus     RowStatus
                 }

snMspsDhcpRelaySrvIpAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS not-accessible
    STATUS current 
    DESCRIPTION
        "The IP Address of the DHCP server."
    ::=  { snMspsDhcpRelaySrvAddressEntry 1 }  


snMspsDhcpRelaySrvAddressRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current 
    DESCRIPTION
        "RowStatus of this entry."
    ::=  { snMspsDhcpRelaySrvAddressEntry 2 }  

--IPADDRESS_TABLE_END

--INTERFACE_TABLE_BEGIN

  snMspsDhcpRelayIfTable   OBJECT-TYPE
            SYNTAX SEQUENCE OF SnMspsDhcpRelayIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
            "This table holds the circuit id SubOption configured over the
            interface.This option will be inserted for dhcp request packets 
            received on this interface based on the status of 
            snMspsDhcpRelayRAICircuitIDSubOptionControl.Using this table,the dhcp 
            broadcast response is sent on the appropriate interface over which 
            the broadcast dhcp request was received."
            ::= { snMspsDhcpRelay 18 }

       snMspsDhcpRelayIfEntry OBJECT-TYPE
            SYNTAX SnMspsDhcpRelayIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                    "Contains configured dhcp relay information suboptions"  
            INDEX { ifIndex }
            ::= { snMspsDhcpRelayIfTable 1 }

       SnMspsDhcpRelayIfEntry ::=
       SEQUENCE {
                    snMspsDhcpRelayIfCircuitId    Unsigned32,
                    snMspsDhcpRelayIfRemoteId     DisplayString,
                    snMspsDhcpRelayIfRowStatus    RowStatus,
                    snMspsDhcpRelayIfRemoteIdSource INTEGER
                    
                 }

snMspsDhcpRelayIfCircuitId OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Circuit Id value configured over this interface.Values other than 
        interface indices can be configured for this object.Configuring 
        with zero value will reset the circuit id configuration for this  
        interface.Circuit id will be inserted to dhcp request packet received 
        on this interface if snMspsDhcpRelayRAICircuitIDSubOptionControl is enabled"
    ::=  { snMspsDhcpRelayIfEntry 1 }

snMspsDhcpRelayIfRemoteId OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Remote Id value configured over this interface.String of length zero
        will reset the configuration.Value other than XYZ (which is the 
        considered as default value internally) can be configured for this
        object.Remote ID will be inserted to dhcp request packet received
        on this interface if snMspsDhcpRelayRAIRemoteIDSubOptionControl is enabled"
    ::=  { snMspsDhcpRelayIfEntry 2 }

snMspsDhcpRelayIfRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Row status of this table"
    ::=  { snMspsDhcpRelayIfEntry 3 }

snMspsDhcpRelayIfRemoteIdSource OBJECT-TYPE
    SYNTAX  INTEGER {
            freetext (1),
            macaddress (2) 
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
         "When freetext is selected, the value of snMspsDhcpRelayIfRemoteId will be taken into consideration as the Remote Id.
         When macaddress is selected, MAC address of the interface will be taken into consideration as the Remote Id."
    DEFVAL { freetext }
    ::=  { snMspsDhcpRelayIfEntry 4 }

--INTERFACE_TABLE_END

snMspsDhcpRelayRemoteId OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A string based Remote ID value assigned by DHCP relay agent which uniquely identifies the client."
    ::= { snMspsDhcpRelay 19 }
                        

-- ----------------------
-- snMspsDhcpServer.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- object definitions for the management of a DHCP server implementation
--
-- Copyright (c) 2013 Siemens AG
-- All rights reserved.
-- ----------------------------------------------------------------------
--
-- MIB Module :   SN-MSPS-DHCP-SERVER-MIB
--
-- Revision   :   V0.0.0.4
-- Date       :   2018/02/26 
-- 
-- ----------------------------------------------------------------------


snMspsDhcpServerObjects         OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION
        "The MIB objects in this group define the Management Information Base
        for a Dynamic Host Configuration Protocol (DHCP) server implementation."
    ::= { snMspsDhcpServer  1 }

snMspsDhcpV4ServerObjects       OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION
        "The MIB objects in this group define the Management Information Base
        for a Dynamic Host Configuration Protocol (DHCP) server implementation."
    ::= { snMspsDhcpServerObjects  4 }

snMspsDhcpV4SrvConfig           OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION
        "The MIB objects in this group define the Management Information Base
        objects with systemic scope."
    ::= { snMspsDhcpV4ServerObjects  1 }

snMspsDhcpV4SrvActivated        OBJECT-TYPE
    SYNTAX                      TruthValue
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        global DHCP server enable/disable flag."
    ::= { snMspsDhcpV4SrvConfig 1 }

snMspsDhcpV4SrvIcmpEchoProbeActivated OBJECT-TYPE
    SYNTAX                      TruthValue
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        When set to to true, the DHCP server will probe an IP address whether it
        is already in use before offering it to a DHCP client."
    ::= { snMspsDhcpV4SrvConfig 2 }

snMspsDhcpV4SrvSubnetPoolTable  OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDhcpV4SrvSubnetPoolEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4ServerObjects  2 }

snMspsDhcpV4SrvSubnetPoolEntry  OBJECT-TYPE
    SYNTAX                      SnMspsDhcpV4SrvSubnetPoolEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDhcpV4SrvSubnetPoolIndex }
    ::= { snMspsDhcpV4SrvSubnetPoolTable  1 }

SnMspsDhcpV4SrvSubnetPoolEntry ::= SEQUENCE {
    snMspsDhcpV4SrvSubnetPoolIndex Unsigned32,
    snMspsDhcpV4SrvSubnetPoolIfIndex InterfaceIndex,
    snMspsDhcpV4SrvSubnetPoolSubnetAddr InetAddressIPv4,
    snMspsDhcpV4SrvSubnetPoolPrfxLength InetAddressPrefixLength,
    snMspsDhcpV4SrvSubnetPoolLowerAddress InetAddressIPv4,
    snMspsDhcpV4SrvSubnetPoolUpperAddress InetAddressIPv4,
    snMspsDhcpV4SrvSubnetPoolLeaseTime Unsigned32,
	snMspsDhcpV4SrvSubnetPoolPortList PortList,
	snMspsDhcpV4SrvSubnetPoolName	  DisplayString,		
    snMspsDhcpV4SrvSubnetPoolRowStatus RowStatus
    }

snMspsDhcpV4SrvSubnetPoolIndex  OBJECT-TYPE
    SYNTAX                      Unsigned32
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "An auxiliary index."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 1 }

snMspsDhcpV4SrvSubnetPoolIfIndex OBJECT-TYPE
    SYNTAX                      InterfaceIndex
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The ifIndex of the bound interface."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 2 }

snMspsDhcpV4SrvSubnetPoolSubnetAddr OBJECT-TYPE
    SYNTAX                      InetAddressIPv4
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The subnet address."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 3 }

snMspsDhcpV4SrvSubnetPoolPrfxLength OBJECT-TYPE
    SYNTAX                      InetAddressPrefixLength
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The prefix length."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 4 }

snMspsDhcpV4SrvSubnetPoolLowerAddress OBJECT-TYPE
    SYNTAX                      InetAddressIPv4
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The lower IP address."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 5 }

snMspsDhcpV4SrvSubnetPoolUpperAddress OBJECT-TYPE
    SYNTAX                      InetAddressIPv4
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The upper IP address."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 6 }

snMspsDhcpV4SrvSubnetPoolLeaseTime OBJECT-TYPE
    SYNTAX                      Unsigned32
    UNITS                       "seconds"
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The lease time."
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 7 }
	
snMspsDhcpV4SrvSubnetPoolPortList  OBJECT-TYPE
	SYNTAX 						PortList
	MAX-ACCESS 					read-create
	STATUS 						current
	DESCRIPTION 
		"The Subnet Pool Port List."
	DEFVAL  { ''H }     -- empty binary string
	::= { snMspsDhcpV4SrvSubnetPoolEntry 8 }
	
	
snMspsDhcpV4SrvSubnetPoolName OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..255))
    MAX-ACCESS read-create
    STATUS current 
    DESCRIPTION
        "Name for the subnet pool.Null terminated string."
    ::=  { snMspsDhcpV4SrvSubnetPoolEntry 9 } 

snMspsDhcpV4SrvSubnetPoolRowStatus OBJECT-TYPE
    SYNTAX                      RowStatus
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4SrvSubnetPoolEntry 12 }

snMspsDhcpV4SrvSubnetOptTable  OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDhcpV4SrvSubnetOptEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4ServerObjects  3 }

snMspsDhcpV4SrvSubnetOptEntry  OBJECT-TYPE
    SYNTAX                      SnMspsDhcpV4SrvSubnetOptEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDhcpV4SrvSubnetPoolIndex, snMspsDhcpV4SrvSubnetOptCode }
    ::= { snMspsDhcpV4SrvSubnetOptTable  1 }

SnMspsDhcpV4SrvSubnetOptEntry ::= SEQUENCE {
    snMspsDhcpV4SrvSubnetOptCode Unsigned32,
    snMspsDhcpV4SrvSubnetOptUseIfIp TruthValue,
    snMspsDhcpV4SrvSubnetOptLength Unsigned32,
    snMspsDhcpV4SrvSubnetOptValue OCTET STRING,
    snMspsDhcpV4SrvSubnetOptRowStatus RowStatus
}

snMspsDhcpV4SrvSubnetOptCode    OBJECT-TYPE
    SYNTAX                      Unsigned32(1..254)
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        The DHCP option tag code."
    REFERENCE
        "RFC 2132;
        RFC 3942;
        RFC 4833."
    ::= { snMspsDhcpV4SrvSubnetOptEntry 1 }

snMspsDhcpV4SrvSubnetOptUseIfIp OBJECT-TYPE
    SYNTAX                      TruthValue
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        Use the interface's IP address from the subnet specified by the pool if
        applicable to the option's semantics."
    ::= { snMspsDhcpV4SrvSubnetOptEntry 2 }

snMspsDhcpV4SrvSubnetOptLength  OBJECT-TYPE
    SYNTAX                      Unsigned32(0..255)
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        The length of the options's data part not including the two octets
        specifying the tag code and length."
    REFERENCE
        "RFC 2132;
        RFC 3942;
        RFC 4833."
    ::= { snMspsDhcpV4SrvSubnetOptEntry 3 }

snMspsDhcpV4SrvSubnetOptValue   OBJECT-TYPE
    SYNTAX                      OCTET STRING (SIZE(0..255))
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        The data part of the DHCP option."
    REFERENCE
        "RFC 2132;
        RFC 3942;
        RFC 4833."
    ::= { snMspsDhcpV4SrvSubnetOptEntry 4 }

snMspsDhcpV4SrvSubnetOptRowStatus OBJECT-TYPE
    SYNTAX                      RowStatus
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4SrvSubnetOptEntry 7 }

snMspsDhcpV4SrvHostTable        OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDhcpV4SrvHostEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4ServerObjects  4 }

snMspsDhcpV4SrvHostEntry        OBJECT-TYPE
    SYNTAX                      SnMspsDhcpV4SrvHostEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDhcpV4SrvHostHwType, snMspsDhcpV4SrvHostClientId, snMspsDhcpV4SrvSubnetPoolIndex }
    ::= { snMspsDhcpV4SrvHostTable  1 }

SnMspsDhcpV4SrvHostEntry ::= SEQUENCE {
    snMspsDhcpV4SrvHostHwType Unsigned32,
    snMspsDhcpV4SrvHostClientId OCTET STRING,
    snMspsDhcpV4SrvHostAddress InetAddressIPv4,
    snMspsDhcpV4SrvHostComment OCTET STRING,
    snMspsDhcpV4SrvHostRowStatus RowStatus
}

snMspsDhcpV4SrvHostHwType       OBJECT-TYPE
    SYNTAX                      Unsigned32
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "The hardware type as defined in STD 2. E.g. a value of 1 means Ethernet,
        and a value 0 denotes a c a non-HW"
    REFERENCE
        "RFC 1700;
        RFC 3232;
        RFC 4361."
    ::= { snMspsDhcpV4SrvHostEntry 1 }

snMspsDhcpV4SrvHostClientId     OBJECT-TYPE
    SYNTAX                      OCTET STRING (SIZE(1..64))
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        The data part of the DHCP option."
    REFERENCE
        "RFC 2132;
        RFC 3942;
        RFC 4833."
    ::= { snMspsDhcpV4SrvHostEntry 2 }

snMspsDhcpV4SrvHostAddress      OBJECT-TYPE
    SYNTAX                      InetAddressIPv4
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The desired IP address."
    ::= { snMspsDhcpV4SrvHostEntry 3 }

snMspsDhcpV4SrvHostComment      OBJECT-TYPE
    SYNTAX                      OCTET STRING (SIZE(0..32))
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "The object represents the comment."
    ::= { snMspsDhcpV4SrvHostEntry 11 }

snMspsDhcpV4SrvHostRowStatus    OBJECT-TYPE
    SYNTAX                      RowStatus
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4SrvHostEntry 12 }

snMspsDhcpV4SrvBindTable        OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDhcpV4SrvBindEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDhcpV4ServerObjects  7 }

snMspsDhcpV4SrvBindEntry        OBJECT-TYPE
    SYNTAX                      SnMspsDhcpV4SrvBindEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDhcpV4SrvBindIpAddress }
    ::= { snMspsDhcpV4SrvBindTable  1 }

SnMspsDhcpV4SrvBindEntry ::= SEQUENCE {
      snMspsDhcpV4SrvBindIpAddress          IpAddress,
      snMspsDhcpV4SrvBindHwType             INTEGER,
      snMspsDhcpV4SrvBindHwAddress          OCTET STRING,
      snMspsDhcpV4SrvBindExpireTime         INTEGER,
      snMspsDhcpV4SrvBindAllocMethod        INTEGER,
      snMspsDhcpV4SrvBindState              INTEGER,
      snMspsDhcpV4SrvBindXid                Unsigned32,
      snMspsDhcpV4SrvBindPoolID             INTEGER,
	  snMspsDhcpV4SrvBindOptionCode82RemoteIdValue DisplayString,
	  snMspsDhcpV4SrvBindOptionCode82CircuitIdValue DisplayString
     }

snMspsDhcpV4SrvBindIpAddress  OBJECT-TYPE
  SYNTAX IpAddress 
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION 
      " IpAddress associated with the binding."
::= { snMspsDhcpV4SrvBindEntry 1 }

snMspsDhcpV4SrvBindHwType  OBJECT-TYPE
  SYNTAX INTEGER {
          clientid (0),
          ethernet (1),
          duid (255)
       }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
      " Hardware address type of the binding. Value 0,
      Indicates client identifier."
::= { snMspsDhcpV4SrvBindEntry 4 }

snMspsDhcpV4SrvBindHwAddress  OBJECT-TYPE
  SYNTAX OCTET STRING
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
      " Hardware address of the binding."
::= { snMspsDhcpV4SrvBindEntry 7 }

snMspsDhcpV4SrvBindExpireTime  OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
      " Indicates time remaining for the binding. Negative
      Values indicate already expired binding."
::= { snMspsDhcpV4SrvBindEntry 10 }

snMspsDhcpV4SrvBindAllocMethod  OBJECT-TYPE
  SYNTAX INTEGER {
          dynamic (1),
          static-leases  (2)
       }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
      " Indicates the binding is for statically assigned 
      ip-address or automatically assigned from the pool."
::= { snMspsDhcpV4SrvBindEntry 13 }

snMspsDhcpV4SrvBindState  OBJECT-TYPE
  SYNTAX INTEGER {
          offered  (1),
          assigned (2),
          probing  (5),
          unknown(10)
       }

  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
      " State of the binding. In offered state offer has been
      sent, but no req has been received from the client.In
      assigned state the address is assigned to the client.
      In probing state the address is currently being probed 
      by the dhcp server."
::= { snMspsDhcpV4SrvBindEntry 16 }

snMspsDhcpV4SrvBindXid OBJECT-TYPE
  SYNTAX  Unsigned32 
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "Transaction ID, a random number chosen by the
      client, used by the client and server to associate
      messages and responses between a client and a
      server."
  ::= { snMspsDhcpV4SrvBindEntry 19 }

snMspsDhcpV4SrvBindPoolID OBJECT-TYPE
  SYNTAX  INTEGER 
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
        "ID of pool containing the automatically assigned IpAddress."
  ::= { snMspsDhcpV4SrvBindEntry 22 }
    
snMspsDhcpV4SrvBindOptionCode82RemoteIdValue OBJECT-TYPE
  SYNTAX DisplayString (SIZE(0..256))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
		"Remote ID value. Empty, if Option 82 is not supported by device."
  ::= { snMspsDhcpV4SrvBindEntry 30 }

snMspsDhcpV4SrvBindOptionCode82CircuitIdValue OBJECT-TYPE
  SYNTAX DisplayString (SIZE(0..256))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION 
		"Circuit ID value. Empty, if Option 82 is not supported by device."
  ::= { snMspsDhcpV4SrvBindEntry 31 }
  
snMspsDhcpV4SrvSubnetOptionCode82Table        OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDhcpV4SrvSubnetOptionCode82Entry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "DHCP subnet option code 82 table"
    ::= { snMspsDhcpV4ServerObjects  12 }
	
snMspsDhcpV4SrvSubnetOptionCode82Entry        OBJECT-TYPE
    SYNTAX                      SnMspsDhcpV4SrvSubnetOptionCode82Entry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDhcpV4SrvSubnetPoolIndex, snMspsDhcpV4SrvSubnetOptionCode82AuxilaryIndex }
    ::= { snMspsDhcpV4SrvSubnetOptionCode82Table  1 }
	
SnMspsDhcpV4SrvSubnetOptionCode82Entry ::= SEQUENCE {
	snMspsDhcpV4SrvSubnetOptionCode82AuxilaryIndex Unsigned32,
    snMspsDhcpV4SrvSubnetOptionCode82RemoteIdValue DisplayString,
    snMspsDhcpV4SrvSubnetOptionCode82CircuitIdValue DisplayString,
    snMspsDhcpV4SrvSubnetOptionCode82RowStatus RowStatus
    }
	
snMspsDhcpV4SrvSubnetOptionCode82AuxilaryIndex       OBJECT-TYPE
    SYNTAX                      Unsigned32
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "Auxilary Index of snMspsDhcpV4SrvSubnetOptionCode82Table"
    ::= { snMspsDhcpV4SrvSubnetOptionCode82Entry 1 }
	
snMspsDhcpV4SrvSubnetOptionCode82RemoteIdValue OBJECT-TYPE
    SYNTAX                      DisplayString (SIZE(0..256))
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "Remote ID value"
	DEFVAL { "" }
    ::= { snMspsDhcpV4SrvSubnetOptionCode82Entry 2 }
	
snMspsDhcpV4SrvSubnetOptionCode82CircuitIdValue OBJECT-TYPE
    SYNTAX                      DisplayString (SIZE(0..256))
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "Remote ID value"
	DEFVAL { "" }
    ::= { snMspsDhcpV4SrvSubnetOptionCode82Entry 3 }
	
snMspsDhcpV4SrvSubnetOptionCode82RowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current 
    DESCRIPTION
       "This object is the status of the row "
    ::=  { snMspsDhcpV4SrvSubnetOptionCode82Entry 10 }  

--- snMspsDhcpV4SrvHostOptTable

      snMspsDhcpV4SrvHostOptTable   OBJECT-TYPE 
            SYNTAX SEQUENCE OF SnMspsDhcpV4SrvHostOptEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    "This table contains the  host specific options that
                    are to be used by the server on response to a DHCP 
                    DISCOVER message in a DHCP OFFER message."
            ::= { snMspsDhcpV4ServerObjects 13 }

       snMspsDhcpV4SrvHostOptEntry   OBJECT-TYPE 
            SYNTAX SnMspsDhcpV4SrvHostOptEntry 
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    "The various option objects common to all DHCP offer
                    messages." 
            INDEX { snMspsDhcpV4SrvHostType, snMspsDhcpV4SrvHostId,
                    snMspsDhcpV4SrvSubnetPoolIndex,snMspsDhcpV4SrvHostOptType }
            ::= { snMspsDhcpV4SrvHostOptTable 1 }

--
       SnMspsDhcpV4SrvHostOptEntry ::=
       SEQUENCE {
                    snMspsDhcpV4SrvHostType           INTEGER,
                    snMspsDhcpV4SrvHostId             OCTET STRING,
                    snMspsDhcpV4SrvHostOptType        INTEGER,
                    snMspsDhcpV4SrvHostOptLen         INTEGER,
                    snMspsDhcpV4SrvHostOptVal         OCTET STRING,
                    snMspsDhcpV4SrvHostOptRowStatus   RowStatus
                 }

        snMspsDhcpV4SrvHostType  OBJECT-TYPE
            SYNTAX INTEGER (1..2147483647) 
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    "This object identifies the type of host identifier, 
                    whether this host specific entry is based on hardware 
                    or non-hardware of the client. This option is one of 
                    the index in the snMspsDhcpV4SrvHostOptTable"
        ::= { snMspsDhcpV4SrvHostOptEntry 1 }

        snMspsDhcpV4SrvHostId  OBJECT-TYPE
            SYNTAX OCTET STRING(SIZE(0..64))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    "The object identifies the host.This id is an 
                    index to this table"
        ::= { snMspsDhcpV4SrvHostOptEntry 2 }

        snMspsDhcpV4SrvHostOptType  OBJECT-TYPE
            SYNTAX INTEGER (1..2147483647) 
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                    "The object identifies the option, this is the
                    tag octet of the DHCP option. This option is the
                    index in the snMspsDhcpV4SrvSubnetOptTable."
        ::= { snMspsDhcpV4SrvHostOptEntry 3 }

        snMspsDhcpV4SrvHostOptLen  OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION 
                    "This object identifies the length of the option
                    indicated by the option type. This length does not
                    include the two octets specifiying the tag and length. "
        ::= { snMspsDhcpV4SrvHostOptEntry 4 }


        snMspsDhcpV4SrvHostOptVal  OBJECT-TYPE
            SYNTAX OCTET STRING 
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION 
                    "This object identifies the octets of data, of length
                    specified by snMspsDhcpV4SrvHostOptLen for that entry. "
        ::= { snMspsDhcpV4SrvHostOptEntry 5 }


        snMspsDhcpV4SrvHostOptRowStatus  OBJECT-TYPE
            SYNTAX  RowStatus
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION 
                    "Row status of this entry."
        ::= { snMspsDhcpV4SrvHostOptEntry 10 }

snMspsDhcpV6ServerObjects       OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION
        "The MIB objects in this group define the Management Information Base
        for a Dynamic Host Configuration Protocol (DHCP) server implementation."
    ::= { snMspsDhcpServerObjects  6 }


    
-- ----------------------------------------------------------------
-- MSPS COS Mapping Group Objects
-- ----------------------------------------------------------------

-- --------------------------------------------------------------
-- QoS COS Mapping Sub-Group
-- --------------------------------------------------------------
snMspsCosMappingTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsCosMappingEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "COS to queue mapping table."
	    ::= { snMspsQosCos 1 }

snMspsCosMappingEntry  OBJECT-TYPE
	    SYNTAX  SnMspsCosMappingEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "COS to queue mapping table rows entries."
	    INDEX   { snMspsCosMappingIndex }
	    ::= { snMspsCosMappingTable 1 }

SnMspsCosMappingEntry ::= SEQUENCE {
	    snMspsCosMappingIndex     INTEGER,
	    snMspsCosMappingQueue     INTEGER
	    }

snMspsCosMappingIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (0..7)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Indicates the values of the Vlan Priority field
                     within the incoming packet. Index is not zero based."
	    ::= { snMspsCosMappingEntry 1 }

snMspsCosMappingQueue  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Indicates the queue to which packets with the specific Vlan priority values are assigned,
	    		where zero is the lowest queue priority."
		::= { snMspsCosMappingEntry 2 }		


    
-- ----------------------------------------------------------------
-- MSPS DSCP Mapping Group Objects
-- ----------------------------------------------------------------

-- ----------------------------------------------------------------
-- MSPS Component Objects:  DSCP Mapping MIB
-- ----------------------------------------------------------------

snMspsDscpMappingEnable  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
          disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enables/Disables DSCP (DiffServ Code Point) to queues mapping."
	    ::= { snMspsQosDscp 1 }

-- --------------------------------------------------------------
-- QoS DSCP Mapping Sub-Group
-- --------------------------------------------------------------
snMspsDscpMappingTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsDscpMappingEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "DSCP to queue mapping table."
	    ::= { snMspsQosDscp 2 }

snMspsDscpMappingEntry  OBJECT-TYPE
	    SYNTAX  SnMspsDscpMappingEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "DSCP to queue mapping table rows entries."
	    INDEX   { snMspsDscpMappingIndex }
	    ::= { snMspsDscpMappingTable 1 }

SnMspsDscpMappingEntry ::= SEQUENCE {
	    snMspsDscpMappingIndex     INTEGER,
	    snMspsDscpMappingQueue     INTEGER
	    }

snMspsDscpMappingIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (0..63)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Indicates the values of the DSCP (DiffServ Code Point)
	    		field within the incoming packet. Index is not zero based."
	    ::= { snMspsDscpMappingEntry 1 }

snMspsDscpMappingQueue  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Indicates the queue to which packets with the specific DSCP value are assigned,
	    		where zero is the lowest queue priority."
		::= { snMspsDscpMappingEntry 2 }		



snMspsACLControl  OBJECT-TYPE
        SYNTAX  INTEGER {
          no-operation(1),
          start-learning(2),
          stop-learning(3), 
          clear-static(4),
          learning-in-progress(5)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Control Object for ACL Learning."
        ::= { snMspsAcl 1 } 

-- snMspsAcl 2-3 reserved  

-- ------------------------------------------------------------------ 
-- L2 Filter Group --------------------------------------------------
-- ------------------------------------------------------------------

snMspsAclL2FilterTable OBJECT-TYPE 

   SYNTAX      SEQUENCE OF SnMspsAclL2FilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to configure L2 filter rules in the system."
   ::= { snMspsAcl 4 }

snMspsAclL2FilterEntry OBJECT-TYPE 
   SYNTAX      SnMspsAclL2FilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "Each entry in this table is a L2 filter rule.
   
       Index to the table is the L2 filter number."
   INDEX { snMspsAclL2FilterNo}
   ::= { snMspsAclL2FilterTable 1 }
   
SnMspsAclL2FilterEntry ::= 
   SEQUENCE { 
      snMspsAclL2FilterNo 
         Integer32, 
      snMspsAclL2FilterPriority 
         Integer32, 
      snMspsAclL2FilterEtherType
         Integer32, 
      snMspsAclL2FilterProtocolType 
         Unsigned32, 
      snMspsAclL2FilterDstMacAddr 
         MacAddress, 
      snMspsAclL2FilterSrcMacAddr 
         MacAddress, 
      snMspsAclL2FilterVlanId 
         Integer32,
      snMspsAclL2FilterInPortList 
         PortList,
      snMspsAclL2FilterAction 
         INTEGER, 
      snMspsAclL2FilterMatchCount
         Counter32, 
      snMspsAclL2FilterStatus
         RowStatus,
      snMspsAclL2FilterOutPortList 
         PortList,
      snMspsAclL2FilterDirection
         INTEGER

  }

snMspsAclL2FilterNo OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "L2 Filter rule number."
   ::= { snMspsAclL2FilterEntry 1 }
    
snMspsAclL2FilterPriority OBJECT-TYPE 
   SYNTAX      Integer32 (1..255)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The priority of the L2 filter can be used to decide which filter rule
       is applicable when 
          --> the packet matches with more than one filter rules
          --> All the filter rules result in 'allow'ing the packet

      Higher value of 'filter priority' implies a higher priority.

      Usage of 'L2FilterPriority' is implementation dependant."
   DEFVAL  { 1 }
   ::= { snMspsAclL2FilterEntry 2 }

snMspsAclL2FilterEtherType OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The value in the Type/Len field of a frame that will
      be matched to trigger this filter. The default value of
      this object is '0'. When this object is SET with the default
      value, frames are not matched for the value in the Type/Len
      field with the value set for this object."
   DEFVAL  { 0 }
   ::= { snMspsAclL2FilterEntry 3 }

   
snMspsAclL2FilterProtocolType OBJECT-TYPE 
   SYNTAX      Unsigned32 (0..65535) 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the non IP protocol type to be filtered.
       aarp | amber | dec-spanning | decnet-iv | 
       diagnostic | dsm |etype-6000 | etype-8042 | 
       lat | lavc-sca | mop-console | mop-dump | 
       msdos | mumps | netbios | vines-echo |
       vines-ip | xns-idp: A non-IP protocol.

      A value of '0' means, the filter is applicable for all protocols."
   DEFVAL  { 0 }
   ::= { snMspsAclL2FilterEntry 4 }

snMspsAclL2FilterDstMacAddr OBJECT-TYPE 
   SYNTAX      MacAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Destination MAC address to be matched with the packet. By Default, the
       Destination Mac Address will be zero which means dont care condition ie)
       any Dst Mac Address ."
   ::= { snMspsAclL2FilterEntry 5 }

snMspsAclL2FilterSrcMacAddr OBJECT-TYPE 
   SYNTAX      MacAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Source MAC address to be matched with the packet. By Default, the Source 
       Mac Address will be zero which means dont care condition ie) any Src Mac 
       address"
   ::= { snMspsAclL2FilterEntry 6 }


snMspsAclL2FilterVlanId OBJECT-TYPE 
   SYNTAX      Integer32 (0..4094)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Vlan Id to be filtered. In case of Provider bridges, This Vlan Id will
      be treated as customer Vlan Id. 
      A value of '0' means, this object is unused. Configuring this value is not
      allowed."
   DEFVAL  { 0 }
   ::= { snMspsAclL2FilterEntry 7 }


snMspsAclL2FilterInPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which this filter is applied
       for packets ingress at ports in this list.
       If the In port list is '0', the filter rule is not applicable for any 
       incoming packets.
       By default inport list is maintained as '0'." 
   ::= { snMspsAclL2FilterEntry 8 }

snMspsAclL2FilterAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  allow (1),
                  drop  (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken on the packet if the filter
      rule matches.
      If the action is 'allow', the packet will be forwarded according
      to the forwarding rules.
      If the action is 'drop', the packet will be discarded."
   DEFVAL  { allow } 
   ::= { snMspsAclL2FilterEntry 9 }

snMspsAclL2FilterMatchCount OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is matched."

   ::= { snMspsAclL2FilterEntry 10 }

snMspsAclL2FilterStatus OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
   ::= { snMspsAclL2FilterEntry 11 }

snMspsAclL2FilterOutPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which this filter is applied
       for packets egress at Ports in this list.
      If the Out port list is '0', the filter rule is not applicable for  any 
      outgoing packets.
      By default outport list is maintained as '0'." 
   ::= { snMspsAclL2FilterEntry 12 }
   
snMspsAclL2FilterDirection OBJECT-TYPE 
   SYNTAX      INTEGER {
                    in (1),
                    out (2),
                    in-out (3)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the direction of this filter to be applied. By Default the
      filter will be applied on ingress direction.
      When the direction of this filter is 'in', It is applied on specified
      ports of the snMspsAclL2FilterInPortList.
      When the direction of this filter is 'out', It is applied on specified
      ports of the snMspsAclL2FilterOutPortList.
      When the direction of this filter is 'in-out', It is applied on specified
      ports of the snMspsAclL2FilterInPortList and snMspsAclL2FilterOutPortList.
      It will be changed to 'in-out' automatically, if ingress and egress port list are set."
   DEFVAL  { in } 
   ::= { snMspsAclL2FilterEntry 13 }

-- ------------------------------------------------------------------ 
-- L3 Filter Group --------------------------------------------------
-- ------------------------------------------------------------------

snMspsAclL3FilterTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsAclL3FilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       " A table to configure L3 filter rules in the system.
       "
   ::= { snMspsAcl 5 }

snMspsAclL3FilterEntry OBJECT-TYPE 
   SYNTAX      SnMspsAclL3FilterEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       " Each entry in this table is a L3 filter rule.
         Index to the table is L3 filter number. "
   INDEX { snMspsAclL3FilterNo}
   ::= { snMspsAclL3FilterTable 1 }
   
SnMspsAclL3FilterEntry ::= 
   SEQUENCE { 
      snMspsAclL3FilterNo 
         Integer32, 
      snMspsAclL3FilterPriority 
         Integer32, 
      snMspsAclL3FilterProtocol  
         Integer32, 
      snMspsAclL3FilterMessageType 
         Integer32, 
      snMspsAclL3FilterMessageCode 
         Integer32, 
      snMspsAclL3FilteAddrType     
         InetAddressType,
      snMspsAclL3FilterDstIpAddr
         InetAddress, 
      snMspsAclL3FilterSrcIpAddr 
         InetAddress, 
      snMspsAclL3FilterDstIpAddrPrefixLength 
         InetAddressPrefixLength,
      snMspsAclL3FilterSrcIpAddrPrefixLength 
         InetAddressPrefixLength,
      snMspsAclL3FilterMinDstProtPort
         Unsigned32, 
      snMspsAclL3FilterMaxDstProtPort
         Unsigned32, 
      snMspsAclL3FilterMinSrcProtPort
         Unsigned32, 
      snMspsAclL3FilterMaxSrcProtPort
         Unsigned32, 
      snMspsAclL3FilterInPortList 
         PortList,
      snMspsAclL3FilterOutPortList 
         PortList, 
      snMspsAclL3FilterAckBit
         INTEGER,
      snMspsAclL3FilterRstBit
         INTEGER,
      snMspsAclL3FilterTos
         Integer32,
      snMspsAclL3FilterDscp
         Integer32,
      snMspsAclL3FilterDirection
         INTEGER, 
      snMspsAclL3FilterAction 
         INTEGER, 
      snMspsAclL3FilterMatchCount
         Counter32, 
      snMspsAclL3FilterFlowId
         Unsigned32,
      snMspsAclL3FilterStatus
         RowStatus
  }

snMspsAclL3FilterNo OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "L3 Filter rule number."
   ::= { snMspsAclL3FilterEntry 1 }
    
snMspsAclL3FilterPriority OBJECT-TYPE 
   SYNTAX      Integer32 (1..255)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The priority of the filter can be used to decide which filter rule
       is applicable when 
          --> the packet matches with more than one filter rules
          --> All the filter rules result in 'allow'ing the packet

      Higher value of 'L3 filter priority' implies a higher priority.
      Usage of 'L3FilterPriority' is implementation dependant."
   DEFVAL  { 1 }
   ::= { snMspsAclL3FilterEntry 2 }
   
snMspsAclL3FilterProtocol OBJECT-TYPE 
   SYNTAX      Integer32 (0..255)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      " The type of protocol to be checked against the packet. The
      default value is 255. If the value is 255, it means that the
      protocol type can be anything and it will not be checked to 
      decide the action. "
   DEFVAL   { 255 }
   ::= { snMspsAclL3FilterEntry 3 }
   
snMspsAclL3FilterMessageType OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
     " The message type to be checked against the packet. If the
      message type matches with the packet, then the packet will be
      dropped / allowed based on the action set in snMspsAclL3FilterAction.
      The default value is 255. It means that message type is not
      configured and need not be checked.
      Generally the value zero is given as default. But here
      zero can be an ICMP Type value. Hence 255 is given as the
      default value. 
      Some ICMP message types are: 
           echoReply(0),
           destinationUnreachable(3),
           sourceQuench(4),
           redirect(5),
           echoRequest(8),
           timeExceeded(11),
           parameterProblem(12),
           timestampRequest(13),
           timestampReply(14),
           informationRequest(15),
           informationReply(16),
           addressMaskRequest(17),
           addressMaskReply (18),
           noICMPType(255)
      "
   DEFVAL  { 255 }
   ::= { snMspsAclL3FilterEntry 4 }

snMspsAclL3FilterMessageCode OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      " The message code to be checked against the packet. If the
      packet matches with the message code, then the packet will
      be dropped / allowed based on the action set in snMspsAclL3FilterAction.
      The default value is 255. It means that message code is not 
      configured and need not be checked. Generally the value zero 
      will be given as default. But here, zero can be an ICMP Code 
      value. Hence 255 is given as the default value.
      Some ICMP message codes are :
           networkUnreachable(0),
           hostUnreachable(1),
           protocolUnreachable(2),
           portUnreachable(3),
           fragmentNeed(4),
           sourceRouteFail(5),
           destNetworkUnknown(6),
           destHostUnknown(7),
           srcHostIsolated(8),
           destNetworkAdminProhibited(9),
           destHostAdminProhibited(10),
           networkUnreachableTOS(11),
           hostUnreachableTOS(12),
           noICMPCode(255) 
      "
   DEFVAL   { 255 }
   ::= { snMspsAclL3FilterEntry 5 }     
   
snMspsAclL3FilteAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
       "The type of IP address used by this classifier entry.  While
       other types of addresses are defined in the InetAddressType

       textual convention, and DNS names, a classifier can only look at
       packets on the wire. Therefore, this object is limited to IPv4
       and IPv6 addresses."
    ::= { snMspsAclL3FilterEntry 6 }


snMspsAclL3FilterDstIpAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
       "The IP address to match against the packet's destination IP
       address. This may not be a DNS name, but may be an IPv4 or IPv6
       prefix.  snMspsAclL3FilterDstIpAddrPrefixLength indicates the
       number of bits that are relevant."
    ::= { snMspsAclL3FilterEntry 7 }
    
snMspsAclL3FilterSrcIpAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
       "The IP address to match against the packet's source IP address.
       This may not be a DNS name, but may be an IPv4 or IPv6 prefix.
       snMspsAclL3FilterSrcIpAddrPrefixLength indicates the number of
       bits that are relevant."
    ::= { snMspsAclL3FilterEntry 8 }


snMspsAclL3FilterDstIpAddrPrefixLength OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    UNITS          "bits"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
       "The length of the CIDR Prefix carried in
       snMspsAclL3FilterDstIpAddr. In IPv4 addresses, a length of 0
       indicates a match of any address; a length of 32 indicates a
       match of a single host address, and a length between 0 and 32
       indicates the use of a CIDR Prefix. IPv6 is similar, except that
       prefix lengths range from 0..128."
    DEFVAL         { 0 }
    ::= { snMspsAclL3FilterEntry 9 }


snMspsAclL3FilterSrcIpAddrPrefixLength OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    UNITS          "bits"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION

       "The length of the CIDR Prefix carried in
       snMspsAclL3FilterSrcIpAddr. In IPv4 addresses, a length of 0
       indicates a match of any address; a length of 32 indicates a
       match of a single host address, and a length between 0 and 32
       indicates the use of a CIDR Prefix. IPv6 is similar, except that
       prefix lengths range from 0..128."
    DEFVAL         { 0 }
    ::= { snMspsAclL3FilterEntry 10 }

snMspsAclL3FilterMinDstProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The minimum port in the destination port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 0 }
   ::= { snMspsAclL3FilterEntry 11 }

snMspsAclL3FilterMaxDstProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The maximum port in the destination port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 65535 }
   ::= { snMspsAclL3FilterEntry 12 }

snMspsAclL3FilterMinSrcProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The minimum port in the source port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 0 }
   ::= { snMspsAclL3FilterEntry 13 }

snMspsAclL3FilterMaxSrcProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The maximum port in the source port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 65535 }
   ::= { snMspsAclL3FilterEntry 14 }

snMspsAclL3FilterInPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which if the packet arrives
      this filter rule will be applicable.
      If the incoming port list is '0', the filter rule is not applicable for any 
      incoming ports.
      By default inport list is maintained as '0'." 
   ::= { snMspsAclL3FilterEntry 15 }

snMspsAclL3FilterOutPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which if the packet goes out, 
      this filter rule will be applicable.
      If the outgoing port list is '0', the filter rule is not applicable for any 
      outgoing packets.
      By default outport list is maintained as '0'." 
   ::= { snMspsAclL3FilterEntry 16 }

snMspsAclL3FilterAckBit		OBJECT-TYPE
	SYNTAX	INTEGER	{
						establish(1),
						notEstablish(2),
					  	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP ACK bit to be checked against the packet. The default 
		value is 'any'(3). It means that ACK bit will not be checked 
            	to decide the action. "
	DEFVAL	{ any }
	::= { snMspsAclL3FilterEntry 17 }

snMspsAclL3FilterRstBit	 OBJECT-TYPE
	SYNTAX	INTEGER	{
						set(1),
						notSet(2),
				     	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP RST bit to be checked against the packet. The default 
		value is 'any'(3). It means that RST bit will not be checked to 
		decide the action. "
	DEFVAL	{ any }
	::= { snMspsAclL3FilterEntry 18 }

snMspsAclL3FilterTos		OBJECT-TYPE
	SYNTAX		Integer32 (-1..7)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The IP TOS bit to be checked against the packet. This is a 
		single byte integer of which the last three bits (least 
      significant bits) indicate Delay, Throughput and Reliability 
      i.e 'uuuuudtr', u-unused, d-delay, t-throughput, r-reliability.
		For example '6' indicates low delay and high throughput. 
                A value of '-1' means, the Tos Field becomes dont care"
	DEFVAL	{ -1 }
	::= { snMspsAclL3FilterEntry 19 }

snMspsAclL3FilterDscp		OBJECT-TYPE
	SYNTAX		Integer32 (-1..63)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The IP Dscp value to be checked against the packet. 
        A value of '-1' means, the Dscp Field becomes dont care."
	DEFVAL	{ -1 }
	::= { snMspsAclL3FilterEntry 20 }

snMspsAclL3FilterDirection OBJECT-TYPE 
   SYNTAX      INTEGER {
                          in (1),
                          out(2),
                          in-out(3) 
                       } 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the direction of this filter to be applied. By Default the
      filter will be applied on ingress direction.
      When the direction of this filter is 'in', It is applied on specified
      ports of the snMspsAclL3FilterInPortList.
      When the direction of this filter is 'out', It is applied on specified
      ports of the snMspsAclL3FilterOutPortList.
      When the direction of this filter is 'in-out', It is applied on specified
      ports of the snMspsAclL3FilterInPortList and snMspsAclL3FilterOutPortList.
      It will be changed to 'in-out' automatically, if ingress and egress port list are set."
   DEFVAL	{ in }
   ::= { snMspsAclL3FilterEntry 21 }

snMspsAclL3FilterAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  allow (1),
                  drop  (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken on the packet if the filter
      rule matches.
      
      If the action is 'allow', the packet will be sent to the
      ports in 'out port list'. If the out port list is '0', 
      the port over which the packet is to be switched will be decided
      based on further processing on the packet.

      If the action is 'drop', the packet will be discarded."

   DEFVAL  { allow } 
   ::= { snMspsAclL3FilterEntry 22 }

snMspsAclL3FilterMatchCount OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is matched."

   ::= { snMspsAclL3FilterEntry 23 }
   
snMspsAclL3FilterFlowId OBJECT-TYPE
    SYNTAX         Unsigned32 (0..1048575)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION
       "The flow identifier in an IPv6 header."
    ::= { snMspsAclL3FilterEntry 24 }

snMspsAclL3FilterStatus OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
   ::= { snMspsAclL3FilterEntry 25 }


-- ------------------------------------------------------------------ 
-- ACL RULE Precedence Table-----------------------------------------
-- ------------------------------------------------------------------

snMspsAclPreOrder                OBJECT IDENTIFIER ::= { snMspsAcl 8 }

snMspsAclPreOrderTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsAclPreOrderEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of ACL Rule Order Precedence information interface entries."
    ::= { snMspsAclPreOrder 1 }

snMspsAclPreOrderEntry OBJECT-TYPE
    SYNTAX      SnMspsAclPreOrderEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing ACL Rule Order Precedence to a
            particular interface."
    INDEX   { snMspsAclPreOrderIfIndex }

    ::= { snMspsAclPreOrderTable 1 }

SnMspsAclPreOrderEntry ::=
    SEQUENCE {
        snMspsAclPreOrderIfIndex                 InterfaceIndex,
        snMspsAclPreOrderMACInFilterList         OCTET STRING,
        snMspsAclPreOrderMACOutFilterList        OCTET STRING,
        snMspsAclPreOrderIPInFilterList          OCTET STRING,
        snMspsAclPreOrderIPOutFilterList         OCTET STRING
    }

snMspsAclPreOrderIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A unique value, greater than zero, of the interface."
    ::= { snMspsAclPreOrderEntry 1 }

snMspsAclPreOrderMACInFilterList OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The list of MAC in filrers added for this Interface with precedence order of the ACL rule.
             each octet from left to right repesent the ACL Rule Index. length of zero means no filter
             configured for this interface on this type of filters."
    ::= { snMspsAclPreOrderEntry 2 }

snMspsAclPreOrderMACOutFilterList OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The list of MAC out  filrers added for this Interface with precedence order of the ACL rule.
             each octet from left to right repesent the ACL Rule Index. length of zero means no filter
             configured for this interface on this type of filters."
    ::= { snMspsAclPreOrderEntry 3 }

snMspsAclPreOrderIPInFilterList OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The list of IP in filrers added for this Interface with precedence order of the ACL rule.
             each octet from left to right repesent the ACL Rule Index. length of zero means no filter
             configured for this interface on this type of filters."
    ::= { snMspsAclPreOrderEntry 4 }

snMspsAclPreOrderIPOutFilterList OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The list of IP out  filrers added for this Interface with precedence order of the ACL rule.
             each octet from left to right repesent the ACL Rule Index. length of zero means no filter
             configured for this interface on this type of filters."
    ::= { snMspsAclPreOrderEntry 5 } 
 
   
 
-- ---------------------------------------------------------- -- 
-- Textual Conventions 
-- ---------------------------------------------------------- -- 
 
 
       AuthenticMethod ::= TEXTUAL-CONVENTION 
          STATUS      current 
          DESCRIPTION 
             "The Authentication method is using Remote Authentication 
             Server or Local Authentication Server." 
          SYNTAX      INTEGER { 
                          remoteServer(1), 
                          localServer(2) 
                      } 
 
       RemoteAuthServerType ::= TEXTUAL-CONVENTION 
          STATUS      current 
          DESCRIPTION 
             "This indicates which Remote Server is to provide the 
              authentication. Currently supported servers are RADIUS
              Server and Terminal Access Controller Access-Control 
              System Plus (TACACS+) Server." 
          SYNTAX      INTEGER {                           
                          radiusServer(1), 
                          tacacsplusServer(2) 
                      } 

	   PermissionType ::= TEXTUAL-CONVENTION 
          STATUS      current 
          DESCRIPTION 
             "The permission values." 
          SYNTAX       INTEGER { 
                           allow(1), 
                           deny(2) 
                       } 

 	  snMspsPnacAuthReAuthEnabled OBJECT-TYPE 
          SYNTAX      TruthValue 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "This object is used to configure ReAuthentication on
              all the ports. Setting this object will inturn set
              enable/disable control used by the Reauthentication
              Timer state machine (8.5.5.1) for all the ports.
              (Sets Port specific dot1xAuthReAuthEnabled from 
              the standard pnac MIB)."
           ::= { snMspsPnac 1 } 
 
 	  snMspsPnacAuthenticServer OBJECT-TYPE 
          SYNTAX      AuthenticMethod 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "This object is used to configure for the choice of  
              local or remote Authentication Server to be used by 
              the Authenticator for its authentication services." 
           ::= { snMspsPnac 2 } 
            
      snMspsPnacNasId OBJECT-TYPE 
          SYNTAX      DisplayString(SIZE(0..16)) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION  
              "This object is the Network Access Server Identifier 
              to be presented before the remote Authentication 
              Server." 
          ::= { snMspsPnac 3 }         

-- snMspsPnac 4-6 reserved
	  snMspsPnacRemoteAuthServerType OBJECT-TYPE 
          SYNTAX      RemoteAuthServerType 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "This object is used by the Authenticator for its 
              authentication services, to configure the choice of  
              RADIUS or TACACS+ remote authentication servers when
              the authentication method is through a remote server,
              that is, this object can be configured only if 
              snMspsPnacAuthenticServer is set to remoteServer." 
        DEFVAL  { 1 } 
        ::= { snMspsPnac 7 } 

-- snMspsPnac 8-9 reserved

-- Authenticator Session Table 
 
      snMspsPnacAuthSessionTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsPnacAuthSessionEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains authentication session information 
             associated with each Supplicant while Authenticator 
             operates in MAC based authentication mode." 
          ::= { snMspsPnac 10 } 
 
 
      snMspsPnacAuthSessionEntry OBJECT-TYPE 
          SYNTAX      SnMspsPnacAuthSessionEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Supplicant's MAC address and session ID, states of 
             Authenticator state machine and Backend state machine 
             for the session." 
          INDEX { snMspsPnacAuthSessionSuppAddress } 
          ::= { snMspsPnacAuthSessionTable 1 } 
 
 
      SnMspsPnacAuthSessionEntry ::= 
          SEQUENCE { 
             snMspsPnacAuthSessionSuppAddress 
                 MacAddress, 
             snMspsPnacAuthSessionIdentifier 
                 Integer32, 
             snMspsPnacAuthSessionAuthPaeState 
                 INTEGER, 
             snMspsPnacAuthSessionBackendAuthState 
                 INTEGER, 
             snMspsPnacAuthSessionPortStatus 
                 INTEGER, 
             snMspsPnacAuthSessionPortNumber 
                 InterfaceIndex, 
             snMspsPnacAuthSessionInitialize 
                 TruthValue, 
             snMspsPnacAuthSessionReauthenticate 
                 TruthValue 
          } 
 
      snMspsPnacAuthSessionSuppAddress OBJECT-TYPE 
           SYNTAX      MacAddress 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "MAC address of the supplicant for this session." 
           ::= { snMspsPnacAuthSessionEntry 1 } 
 
 
      snMspsPnacAuthSessionIdentifier OBJECT-TYPE 
           SYNTAX      Integer32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Session identifier of the supplicant for this  
               session." 
           ::= { snMspsPnacAuthSessionEntry 2 } 
 
 
      snMspsPnacAuthSessionAuthPaeState OBJECT-TYPE 
           SYNTAX      INTEGER { 
                           initialize(1), 
                           disconnected(2), 
                           connecting(3), 
                           authenticating(4), 
                           authenticated(5), 
                           aborting(6), 
                           held(7), 
                           forceAuth(8), 
                           forceUnauth(9) 
                       } 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Authenticator state machine's state for this  
               session." 
           ::= { snMspsPnacAuthSessionEntry 3 } 
 
 
      snMspsPnacAuthSessionBackendAuthState OBJECT-TYPE 
           SYNTAX      INTEGER { 
                           request(1), 
                           response(2), 
                           success(3), 
                           fail(4), 
                           timeout(5), 
                           idle(6), 
                           initialize(7) 
                       } 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Backend state machine's state for this session." 
           ::= { snMspsPnacAuthSessionEntry 4 } 
 
 
      snMspsPnacAuthSessionPortStatus OBJECT-TYPE 
           SYNTAX      PaeControlledPortStatus 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The current value of the controlled Port status 
               parameter for this session." 
           ::= { snMspsPnacAuthSessionEntry 5 } 
 
 
      snMspsPnacAuthSessionPortNumber OBJECT-TYPE 
           SYNTAX      InterfaceIndex 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The Port in which this session is proceeding." 
           ::= { snMspsPnacAuthSessionEntry 6 } 
 
 
      snMspsPnacAuthSessionInitialize OBJECT-TYPE 
           SYNTAX      TruthValue 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "The initialization control for this Supplicant MAC 
               address. Setting this attribute TRUE causes the 
               Supplicant session with this MAC address, to be  
               initialized. The attribute value reverts to FALSE  
               once initialization has completed." 
           ::= { snMspsPnacAuthSessionEntry 7 } 
 
 
      snMspsPnacAuthSessionReauthenticate OBJECT-TYPE 
           SYNTAX      TruthValue 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "The reauthentication control for this Supplicant MAC 
               address. Setting this attribute TRUE causes the  
               Authenticator PAE state machine for this MAC address 
               to reauthenticate the Supplicant. Setting this  
               attribute FALSE has no effect.  
               This attribute always returns FALSE when it is read." 
           ::= { snMspsPnacAuthSessionEntry 8 } 

 
-- PNAC Local Authentication Server User Configuration Table 
 
      snMspsPnacASUserConfigTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsPnacASUserConfigEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains authentication related User 
             configuration information maintained by PNAC 
             local Authentication Server." 
          ::= { snMspsPnac 11 } 
 
 
      snMspsPnacASUserConfigEntry OBJECT-TYPE 
          SYNTAX      SnMspsPnacASUserConfigEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Each entry contains User name, Password, Authentication  
             protocol used, Authenticated session timeout and Access 
             ports list of the User seeking authentication." 
          INDEX { snMspsPnacASUserConfigUserName } 
          ::= { snMspsPnacASUserConfigTable 1 } 
 
 
      SnMspsPnacASUserConfigEntry ::= 
          SEQUENCE { 
             snMspsPnacASUserConfigUserName 
                 OCTET STRING, 
             snMspsPnacASUserConfigPassword 
                 DisplayString, 
             snMspsPnacASUserConfigAuthProtocol 
                 Unsigned32, 
             snMspsPnacASUserConfigAuthTimeout 
                 Unsigned32, 
             snMspsPnacASUserConfigPortList 
                 PortList, 
             snMspsPnacASUserConfigPermission 
                 PermissionType, 
             snMspsPnacASUserConfigRowStatus 
                 RowStatus 
          } 
 
 
      snMspsPnacASUserConfigUserName OBJECT-TYPE 
           SYNTAX      OCTET STRING (SIZE(0..115))
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "Identity of the User seeking authentication. A string 
               of not more than 20 printable characters." 
           ::= { snMspsPnacASUserConfigEntry 1 } 
 
 
      snMspsPnacASUserConfigPassword OBJECT-TYPE 
           SYNTAX      DisplayString (SIZE(1..20)) 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "The secret Password of the User. A string of not 
               more than 20 printable characters.
           
               When read, this always returns a String 
               of length zero."
           ::= { snMspsPnacASUserConfigEntry 2 } 
 
            
      snMspsPnacASUserConfigAuthProtocol OBJECT-TYPE 
           SYNTAX      Unsigned32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The Authentication protocol supported for the User." 
           ::= { snMspsPnacASUserConfigEntry 3 } 
 
  
      snMspsPnacASUserConfigAuthTimeout OBJECT-TYPE 
           SYNTAX      Unsigned32 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "The time in seconds after which the Authentication  
               offerred to the User ceases. Maximum value of the 
               object can be 7200 seconds. When the object value 
               is 0, the ReAuthPeriod of the Authenticator port is 
               used by Authenticator." 
           ::= { snMspsPnacASUserConfigEntry 4 } 
 
 
      snMspsPnacASUserConfigPortList OBJECT-TYPE 
            SYNTAX     PortList 
            MAX-ACCESS read-write 
            STATUS     current 
            DESCRIPTION 
                "The complete set of ports of Authenticator to 
                which the User is allowed or denied access, on the 
                basis of setting of 'snMspsPnacASUserConfigPermission'  
                object." 
            ::= { snMspsPnacASUserConfigEntry 5 } 
 
 
       snMspsPnacASUserConfigPermission OBJECT-TYPE 
            SYNTAX      PermissionType 
            MAX-ACCESS  read-write 
            STATUS      current 
            DESCRIPTION 
                "For the set of ports indicated by  
                'snMspsPnacASUserConfigPortList' object, the User is 
                allowed access when this object is set 'allow' and  
                is denied access when this object is set 'deny'." 
            ::= { snMspsPnacASUserConfigEntry 6 } 
      
 
      snMspsPnacASUserConfigRowStatus OBJECT-TYPE 
           SYNTAX      RowStatus 
           MAX-ACCESS  read-create 
           STATUS      current 
           DESCRIPTION 
               "The Row status of this entry." 
           ::= { snMspsPnacASUserConfigEntry 7 } 

-- Pae Port Table extensions 
 
 
      snMspsPnacPaePortTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsPnacPaePortEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "A table of system level information for each port 
             supported by the device PNAC. An entry appears in this 
             table for each port of this system. This table is an 
             extension of dot1xPaePortTable of IEEE 802.1x MIB." 
          ::= { snMspsPnac 12 } 
 
 
      snMspsPnacPaePortEntry OBJECT-TYPE 
          SYNTAX      SnMspsPnacPaePortEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Configuration as port based or MAC based authentication 
             and Supplicant count on a port. Index to this table is 
             same as that of the dot1xPaePortTable, which is the 
             InterfaceIndex." 
          INDEX { snMspsPnacPaePortNumber } 
          ::= { snMspsPnacPaePortTable 1 } 
 
 
      SnMspsPnacPaePortEntry ::= 
          SEQUENCE { 
             snMspsPnacPaePortNumber 
                 InterfaceIndex, 
             snMspsPnacPaePortAuthMode 
                 INTEGER, 
             snMspsPnacPaePortSupplicantCount 
                 Counter32, 
             snMspsPnacPaePortUserName 
                 DisplayString, 
             snMspsPnacPaePortPassword 
                 DisplayString, 
             snMspsPnacPaePortStatus 
                 INTEGER,
	     snMspsPnacPaePortReAuthEnabled
		 TruthValue
          } 
 
 
      snMspsPnacPaePortNumber OBJECT-TYPE 
           SYNTAX      InterfaceIndex 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "The port number associated with this port." 
           ::= { snMspsPnacPaePortEntry 1 } 
 
 
      snMspsPnacPaePortAuthMode OBJECT-TYPE 
           SYNTAX      INTEGER { 
                           portBased(1), 
                           macBased(2) 
                       } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Configuration of the port, for Port Based  
               Authentication or MAC Based Authentication." 
           ::= { snMspsPnacPaePortEntry 2 } 
 
 
      snMspsPnacPaePortSupplicantCount OBJECT-TYPE 
           SYNTAX      Counter32 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Number of Supplicants connected in the port." 
           ::= { snMspsPnacPaePortEntry 3 } 
 
 
      snMspsPnacPaePortUserName OBJECT-TYPE 
           SYNTAX      DisplayString (SIZE(4..63)) 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "User name to be used in this port, while operating 
               as a Supplicant." 
           ::= { snMspsPnacPaePortEntry 4 } 
 
 
      snMspsPnacPaePortPassword OBJECT-TYPE 
           SYNTAX      DisplayString (SIZE(4..20)) 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "User password to be used in this port, while 
               operating as a Supplicant." 
           ::= { snMspsPnacPaePortEntry 5 } 
 
      snMspsPnacPaePortStatus OBJECT-TYPE 
           SYNTAX      PaeControlledPortStatus 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "The value of the combined Port status." 
           ::= { snMspsPnacPaePortEntry 6 } 

      snMspsPnacPaePortReAuthEnabled OBJECT-TYPE
            SYNTAX        TruthValue
            MAX-ACCESS    read-write
            STATUS        current
            DESCRIPTION
               "The enable/disable control used by the Reauthentication 
               Timer state machine (8.5.5.1)." 
            REFERENCE 
               "9.4.1, reAuthEnabled" 
            DEFVAL { false } 
            ::= { snMspsPnacPaePortEntry 7 }



-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------

snMspsTrapPnacPortAuthStateChange       NOTIFICATION-TYPE
    STATUS              current 
    DESCRIPTION         "Pnac port auth state change notification."
    ::= { snMspsTrapPrefix 451 }

-- -------------------------------------------------------------
-- END OF SNMPv2 Notifications
-- -------------------------------------------------------------





-- snMspsRadiusServer 1 reserved 

snMspsRadExtMaxNoOfUserEntries OBJECT-TYPE
      SYNTAX Integer32 (1 ..100)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
     "Maximum of No of User entries stored. The value of this
	 object will be stored for the MemPool Initialization."
      ::= { snMspsRadiusServer 2 }
      
snMspsRadExtPrimaryServerAddressType OBJECT-TYPE
   SYNTAX      InetAddressType
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
   "The address type of active server.This can be Ipv4 or Ipv6."
      ::= { snMspsRadiusServer 3 }


snMspsRadExtPrimaryServer   OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "A maximum of 5 RADIUS servers (IPv4 or IPv6) can be configured
      in snMspsRadExtServerEntry. This object indicates the primary server 
      among those 5 servers. The RADIUS client will first try to interact 
      with the server mentioned in this object. Other servers are 
      approached only if this server is not reachable. Setting this 
      object to zero disables the primary server concept."
      ::= { snMspsRadiusServer 4 }
 
 
snMspsRadExtServerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SnMspsRadExtServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The (conceptual) table that lists the RADIUS servers with
         which the client shares a secret."
    ::=  { snMspsRadiusServer 5 }

snMspsRadExtServerEntry OBJECT-TYPE
    SYNTAX SnMspsRadExtServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS server
                 with which the client shares a secret."
    INDEX {snMspsRadExtServerIndex}
    ::=  { snMspsRadExtServerTable 1 }

SnMspsRadExtServerEntry ::= SEQUENCE {
    snMspsRadExtServerIndex    Integer32,
    snMspsRadExtServerAddrType    InetAddressType,
    snMspsRadExtServerAddress   InetAddress,
    snMspsRadExtServerType    INTEGER,
    snMspsRadExtServerSharedSecret    OCTET STRING,
    snMspsRadExtServerEnabled    INTEGER,
    snMspsRadExtServerResponseTime Integer32,
    snMspsRadExtServerMaximumRetransmission  Integer32,
    snMspsRadExtServerEntryStatus		RowStatus
   }


snMspsRadExtServerIndex OBJECT-TYPE
    SYNTAX Integer32 (1..5)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This object enumerates the order in which the server should
         be contacted.Index 1 is contacted first if the primary server
         specified by snMspsRadExtPrimaryServer is not configured"
    ::=  { snMspsRadExtServerEntry 1 }
    
snMspsRadExtServerAddrType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
       "The type of IP address to be configured for the RADIUS server.
        While other types of addresses are defined in the InetAddressType
        textual convention, like DNS names, this object is limited to IPv4
        and IPv6 addresses."
    ::= { snMspsRadExtServerEntry 2 }


snMspsRadExtServerAddress OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IP address(Ipv4 or Ipv6) of the RADIUS server
         referred to in snMspsRadExtServerTable entry."
    ::=  { snMspsRadExtServerEntry 3 }

snMspsRadExtServerType OBJECT-TYPE
    SYNTAX INTEGER { auth (1),
                     acct (2),
                     both (3)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RADIUS server type (Authentication or Accounting or Both).
         For creating a server entry, the Server Type should be set"
    ::=  { snMspsRadExtServerEntry 4 }

snMspsRadExtServerSharedSecret OBJECT-TYPE
    SYNTAX                    OCTET STRING
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The secret string which is shared between the Server and the 
        Client"
    ::=  { snMspsRadExtServerEntry 5 }

snMspsRadExtServerEnabled OBJECT-TYPE
    SYNTAX INTEGER { enabled (1),
                     disabled (2),
                     destroy (3)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object informs whether the server is active or inactive"
    DEFVAL { enabled }
    ::=  { snMspsRadExtServerEntry 6 }

snMspsRadExtServerResponseTime OBJECT-TYPE
    SYNTAX Integer32  (1 ..120)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum time within which the server has to respond for a
         request from the client."
    ::=  { snMspsRadExtServerEntry 7 }

snMspsRadExtServerMaximumRetransmission OBJECT-TYPE
    SYNTAX Integer32  (1 ..5)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The allowed maximum number of trials to be tried by a client to get
         the response from the server for a request"
    ::=  { snMspsRadExtServerEntry 8 }

snMspsRadExtServerEntryStatus	OBJECT-TYPE
   SYNTAX    			RowStatus
   MAX-ACCESS 			read-write
   STATUS 			current
   DESCRIPTION
      "The status of the entry can be used as specified in the SNMP V2
      standard. "
  ::=  {   snMspsRadExtServerEntry 9  }


snMspsRadExtAuthServerTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF SnMspsRadExtAuthServerEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
            "The (conceptual) table taht lists the RADIUS authentication
             servers with which the client shares a secret."
      ::=  { snMspsRadiusServer 6 }

snMspsRadExtAuthServerEntry OBJECT-TYPE
      SYNTAX     SnMspsRadExtAuthServerEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
            "An entry (conceptual row) that represents a RADIUS
             authentication server with which the client shares
             a secret."
      INDEX      { snMspsRadExtAuthServerIndex }
      ::= { snMspsRadExtAuthServerTable 1 }

SnMspsRadExtAuthServerEntry ::= SEQUENCE {
      snMspsRadExtAuthServerIndex                           Integer32,
      snMspsRadExtAuthServerAddressType               InetAddressType,
      snMspsRadExtAuthServerAddress                       InetAddress,
      snMspsRadExtAuthClientServerPortNumber                Integer32,
      snMspsRadExtAuthClientRoundTripTime                   TimeTicks,
      snMspsRadExtAuthClientAccessRequests                  Counter32,
      snMspsRadExtAuthClientAccessRetransmissions           Counter32,
      snMspsRadExtAuthClientAccessAccepts                   Counter32,
      snMspsRadExtAuthClientAccessRejects                   Counter32,
      snMspsRadExtAuthClientAccessChallenges                Counter32,
      snMspsRadExtAuthClientMalformedAccessResponses        Counter32,
      snMspsRadExtAuthClientBadAuthenticators               Counter32,
      snMspsRadExtAuthClientPendingRequests                   Gauge32,
      snMspsRadExtAuthClientTimeouts                        Counter32,
      snMspsRadExtAuthClientUnknownTypes                    Counter32,
      snMspsRadExtAuthClientPacketsDropped                  Counter32,
      snMspsRadExtAuthServerType    			    INTEGER
}

snMspsRadExtAuthServerIndex OBJECT-TYPE
      SYNTAX     Integer32 (1..2147483647)
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
             "A number that uniquely idenfifies each RADIUS
             Authentication server with which the client
             communicates."
      ::= { snMspsRadExtAuthServerEntry 1 }
      
snMspsRadExtAuthServerAddressType OBJECT-TYPE
      SYNTAX     InetAddressType
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
            "The address type (IPv4 or IPv6) of the RADIUS authentication 
            server referred to in the snMspsRadExtAuthServerTable entry."
      ::= { snMspsRadExtAuthServerEntry 2 }


snMspsRadExtAuthServerAddress OBJECT-TYPE
      SYNTAX     InetAddress
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
            "The IP address (Ipv4 or Ipv6) of the RADIUS authentication 
            server referred to in this table entry."
      ::= { snMspsRadExtAuthServerEntry 3 }

snMspsRadExtAuthClientServerPortNumber  OBJECT-TYPE
      SYNTAX Integer32 (0..65535)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
            "The UDP port that the client uses to send requests to
             this server."
      ::= { snMspsRadExtAuthServerEntry 4 }

snMspsRadExtAuthClientRoundTripTime  OBJECT-TYPE
      SYNTAX TimeTicks
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The time interval (in hundredths of a second) between
             the most recent Access-Reply/Access-Challenge and the
             Access-Request that that matches with the 
             Access-Reply/Access-Challengeit from the RADIUS
             authentication server."
      ::= { snMspsRadExtAuthServerEntry 5 }
      
-- Request/Response statistics
--
-- TotalIncomingPackets = Accepts + Rejects + Challenges + UnknownTypes
--
-- TotalIncomingPackets - MalformedResponses - BadAuthenticators -
-- UnknownTypes - PacketsDropped = Successfully received
--
-- AccessRequests + PendingRequests + ClientTimeouts =
-- Successfully Received
--
--

snMspsRadExtAuthClientAccessRequests OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Request packets sent
             to this server. This does not include retransmissions."
      ::= { snMspsRadExtAuthServerEntry 6 }

snMspsRadExtAuthClientAccessRetransmissions OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Request packets
             retransmitted to this RADIUS authentication server."
      ::= { snMspsRadExtAuthServerEntry 7 }

snMspsRadExtAuthClientAccessAccepts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Accept packets
             (valid or invalid) received from this server."
      ::= { snMspsRadExtAuthServerEntry 8 }

snMspsRadExtAuthClientAccessRejects OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Reject packets
             (valid or invalid) received from this server."
      ::= { snMspsRadExtAuthServerEntry  9 }

snMspsRadExtAuthClientAccessChallenges OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Challenge packets
             (valid or invalid) received from this server."
      ::= { snMspsRadExtAuthServerEntry 10 }

-- "Access-Response" includes an Access-Accept, Access-Challenge
-- or Access-Reject

snMspsRadExtAuthClientMalformedAccessResponses OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of malformed RADIUS Access-Response
             packets received from this server.
             Malformed packets include packets with
             an invalid length. Bad authenticators or
             Signature attributes or unknown types are not
             included as malformed access responses."
      ::= { snMspsRadExtAuthServerEntry 11 }

snMspsRadExtAuthClientBadAuthenticators OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Response packets
             containing invalid authenticators or Signature
             attributes received from this server."
      ::= { snMspsRadExtAuthServerEntry 12 }

snMspsRadExtAuthClientPendingRequests OBJECT-TYPE
      SYNTAX Gauge32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS Access-Request packets
             destined for this server, which have not yet timed out
             or received a response. This variable is incremented
             when an Access-Request is sent and is decremented due to
             receipt of an Access-Accept, Access-Reject or
             Access-Challenge, a timeout or retransmission."
      ::= { snMspsRadExtAuthServerEntry 13 }

snMspsRadExtAuthClientTimeouts OBJECT-TYPE
     SYNTAX Counter32
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
            "The number of authentication timeouts to this server.
             After the entry timeout the client may retry to the same
             server, send to a different server, or
             give up. Retry to the same server is counted as a
             retransmit as well as a timeout. Send to a different
             server is counted as a Request as well as a timeout."
      ::= { snMspsRadExtAuthServerEntry  14 }

snMspsRadExtAuthClientUnknownTypes OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS packets of unknown type, which
             were received from this server on the authentication port."
      ::= { snMspsRadExtAuthServerEntry  15 }

snMspsRadExtAuthClientPacketsDropped OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
            "The number of RADIUS packets, which were
             received from this server on the authentication port
             and dropped for some other reason."
      ::= { snMspsRadExtAuthServerEntry  16 }

snMspsRadExtAuthServerType OBJECT-TYPE
    SYNTAX INTEGER { login (1),
                     pnac (2),
                     both (3)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RADIUS Authentication server type (login or pnac or Both)."
    DEFVAL { both }
    ::=  { snMspsRadExtAuthServerEntry 17 }

snMspsRadAuthorizationMode OBJECT-TYPE
      SYNTAX INTEGER
      {
        standard (1),
        vendor-specific (2)
      }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
      "The object used to parse the RADIUS accept/reject packet by standard mode or vendor-specific mode
       to get the User Management Access Control (UMAC) value (user privilege) of the user.
       standard           - derive the function rights (user privilege) by 'SERVICE-TYPE attribute'
       vendor-specific    - derive the function rights (user privilege) by
       'Siemens Vendor Specific Attribute' Vendor-ID (4196) and
       Vendor Type (1) 'Siemens-Automation-Privileged-User-Group'."
     DEFVAL { standard }
     ::=  { snMspsRadiusServer 10 }

snMspsRadDisconnectPacketAllowStatus OBJECT-TYPE
    SYNTAX INTEGER { enabled (1),
                     disabled (2)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object used to enable or disable RADIUS disconnect packets process."
    DEFVAL { enabled }
    ::=  { snMspsRadiusServer 11 }



snMspsGuestVlanSystem  			OBJECT IDENTIFIER ::= { snMspsGuestVlan 1 }
snMspsGuestVlanAddress          OBJECT IDENTIFIER ::= { snMspsGuestVlan 2 }
snMspsGuestVlanPort	  			OBJECT IDENTIFIER ::= { snMspsGuestVlan 3 }


-- --------------------------------------------------------------
-- GuestVlanTable Sub-Group
-- --------------------------------------------------------------
snMspsGuestVlanEnable OBJECT-TYPE
    	SYNTAX  INTEGER {
          guestVlanEnabled(1),
          guestVlanDisabled(2)
        }
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION "enable/disable GuestVlan"
        DEFVAL        { guestVlanDisabled }
    	::= {  snMspsGuestVlanSystem 1}


-- --------------------------------------------------------------
-- GuestVlanAddrTable Sub-Group
-- --------------------------------------------------------------
snMspsGuestVlanAddressTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsGuestVlanAddressEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION ""
   ::= { snMspsGuestVlanAddress 1 }

snMspsGuestVlanAddressEntry OBJECT-TYPE
   SYNTAX      SnMspsGuestVlanAddressEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION ""   
   INDEX { snMspsGuestVlanAddressPort, snMspsGuestVlanAddressMac }
   ::= {snMspsGuestVlanAddressTable 1}

SnMspsGuestVlanAddressEntry ::=
   SEQUENCE {
      snMspsGuestVlanAddressMac
         MacAddress,
      snMspsGuestVlanAddressPort
         INTEGER,
      snMspsGuestVlanAddressVlan
         INTEGER,
      snMspsGuestVlanAddressInit
         INTEGER
}
    
snMspsGuestVlanAddressMac OBJECT-TYPE
    	SYNTAX        MacAddress
    	MAX-ACCESS    not-accessible
    	STATUS        current
    	DESCRIPTION   "MAC address"
    	::= { snMspsGuestVlanAddressEntry 1 }

snMspsGuestVlanAddressPort OBJECT-TYPE
    	SYNTAX        INTEGER (1..65535)
    	MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "Port-ID that address is authenticated or blocked"
    	::= { snMspsGuestVlanAddressEntry 2 }
 
snMspsGuestVlanAddressVlan OBJECT-TYPE
    	SYNTAX        INTEGER (1.. 4096)
    	MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "VLAN-ID that address is authenticated or blocked"
    	::= { snMspsGuestVlanAddressEntry 3 }
 
snMspsGuestVlanAddressInit OBJECT-TYPE
    	SYNTAX          INTEGER {
           guestVlan-MAC-NoAction(1),
           guestVlan-MAC-Init(2)
        } 
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Reinitialization of that mac address"
    	::= { snMspsGuestVlanAddressEntry 4 }
   
-- --------------------------------------------------------------
-- GuestVlanPortConfig Sub-Group
-- --------------------------------------------------------------
snMspsGuestVlanPortTable OBJECT-TYPE
    	SYNTAX      SEQUENCE OF SnMspsGuestVlanPortEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION "Table of ports for which Guest Vlans occurs on."
    	::= { snMspsGuestVlanPort 1 }

snMspsGuestVlanPortEntry OBJECT-TYPE
    	SYNTAX      SnMspsGuestVlanPortEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION "Guest VLan Port entry. "
    	INDEX       { snMspsGuestVlanPortIfIndex }
    	::= { snMspsGuestVlanPortTable 1 }

SnMspsGuestVlanPortEntry ::= SEQUENCE {
    	snMspsGuestVlanPortIfIndex                 INTEGER,
    	snMspsGuestVlanPortEnable                  INTEGER, 
    	snMspsGuestVlanPortVid                     INTEGER, 
        snMspsGuestVlanPortMaxAddresses            INTEGER,
        snMspsGuestVlanPortActAddresses            INTEGER,
        snMspsGuestVlanPortInit                    INTEGER
 	}
  
snMspsGuestVlanPortIfIndex OBJECT-TYPE
    	SYNTAX        INTEGER (1..65535)
    	MAX-ACCESS    not-accessible
    	STATUS        current
    	DESCRIPTION   "Port on which Guest Vlans occurs on."
    	::= { snMspsGuestVlanPortEntry 1 }
 
snMspsGuestVlanPortEnable OBJECT-TYPE
      SYNTAX        INTEGER {
        guestVlanPortEnabled(1),
        guestVlanPortDisabled(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "enables GuestVlan on that port"
      DEFVAL        { guestVlanPortDisabled}
      ::= { snMspsGuestVlanPortEntry 2 }

snMspsGuestVlanPortVid OBJECT-TYPE
      SYNTAX        INTEGER (1..4094)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Guest VLAN-Id of that port"        
      DEFVAL        { 1 }
      ::= { snMspsGuestVlanPortEntry 3 }
      
snMspsGuestVlanPortMaxAddresses OBJECT-TYPE
      SYNTAX        INTEGER (1..100)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "max number of addresses the could be activated in guest VLAN in parallel on that port"
      DEFVAL        { 1 }
      ::= { snMspsGuestVlanPortEntry 4 } 

snMspsGuestVlanPortActAddresses OBJECT-TYPE
      SYNTAX        INTEGER 
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION   "number of addresses that are actually activated in guest VLAN on that port"
      ::= { snMspsGuestVlanPortEntry 5 } 

snMspsGuestVlanPortInit OBJECT-TYPE
      SYNTAX        INTEGER {
        guestVlanNoAction(1),
        guestVlanPortInit(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Reinitialization of all addresses activated in guest VLAN on that port"
      DEFVAL        { guestVlanNoAction }
      ::= { snMspsGuestVlanPortEntry 6 } 



snMspsMacAuthSystem  		OBJECT IDENTIFIER ::= { snMspsMacAuth 1 }
snMspsMacAuthAddress            OBJECT IDENTIFIER ::= { snMspsMacAuth 2 }
snMspsMacAuthPort	  	OBJECT IDENTIFIER ::= { snMspsMacAuth 3 }


-- --------------------------------------------------------------
-- MacAuthTable Sub-Group
-- --------------------------------------------------------------
snMspsMacAuthEnable OBJECT-TYPE
    	SYNTAX  INTEGER {
          macAuthEnabled(1),
          macAuthDisabled(2)
        }
    	MAX-ACCESS  read-write
    	STATUS      current
    	DESCRIPTION "enable/disable MAC authentication"
        DEFVAL        { macAuthDisabled }
    	::= {  snMspsMacAuthSystem 1}


-- --------------------------------------------------------------
-- MacAuthAddrTable Sub-Group
-- --------------------------------------------------------------
snMspsMacAuthAddressTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsMacAuthAddressEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION ""
   ::= { snMspsMacAuthAddress 1 }

snMspsMacAuthAddressEntry OBJECT-TYPE
   SYNTAX      SnMspsMacAuthAddressEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION ""   
   INDEX { snMspsMacAuthAddressPort, snMspsMacAuthAddressMac }
   ::= {snMspsMacAuthAddressTable 1}

SnMspsMacAuthAddressEntry ::=
   SEQUENCE {
      snMspsMacAuthAddressMac
         MacAddress,
      snMspsMacAuthAddressPort
         INTEGER,
      snMspsMacAuthAddressVlan
         INTEGER,
      snMspsMacAuthAddressState
         INTEGER,
      snMspsMacAuthAddressReAuth
         INTEGER
}
    
snMspsMacAuthAddressMac OBJECT-TYPE
    	SYNTAX        MacAddress
    	MAX-ACCESS    not-accessible
    	STATUS        current
    	DESCRIPTION   "MAC address"
    	::= { snMspsMacAuthAddressEntry 1 }

snMspsMacAuthAddressPort OBJECT-TYPE
    	SYNTAX        INTEGER (1..65535)
    	MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "Port-ID that address is authenticated or blocked"
    	::= { snMspsMacAuthAddressEntry 2 }
 
snMspsMacAuthAddressVlan OBJECT-TYPE
    	SYNTAX        INTEGER (1.. 4094)
    	MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "VLAN-ID that address is authenticated or blocked"
    	::= { snMspsMacAuthAddressEntry 3 }
 
snMspsMacAuthAddressState OBJECT-TYPE
    	SYNTAX        INTEGER {
          macAuthMACAuthenticated(1),
          macAuthMACNotAuthenticated(2)
        }
    	MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "Indicates wether address is authenticated or blocked"
    	::= { snMspsMacAuthAddressEntry 4 }
 
snMspsMacAuthAddressReAuth OBJECT-TYPE
    	SYNTAX          INTEGER {
           macAuthMACNoAction(1),
           macAuthMACReAuth(2),
           macAuthMACInit(3)
        } 
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Reauthentication of that mac address. The value of this object 
                      has only an effect if independant Reauthentication for MAC-Authentication 
                      is supported by the device."
    	::= { snMspsMacAuthAddressEntry 5 }
   
-- --------------------------------------------------------------
-- MacAuthPortConfig Sub-Group
-- --------------------------------------------------------------
snMspsMacAuthPortTable OBJECT-TYPE
    	SYNTAX      SEQUENCE OF SnMspsMacAuthPortEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION "Table of ports for which MAC Authentication occurs on."
    	::= { snMspsMacAuthPort 1 }

snMspsMacAuthPortEntry OBJECT-TYPE
    	SYNTAX      SnMspsMacAuthPortEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION "MAC Authentication Port entry. "
    	INDEX       { snMspsMacAuthPortIfIndex }
    	::= { snMspsMacAuthPortTable 1 }

SnMspsMacAuthPortEntry ::= SEQUENCE {
    	snMspsMacAuthPortIfIndex                 INTEGER,
    	snMspsMacAuthPortEnable                  INTEGER, 
        snMspsMacAuthPortReAuth                  INTEGER,
        snMspsMacAuthPortReAuthTimeout           INTEGER, 
        snMspsMacAuthPortMaxAddresses            INTEGER,
        snMspsMacAuthPortVlanAssignment          INTEGER, 
        snMspsMacAuthPortQuietTime               INTEGER, 
        snMspsMacAuthPortActAddressesAuth        INTEGER,
        snMspsMacAuthPortActAddressesBlocked     INTEGER,
        snMspsMacAuthPortReAuthenticateStart     INTEGER,
    	snMspsMacAuthPortEnableOnlyOnDot1xTimeout INTEGER 
 	}
  
snMspsMacAuthPortIfIndex OBJECT-TYPE
    	SYNTAX        INTEGER (1..65535)
    	MAX-ACCESS    not-accessible
    	STATUS        current
    	DESCRIPTION   "Port on which MAC Authentication occurs on."
    	::= { snMspsMacAuthPortEntry 1 }
 
snMspsMacAuthPortEnable OBJECT-TYPE
      SYNTAX        INTEGER {
        macAuthPortEnabled(1),
        macAuthPortDisabled(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "enables MAC authentication on that port"
      DEFVAL        { macAuthPortDisabled}
      ::= { snMspsMacAuthPortEntry 2 }

snMspsMacAuthPortReAuth OBJECT-TYPE
      SYNTAX        INTEGER {
        macAuthReAuthEnabled(1),
        macAuthReAuthDisabled(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Reauthentication enabled/disabled on that port.
                     The value of this object has only an effect if
                     independant Reauthentication for MAC-Authentication is supported by the device."
      DEFVAL        { 1 }
      ::= { snMspsMacAuthPortEntry 3 }
      
snMspsMacAuthPortReAuthTimeout OBJECT-TYPE
      SYNTAX        INTEGER (0..86400)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Timeout for automatic reauthentication.
                     The value of this object has only an effect if
                     independant Reauthentication for MAC-Authentication is supported by the device"
      DEFVAL        { 0 }
      ::= { snMspsMacAuthPortEntry 4 }
      
snMspsMacAuthPortMaxAddresses OBJECT-TYPE
      SYNTAX        INTEGER (0..100)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "max number of addresses the could be authenticated in parallel on that port, 
					 configuration as 0 means after first successful mac authentication port is opened for all traffic"
      DEFVAL        { 1 }
      ::= { snMspsMacAuthPortEntry 5 } 

snMspsMacAuthPortVlanAssignment OBJECT-TYPE
      SYNTAX        INTEGER {
        macAuthVlanAssignEnabled(1),
        macAuthVlanAssignDisabled(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "The RADIUS server is allowed to assign VLANs on ports for authenticated addresses"
      DEFVAL        { macAuthVlanAssignDisabled }
      ::= { snMspsMacAuthPortEntry 6 }    

snMspsMacAuthPortQuietTime OBJECT-TYPE
      SYNTAX        INTEGER (0..60)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Mininmal time between RADIUS server requests for the same address on that port.
                     The value of this object has only an effect if independant 
                     Reauthentication for MAC-Authentication is supported by the device"
      DEFVAL        { 10 }
      ::= { snMspsMacAuthPortEntry 7 } 

snMspsMacAuthPortActAddressesAuth OBJECT-TYPE
      SYNTAX        INTEGER 
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION   "number of addresses that are actually authenticated on that port"
      ::= { snMspsMacAuthPortEntry 8 } 

snMspsMacAuthPortActAddressesBlocked OBJECT-TYPE
      SYNTAX        INTEGER 
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION   "number of addresses that are actually blocked on that port"
      ::= { snMspsMacAuthPortEntry 9 } 
    
snMspsMacAuthPortReAuthenticateStart OBJECT-TYPE
      SYNTAX        INTEGER {
        macAuthNoAction(1),
        macAuthPortReAuthenticate(2),
        macAuthPortReInit(3)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Reauthenticate all authenticated addresses on that port or cleanup all address information.
                     The value of this object has only an effect if independant 
                     Reauthentication for MAC-Authentication is supported by the device"
      DEFVAL        { macAuthNoAction }
      ::= { snMspsMacAuthPortEntry 10 } 

snMspsMacAuthPortEnableOnlyOnDot1xTimeout OBJECT-TYPE
      SYNTAX        INTEGER {
	      enabled(1),
	      disabled(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "enables MAC authentication on that port, when dot1x is timed out (or) on max retransmission."
      DEFVAL        { disabled }
      ::= { snMspsMacAuthPortEntry 11 }
                 



snMspsSinemaInterfaceState  OBJECT-TYPE
    SYNTAX      INTEGER {
                  paramactive(1),
                  newparamloaded(2), 
                  activatingloadedparam(3),  
                  activatingoriginalparam(4),
                  loadedparamactive(5)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "diagnose object for SINEMA interface state. It can be set to (1) Parameters Active, 
    			(2) New Parameters Loaded, (3) Activating Loaded Parameters , (4) Activating Original Parameters, 
    			(5) Loaded Parameters Active" 
   DEFVAL { paramactive } 
    ::= { snMspsSinema 1 }

snMspsSinemaAdminStatus OBJECT-TYPE 
   SYNTAX      INTEGER {
                  enable(1),
                  disable(2)
                } 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling / disabling availability of SCALANCE configuration interface"      
   ::= { snMspsSinema 2 }     
   
snMspsSinemaResult OBJECT-TYPE 
   SYNTAX      INTEGER {
                  	loadSuccess(1),
					loadWrongState(2),
					loadIllegalPackagetype(3),
					loadTargetDeviceMismatch(4),
					loadNotEnoughResources(5),
					loadCoordinationError(6),
					loadAlreadyRunningError(7),
					loadNoAccess(8),
					activateSuccess(9),
					activateWrongState(10),
					activateCoordinationError(11),
					activateNotEnoughResources(12),
					activateError(13),
					activateNoAccess(14),
					statusNotEnoughResources(15),
					statusNothingLoaded(16),
					statusNoAccess(17),
					readSuccess(18),
					readInstanceDataNotLoaded(19),
					readNotEnoughResources(20),
					readNoAccess(21),
					acceptSuccess(22),
					acceptNotEnoughResources(23),
					acceptWrongState(24),
					acceptNoAccess(25),
					rollbackSuccess(26),
					rollbackNotEnoughResources(27),
					rollbackWrongState(28),
					rollbackNoAccess(29)					
				}
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Result of Configuration Event (CE) received from Sinema"   
   ::= { snMspsSinema 3 }

snMspsSinemaErrorStatus OBJECT-TYPE 
   SYNTAX      INTEGER {
                   noError(0),
                   tooBig(1),
                   noSuchName(2),                         
                   badValue(3),        
                   readOnly(4),    
                   genErr(5),
                   noAccess(6),
                   wrongType(7),
                   wrongLength(8),
                   wrongEncoding(9),
                   wrongValue(10),
                   noCreation(11),
                   inconsistentValue(12),
                   resourceUnavailable(13),
                   commitFailed(14),
                   undoFailed(15),
                   authorizationError(16),
                   notWritable(17),
                   inconsistentName(18)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Status of the error received with respect to position of SNMP variables in TLV package"
   ::= { snMspsSinema 4 }    
   
snMspsSinemaErrorIndex OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Location of the error received with respect to position of SNMP variables in TLV package"  
   ::= { snMspsSinema 5 }

snMspsSinemaConfigSetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsSinemaConfigSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of SINEMA delta download config sets."
    ::= { snMspsSinema 20 }

snMspsSinemaConfigSetEntry OBJECT-TYPE
    SYNTAX      SnMspsSinemaConfigSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry represents a delta download config set. Entry creation/deletion by user not possible"
    INDEX   { snMspsSinemaConfigSetIndex }
    ::= { snMspsSinemaConfigSetTable 1 }

SnMspsSinemaConfigSetEntry ::=
    SEQUENCE {
        snMspsSinemaConfigSetIndex
            OCTET STRING,
        snMspsSinemaConfigSetHash
            OCTET STRING,
        snMspsSinemaConfigSetState
            INTEGER
    }

snMspsSinemaConfigSetIndex OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Name of config set"
    ::= { snMspsSinemaConfigSetEntry 1 }
        
snMspsSinemaConfigSetHash OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Hash of config set as recevied from engineering system"
    ::= { snMspsSinemaConfigSetEntry 2 }

snMspsSinemaConfigSetState OBJECT-TYPE
    SYNTAX      INTEGER { enabled(1),disabled(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "State of config set."
    ::= { snMspsSinemaConfigSetEntry 5 }  
   


snMspsMstSystemControl OBJECT-TYPE
   SYNTAX      INTEGER { start(1), shutdown(2) } 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative shutdown status requested by management for the MST  
      feature. The value start (1) indicates that MST should be active in 
      the device on all ports. The value shutdown (2) indicates that MST 
      should be shutdown in the device on all ports. All memory should 
      be released on all ports."
   ::= { snMspsMstp 1 } 

-- snMspsMstp 2-3 reserved
   
snMspsMstModuleStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative status requested by management for the MST  
      feature. The value enabled(1) indicates that Mst should be enabled  
      in the device on all ports. The value disabled(2) indicates that 
      Mst should be disabled in the device on all ports. The object can 
      be set to enabled(1) if and only if, fsMstSystemControl set to start."
   ::= { snMspsMstp 4 }        

snMspsMstMaxMstInstanceNumber OBJECT-TYPE
   SYNTAX      Integer32 (1..64)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Maximun number of spanning trees to be allowed. An user may limit 
      the number of Spanning Tree instances to be allowed in the Bridge. 
      The value reflects the max number of active MSTIs that can be created.
      It does not include the special MSTID, the PTETID, used to identify
      VIDs used by Ethernet Switched Paths (ESPs)."
   ::= { snMspsMstp 5 } 

snMspsMstNoOfMstiSupported OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Indicates Maximum number of spanning tree Instances supported."
   ::= { snMspsMstp 6 } 

snMspsMstMaxHopCount OBJECT-TYPE
   SYNTAX      Integer32 (600..4000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Indicates the Maximum Hop Count value. One-hundredth of the
      configured value will be set as Max Hop Count.
      An agent may return a badValue error if a set is attempted
      to a value which is not a multiples of hundred."
   DEFVAL { 2000 }
   ::= { snMspsMstp 7 }  

snMspsMstBrgAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The MAC address used by this bridge when it must
          be referred to in a unique fashion.   It is
          recommended that this be the numerically smallest
          MAC address of all ports that belong to this
          bridge.  However it is only required to be unique.
          When concatenated with snMspsMstCistBridgePriority or 
          snMspsMstMstiBridgePriority a unique BridgeIdentifier 
          is formed which is used in the Spanning Tree Protocol."
   ::= { snMspsMstp 8 }  

snMspsMstCistRoot OBJECT-TYPE
   SYNTAX      BridgeId  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The bridge identifier of the Root of the common spanning
         tree as determined by the Spanning Tree Protocol
         as executed by this node.  This value is used as
         the CIST Root Identifier parameter in all Configuration
         Bridge PDUs originated by this node."
   ::= { snMspsMstp 9 } 

snMspsMstCistRegionalRoot OBJECT-TYPE
   SYNTAX      BridgeId  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The bridge identifier of the Root of the Multiple
         spanning tree region as determined by the Spanning Tree
         Protocol as executed by this node.  This value is used as
         the CIST Regional Root Identifier parameter in all Configuration
         Bridge PDUs originated by this node."
   ::= { snMspsMstp 10 } 

snMspsMstCistRootCost OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The Cost of the path to the CIST Root as seen 
        from this bridge."
   ::= { snMspsMstp 11 } 

snMspsMstCistRegionalRootCost OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The Cost of the path to the CIST Regional Root 
        as seen from this bridge."
   ::= { snMspsMstp 12 } 

snMspsMstCistRootPort OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Port Number of the Port which offers the lowest    
       path cost from this bridge to the CIST Root Bridge."
   ::= { snMspsMstp 13 } 

snMspsMstCistBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440) 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The Value of the writable portion of the Bridge
        Identifier comprising of the first two octets.
        The values that are set for Bridge Priority must be 
        in steps of 4096."
   DEFVAL {32768}
   ::= { snMspsMstp 14 } 

snMspsMstCistBridgeMaxAge OBJECT-TYPE
   SYNTAX      Timeout (600..4000)  
   UNITS       "centi-seconds"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The value that all bridges use for MaxAge when
         this bridge is acting as the root. The granularity 
         of this timer is specified to be 1 second.
         An agent may return a badValue error if a set is
         attempted to a value which is not a whole number
         of seconds."
   DEFVAL {2000}
   ::= { snMspsMstp 15 } 

snMspsMstCistBridgeForwardDelay OBJECT-TYPE
   SYNTAX      Timeout (400..3000)  
   UNITS       "centi-seconds"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The value that all bridges use for ForwardDelay
         when this bridge is acting as the root.  Note that
         802.1D specifies that the range for this
         parameter is related to the value of
         BridgeMaxAge.  The granularity of this
         timer is specified to be 1 second.
         An agent may return a badValue error if a set is
         attempted to a value which is not a whole number
         of seconds."
   DEFVAL {1500}
   ::= { snMspsMstp 16 } 

snMspsMstCistHoldTime OBJECT-TYPE
   SYNTAX      Integer32 
   UNITS       "centi-seconds"
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
	 "This time value determines the interval length
	 during which no more than two Configuration bridge
	 PDUs shall be transmitted by this node, in units
	 of hundredths of a second."
   ::= { snMspsMstp 17 } 

snMspsMstCistMaxAge OBJECT-TYPE
   SYNTAX      Timeout
   UNITS       "centi-seconds"
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
         "The maximum age of Spanning Tree Protocol
          information learned from the network on any port
          before it is discarded, in units of hundredths of
          a second.  This is the actual value that this
          bridge is currently using."
   ::= { snMspsMstp 18 }
      
snMspsMstCistForwardDelay OBJECT-TYPE
   SYNTAX      Timeout
   UNITS       "centi-seconds"
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "This time value, measured in units of hundredths
	   of a second, controls how fast a port changes its
	   spanning state when moving towards the Forwarding
	   state.  The value determines how long the port
	   stays in a particular state before moving to the
	   next state."
   ::= { snMspsMstp 19 } 

snMspsMstMstpUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times MSTP Module has been enabled."
   ::= { snMspsMstp 20 } 

snMspsMstMstpDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times MSTP Module has been disabled."
   ::= { snMspsMstp 21 } 
 
-- snMspsMstp 22-24 reserved

snMspsMstForceProtocolVersion OBJECT-TYPE
   SYNTAX      INTEGER {
                  stpCompatible(0),
                  rstp(2),
                  mstp(3)
               }
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
	"The version of Spanning Tree Protocol the bridge is
	currently running.  The value 'stpCompatible(0)'
	indicates the Spanning Tree Protocol specified in
	IEEE 802.1D and 'rstp(2)' indicates the Rapid Spanning
	Tree Protocol specified in IEEE 802.1w and 'mstp(3)'
	indicates the Multiple Spanning Tree Protocol Specified
	in IEEE 802.1s." 

   DEFVAL { mstp }
   ::= { snMspsMstp 25 } 

snMspsMstTxHoldCount OBJECT-TYPE
    SYNTAX      Integer32 (1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value used by the Port Transmit state machine to limit
         the maximum transmission rate."
    DEFVAL  { 3 }
   ::= { snMspsMstp 26 } 

snMspsMstMstiConfigIdSel OBJECT-TYPE
   SYNTAX      Integer32 (0..255) 
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "The Configuration Identifier Format Selector used 
       by the Bridge. This has a fixed value of 0 to indicate
       RegionName, RegionVersion are specified as in Standard."
   ::= { snMspsMstp 27 }
   
snMspsMstMstiRegionName OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE (0..32))
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "The Name for the Region's configuration. By Default 
       Region Name will be equal to the Bridge Mac Address."
   ::= { snMspsMstp 28 } 

snMspsMstMstiRegionVersion OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "Version of the MST Region."
   ::= { snMspsMstp 29 } 

snMspsMstMstiConfigDigest OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE (0..32))
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "The Configuration Digest value for this Region."
   ::= { snMspsMstp 30 } 

snMspsMstBufferOverFlowCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times Buffer overflows/failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { snMspsMstp 31 } 

snMspsMstMemAllocFailureCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times memory allocation failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { snMspsMstp 32 }  

snMspsMstRegionConfigChangeCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a Region Configuration Identifier Change 
	      was detected. 
         A Trap is generated on the occurence of this event." 
   ::= { snMspsMstp 33 } 

snMspsMstCistBridgeRoleSelectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine          
           of this bridge in Common Spanning Tree context"           
   ::= { snMspsMstp 34 } 

snMspsMstCistTimeSinceTopologyChange OBJECT-TYPE
   SYNTAX      TimeTicks 
   UNITS       "centi-seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was 
         non-zero for Common Spanning Tree context."
   ::= { snMspsMstp 35 }

snMspsMstCistTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for Common
         Spanning Tree context."
   ::= { snMspsMstp 36 } 

snMspsMstCistNewRootBridgeCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for Common Spanning Tree context.
          A Trap is generated on the occurence of this event."
   ::= { snMspsMstp 37 } 

snMspsMstCistHelloTime OBJECT-TYPE
   SYNTAX      Timeout
   UNITS       "centi-seconds"
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
           "This time value, measured in units of hundredths
           of a second, specifies the amount of time between
           the transmission of configuration BPDUs by this node
           on any port when it is the root of the spanning tree 
           or trying to become so."
   ::= { snMspsMstp 38 } 

snMspsMstCistBridgeHelloTime OBJECT-TYPE
   SYNTAX      Timeout (100..200)  
   UNITS       "centi-seconds"
   MAX-ACCESS  read-write  
   STATUS      current
   DESCRIPTION
           "The amount of time between the transmission of
           Configuration bridge PDUs by this node in units 
           of hundredths of a second."
      ::= { snMspsMstp 39 }

snMspsMstRstpPlusStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The administrative module status requested by management for the RSTP+
       Module. This enables or disables RSTP+ feature in the system. 
       A value of 'enabled' (1) indicates that RSTP+ feature is enabled 
       in the device. A value of 'disabled'(2) indicates that RSTP+ feature
       is disabled in the device. This feature can be enabled only 
       if the device supports RSTP+ feature, otherwise it returns wrong value."
    DEFVAL {disabled}
   ::= { snMspsMstp 40 }

snMspsMstRstpPlusMrpInterconDomainId OBJECT-TYPE
    SYNTAX      Integer32   (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object represents RstpPlus MRP Interconnection domain Id for 
        the RSTP and MRP ring coupling, which is equivalent to 
        MRP Interconnection domain Id 'snMspsMrpInterconDomainID'. 
        It returns inconsistency value, if the id is already configured 
        as a MRP Interconnection Id in the device. It should be unambiguous
        with 'snMspsMrpInterconDomainID' and 'snMspsMstRstpPlusMrpInterconDomainId'
        in the entire topology. This can be configurable only if the device 
        supports RSTP+ feature, otherwise it returns wrong value. 
        If the device not supports RSTP+ feature, get of this object returns default value.
        This object is valid and effect only if 'snMspsMstRstpPlusStatus' is 'enabled'.
        Valid value should be configured to enable 'snMspsMstRstpPlusStatus'."
    DEFVAL { 1 }
    ::= { snMspsMstp 41 }

-- snMspsMstp 42-44 reserved

snMspsMstCistDynamicPathcostCalculation OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
         "This object is used to determine whether dynamic pathcost
          calculation is allowed or not.The value is determined by 
          management. If set to true, pathcost is calculated dynamically 
          from port speed(when the operational status of the port changes 
          from down to up), otherwise the link speed at the time of port 
          creation is used for calculating the path cost. In both cases
          if the user has configured a pathcost for the port that will be 
          used. By default dynamic pathcost calculation is set to false."
      DEFVAL { false }
      ::= { snMspsMstp  45 }

snMspsMstCalcPortPathCostOnSpeedChg OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
         "This object is used to determine whether dynamic pathcost
          calculation is done for a port for which Port Speed is changing
          dynamically. This is mainly intended for Link Aggregated ports where
          depening on Active ports speed of Link aggregated port changes.
          By default dynamic pathcost calculation on change in speed is set to
          false."
      DEFVAL { false }
      ::= { snMspsMstp 46 }

-- -----------------------------------------------------------------
-- Mst VlanId to Instance Mapping Table               
-- -----------------------------------------------------------------

snMspsMstVlanInstanceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsMstVlanInstanceMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains one entry for each instance of MSTP." 
     ::= { snMspsMstp 47 }

snMspsMstVlanInstanceMappingEntry OBJECT-TYPE
      SYNTAX      SnMspsMstVlanInstanceMappingEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A conceptual row containing the status of the MSTP instance."
      INDEX  { snMspsMstInstanceIndex }
      ::= { snMspsMstVlanInstanceMappingTable 1 }

SnMspsMstVlanInstanceMappingEntry ::= 
   SEQUENCE {
       snMspsMstInstanceIndex  
            Integer32,
       snMspsMstMapVlanIndex 
            VlanId,
       snMspsMstUnMapVlanIndex 
            VlanId,
       snMspsMstSetVlanList 
            OCTET STRING,
       snMspsMstResetVlanList 
            OCTET STRING,
       snMspsMstInstanceVlanMapped 
            OCTET STRING,
       snMspsMstInstanceVlanMapped2k 
            OCTET STRING,
       snMspsMstInstanceVlanMapped3k 
            OCTET STRING,
       snMspsMstInstanceVlanMapped4k 
            OCTET STRING
   }

snMspsMstInstanceIndex OBJECT-TYPE
      SYNTAX      Integer32 (1..64|4094)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An arbitrary integer within the range from 1 to the value of
           Max Instance Number that uniquely identifies an instance. In
           a Bridge that supports PBB-TE, the special MSTID of 4094, the
           PTETID, identifies VIDs that can be used by Ethernet Switched
           Paths (ESPs). ESPs are provisioned seperately by any external agent
           and do not use spanning tree."
      ::= { snMspsMstVlanInstanceMappingEntry 1 }

snMspsMstMapVlanIndex OBJECT-TYPE
      SYNTAX        VlanId
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION 
          "The VlanId will get mapped to the spanning tree instance 
           specified. All the Instance Specific information for the 
           Member ports of the Vlan will be created.This object is 
           used only for SET operation.GET Operation returns null values.
           If the VlanId to Instance Mapping has to be known then any 
           one of the VlanMapped object should be used."
      ::= { snMspsMstVlanInstanceMappingEntry 2 }

snMspsMstUnMapVlanIndex OBJECT-TYPE
      SYNTAX        VlanId
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION 
          "The VlanId will get unmapped from spanning tree instance
          to which it it mapped. All the Instance Specific information
          for the Member ports of the Vlan will get released.This object 
          is used only for SET operation.GET Operation returns null values."
      ::= { snMspsMstVlanInstanceMappingEntry 3 }

snMspsMstSetVlanList OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..512))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
   	 "A string of octets containing one bit per VLAN. The
	  first octet corresponds to VLANs with VlanIndex values
	  1 through 8; the second octet to VLANs 9 through
	  16 etc.  The most significant bit of each octet
	  corresponds to the lowest VlanIndex value in that octet.
	  The set of vlans configured by management to map for this 
	  Instance.  If the VlanId to Instance Mapping has to be known
      then any one of the VlanMapped object should be used.If a 
      vlan is already mapped to this Instance, it may not be mapped 
      again. This object is used only for SET operation.
      GET Operation returns null values."
    ::= { snMspsMstVlanInstanceMappingEntry 4 }

snMspsMstResetVlanList OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..512))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
   	 "A string of octets containing one bit per VLAN. The
	  first octet corresponds to VLANs with VlanIndex values
	  1 through 8; the second octet to VLANs 9 through
	  16 etc.  The most significant bit of each octet
	  corresponds to the lowest VlanIndex value in that octet.
	  The set of vlans configured by management to unmap from this 
	  Instance. A vlan may not be unmapped from this instance if 
	  it is not already mapped to this Instance. This object is
      used only for SET operation.GET Operation returns null values."
    ::= { snMspsMstVlanInstanceMappingEntry 5 }

snMspsMstInstanceVlanMapped OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'."
    ::= { snMspsMstVlanInstanceMappingEntry 6 }

snMspsMstInstanceVlanMapped2k OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 1025 through 2048. The
            first octet corresponds to VLANs with VlanIndex values
            1025 through 1032; the second octet to VLANs 1033
            through 1040 etc.  The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.
            
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4095."
    ::= { snMspsMstVlanInstanceMappingEntry 7 }

snMspsMstInstanceVlanMapped3k OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 2049 through 3072. The
            first octet corresponds to VLANs with VlanIndex values
            of 2049 through 2056; the second octet to VLANs 2057
            through 2064 etc.  The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.

            This object is only instantiated on devices with 
            support for VlanIndex values up to 4095."
    ::= { snMspsMstVlanInstanceMappingEntry 8 }

snMspsMstInstanceVlanMapped4k OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 3073 through 4095. The
            first octet corresponds to VLANs with VlanIndex values
            3073 through 3080; the second octet to VLANs 3081
            through 3088 etc.  The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.

            This object is only instantiated on devices with 
            support for VlanIndex values up to 4095."
    ::= { snMspsMstVlanInstanceMappingEntry 9 }

-- -----------------------------------------------------------------
-- END OF Mst VlanId to Instance Mapping Table               
-- -----------------------------------------------------------------

snMspsMstSetTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and  disable  specific
           MSTP traps. Currently the following are defined
           0 - Traps are not enabled.
           1 - General Traps like protocol up or down 
           2 - Exception Traps like memory failure or buffer failure 
                    or port protocol migration or invalid packet rcvd in port
           3 - All the above Traps "
    ::= { snMspsMstp 48 }

snMspsMstGenTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The general events like 
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN" 
   ::= { snMspsMstp 49 }

-- snMspsMstp 50-59 reserved

-- -----------------------------------------------------------------
-- Mst Multiple Spanning Tree Instance Bridge Table
-- -----------------------------------------------------------------

snMspsMstMstiBridgeTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsMstMstiBridgeEntry      
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION
      "Table containing Bridge Information specific to Spanning 
       Tree Instance."
   ::= { snMspsMstp 60 } 
 
snMspsMstMstiBridgeEntry OBJECT-TYPE
   SYNTAX      SnMspsMstMstiBridgeEntry       
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the Bridge Information."
   INDEX { snMspsMstMstiInstanceIndex }
   ::= { snMspsMstMstiBridgeTable 1 }

SnMspsMstMstiBridgeEntry ::=
   SEQUENCE {
      snMspsMstMstiInstanceIndex 
            Integer32,
      snMspsMstMstiBridgeRegionalRoot 
            BridgeId,
      snMspsMstMstiBridgePriority 
            Integer32,
      snMspsMstMstiRootCost 
            Integer32,
      snMspsMstMstiRootPort 
            Integer32,
      snMspsMstMstiTimeSinceTopologyChange 
            TimeTicks,
      snMspsMstMstiTopChanges 
            Counter32,
      snMspsMstMstiNewRootBridgeCount 
            Counter32,
      snMspsMstMstiBridgeRoleSelectionSemState 
            INTEGER,
      snMspsMstInstanceUpCount 
            Counter32,
      snMspsMstInstanceDownCount 
            Counter32,
      snMspsMstOldDesignatedRoot 
            BridgeId
   }

snMspsMstMstiInstanceIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..64|4094)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Spanning Tree Instance to which the information belongs.
      The special MSTID of 4094, known as the PTETID, identifies VIDs 
      that are used by Ethernet Switched Paths (ESPs)."
   ::= { snMspsMstMstiBridgeEntry 1 }

snMspsMstMstiBridgeRegionalRoot OBJECT-TYPE
   SYNTAX      BridgeId  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "MSTI Regional Root Identifier value for the Instance. This value 
       is used as the MSTI Regional Root Identifier parameter in all
       Configuration Bridge PDUs originated by this node"
   ::= { snMspsMstMstiBridgeEntry 2 }

snMspsMstMstiBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440) 
   MAX-ACCESS  read-write     
   STATUS      current 
   DESCRIPTION 
      "The writable portion of the MSTI Bridge Identifier.
       comprising of the first two octets.
       The values that are set for Bridge Priority must be 
       in steps of 4096."
   DEFVAL {32768}
   ::= { snMspsMstMstiBridgeEntry 3 }

snMspsMstMstiRootCost OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Cost of the path to the MSTI Regional Root as seen 
       by this bridge." 
   ::= { snMspsMstMstiBridgeEntry 4 }

snMspsMstMstiRootPort OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Port Number of the Port which offers the lowest    
       path cost from this bridge to the MSTI Region Root Bridge."
   ::= { snMspsMstMstiBridgeEntry 5 }

snMspsMstMstiTimeSinceTopologyChange OBJECT-TYPE
   SYNTAX      TimeTicks 
   UNITS       "centi-seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was 
         non-zero for this spanning tree instance."
   ::= { snMspsMstMstiBridgeEntry 6 }

snMspsMstMstiTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for this
         spanning tree instance."
   ::= { snMspsMstMstiBridgeEntry 7 }

snMspsMstMstiNewRootBridgeCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for this spanning tree instance.
          A Trap is generated on the occurence of this event."
   ::= { snMspsMstMstiBridgeEntry 8 }

snMspsMstMstiBridgeRoleSelectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine          
           for this spanning tree instance for this bridge."           
   ::= { snMspsMstMstiBridgeEntry 9 }

snMspsMstInstanceUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a new spanning tree instance has
         been created. 
         A Trap is generated on the occurence of this event."
   ::= { snMspsMstMstiBridgeEntry 10 }

snMspsMstInstanceDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a spanning tree instance has
         been deleted.
         A Trap is generated on the occurence of this event."
   ::= { snMspsMstMstiBridgeEntry 11 }

snMspsMstOldDesignatedRoot OBJECT-TYPE
       SYNTAX  BridgeId
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The bridge identifier of the old root of the spanning
               tree instance as determined by the Spanning Tree Protocol
               as executed by this node. "
       ::= { snMspsMstMstiBridgeEntry 12 }

-- -----------------------------------------------------------------
-- END OF Mst Multiple Spanning Tree Instance Bridge Table
-- -----------------------------------------------------------------

-- snMspsMstp 61-62 reserved

-- -----------------------------------------------------------------
-- Mst Common Spanning Tree Port Table     
-- -----------------------------------------------------------------

snMspsMstCistPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsMstCistPortEntry              
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Common Spanning Tree Port
           Information."
     ::= { snMspsMstp 63 }

snMspsMstCistPortEntry OBJECT-TYPE
      SYNTAX      SnMspsMstCistPortEntry               
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for 
          Common Spanning tree."
      INDEX  { snMspsMstCistPort }
      ::= { snMspsMstCistPortTable 1 }

SnMspsMstCistPortEntry ::= 
   SEQUENCE {
       snMspsMstCistPort  
            Integer32,
       snMspsMstCistPortPathCost 
            Integer32,
       snMspsMstCistPortPriority 
            Integer32,
       snMspsMstCistPortDesignatedRoot 
            BridgeId,
       snMspsMstCistPortDesignatedBridge 
            BridgeId,
       snMspsMstCistPortDesignatedPort 
            OCTET STRING,
       snMspsMstCistPortAdminP2P 
            INTEGER,
       snMspsMstCistPortOperP2P 
            TruthValue,
       snMspsMstCistPortAdminEdgeStatus 
            TruthValue,
       snMspsMstCistPortOperEdgeStatus 
            TruthValue,
       snMspsMstCistPortProtocolMigration 
            TruthValue,
       snMspsMstCistPortState 
            INTEGER,
       snMspsMstCistForcePortState 
            INTEGER,
       snMspsMstCistPortForwardTransitions 
            Counter32,
       snMspsMstCistPortRxMstBpduCount
            Counter32,
       snMspsMstCistPortRxRstBpduCount
            Counter32,
       snMspsMstCistPortRxConfigBpduCount
            Counter32,
       snMspsMstCistPortRxTcnBpduCount
            Counter32,
       snMspsMstCistPortTxMstBpduCount
            Counter32,
       snMspsMstCistPortTxRstBpduCount
            Counter32,
       snMspsMstCistPortTxConfigBpduCount
            Counter32,
       snMspsMstCistPortTxTcnBpduCount
            Counter32,
       snMspsMstCistPortInvalidMstBpduRxCount
            Counter32,
       snMspsMstCistPortInvalidRstBpduRxCount
            Counter32,
       snMspsMstCistPortInvalidConfigBpduRxCount
            Counter32,
       snMspsMstCistPortInvalidTcnBpduRxCount
            Counter32,
       snMspsMstCistPortTransmitSemState 
            INTEGER,        
       snMspsMstCistPortReceiveSemState 
            INTEGER,        
       snMspsMstCistPortProtMigrationSemState 
            INTEGER,        
       snMspsMstCistProtocolMigrationCount 
            Counter32,
       snMspsMstCistPortDesignatedCost 
            Integer32,
       snMspsMstCistPortRegionalRoot 
            BridgeId,
       snMspsMstCistPortRegionalPathCost 
            Integer32,
       snMspsMstCistSelectedPortRole 
            INTEGER,
       snMspsMstCistCurrentPortRole  
            INTEGER,
       snMspsMstCistPortInfoSemState 
            INTEGER,        
       snMspsMstCistPortRoleTransitionSemState 
            INTEGER,        
       snMspsMstCistPortStateTransitionSemState 
            INTEGER,         
       snMspsMstCistPortTopologyChangeSemState 
            INTEGER,
       snMspsMstCistPortHelloTime 
            Timeout,
       snMspsMstCistPortOperVersion
            INTEGER,
       snMspsMstCistPortEffectivePortState
            TruthValue,
       snMspsMstCistPortAutoEdgeStatus 
           TruthValue,
       snMspsMstCistPortRestrictedRole 
           TruthValue, 
       snMspsMstCistPortRestrictedTCN 
           TruthValue,
       snMspsMstCistPortAdminPathCost
           Integer32,
       snMspsMstCistPortEnableBPDURx
           TruthValue,
       snMspsMstCistPortEnableBPDUTx
           TruthValue,
       snMspsMstCistPortPseudoRootId
            BridgeId,
       snMspsMstCistPortIsL2Gp
           TruthValue,
       snMspsMstCistPortLoopGuard
           TruthValue,
       snMspsMstCistPortLimitedTCN
           TruthValue
}

snMspsMstCistPort OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port number of the port for which this entry contains   
           spanning tree information."                                      
      ::= { snMspsMstCistPortEntry 1 }

snMspsMstCistPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (1..200000000)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
            "The contribution of this port to the path cost of
             paths towards the CIST Root which include this port."
      ::= { snMspsMstCistPortEntry 2 }

snMspsMstCistPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier 
          of the Spanning Tree instance can be modified by setting 
          the CistPortPriority value. The values that are set for Port 
          Priority must be in steps of 16."
     DEFVAL {128}
      ::= { snMspsMstCistPortEntry 3 }

snMspsMstCistPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the  
           CIST Root in the configuration BPDUs transmitted."      
      ::= { snMspsMstCistPortEntry 4 }

snMspsMstCistPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port  
           considers to be the Designated Bridge for the port's segment."   
      ::= { snMspsMstCistPortEntry 5 }

snMspsMstCistPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge    
           for this port's segment."                                           
      ::= { snMspsMstCistPortEntry 6 }

snMspsMstCistPortAdminP2P OBJECT-TYPE
      SYNTAX      INTEGER {               
                    forceTrue(0),
                    forceFalse(1),
                    auto(2)
                  }
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The administrative point-to-point status of the LAN segment
          attached to this port.  A value of forceTrue(0) indicates that
          this port should always be treated as if it is connected to
          a point-to-point link.  A value of forceFalse(1) indicates
          that this port should be treated as having a shared media
          connection.  A value of auto(2) indicates that this port is
          considered to have a point-to-point link if it is an Aggregator
          and all of its members are aggregatable, or if the MAC entity
          is configured for full duplex operation, either through
          auto-negotiation or by management means."
      ::= { snMspsMstCistPortEntry 7 }

snMspsMstCistPortOperP2P OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The operational point-to-point status of the LAN segment
          attached to this port.  It indicates whether a port is
          considered to have a point-to-point connection or not.
          The value is determined by management or by auto-detection,
          as described in the snMspsMstCistPortAdminP2P object."
      ::= { snMspsMstCistPortEntry 8 }

snMspsMstCistPortAdminEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The administrative value of the Edge Port parameter.  A
          value of TRUE(1) indicates that this port should be
          assumed as an edge-port and a value of FALSE(2) indicates
          that this port should be assumed as a non-edge-port."
      ::= { snMspsMstCistPortEntry 9 }

snMspsMstCistPortOperEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The operational value of the Edge Port parameter.  The
          object is initialized to the value of
          snMspsMstCistPortAdminEdgeStatus and is set FALSE on reception 
          of a BPDU."
	  DEFVAL { false }
      ::= { snMspsMstCistPortEntry 10 }

snMspsMstCistPortProtocolMigration OBJECT-TYPE
      SYNTAX      TruthValue                
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "This object represents the protocol migration state event
          machine variable 'mcheck' for this port.
          When operating in RSTP/MSTP (version >= 2) mode, writing
          TRUE(1) to this object forces this port to transmit MSTP
          BPDUs.

          Any other operation on this object has no effect and
          it always returns FALSE(2) when read."
	  DEFVAL { false }
      ::= { snMspsMstCistPortEntry 11 }

snMspsMstCistPortState OBJECT-TYPE
      SYNTAX      INTEGER {              
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Common    
           spanning tree protocol." 
      ::= { snMspsMstCistPortEntry 12 }

snMspsMstCistForcePortState OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "Current state of the Port which can be changed to either 
           Disabled or Enabled for ALL spanning tree   
           instances. Setting this object will override the port's
           status in any of the MSTI contexts"                                        
      ::= { snMspsMstCistPortEntry 13 }

snMspsMstCistPortForwardTransitions OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of times this port has transitioned to the     
           Forwarding State."                                     
      ::= { snMspsMstCistPortEntry 14 }

snMspsMstCistPortRxMstBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of MST BPDUs received on this port."     
      ::= { snMspsMstCistPortEntry 15 }

snMspsMstCistPortRxRstBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of RST BPDUs received on this port."     
      ::= { snMspsMstCistPortEntry 16 }

snMspsMstCistPortRxConfigBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs received on this port."     
      ::= { snMspsMstCistPortEntry 17 }

snMspsMstCistPortRxTcnBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs received on this port."     
      ::= { snMspsMstCistPortEntry 18 }

snMspsMstCistPortTxMstBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of MST BPDUs Transmitted from this port."     
      ::= { snMspsMstCistPortEntry 19 }

snMspsMstCistPortTxRstBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of RST BPDUs Transmitted from this port."     
      ::= { snMspsMstCistPortEntry 20 }

snMspsMstCistPortTxConfigBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs Transmitted from this port."     
      ::= { snMspsMstCistPortEntry 21 }

snMspsMstCistPortTxTcnBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs Transmitted from this port."     
      ::= { snMspsMstCistPortEntry 22 }

snMspsMstCistPortInvalidMstBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid MST BPDUs Received on this port."     
      ::= { snMspsMstCistPortEntry 23 }

snMspsMstCistPortInvalidRstBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid RST BPDUs Received on this port."     
      ::= { snMspsMstCistPortEntry 24 }

snMspsMstCistPortInvalidConfigBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid Configuration BPDUs Received on this port."     
      ::= { snMspsMstCistPortEntry 25 }

snMspsMstCistPortInvalidTcnBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid TCN BPDUs Received on this port."     
      ::= { snMspsMstCistPortEntry 26 }

snMspsMstCistPortTransmitSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  transmitinit (0),
                  transmitperiodic (1),
                  transmitconfig (2),
                  transmittcn (3),
                  transmitrstp (4),
                  idle (5)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Transmit state machine."
      ::= { snMspsMstCistPortEntry 27 }

snMspsMstCistPortReceiveSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  discard (0),
                  receive (1)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Receive state machine."
      ::= { snMspsMstCistPortEntry 28 }

snMspsMstCistPortProtMigrationSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  init (0),
                  sendrstp (1),
                  sendingrstp (2),
                  sendstp (3),
                  sendingstp (4)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Protocol Migration
           State machine."
      ::= { snMspsMstCistPortEntry 29 }

snMspsMstCistProtocolMigrationCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times this Port has migrated from one STP protocol 
        version to another. The relevant protocols are STP-COMPATIBLE and 
        RSTP/MSTP.
        A Trap is generated on the occurence of this event."
      ::= { snMspsMstCistPortEntry 30 }

snMspsMstCistPortDesignatedCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only           
      STATUS      current
      DESCRIPTION
           "The path cost of the Designated Port of the
            segment connected to this port."
      ::= { snMspsMstCistPortEntry 31 }

snMspsMstCistPortRegionalRoot OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the  
           CIST Regional Root Identifier in the configuration BPDUs 
           transmitted."      
      ::= { snMspsMstCistPortEntry 32 }

snMspsMstCistPortRegionalPathCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only           
      STATUS      current
      DESCRIPTION
          "The contribution of this port to the path cost of paths     
           towards the CIST Regional Root which include this port."         
      ::= { snMspsMstCistPortEntry 33 }

snMspsMstCistSelectedPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Selected Port Role of the port for this spanning 
          tree instance."                                      
      ::= { snMspsMstCistPortEntry 34 }

snMspsMstCistCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {              
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4),
                   rstpPlus(5)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning 
          tree instance. It returns role 'rstpPlus', 
          if the port is ring port and spanning tree is enabled
          on this port."
      ::= { snMspsMstCistPortEntry 35 }

snMspsMstCistPortInfoSemState OBJECT-TYPE
	SYNTAX      INTEGER {
               disabled (0),
               aged (1),
               update (2),
               superiordesg (3),
               repeatdesg (4),
               inferiordesg (5),
               notdesg (6),
               present (7),
               receive (8),
               other (9)
            }                
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Information State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstCistPortEntry 36 }

snMspsMstCistPortRoleTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  init (0),
                  disableport (1),
                  disabledport (2),
                  rootport (3),
                  designatedport (4),
                  alternateport (5),
                  masterport (6)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstCistPortEntry 37 }

snMspsMstCistPortStateTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port State Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstCistPortEntry 38 }

snMspsMstCistPortTopologyChangeSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  inactive (0),
                  learning (1),
                  detected (2),
                  active (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Topology Change State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstCistPortEntry 39 }

snMspsMstCistPortHelloTime OBJECT-TYPE
   SYNTAX      Timeout (100..200)  
   UNITS       "centi-seconds"
   MAX-ACCESS  read-write  
   STATUS      current
   DESCRIPTION
   	  "The amount of time between the transmission of
	   Configuration bridge PDUs by this node on this port
	   in units of hundredths of a second."
      ::= { snMspsMstCistPortEntry 40 }

snMspsMstCistPortOperVersion OBJECT-TYPE
   SYNTAX      INTEGER {
               stpCompatible(0),
               rstp(2),
               mstp(3)
            }
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "This indicates whether the Port is operationally in the Mstp
       mode, Rstp mode or the Stp-compatible mode i.e., whether the
       Port is transmitting MST BPDUs, RST BPDUs or Config/TCN BPDUs."
      ::= { snMspsMstCistPortEntry 41 }
      
snMspsMstCistPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The effective operational state of the port for CIST. This will
          TRUE only when the port is operationally up in the Interface level
          and Protocol level for CIST. This is will be set to False for all 
          other times."

      ::= { snMspsMstCistPortEntry 42 }

snMspsMstCistPortAutoEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "This parameter when TRUE(1) indicates that detection 
          of a port as Edge Port happens automatically
          and FALSE(2) indicates that this feature is disabled."
      ::= { snMspsMstCistPortEntry 43 }

snMspsMstCistPortRestrictedRole OBJECT-TYPE 
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write 
    STATUS      current 
    DESCRIPTION 
        "A Boolean value set by management. If TRUE causes the Port not 
        to be selected as Root Port for the CIST or any MSTI, even it has 
        the best spanning tree priority vector. Such a Port will be selected 
        as an Alternate Port after the Root Port has been selected. This 
        parameter should be FALSE by default. If set it can cause lack of 
        spanning tree connectivity. It is set by a network administrator to 
        prevent bridges external to a core region of the network influencing 
        the spanning tree active topology, possibly because those bridges are 
        not under the full control of the administrator. 

        This administrator configuration is also known as 'Root Guard'." 

        ::= {snMspsMstCistPortEntry 44}

snMspsMstCistPortRestrictedTCN OBJECT-TYPE 
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write 
    STATUS      current 
    DESCRIPTION 
        "A Boolean value set by management. If TRUE causes the Port not 
        to propagate received topology change notifications and topology 
        changes to other Ports. This parameter should be FALSE by default. 
        If set it can cause temporary loss of connectivity after changes in 
        a spanning trees active topology as a result of persistent 
        incorrectly learnt station location information. It is set by a 
        network administrator to prevent bridges external to a core region of 
        the network causing address flushing in that region, possibly because 
        those bridges are not under the full control of the administrator or 
        MAC_Operational for the attached LANs transitions frequently." 

        ::= {snMspsMstCistPortEntry 45}

snMspsMstCistPortAdminPathCost OBJECT-TYPE
    SYNTAX      Integer32 (0..200000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administratively assigned value for the contribution
         of this port to the path cost of paths toward the spanning
         tree root.
         Writing a value of '0' assigns the automatically calculated
         default Path Cost value to the port.  If the default Path
         Cost is being used, this object returns '0' when read.
         This complements the object dot1dStpPortPathCost or
         dot1dStpPortPathCost32, which returns the operational value
         of the path cost."
 
        ::= { snMspsMstCistPortEntry 46} 

snMspsMstCistPortEnableBPDURx OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If FALSE, the BPDUs received on
        the port are ignored."
    REFERENCE   "IEEE802.1ah - 13.25.18"
    DEFVAL { true }
        ::= { snMspsMstCistPortEntry 47 }

snMspsMstCistPortEnableBPDUTx OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If FALSE, no BPDUs are transmitted
        by this port. This variable should be FALSE before configuring port
        as a Layer Two Gateway Port."
    REFERENCE   "IEEE802.1ah - 13.25.19"
    DEFVAL { true }
        ::= { snMspsMstCistPortEntry 48 }

snMspsMstCistPortPseudoRootId OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "In MSTP Bridge, the snMspsMstCistPortPseudoRootId parameter value
        by default, it is set to the BridgeIdentifier. The pseudoRootId
        is used by Layer Two Gateway Port as the RootId in generated BPDUs."
    REFERENCE   "IEEE802.1ah - 13.25.20"
        ::= { snMspsMstCistPortEntry 49 }

snMspsMstCistPortIsL2Gp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If TRUE, then port is functioning
        as a Layer Two Gateway Port. The snMspsMstCistPortEnableBPDUTx should be
        FALSE to set snMspsMstCistPortIsL2Gp to TRUE."
    REFERENCE   "IEEE802.1ah - 13.25.21"
    DEFVAL { false }
        ::= { snMspsMstCistPortEntry 50 }

snMspsMstCistPortLoopGuard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If TRUE, then it will not age out
        the information even if the peer does not send information. If the port
        continues to receive information through BPDUs the operation 
        on this port will be normal. This will be useful when the neighbor
        bridge is faulty, i.e. it cannot send BPDUs but continues to send data 
        traffic." 

    DEFVAL { false }
        ::= { snMspsMstCistPortEntry 51 }

snMspsMstCistPortLimitedTCN OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "RSTP+ both the received and the detected (self-produced) TCs are accepted
    but not forwarded. It comes into effect only if RSTP+ feature is enabled and
    snMspsMstCistPortRestrictedTCN is set to FALSE."
    DEFVAL { false }
    ::= { snMspsMstCistPortEntry 52 }

-- -----------------------------------------------------------------
-- END OF Mst Common Spanning Tree Port Table     
-- -----------------------------------------------------------------
-- -----------------------------------------------------------------
-- Mst Multiple Spanning Tree Instance Port Table     
-- -----------------------------------------------------------------   

snMspsMstMstiPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsMstMstiPortEntry              
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Spanning Tree Instance Specific Port
           Information."
     ::= { snMspsMstp 64 }

snMspsMstMstiPortEntry OBJECT-TYPE
      SYNTAX      SnMspsMstMstiPortEntry               
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for each 
           and every spanning tree instance."
      INDEX  { snMspsMstMstiPort, snMspsMstInstanceIndex }
      ::= { snMspsMstMstiPortTable 1 }

SnMspsMstMstiPortEntry ::= 
   SEQUENCE {
       snMspsMstMstiPort  
            Integer32,
       snMspsMstMstiPortPathCost 
            Integer32,
       snMspsMstMstiPortPriority 
            Integer32,
       snMspsMstMstiPortDesignatedRoot 
            BridgeId,
       snMspsMstMstiPortDesignatedBridge 
            BridgeId,
       snMspsMstMstiPortDesignatedPort 
            OCTET STRING,
       snMspsMstMstiPortState 
            INTEGER,
       snMspsMstMstiForcePortState 
            INTEGER,
       snMspsMstMstiPortForwardTransitions 
            Counter32,
       snMspsMstMstiPortReceivedBPDUs 
            Counter32,
       snMspsMstMstiPortTransmittedBPDUs 
            Counter32,
       snMspsMstMstiPortInvalidBPDUsRcvd 
            Counter32,
       snMspsMstMstiPortDesignatedCost 
            Integer32,
       snMspsMstMstiSelectedPortRole 
            INTEGER,
       snMspsMstMstiCurrentPortRole  
            INTEGER,
       snMspsMstMstiPortInfoSemState 
            INTEGER,        
       snMspsMstMstiPortRoleTransitionSemState 
            INTEGER,        
       snMspsMstMstiPortStateTransitionSemState 
            INTEGER,         
       snMspsMstMstiPortTopologyChangeSemState 
            INTEGER,        
       snMspsMstMstiPortEffectivePortState
            TruthValue,
       snMspsMstMstiPortAdminPathCost
            Integer32,
       snMspsMstMstiPortPseudoRootId
            BridgeId
}

snMspsMstMstiPort OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port number of the port for which this entry contains   
           spanning tree information."                                      
      ::= { snMspsMstMstiPortEntry 1 }

snMspsMstMstiPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (1..200000000)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The contribution of this port to the path cost of
           paths towards the MSTI Root which include this port."
      ::= { snMspsMstMstiPortEntry 2 }

snMspsMstMstiPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier 
          for a given Spanning Tree instance can be modified 
          independently for each Spanning Tree instance 
          supported by the Bridge. The values that are set for Port 
          Priority must be in steps of 16."
    DEFVAL {128}
      ::= { snMspsMstMstiPortEntry 3 }

snMspsMstMstiPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the  
           MSTI Regional Root in the configuration BPDUs transmitted."      
      ::= { snMspsMstMstiPortEntry 4 }

snMspsMstMstiPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port  
           considers to be the Designated Bridge for the port's segment."   
      ::= { snMspsMstMstiPortEntry 5 }

snMspsMstMstiPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge    
           for this port's segment."                                           
      ::= { snMspsMstMstiPortEntry 6 }

snMspsMstMstiPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Multiple  
           spanning tree protocol. Port which is Forwarding state
           in one instance can be in Discarding (Blocking) state 
           in another instance."
      ::= { snMspsMstMstiPortEntry 7 }

snMspsMstMstiForcePortState OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "Current state of the Port which can be changed to either 
           Disabled or Enabled for the specific spanning tree   
           instance. This object can be set to enabled only if the 
           'snMspsMstCistForcePortState' is set to 'enabled' for this port"                                            
      ::= { snMspsMstMstiPortEntry 8 }

snMspsMstMstiPortForwardTransitions OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of times this port has transitioned to the     
           Forwarding State for specific instance."                                     
      ::= { snMspsMstMstiPortEntry 9 }

snMspsMstMstiPortReceivedBPDUs OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of BPDUs received by this port for this 
          spanning tree instance."                            
      ::= { snMspsMstMstiPortEntry 10 }

snMspsMstMstiPortTransmittedBPDUs OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of BPDUs transmitted on this port for 
          this spanning tree instance."                            
      ::= { snMspsMstMstiPortEntry 11 }

snMspsMstMstiPortInvalidBPDUsRcvd OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid BPDUs received on this Port
           for this spanning tree instance."                            
      ::= { snMspsMstMstiPortEntry 12 }

snMspsMstMstiPortDesignatedCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only           
      STATUS      current
      DESCRIPTION
            "The path cost of the Designated Port of the
             segment connected to this port."
      ::= { snMspsMstMstiPortEntry 13 }

snMspsMstMstiSelectedPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4),
                   master(5)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Selected Port Role of the port for this spanning 
          tree instance."                                      
      ::= { snMspsMstMstiPortEntry 14 }

snMspsMstMstiCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {              
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4),
                   master(5)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning 
          tree instance."                                      
      ::= { snMspsMstMstiPortEntry 15 }

snMspsMstMstiPortInfoSemState OBJECT-TYPE
	SYNTAX      INTEGER {
               disabled (0),
               aged (1),
               update (2),
               superiordesg (3),
               repeatdesg (4),
               inferiordesg (5),
               notdesg (6),
               present (7),
               receive (8),
               other (9)
            }                
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Information State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstMstiPortEntry 16 }

snMspsMstMstiPortRoleTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  init (0),
                  disableport (1),
                  disabledport (2),
                  rootport (3),
                  designatedport (4),
                  alternateport (5),
                  masterport (6)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstMstiPortEntry 17 }

snMspsMstMstiPortStateTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port State Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstMstiPortEntry 18 }

snMspsMstMstiPortTopologyChangeSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  inactive (0),
                  learning (1),
                  detected (2),
                  active (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Topology Change State Machine          
           for this port in this spanning tree context."                                      
      ::= { snMspsMstMstiPortEntry 19 }

snMspsMstMstiPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The effective operational stae of the port for specific instance.
          This is will be TRUE only when the port is operationally up in the
          interface level and Protocol level for the specific instance.
          This is will be set to false at all other times."

      ::= { snMspsMstMstiPortEntry 20 }


snMspsMstMstiPortAdminPathCost OBJECT-TYPE
      SYNTAX      Integer32 (0..200000000)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administratively assigned value for the contribution
           of this port to the path cost of paths toward the spanning
           tree root.
           Writing a value of '0' assigns the automatically calculated
           default Path Cost value to the port.  If the default Path
           Cost is being used, this object returns '0' when read.
           This complements the object dot1dStpPortPathCost or
           dot1dStpPortPathCost32, which returns the operational value
           of the path cost."
      ::= { snMspsMstMstiPortEntry 21 }
                                                                                                              
snMspsMstMstiPortPseudoRootId OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "In MSTP Bridge, the snMspsMstMstiPortPseudoRootId parameter value
        by default, it is set to the BridgeIdentifier. The pseudoRootId
        is used by Layer Two Gateway Port as the RootId in generated BPDUs."
    REFERENCE   "IEEE802.1ah - 13.25.20"
      ::= { snMspsMstMstiPortEntry 22 } 

-- -----------------------------------------------------------------
-- END OF Mst Multiple Spanning Tree Instance Port Table     
-- -----------------------------------------------------------------

-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------

snMspsTrapMSTPNewRootbridgeDetected      NOTIFICATION-TYPE
     OBJECTS { snMspsMstBrgAddress, snMspsMstOldDesignatedRoot, snMspsMstMstiBridgeRegionalRoot }
     STATUS                  current 
         DESCRIPTION
            "(M)STP new Rootbridge detected."
         ::= { snMspsTrapPrefix 251 }
         
snMspsTrapMSTPTopChange      NOTIFICATION-TYPE
     STATUS                  current 
         DESCRIPTION
            "(M)STP Topologychange detected."
         ::= { snMspsTrapPrefix 252 }

-- -------------------------------------------------------------
-- END OF SNMPv2 Notifications
-- -------------------------------------------------------------

                     

    
-- ----------------------------------------------------------------
-- MSPS SNMP Group Objects
-- ----------------------------------------------------------------

snMspsSnmpObjects               OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION                 "
                                This MIB module defines MIB objects which provide
                                mechanisms to remotely configure the attributes used
                                by an MSPS hosted SNMP entity to control data exchange
                                with other SNMP entities.
                                "
    ::= { snMspsSnmp  1 }

snMspsSnmpAgentAttributes       OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION                 ""
    ::= { snMspsSnmpObjects  1 }

snMspsSnmpAgentControl          OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    enabled(1),
                                    disabled(2)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to enable or disable the SNMP agent.
                                "
    DEFVAL                      { enabled }
    ::= { snMspsSnmpAgentAttributes  1 }

snMspsSnmpAllowedPduVersions    OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    snmpv3(1),
                                    snmpv1v2c(2),
                                    snmpv1v2cv3(3)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to control whether the agent will
                                reply to PDUs of a specific SNMP framework version. If
                                the PDU version of an incoming request does not match
                                the version required by this object, the PDU will be
                                silently discarded.
                                "
    DEFVAL                      { snmpv1v2cv3 }
    ::= { snMspsSnmpAgentAttributes  2 }

snMspsSnmpMinimumSecurityRequired OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    noAuthNoPriv(1),
                                    authNoPriv(2),
                                    authPriv(3)
                                }
--  From SNMP-FRAMEWORK-MIB                                
--  SYNTAX                      SnmpSecurityLevel       
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to control whether the agent will
                                reply to PDUs of a specific SNMP security level. If
                                the PDU version of an incoming request does not match
                                the security level required by this object, the PDU will
                                be silently discarded.
                                "
    DEFVAL                      { noAuthNoPriv }
    ::= { snMspsSnmpAgentAttributes  3 }

snMspsSnmpColdStartTrapControl  OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    enabled(1),
                                    disabled(2)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to control whether the agent will
                                send a cold start trap.
                                "
    DEFVAL                      { disabled }
    ::= { snMspsSnmpAgentAttributes  4 }

snMspsSnmpV1V2cPduReadOnly      OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    enabled(1),
                                    disabled(2)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to control whether the agent will
                                restrict SNMPv1 and SNMPv2c PDUs to read-only access.
                                
                                Enabling this object overrides any other administrative
                                setting that would grant read-write access for SNMPv1
                                and SNMPv2c PDUs to any MIB objects at this agent.
                                "
    DEFVAL                      { disabled }
    ::= { snMspsSnmpAgentAttributes  5 }

snMspsSnmpV1TrapControl         OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    enabled(1),
                                    disabled(2)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to control whether the agent will
                                generate SNMPv1 Trap PDUs.
                                
                                The administrative state of this object is checked
                                additionally to any setting from the SNMP-TARGET-MIB
                                and the SNMP-NOTIFICATION-MIB that influences the
                                generation of a SNMPv1 Trap PDU.
                                "
    DEFVAL                      { disabled }
    ::= { snMspsSnmpAgentAttributes  6 }

snMspsSNMPV3UserMigration  OBJECT-TYPE
    SYNTAX                      INTEGER {
                                    enabled(1),
                                    disabled(2)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION                 "
                                This object is used to control whether the Engine ID
				to be migrated or not.
                                "
    DEFVAL                      { enabled }
    ::= { snMspsSnmpAgentAttributes  10 }


snMspsSnmpListenAgentPort OBJECT-TYPE
    SYNTAX                Integer32 (1..65535)
    MAX-ACCESS            read-write
    STATUS                current
    DESCRIPTION           "SNMP agent service's listening port.
                           Allowed values are default port and ports in the dynamic port range (49500-65535).
                           Get operation return current listening port.
                           The SNMP agent service must be disabled before this configuration is done
                           Set operation return Inconsistent value for any one of the following 
                           1. if the set port value is other than allowed port range or 
                           2. if the port already used by another service in the device or
                           3. if the device does not support to change the port."
    DEFVAL                { 161 }
    ::= { snMspsSnmpAgentAttributes  15 }

--
-- The snMspsSnmpTargetAddrExtTable
--
snMspsSnmpStdExt         OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION                 ""
    ::= { snMspsSnmpObjects  5 }

snMspsSnmpTargetAddrExtTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF SnMspsSnmpTargetAddrExtEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This table is an extension to standard MIB associated with the snmpTargetAddrTable.

         The snMspsSnmpTargetAddrExtTable augments the
         snmpTargetAddrTable with a entry for remote Engine ID which
         is needed for V3 Inform messages."
    ::= { snMspsSnmpStdExt 10 }

snMspsSnmpTargetAddrExtEntry OBJECT-TYPE
    SYNTAX       SnMspsSnmpTargetAddrExtEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Information about the target EngineID."
    AUGMENTS       { snmpTargetAddrEntry }
    ::= { snMspsSnmpTargetAddrExtTable 1 }

SnMspsSnmpTargetAddrExtEntry ::= SEQUENCE {
    snMspsSnmpTargetEngineId        SnmpEngineID
}

snMspsSnmpTargetEngineId  OBJECT-TYPE
    SYNTAX       SnmpEngineID
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION "An SNMP engine's administratively-unique identifier.

                 In a simple agent, this value is always that agent's
                 own snmpEngineID value.

                 This object take the value of the snmpEngineID
                 of a remote SNMP engine with which this user can
                 communicate.
                "
    ::= { snMspsSnmpTargetAddrExtEntry 1 }


-- ----------------------
-- snmspsnatv2.mib
--
-- SIEMENS AG
-- Automation & Drives
--
-- object definitions to support NAT functionality 
--
-- Copyright (c) 2012 Siemens AG
-- All rights reserved.
-- ----------------------

NatStatus  ::= TEXTUAL-CONVENTION
   STATUS    current
   DESCRIPTION
      "The status of each feature of snMspsNatv2 i.e. whether it is enabled or
      not"
   SYNTAX    INTEGER  {
               enabled(1),
                       disabled(2)
                   }

snMspsNatv2EnabledStatus		OBJECT-TYPE
   SYNTAX           INTEGER { enabled(1), disabled(2) }
   MAX-ACCESS		read-write
   STATUS			current
   DESCRIPTION
	  "Enables or Disables NATv2 globally."
   DEFVAL  { disabled }
   ::=	{ snMspsNatv2 1 }
   
snMspsNatv2IdleTimeOut                  OBJECT-TYPE
   SYNTAX                               Integer32(60..86400)
   MAX-ACCESS                   read-write
   STATUS                           current
   DESCRIPTION
        "This gives the amount of time until which a connection can stay idle,
        after which the connection will be terminated. The time is given in
        seconds."
   DEFVAL { 60 }
  ::=  { snMspsNatv2 2 }

snMspsNatv2TcpTimeOut           OBJECT-TYPE
   SYNTAX                               Integer32(300..86400)
   MAX-ACCESS                   read-write
   STATUS                               current
   DESCRIPTION
        "This gives the amount of time the TCP session entry can be present in the
        NAT session table without being used or referred, before being removed from
        the NAT session table. Here time is in seconds."
   DEFVAL { 3600 }
  ::=  { snMspsNatv2 3 }

snMspsNatv2UdpTimeOut           OBJECT-TYPE
   SYNTAX                               Integer32(300..86400)
   MAX-ACCESS                   read-write
   STATUS                               current
   DESCRIPTION
        "This gives the amount of time the UDP session entry can be present in the
        NAT session table without being used or referred, before being removed from
        the NAT session table. Here time is in seconds."
   DEFVAL { 300 }
  ::=  { snMspsNatv2 4 }

-- SCALAR_TABLE_END nat

-- NAT Dynamic Table, also called as translation table.
-- dynamic translation entries are created/deleted on the fly.
-- this table is for monitoring and not for configuration.

snMspsNatv2DynamicTransTable            OBJECT-TYPE
   SYNTAX                           SEQUENCE OF SnMspsNatv2DynamicTransEntry
   MAX-ACCESS                   not-accessible
   STATUS                               current
   DESCRIPTION
      "This table is a read-only table which gives the IP address and port
      mappings present in the NAT table. This is nothing but the NAT
      translation  table. Rows can neither be created nor be deleted using
      the rowstatus column.  Rows are automatically created and deleted by
      NAT module. The rowstatus will  always hold the value ACTIVE."
   ::=  { snMspsNatv2 5 }


 snMspsNatv2DynamicTransEntry           OBJECT-TYPE
   SYNTAX                       SnMspsNatv2DynamicTransEntry
   MAX-ACCESS                   not-accessible
   STATUS                               current
   DESCRIPTION
      "An entry in the NAT dynamic table."
   INDEX {
      snMspsNatv2DynamicTransInterfaceNum,
      snMspsNatv2DynamicTransLocalIp,
      snMspsNatv2DynamicTransLocalPort,
      snMspsNatv2DynamicTransOutsideIp,
      snMspsNatv2DynamicTransOutsidePort
      }
  ::=  {   snMspsNatv2DynamicTransTable 1 }

SnMspsNatv2DynamicTransEntry  ::=
    SEQUENCE {
       snMspsNatv2DynamicTransInterfaceNum          Integer32,
       snMspsNatv2DynamicTransLocalIp               IpAddress,
       snMspsNatv2DynamicTransTranslatedLocalIp     IpAddress,
       snMspsNatv2DynamicTransLocalPort             Integer32,
       snMspsNatv2DynamicTransTranslatedLocalPort   Integer32,
       snMspsNatv2DynamicTransOutsideIp             IpAddress,
       snMspsNatv2DynamicTransOutsidePort           Integer32,
       snMspsNatv2DynamicTransLastUseTime           Integer32
       }

snMspsNatv2DynamicTransInterfaceNum             OBJECT-TYPE
   SYNTAX                                               Integer32(0..65535)
   MAX-ACCESS                                   not-accessible
   STATUS                                               current
   DESCRIPTION
      "This gives the global interface number on which the session is going
      on."
   ::=  { snMspsNatv2DynamicTransEntry 1 }

snMspsNatv2DynamicTransLocalIp                  OBJECT-TYPE
   SYNTAX                                               IpAddress
   MAX-ACCESS                                   not-accessible
   STATUS                                               current
   DESCRIPTION
      "This gives the actual IP address of the host connected to inside
      network."
   ::=  { snMspsNatv2DynamicTransEntry 2 }

snMspsNatv2DynamicTransTranslatedLocalIp        OBJECT-TYPE
   SYNTAX                                                       IpAddress
   MAX-ACCESS                                           read-only
   STATUS                                                       current
   DESCRIPTION
      "This is the address assigned to the local host by NAT. All the hosts
      from  outside will contact the local host through this valid IP
      Address."
   ::=  { snMspsNatv2DynamicTransEntry 3 }

snMspsNatv2DynamicTransLocalPort        OBJECT-TYPE
   SYNTAX                                       Integer32(1..65535)
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "This is the actual source/destination port (UDP/TCP) used by the
      local host  for communicating with the outside network."
   ::=  { snMspsNatv2DynamicTransEntry 4 }

snMspsNatv2DynamicTransTranslatedLocalPort      OBJECT-TYPE
   SYNTAX                                                       Integer32
   MAX-ACCESS                                           read-only
   STATUS                                                       current
   DESCRIPTION
      "This is the port number assigned by NAT, when PAT is enabled.
      Otherwise the  original port number is retained."
   ::=  { snMspsNatv2DynamicTransEntry 5 }

snMspsNatv2DynamicTransOutsideIp        OBJECT-TYPE
   SYNTAX                                       IpAddress
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "This gives the IP address of the outside host which the above stated
      Local host is contacting."
   ::=  { snMspsNatv2DynamicTransEntry 6 }

snMspsNatv2DynamicTransOutsidePort        OBJECT-TYPE
   SYNTAX                                         Integer32(1..65535)
   MAX-ACCESS                             not-accessible
   STATUS                                         current
   DESCRIPTION
      "This is the port number of the outside host on which it is being
      contacted."
   ::=  { snMspsNatv2DynamicTransEntry 7 }

snMspsNatv2DynamicTransLastUseTime    OBJECT-TYPE
   SYNTAX                                         Integer32
   MAX-ACCESS                             read-only
   STATUS                                         current
   DESCRIPTION
      "This gives the amount of time (in seconds) for which the above particular
      connection has remained idle."
   ::=  { snMspsNatv2DynamicTransEntry 8 }


-- NAT global IP address table. To list the global IP addresses obtained
-- from IANA.

snMspsNatv2GlobalAddressTable           OBJECT-TYPE
   SYNTAX                               SEQUENCE OF SnMspsNatv2GlobalAddressEntry
   MAX-ACCESS                   not-accessible
   STATUS                               current
   DESCRIPTION
      "This configuration table is used to list all the global IP addresses
      obtained from InterNIC and which can be used by NAT module for
      translation."
   ::=  { snMspsNatv2 6 }


 snMspsNatv2GlobalAddressEntry          OBJECT-TYPE
   SYNTAX                                       SnMspsNatv2GlobalAddressEntry
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "An entry in the NAT global IP address table."
   INDEX {
      snMspsNatv2GlobalAddressInterfaceNum,
      snMspsNatv2GlobalAddressTranslatedLocalIp
      }
  ::=  { snMspsNatv2GlobalAddressTable 1 }

SnMspsNatv2GlobalAddressEntry  ::=
    SEQUENCE {
       snMspsNatv2GlobalAddressInterfaceNum        Integer32,
       snMspsNatv2GlobalAddressTranslatedLocalIp   IpAddress,
       snMspsNatv2GlobalAddressMask                IpAddress,
       snMspsNatv2GlobalAddressEntryStatus         RowStatus
       }

snMspsNatv2GlobalAddressInterfaceNum    OBJECT-TYPE
   SYNTAX                                               Integer32(0..65535)
   MAX-ACCESS                                   not-accessible
   STATUS                                               current
   DESCRIPTION
      "This gives the interface number on which the global IP address given
      below should be used for local IP address translation."
   ::=  { snMspsNatv2GlobalAddressEntry 1 }

snMspsNatv2GlobalAddressTranslatedLocalIp       OBJECT-TYPE
   SYNTAX                                                       IpAddress
   MAX-ACCESS                                           not-accessible
   STATUS                                                       current
   DESCRIPTION
      "This is the IP address network number obtained from the IANA which can
      be used by NAT for translating the local IP addresses whose packets are
      going on the corresponding interface number given by
      natGlobalAddressInterfaceNum."
   ::=  { snMspsNatv2GlobalAddressEntry 2 }

snMspsNatv2GlobalAddressMask    OBJECT-TYPE
   SYNTAX                               IpAddress
   MAX-ACCESS                   read-write
   STATUS                               current
   DESCRIPTION
        "This when applied on the natGlobalAddressTranslatedLocalIp gives the
    range of global IP Addresses that can be used by the NAT module to
    translate the local IP Address whose packets are transmitted on the
    given interface number."
   ::=  { snMspsNatv2GlobalAddressEntry 3 }

snMspsNatv2GlobalAddressEntryStatus     OBJECT-TYPE
   SYNTAX                                       RowStatus
   MAX-ACCESS                           read-write
   STATUS                                       current
   DESCRIPTION
      "The status of the entry can be used as specified in the SNMP V2
      standard. "
  ::=  { snMspsNatv2GlobalAddressEntry 4 }

-- NAT Static address assignment table

snMspsNatv2StaticTable                  OBJECT-TYPE
   SYNTAX                       SEQUENCE OF SnMspsNatv2StaticEntry
   MAX-ACCESS                   not-accessible
   STATUS                           current
   DESCRIPTION
     "This table is a configurable table in which the static IP address
      mapping  between the LOCAL IP address and GLOBAL IP address is
      configured."
  ::= { snMspsNatv2 7 }

snMspsNatv2StaticEntry                  OBJECT-TYPE
   SYNTAX                               SnMspsNatv2StaticEntry
   MAX-ACCESS                   not-accessible
   STATUS                               current
   DESCRIPTION
      "An entry in the NAT static configuration table."
   INDEX {
      snMspsNatv2StaticInterfaceNum,
      snMspsNatv2StaticLocalIp
      }
  ::= { snMspsNatv2StaticTable 1 }


SnMspsNatv2StaticEntry  ::=
    SEQUENCE {
       snMspsNatv2StaticInterfaceNum          Integer32,
       snMspsNatv2StaticLocalIp                   IpAddress,
       snMspsNatv2StaticTranslatedLocalIp     IpAddress,
       snMspsNatv2StaticEntryStatus           RowStatus
       }

snMspsNatv2StaticInterfaceNum           OBJECT-TYPE
   SYNTAX                                       Integer32(0..65535)
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "The local host listed below will use the corresponding global IP if it
      sends packets on this interface."
   ::= { snMspsNatv2StaticEntry 1 }

snMspsNatv2StaticLocalIp                OBJECT-TYPE
   SYNTAX                               IpAddress
   MAX-ACCESS                   not-accessible
   STATUS                               current
   DESCRIPTION
      "This is the IP address of the host present in the inside network."
   ::= { snMspsNatv2StaticEntry 2 }

snMspsNatv2StaticTranslatedLocalIp              OBJECT-TYPE
   SYNTAX                                               IpAddress
   MAX-ACCESS                                   read-write
   STATUS                                               current
   DESCRIPTION
      "This is the IP address that should be used in the packets going out
      from  the given InsideLocalIp host to the outside network. In the
      opposite direction this mapping will be used along with the NAT entry
      to reverse translation. This global IP will not be used by any other
                host."
   ::= { snMspsNatv2StaticEntry 3 }

snMspsNatv2StaticEntryStatus            OBJECT-TYPE
   SYNTAX                                       RowStatus
   MAX-ACCESS                           read-write
   STATUS                                       current
   DESCRIPTION
      "The status of the entry can be used as specified in the SNMP V2
      standard. "
  ::= { snMspsNatv2StaticEntry 4 }

-- NAT Static NAPT assignment table

snMspsNatv2StaticNaptTable    OBJECT-TYPE
   SYNTAX                     SEQUENCE OF SnMspsNatv2StaticNaptEntry
   MAX-ACCESS         not-accessible
   STATUS                     current
   DESCRIPTION
     "This table is a configurable table in which the static IP address
      and Port mapping  between the Local IP address, Local Port and Global
      IP address, Global Port is configured."
  ::= { snMspsNatv2 8 }

snMspsNatv2StaticNaptEntry                      OBJECT-TYPE
   SYNTAX                                       SnMspsNatv2StaticNaptEntry
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "An entry in the NAT StaticNapt configuration table."
   INDEX {
          snMspsNatv2StaticNaptInterfaceNum,
      snMspsNatv2StaticNaptLocalIp,
      snMspsNatv2StaticNaptStartLocalPort,
      snMspsNatv2StaticNaptEndLocalPort,
      snMspsNatv2StaticNaptProtocolNumber
      }
  ::=  {   snMspsNatv2StaticNaptTable 1 }


SnMspsNatv2StaticNaptEntry      ::=
    SEQUENCE {
       snMspsNatv2StaticNaptInterfaceNum           Integer32,
       snMspsNatv2StaticNaptLocalIp                IpAddress,
       snMspsNatv2StaticNaptStartLocalPort         Integer32,
       snMspsNatv2StaticNaptEndLocalPort           Integer32,
       snMspsNatv2StaticNaptProtocolNumber         INTEGER,
       snMspsNatv2StaticNaptTranslatedLocalIp      IpAddress,
       snMspsNatv2StaticNaptTranslatedLocalPort    Integer32,
       snMspsNatv2StaticNaptDescription            DisplayString,
       snMspsNatv2StaticNaptEntryStatus            RowStatus
  }

snMspsNatv2StaticNaptInterfaceNum               OBJECT-TYPE
   SYNTAX                                   Integer32(0..65535)
   MAX-ACCESS                           not-accessible
   STATUS                                   current
   DESCRIPTION
      "The local host with the local port listed below will use the
       corresponding global IP and global port if it
      sends packets on this interface."
   ::= { snMspsNatv2StaticNaptEntry 1 }

snMspsNatv2StaticNaptLocalIp            OBJECT-TYPE
   SYNTAX                                       IpAddress
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "This is the IP address of the host present in the inside network."
   ::= { snMspsNatv2StaticNaptEntry 2 }

snMspsNatv2StaticNaptStartLocalPort             OBJECT-TYPE
   SYNTAX                                               Integer32(1..65535)
   MAX-ACCESS                                   not-accessible
   STATUS                                               current
   DESCRIPTION
      "This is the start Port of the host present in the inside network."
   ::= { snMspsNatv2StaticNaptEntry 3 }

snMspsNatv2StaticNaptEndLocalPort               OBJECT-TYPE
   SYNTAX                                               Integer32(1..65535)
   MAX-ACCESS                                   not-accessible
   STATUS                                               current
   DESCRIPTION
   "This is the End Port of the host present in the inside network."
   ::= { snMspsNatv2StaticNaptEntry 4 }

snMspsNatv2StaticNaptProtocolNumber     OBJECT-TYPE
   SYNTAX                                       INTEGER {
                                  tcp(6),
                                  udp(17),
                                  any(255)
                                  }
   MAX-ACCESS               not-accessible
   STATUS                                       current
   DESCRIPTION
   "This is protocol number which is to be allowed"
   ::= { snMspsNatv2StaticNaptEntry 5 }

snMspsNatv2StaticNaptTranslatedLocalIp          OBJECT-TYPE
   SYNTAX                                                       IpAddress
   MAX-ACCESS                                           read-write
   STATUS                                                       current
   DESCRIPTION
      "This is the IP address that should be used in the packets going out
      from  the given InsideLocalIp host to the outside network. In the
      opposite direction this mapping will be used along with the NAT entry
      to reverse translation."
   ::= { snMspsNatv2StaticNaptEntry 6 }

snMspsNatv2StaticNaptTranslatedLocalPort                OBJECT-TYPE
   SYNTAX                                                               Integer32(1..65535)
   MAX-ACCESS                                                   read-write
   STATUS                                                               current
   DESCRIPTION
      "This is the Port that should be used in the packets going out
      from  the given InsideLocalIp host to the outside network. In the
      opposite direction this mapping will be used along with the NAT entry
      to reverse translation. "
   ::= { snMspsNatv2StaticNaptEntry 7 }

snMspsNatv2StaticNaptDescription                OBJECT-TYPE
   SYNTAX                                               DisplayString(SIZE (1..20))
   MAX-ACCESS                                   read-write
   STATUS                                               current
   DESCRIPTION
      "This is the description of the entry given by the user at the time
       of configuration"
   ::= { snMspsNatv2StaticNaptEntry 8 }

snMspsNatv2StaticNaptEntryStatus                OBJECT-TYPE
   SYNTAX                                               RowStatus
   MAX-ACCESS                                   read-write
   STATUS                                               current
   DESCRIPTION
      "The status of the entry can be used as specified in the SNMP V2
      standard. "
  ::= { snMspsNatv2StaticNaptEntry 9 }

--nat interface table
--defines the operation flags

snMspsNatv2IfTable                      OBJECT-TYPE
   SYNTAX                       SEQUENCE OF SnMspsNatv2IfEntry
   MAX-ACCESS           not-accessible
   STATUS                       current
   DESCRIPTION
        "This tables gives the interface number on which NAT,NAPT and
        TWO WAY NAT are enabled."
   ::= { snMspsNatv2 9 }

snMspsNatv2IfEntry                      OBJECT-TYPE
   SYNTAX                       SnMspsNatv2IfEntry
   MAX-ACCESS           not-accessible
   STATUS                       current
   DESCRIPTION
      "An entry in the NAT Interface table."
   INDEX  {
      snMspsNatv2IfInterfaceNumber
      }
  ::=  {   snMspsNatv2IfTable 1 }

SnMspsNatv2IfEntry  ::=
    SEQUENCE {
       snMspsNatv2IfInterfaceNumber      Integer32,
       snMspsNatv2IfNat                  NatStatus,
       snMspsNatv2IfNapt                 NatStatus,
       snMspsNatv2IfEntryStatus          RowStatus
       }

snMspsNatv2IfInterfaceNumber            OBJECT-TYPE
   SYNTAX                                       Integer32(0..65535)
   MAX-ACCESS                           not-accessible
   STATUS                                       current
   DESCRIPTION
      "This gives the global interface number on which the following features
      can be enabled."
   ::= { snMspsNatv2IfEntry 1 }

snMspsNatv2IfNat                        OBJECT-TYPE
   SYNTAX                       NatStatus
   MAX-ACCESS           read-write
   STATUS                       current
   DESCRIPTION
      "This enables NAT on interface number given by natIfInterfaceNumber. Only
      the inside host can initiate connections. Translation will be done on
      outbound packets only. This object can be enabled only after
      natGlobalAddressTable and natLocalAddressTable are configured."
   DEFVAL { disabled }
  ::= { snMspsNatv2IfEntry 2 }

snMspsNatv2IfNapt                       OBJECT-TYPE
   SYNTAX                       NatStatus
   MAX-ACCESS           read-write
   STATUS                  current
   DESCRIPTION
      "This enables port translation on interface number given by
      natIfInterfaceNumber. If this feature is enabled, then the same global IP
      address is overloaded and can be used for many local host by translating
      the port number. natIfNat gets enabled when this object is enabled and
      natIfNat cannot be disabled when natIfNapt is enabled."
   DEFVAL  { disabled }
  ::=  { snMspsNatv2IfEntry 3 }

snMspsNatv2IfEntryStatus        OBJECT-TYPE
   SYNTAX                       RowStatus
   MAX-ACCESS           read-write
   STATUS                       current
   DESCRIPTION
      "The status of the entry can be used as specified in the SNMP V2
      standard. "
  ::=  { snMspsNatv2IfEntry 4 }


    
-- ----------------------------------------------------------------
-- MSPS C-PLUG Group Objects
-- ----------------------------------------------------------------

-- ----------------------------------------------------------------
-- MSPS Component Objects:  SN-MSPS-CPLUG-MIB
-- ----------------------------------------------------------------

snMspsCplugState  OBJECT-TYPE
        SYNTAX  INTEGER {
          notPresent (1),
          notAccepted (4),
          accepted (5),
          factory (6),
          missing (7)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "Current status of the C-Plug.
                     1 - C-PLUG is not present
                     4 - C-PLUG is not accepted
                     5 - C-PLUG is accepted 
                     6 - C-PLUG is in factory state
                     7 - C-PLUG is not present, but needed in the current configuration"
        ::= { snMspsCplug  1 }	
	
snMspsCplugDeviceGroup  OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION "Device Group string, which is currently stored on C-Plug"
        ::= { snMspsCplug  5 }

snMspsCplugDeviceType  OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION "Device Type string, which is currently stored on C-Plug"
        ::= { snMspsCplug  6 }

snMspsCplugInfo  OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION "Information about the C-PLUG as null terminated string"
        DEFVAL  {""}
        ::= { snMspsCplug  10 }        

snMspsCplugErrNum  OBJECT-TYPE
        SYNTAX  INTEGER {
          noError (0),
          damaged (1),
          notReadable (3),
          notWritable (4),
          crcError (5),
          wrongGroupID (6),
          wrongTypeID (7),
          wrongHwVersion (8),
          wrongConfVersion (9),
          noCplug (10),
          invalidFiles (11)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "It displays the number of the last error. Following error codes are defined: 
                     0 - C-PLUG has no Error
                     1 - C-PLUG is damaged
                     3 - C-PLUG can't be read
                     4 - C-PLUG can't be written
                     5 - C-PLUG has a CRC error
                     6 - No match in group identifier
                     7 - No match in type identifier
                     8 - Hardware version is not compatible
                     9 - Configuration version is not compatible
                     10 - C-PLUG is not present
                     11 - Files on the C-PLUG are not valid"
        ::= { snMspsCplug  11 }

snMspsCplugFileSystem  OBJECT-TYPE
        SYNTAX  INTEGER {
          fsNotFound (0),
          fsTfssDos (1),
          fsIecp (2),
          fsInvalid (3),
          fsUbifs (4)
          
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The type of file system used on C-PLUG.
	             Following file system types are defined:
		     0 - No file system found
		     1 - TFSS DOS
		     2 - IECP
		     3 - File system is not valid
		     4 - UBIFS"
        ::= { snMspsCplug  12 }		

snMspsCplugFileSystemSize  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The total size of file system memory 
	             in bytes on C-PLUG"
        ::= { snMspsCplug  13 }

snMspsCplugFileSystemUsage  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The size of file system memory 
	             in bytes on C-PLUG, which is 
		     currently allocated"
        ::= { snMspsCplug  14 }

snMspsCplugConfRevision  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The revision number of configuration, 
                     which is currently stored on the C-PLUG"
        ::= { snMspsCplug  15 }
        
snMspsCplugFwOnPlugStatus OBJECT-TYPE
        SYNTAX INTEGER {
          not-supported (0),
          fw-present(1),
          fw-not-present(2),
          not-enough-storage(10),
          sync-error (11),
          plug-not-accepted (12)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "This status variable represents 
        current state of feature 'Firmware on PLUG':
        0 - The feature is not supported on device.
        1 - Firmware file is present on PLUG.
        2 - Firmware file is not present on PLUG.
        10 - The PLUG has not enough free storage.
        11 - An error occurred during copying 
        or removing firmware file from PLUG.
        12 - PLUG has a general error. Additional 
        information could be evaluated using read access 
        to snMspsCplugErrNum.
        "
        ::= { snMspsCplug 18 }

snMspsCplugFwOnPlugEnable OBJECT-TYPE 
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "This control variable 
        enables support of firmware file synchronization with PLUG.
        "
        DEFVAL { false }
::= { snMspsCplug 19 }

snMspsCplugFormat  OBJECT-TYPE
        SYNTAX  INTEGER {
          no-error (0),
          clean (1),
          write (2),
          format-error (3),
          no-cplug (4),
          clean-in-progress (10),
          write-in-progress (11)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Write access using factoryclean(1) initiates erasing 
                     the complete C-PLUG to factory default. Write access 
                     using write(2) initiates a factory clean and write of 
                     the current device configuration to the C-PLUG. Write 
                     access using other values will cause 'bad value' error. 
                     Read access will return following values:
        
                     0 - No error is occurred.
                     3 - An error is occurred during formatting C-Plug.
                     4 - C-PLUG is not present on the device. 
                     10 - Erasing C-PLUG to factory default in progress. 
                     11 - Writing current device configuration to C-PLUG in progress. 
                     
                     In error case, additional error information could be evaluated 
                     using read access to snMspsCplugErrNum.
		     "  
::= { snMspsCplug  20 }



    
-- ----------------------------------------------------------------
-- MSPS KEY-PLUG Group Objects
-- ----------------------------------------------------------------


-- ----------------------------------------------------------------
-- MSPS Component Objects:  SN-MSPS-KEY-PLUG-MIB
-- ----------------------------------------------------------------

snMspsKeyPlugState  OBJECT-TYPE
        SYNTAX  INTEGER {
          notPresent (1),
          notAccepted (4),
          accepted (5),
          missing (7),
          wrong (8),
          unknown (9),
          defective (10)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "Current state of the KEY-PLUG. 
                     Following states are defined:
                     1 - KEY-PLUG is not present
                     4 - KEY-PLUG is not accepted
                     5 - KEY-PLUG is accepted
                     7 - KEY-PLUG is missing 
                        (device configuration was 
                        previously created with KEY-PLUG)
                     8 - KEY-PLUG is wrong 
                        (device configuration was created 
                        with different KEY-PLUG)
                     9 - KEY-PLUG is unknown
                    10 - KEY-PLUG is defective"
        ::= { snMspsKeyPlug  1 }	
	
-- snMspsKeyPlug  2  Reserved for future extensions
-- snMspsKeyPlug  3  Reserved for future extensions
-- snMspsKeyPlug  4  Reserved for future extensions
	
snMspsKeyPlugHwOrderId  OBJECT-TYPE
        SYNTAX  SnMspsOrderNumber
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION "Order ID (MLFB number) of KEY-PLUG"
        ::= { snMspsKeyPlug  5 }

snMspsKeyPlugHwSerialNumber  OBJECT-TYPE
        SYNTAX  SnMspsSerialNumber
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION "Serial number of KEY-PLUG"
        ::= { snMspsKeyPlug  6 }
        
snMspsKeyPlugFunction  OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS  current
        DESCRIPTION "List of features available with current KEY-PLUG"
        ::= { snMspsKeyPlug  7 }



    
-- ----------------------------------------------------------------
-- MSPS LOG Group Objects
-- ----------------------------------------------------------------

-- ----------------------------------------------------------------
-- MSPS Component Objects:  LOG MIB
-- ----------------------------------------------------------------

snMspsLogMaxEntries OBJECT-TYPE
        SYNTAX      INTEGER (10..400)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Maximum number of events that can be kept in log book."
        DEFVAL      { 400 }
        ::= { snMspsLog 1 }  
        
snMspsLogCurrentEntries OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of events that are currently kept log book."
        ::= { snMspsLog 2 }

-- snMspsLogNewEntries OBJECT-TYPE
--         SYNTAX      INTEGER
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION "Counter for events that are logged in Non-Volatile Memory. 
-- 	                 This counter starts at 0 after each system start. User can reset 
-- 	                 this counter at any time by writing 0 to this object."
--         DEFVAL      { 0 }
--         ::= { snMspsLog 3 }

snMspsLogClear OBJECT-TYPE
        SYNTAX      INTEGER{
                        no-operation(1),
                        start-clear(2),
                        clear-in-progress(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Setting this object to start-clear(2) value, clears the
                     events that are kept in Non-Volatile Memory."
        ::= { snMspsLog 4 }

snMspsLogTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SnMspsLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The table contains the last events that occurred in the system."
        ::= { snMspsLog 5 }

snMspsLogEntry   OBJECT-TYPE
        SYNTAX      SnMspsLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The description of an event that occurred in the system,
                     and was stored in log book."
        INDEX { snMspsLogEntryIdx }
        ::= { snMspsLogTable 1 }

SnMspsLogEntry ::= SEQUENCE {
    snMspsLogEntryIdx   INTEGER,
    snMspsLogEntryId    INTEGER,
    snMspsLogRestart    INTEGER,
    snMspsLogSysUpTime  DisplayString,
    snMspsLogDescr      DisplayString,
  snMspsLogSeverity INTEGER,
  snMspsLogSysTime DisplayString
}

snMspsLogEntryIdx   OBJECT-TYPE
        SYNTAX      INTEGER (1..1200)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Log book ID of an entry."
        ::= { snMspsLogEntry 1 }

snMspsLogEntryId    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Log book internal ID of an entry."
        ::= { snMspsLogEntry 2 }

snMspsLogRestart    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Log book entrys restart number"
        ::= { snMspsLogEntry 3 }

snMspsLogSysUpTime  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "System up time of entry in ASCII"
        DEFVAL { "" }
        ::= { snMspsLogEntry 4 }

snMspsLogDescr      OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "ASCII description of the event."
        DEFVAL { "" }
        ::= { snMspsLogEntry 5 }
    
snMspsLogSeverity    OBJECT-TYPE
        SYNTAX  INTEGER {
        emergency(0), 
      alert(1), 
      critical(2), 
      error(3), 
      warning(4), 
      notice(5), 
      info(6), 
      debug(7)
      }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Severity level of the event"
        ::= { snMspsLogEntry 6 }
		
		
snMspsLogSysTime  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "System time information"
        DEFVAL { "" }
        ::= { snMspsLogEntry 7 }		


snMspsSecurityLogMaxEntries     OBJECT-TYPE
    SYNTAX                      INTEGER (10..400)
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION
      "Maximum number of security-relevant events that can be kept in log book."
    DEFVAL                      { 400 }
    ::= { snMspsLog  20 }

snMspsSecurityCurrentEntries OBJECT-TYPE
    SYNTAX                      INTEGER
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION
        "Number of security events that are currently present in the log book."
    ::= { snMspsLog  21 }

snMspsSecurityLogClear          OBJECT-TYPE
    SYNTAX                      INTEGER{
                                    no-operation(1),
                                    start-clear(2),
                                    clear-in-progress(3)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "Setting this object to start-clear(2) value, clears the
        security events that are kept in Non-Volatile Memory."
    ::= { snMspsLog  22 }

snMspsSecurityLogTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SnMspsSecurityLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The table contains the last security events that occurred in the system."
        ::= { snMspsLog 25 }

snMspsSecurityLogEntry   OBJECT-TYPE
        SYNTAX      SnMspsSecurityLogEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The description of an event that occurred in the system,
                     and was stored in log book."
        INDEX { snMspsSecurityLogEntryIdx }
        ::= { snMspsSecurityLogTable 1 }

SnMspsSecurityLogEntry ::= SEQUENCE {
    snMspsSecurityLogEntryIdx   INTEGER,
    snMspsSecurityLogEntryId    INTEGER,
    snMspsSecurityLogRestart    INTEGER,
    snMspsSecurityLogSysUpTime  DisplayString,
    snMspsSecurityLogDescr      DisplayString,
    snMspsSecurityLogSeverity INTEGER, 
    snMspsSecurityLogSysTime DisplayString
}

snMspsSecurityLogEntryIdx   OBJECT-TYPE
        SYNTAX      INTEGER (1..400)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Log book ID of an entry."
        ::= { snMspsSecurityLogEntry 1 }

snMspsSecurityLogEntryId    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Log book internal ID of an entry."
        ::= { snMspsSecurityLogEntry 2 }

snMspsSecurityLogRestart    OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Log book entrys restart number"
        ::= { snMspsSecurityLogEntry 3 }

snMspsSecurityLogSysUpTime  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "System up time of entry in ASCII"
        DEFVAL { "" }
        ::= { snMspsSecurityLogEntry 4 }

snMspsSecurityLogDescr      OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "ASCII description of the event."
        DEFVAL { "" }
        ::= { snMspsSecurityLogEntry 5 }
    
snMspsSecurityLogSeverity    OBJECT-TYPE
        SYNTAX  INTEGER {
        emergency(0), 
      alert(1), 
      critical(2), 
      error(3), 
      warning(4), 
      notice(5), 
      info(6), 
      debug(7)
      }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Severity level of the security event"
        ::= { snMspsSecurityLogEntry 6 }
        
snMspsSecurityLogSysTime  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..256))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "System time information"
        DEFVAL { "" }
        ::= { snMspsSecurityLogEntry 7 }    
        



snMspsFaultState  OBJECT-TYPE
    	SYNTAX  INTEGER {
   	   	  noFault(1),
      	  fault(2)
    	}
    	MAX-ACCESS  read-only
    	STATUS  current
    	DESCRIPTION "Indicates system fault state
                (state of fault LED/signaling contact)."
    	::= { snMspsReport 1 }

snMspsSignalledFaults  OBJECT-TYPE
    	SYNTAX  Counter32
    	MAX-ACCESS  read-only
    	STATUS  current
    	DESCRIPTION "Number of signaled faults."
    	::= { snMspsReport 2 }

snMspsFaultValue  OBJECT-TYPE
    	SYNTAX  BITS {
	               power(0),
		       linkdown(1),
		       internal-error(2),
		       standby(3),
		       rm(4),
		       fmp(5),
		       reserved6(6),
		       reserved7(7),
		       linkup(8),
		       loopd(9),
		       reserved10(10),
		       reserved11(11),
		       reserved12(12),
		       reserved13(13),
		       reserved14(14),
		       mrp-interconnection(15),
		       observer-error(16),
		       non-recoverable-ring-error(17),
		       cplug-error(18),
		       profinet-error(19),
		       module-error(20),
		       fan-module-faulty(21),
		       wlan-no-free-channels(22),
		       wlan-card(23),
		       reserved24(24),
		       reserved25(25),
		       reserved26(26),
		       reserved27(27),
		       reserved28(28),
		       reserved29(29),
		       reserved30(30),
		       reserved31(31)
	             }
    	MAX-ACCESS  read-only
    	STATUS  current
    	DESCRIPTION "Fault value:        0  = no fault,
      				0. Octet MSB  	 bit 0   = power,
      				0. Octet      	 bit 1   = linkdown,
      				0. Octet      	 bit 2   = internal error,
      				0. Octet      	 bit 3   = standby,
      				0. Octet      	 bit 4   = rm,
      				0. Octet      	 bit 5   = fmp,
      				0. Octet      	 bit 6   = reserved,
      				0. Octet LSB  	 bit 7   = reserved,
      				1. Octet MSB  	 bit 8   = linkup,
      				1. Octet      	 bit 9   = loopd,
      				1. Octet      	 bit 10  = reserved,
      				1. Octet      	 bit 11  = reserved,
      				1. Octet      	 bit 12  = reserved,
      				1. Octet      	 bit 13  = reserved,
      				1. Octet      	 bit 14  = reserved,
      				1. Octet LSB  	 bit 15  = MRP interconnection open,
      				2. Octet MSB  	 bit 16  = observer error,
      				2. Octet      	 bit 17  = non-recoverable ring error,
      				2. Octet      	 bit 18  = c-plug error,
      				2. Octet      	 bit 19  = PROFINET error,
      				2. Octet      	 bit 20  = module error,
      				2. Octet      	 bit 21  = fan module faulty,
      				2. Octet      	 bit 22  = wlan no free channels,
      				2. Octet LSB     bit 23  = wlan card faulty,
      				3. Octet MSB  	 bit 24  = reserved,
      				3. Octet      	 bit 25  = reserved,
      				3. Octet      	 bit 26  = reserved,
      				3. Octet      	 bit 27  = reserved,
      				3. Octet      	 bit 28  = reserved,
      				3. Octet      	 bit 29  = reserved,
      				3. Octet      	 bit 30  = reserved,
      				3. Octet LSB     bit 31  = reserved"
    	::= { snMspsReport 3 }

snMspsPowerSupply1State  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      inactive(1),
	      active(2)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "State of power supply line 1."
	    ::= { snMspsReport 4 }

snMspsPowerSupply2State  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      inactive(1),
	      active(2)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"State of power supply line 2."
	    ::= { snMspsReport 5 }

snMspsPowerSupply1Mask  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      checked(1),
	      notChecked(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Mask of power supply line 1."
	    DEFVAL  {notChecked}
	    ::= { snMspsReport 6 }

snMspsPowerSupply2Mask  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      checked(1),
	      notChecked(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Mask of power supply line 2."
	    DEFVAL  {notChecked}
	    ::= { snMspsReport 7 }

snMspsPowerSupply3Mask  OBJECT-TYPE
      SYNTAX  INTEGER {
        checked(1),
        notChecked(2)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "Mask of power supply line 3 (PoE)."
      DEFVAL  {notChecked}
      ::= { snMspsReport 8 }

snMspsPowerSupply3State  OBJECT-TYPE
      SYNTAX  INTEGER {
        inactive(1),
        active(2)
      }
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION "State of power supply line 3 (PoE)."
      ::= { snMspsReport 9 }

snMspsSetButtonControlDefaults  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Enable/disable reset to factory defaults by set select button."
	    ::= { snMspsReport 10 }

snMspsSetButtonControlRm  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Enable/disable set redundancy master by set select button."
	    ::= { snMspsReport 11 }

snMspsSetButtonControlFaultMask  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Enable/disable set fault mask by set select button."
	    ::= { snMspsReport 12 }

snMspsReportSyslogStatus  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"This object is for enabling or disabling SYSLOG in the system."
	    ::= { snMspsReport 13 }

snMspsReportSmtpStatus  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"This object is for enabling or disabling SMTP in the system."
	    ::= { snMspsReport 14 }

snMspsReportSmsStatus  OBJECT-TYPE
      SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "This object is for enabling or disabling SMS functionality in the system.
                   Enabling is only supported on devices with corresponding functionality."
      ::= { snMspsReport 30 }

snMspsReportSignalingContactControl  OBJECT-TYPE
        SYNTAX  INTEGER {
          conventional(1),
          aligned(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Set signalling contact control to conventional or to alligned.
                     - Conventional: Contact opened when Fault
					 - Aligned: Contact controlled by snSignalingContactState"
        DEFVAL  {conventional}
        ::= { snMspsReport 40 }

snMspsReportSignalingContactState  OBJECT-TYPE
        SYNTAX  INTEGER {
          on(1),
          off(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Set state of signalling contact - takes only affect if snSignalingContactControl is set to aligned (2)
					 - on: contact closed
					 - off: contact opened"
        DEFVAL  {off}
        ::= { snMspsReport 41 }


snMspsFaultResetCounters  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      no-operation(1),
	      reset(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Reset all fault counters."
	    ::= { snMspsReport 42 }

snMspsPowerSupplyRedundancyMonitor  OBJECT-TYPE
      SYNTAX  INTEGER {
        all(1),
        l1-l2(2),
        l1-l3(3),
        l2-l3(4)
      }
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION "In case the redundant power supply will be monitored by PROFINET,
                   the value of this object defines, which power lines
                   have to be considered.
                   all(1) - all available power lines will be monitored
                   l1-l2(2) - only L1 and L2 will be monitored
                   l1-l3(3) - only L1 and L3 will be monitored
                   l2-l3(4) - only L2 and L3 will be monitored
                   This object can only be configured if the device
                   has more than one power line.
                   "
      DEFVAL  {1}
      ::= { snMspsReport 50 }

snMspsSetButtonControlRestart  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      enabled(1),
	      disabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Enable/disable restart device by set select button."
	    ::= { snMspsReport 54 }

-- --------------------------------------------------------------
-- Report Fault State Sub-Group
-- --------------------------------------------------------------
snMspsReportFaultStateTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsReportFaultStateEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Fault state table."
	    ::= { snMspsReport 60 }

snMspsReportFaultStateEntry  OBJECT-TYPE
	    SYNTAX  SnMspsReportFaultStateEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Fault state table rows entries."
	    INDEX   { snMspsReportFaultIndex }
	    ::= { snMspsReportFaultStateTable 1 }

SnMspsReportFaultStateEntry ::= SEQUENCE {
	    snMspsReportFaultIndex     Integer32,
	    snMspsReportFaultStateTimeStamp     TimeTicks,
	    snMspsReportFaultState     DisplayString,
	    snMspsReportFaultStateClear INTEGER
	    }

snMspsReportFaultIndex  OBJECT-TYPE
	    SYNTAX  Integer32 (1..65535)
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Index of fault state table."
	    ::= { snMspsReportFaultStateEntry 1 }

snMspsReportFaultStateTimeStamp  OBJECT-TYPE
	    SYNTAX  TimeTicks
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "The current value of sysUpTime, when
	                 the relevant fault state occurs."
		::= { snMspsReportFaultStateEntry 2 }

snMspsReportFaultState  OBJECT-TYPE
	    SYNTAX  DisplayString  (SIZE(0..255))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Fault state."
		::= { snMspsReportFaultStateEntry 3 }

snMspsReportFaultStateClear  OBJECT-TYPE
	    SYNTAX  INTEGER{
        no-operation(0),
        delete(1),
        not-supported(2)
      }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Write access using delete(1) leads to
	     deleting relevant fault state from system. Read access
			 to this MIB object will return no-operation(0), if this entry
			 is in initial state. Read access to this MIB object will return
			 not-supported(2), if this fault state must not be cleared"
		::= { snMspsReportFaultStateEntry 4 }

-- --------------------------------------------------------------
-- Report Event Table
-- --------------------------------------------------------------
snMspsReportEventTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsReportEventEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "A table which contains the targets to
	                 which notifications shall be sent"
	    ::= { snMspsReport 80 }

snMspsReportEventEntry  OBJECT-TYPE
	    SYNTAX  SnMspsReportEventEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Different kinds of notifications
	                 can be configured per event."
	    INDEX   { snMspsReportEventIndex }
	    ::= { snMspsReportEventTable 1 }

SnMspsReportEventEntry ::= SEQUENCE {
	    snMspsReportEventIndex    INTEGER,
	    snMspsReportEventType     INTEGER,
	    snMspsReportEventMail     TruthValue,
	    snMspsReportEventLog      TruthValue,
	    snMspsReportEventTrap     TruthValue,
	    snMspsReportEventSysLog   TruthValue,
	    snMspsReportEventFault    TruthValue
	    }

snMspsReportEventIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "The unique index of each event, which has to be configured"
  ::= { snMspsReportEventEntry 1 }

snMspsReportEventType  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      cold-warm-start(0),
	      link-change(1),
	      auth-failure(2),
	      rmon-alarm(3),
	      power-change(4),
	      rm-state-change(5),
	      stp-rstp-mstp-change(6),
	      fault-state(7),
	      standby-state-change(8),
	      vrrp-state-change(9),
	      wlan-overlap-ap(10),
	      wlan-wds(11),
	      wlan-radar-iterference(12),
	      wlan-authentication(13),
	      wlan-authentication-log(14),
	      loopd-state-change(15),
	      ipcf-max-station(16),
	      ipcf-update-time(17),
	      cyclic-poll-excd(18),
	      ospf-state-change(19),
	      ddns-client-logs(22),
	      system-connection-status(24),
	      wlan-general(25),
	      pnac-port-auth-state-change(27),
	      poe-state-change(28),
	      digital-in(29),
	      vpn-tunnel(30),
		  fmp-state-change(31),
		  linkcheck-change(32),
		  cli-script-file-status(33),
		  secure-ntp(34),
		  config-change(35),
		  mrp-interconnection-state-change(36),
		  service-information(37)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "Enables or disables different kinds the occurred events could be processed.
	                 Possible values are:
	                 0 - Cold or Warm start notification
	                 1 - Link change notification
                   2 - Authentication failure notification
                   3 - RMON alarm notification
                   4 - Power change notification
                   5 - RM state change notification
                   6 - Spanning Tree notification
                   7 - Fault notification
                   8 - Standby state change notification
                   9 - VRRP state change notification
                   10 - Wireless overlap AP events
                   11 - Wireless WDS events
                   12 - Wireless radar intereference detection
                   13 - Wireless authentication events
                   14 - Wireless authentiction log
                   15 - Loop Detection state change notification
                   16 - iPCF PROFINET max. Station
                   17 - iPCF PROFINET max. Update Time
                   18 - iPCF PROFINET Cyclic Poll Size Excd.
                   19 - OSPF state change notification
                   25 - Wireless General
                   27 - PNAC port authentication state change event
                   28 - PoE state change notification
                   29 - Digital Input
                   30 - VPN Tunnel
				   31 - FMP state change notification
				   32 - Linkcheck change notification
				   33 - CLI Script File status notification
				   34 - Secure NTP
				   35 - Configuration Change
				   36 - MRP Interconnection state change notification
				   37 - Service Information"

	    ::= { snMspsReportEventEntry 2 }

snMspsReportEventMail  OBJECT-TYPE
	    SYNTAX  TruthValue
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enables/disables mail notification when relevant event
	                 occurs. If this kind of notification is not supported
			 by event, the write access with true will return
			 bad value error."
            DEFVAL      { false }
	    ::= { snMspsReportEventEntry 3 }

snMspsReportEventLog  OBJECT-TYPE
	    SYNTAX  TruthValue
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enables/disables creating log entry when relevant event
	                 occurs. If this kind of notification is not supported
			 by event, the write access with true will return
			 bad value error."
            DEFVAL      { false }
	    ::= { snMspsReportEventEntry 4 }

snMspsReportEventTrap  OBJECT-TYPE
	    SYNTAX  TruthValue
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enables/disables sending traps when relevant event occurs.
	                 If this kind of notifi-cation is not supported by event,
			 the write access with true will return bad value error."
            DEFVAL      { false }
	    ::= { snMspsReportEventEntry 5 }

snMspsReportEventSysLog  OBJECT-TYPE
	    SYNTAX  TruthValue
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enables/disables creating syslog entry when relevant event occurs.
	                 If this kind of notification is not supported by event, the write
			 access with true will return bad value error."
            DEFVAL      { false }
	    ::= { snMspsReportEventEntry 6 }

snMspsReportEventFault  OBJECT-TYPE
	    SYNTAX  TruthValue
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Enables/disables fault notification when relevant event occurs.
	                 If this kind of notification is not supported by event, the write
			 access with true will return bad value error."
            DEFVAL      { false }
	    ::= { snMspsReportEventEntry 7 }

-- --------------------------------------------------------------
-- Report Severity Table
-- --------------------------------------------------------------
snMspsReportSeverityTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF SnMspsReportSeverityEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "A table which contains the severity levels for given client types"
	    ::= { snMspsReport 85 }

snMspsReportSeverityEntry  OBJECT-TYPE
	    SYNTAX  SnMspsReportSeverityEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "Different kinds of severities
	                 can be configured per client type."
	    INDEX   { snMspsReportSeverityIndex }
	    ::= { snMspsReportSeverityTable 1 }

SnMspsReportSeverityEntry ::= SEQUENCE {
		snMspsReportSeverityIndex    INTEGER,
	    snMspsReportSeverityClientType    INTEGER,
	    snMspsReportSeveritySeverity     INTEGER
		}

snMspsReportSeverityIndex  OBJECT-TYPE
	    SYNTAX  INTEGER(0..65535)
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION "The unique index of each event, which has to be configured with a severity"
	    ::= { snMspsReportSeverityEntry 1 }

snMspsReportSeverityClientType  OBJECT-TYPE
		  SYNTAX  INTEGER {
	      log(1),
	      mail(2),
	      syslog(3),
	      sms(4),
	      wlan-authlog(5)
	    }

	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION "The client type of the entry"
	    ::= { snMspsReportSeverityEntry 2 }

snMspsReportSeveritySeverity  OBJECT-TYPE
		  SYNTAX  INTEGER {
	      emergency(0),
	      alert(1),
	      critical(2),
	      error(3),
	      warning(4),
	      notice(5),
	      info(6),
	      debug(7)
	    }

	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "The severity level of the given client type"
	    ::= { snMspsReportSeverityEntry 3 }

-- --------------------------------------------------------------
-- Service information
-- --------------------------------------------------------------
snMspsReportServiceInformation OBJECT-TYPE
		SYNTAX        DisplayString  (SIZE(0..512))
    MAX-ACCESS    accessible-for-notify
		STATUS        current
		DESCRIPTION   "Description of service information"
		::= { snMspsReport 90 }


-- ---------------------------------------------
-- MIB module-specific TRAP definitions
-- (SN-MSPS-REPORT-MIB)
-- ---------------------------------------------

snMspsTrapPowerLine1Down       NOTIFICATION-TYPE
		 STATUS                  current
         DESCRIPTION
            "Power down on line L1."
         ::= { snMspsTrapPrefix 1851 }

snMspsTrapPowerLine1Up       NOTIFICATION-TYPE
		 STATUS                  current
         DESCRIPTION
            "Power up  on line L1."
         ::= { snMspsTrapPrefix 1852 }

snMspsTrapPowerLine2Down       NOTIFICATION-TYPE
		 STATUS                  current
         DESCRIPTION
            "Power down on line L2."
         ::= { snMspsTrapPrefix 1853 }

snMspsTrapPowerLine2Up       NOTIFICATION-TYPE
		 STATUS                  current
         DESCRIPTION
            "Power up  on line L2."
         ::= { snMspsTrapPrefix 1854 }

snMspsTrapChangedFaultState       NOTIFICATION-TYPE
		 STATUS                  current
         DESCRIPTION
            "Device changed fault state."
         ::= { snMspsTrapPrefix 1855 }

snMspsTrapPoEDown  NOTIFICATION-TYPE
        STATUS                  current
        DESCRIPTION
            "Power down on line L3 (PoE)."
    ::= { snMspsTrapPrefix 1856 }

snMspsTrapPoEUp  NOTIFICATION-TYPE
        STATUS                  current
        DESCRIPTION
            "Power up on line L3 (PoE)."
    ::= { snMspsTrapPrefix 1857 }

snMspsTrapEnvData  NOTIFICATION-TYPE
        STATUS                  current
        DESCRIPTION
            "EnvData Warnings."
    ::= { snMspsTrapPrefix 1860 }

snMspsTrapServiceInformation NOTIFICATION-TYPE
		 OBJECTS     { snMspsReportServiceInformation }
	 STATUS                  current
		DESCRIPTION "Serivce Information."
 ::= { snMspsTrapPrefix 1861 }


snMspsTrapCLIScriptFileStatus  NOTIFICATION-TYPE
        STATUS                  current
        DESCRIPTION
            "This trap is generated when a CLI script file was successfully loaded via TFTP and the file transfer was triggered through DHCP Options 66/67"
    ::= { snMspsTrapPrefix 1862 }

snMspsTrapConfigurationChange  NOTIFICATION-TYPE
        STATUS                  current
        DESCRIPTION
            "Informs user when configuration is changed"
    ::= { snMspsTrapPrefix 1863 }




-- snMspsSyslogClient 1 reserved
   
snMspsSyslogTimeStamp OBJECT-TYPE 
   SYNTAX         INTEGER {
                   enable(1),
                   disable(2)
                  }
   MAX-ACCESS  read-write 
   STATUS      deprecated 
   DESCRIPTION 
      "Currently this object is not used. Timestamp is a mandatory field
       in Syslog Message format"

   DEFVAL  { enable } 
   ::= { snMspsSyslogClient 2 }

snMspsSyslogConsoleLog OBJECT-TYPE
   SYNTAX         INTEGER {
                   enable(1),
                   disable(2)
                  }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling the console log option.

       When enabled, the messages (log and email alert messages) sent to 
       the server will be displayed in the console also.

       When disabled,the messages will just be sent to the servers and not 
       be displayed in the console." 

   DEFVAL  { enable } 
   ::= { snMspsSyslogClient 3 }

snMspsSyslogSysBuffers OBJECT-TYPE 
   SYNTAX      Integer32 (1..200)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Number of log buffers to be allocated in the system"

   DEFVAL  { 50 }
   ::= { snMspsSyslogClient 4 }

snMspsSyslogSmtpPort OBJECT-TYPE
   SYNTAX       Integer32 (1..65535)
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION 
      "Specifies the mail server Port to be used for sending email alerts.
       By default the the port  is 25"

   ::= { snMspsSyslogClient 5 }

-- snMspsSyslogConfigTable
-- This table is for configuring the log level options for the module.

  snMspsSyslogConfigTable       OBJECT-TYPE
         SYNTAX               SEQUENCE OF SnMspsSyslogConfigEntry 
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A table for configuring module specific log levels." 

         ::= { snMspsSyslogClient 6 }

  snMspsSyslogConfigEntry    OBJECT-TYPE
         SYNTAX            SnMspsSyslogConfigEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing logging level options for a particular module."
         INDEX { snMspsSyslogConfigModule }
         ::= { snMspsSyslogConfigTable 1 }
         
      SnMspsSyslogConfigEntry ::=
         SEQUENCE {
            snMspsSyslogConfigModule    INTEGER, 
            snMspsSyslogConfigLogLevel  INTEGER
            }

      snMspsSyslogConfigModule    OBJECT-TYPE
         SYNTAX                 INTEGER (1..100)
         MAX-ACCESS             not-accessible 
         STATUS                 current
         DESCRIPTION
            "Specifies the module for which the log level option has to be 
             configured."
         ::= { snMspsSyslogConfigEntry 1 }

      snMspsSyslogConfigLogLevel    OBJECT-TYPE
         SYNTAX                 INTEGER{
                                  emergency(0), -- For logging messages that 
                                                -- are equivalent to panic 
                                                -- condition. 
                                  alert(1),     -- For logging messages that 
                                                -- require immediate attention.
                                  critical(2),  -- For logging critical errors.
                                  error(3),     -- For logging error messages.
                                  warning(4),   -- For logging warning messages.
                                  notice(5),    -- For logging messages that 
                                                -- require attention
                                                -- and not errors.
                                  info(6),      -- For logging informational 
                                                -- messages.
                                  debug(7)      -- For logging debug messages.
                                }
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
            "Specifies the log level option to be set for a specific module."
         
         ::= { snMspsSyslogConfigEntry 2 } 	
         
 snMspsSyslogFacility OBJECT-TYPE 
   SYNTAX         INTEGER {
                   local0(128),     -- Reserved local use
                   local1(136),     -- Reserved local use
                   local2(144),     -- Reserved local use
                   local3(152),     -- Reserved local use
                   local4(160),     -- Reserved local use
                   local5(168),     -- Reserved local use
                   local6(176),     -- Reserved local use
                   local7(184)      -- Reserved local use
                  }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The Syslog standard facilities.
       The facility to be used when sending Syslog messages to this server."

   DEFVAL  { local0 } 
   ::= { snMspsSyslogClient 7 }

--snMspsSyslogRole
--This scalar for configuring syslog role

snMspsSyslogRole OBJECT-TYPE
   SYNTAX       INTEGER {
                device(1),
                relay(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Syslog supports two type of roles one is Device and other is Relay
       Device can generate and forward the syslog message
       Relay can receive , generate and forward the syslog messages
       Relay check whether the received packet is as per BSD Syslog format
       if not relay makes the message to BSD Syslog format and forward
       Default role is device."

   DEFVAL  { device }
   ::= { snMspsSyslogClient 8 }

--snMspsSyslogLogFile
--This scalar for enabling local storage

snMspsSyslogLogFile OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Syslog supports storing of syslog messages in the file as configured by admin
       This object is used to enable or disable the syslog local storage
       By default the local storage option is disabled."

   DEFVAL  {disable }
   ::= { snMspsSyslogClient 9 }
       
--snMspsSyslogMail
--This scalar for enabling mail option

snMspsSyslogMail OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Syslog supports sending syslog message to any mail-id as configured by the admin
       This object is used to enable or disable the syslog mail storage
       By default the syslog mail option is disabled."

   DEFVAL  {disable }
   ::= { snMspsSyslogClient 10 }

--snMspsSyslogProfile
--This scalar for setting the syslog profile.

snMspsSyslogProfile OBJECT-TYPE
   SYNTAX       INTEGER {
                raw(1),
                cooked(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Beep supports two types of profile. One is raw other is cooked profile.
       This object is used to set the profile for beep
       By default the beep profile is raw."

   DEFVAL  {raw}
   ::= { snMspsSyslogClient 11 }

--snMspsSyslogRelayPort
--This scalar for setting the syslog port in relay for receiving 
--syslog messages from other relay/device.

snMspsSyslogRelayPort OBJECT-TYPE
   SYNTAX       Integer32 (0..65535)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is used to configure port in which the relay listens
       Irrespective of the transport type, the relay opens the socket
       and listen on the port configured here.
       By default the relay will listen on port 514."

   DEFVAL  {514}
   ::= { snMspsSyslogClient 12}

--snMspsSyslogRelayTransType
--This scalar for setting the syslog relay transport type.

snMspsSyslogRelayTransType OBJECT-TYPE
   SYNTAX       INTEGER {
                udp(1),
                tcp(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Relay supports UDP and TCP transport type.When the transport type is configured
       as UDP, relay receives syslog messages via UDP socket.When the transport type is
       configured as TCP, relay receives syslog message via TCP socket."

   DEFVAL  {udp}
   ::= { snMspsSyslogClient 13 }

--snMspsSyslogFileNameOne
-- This Scalar is to configure file name for syslog local storage

snMspsSyslogFileNameOne OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..32)) 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Syslog can store the messages locally in three different files.This scalar is to
       get the file name"
   ::= { snMspsSyslogClient 14 }

--snMspsSyslogFileNameTwo
-- This Scalar is to configure file name for syslog local storage

snMspsSyslogFileNameTwo OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..32))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Syslog can store the messages locally in three different files.This scalar is to
       get the file name"
   ::= { snMspsSyslogClient 15 }

--snMspsSyslogFileNameThree
-- This Scalar is to configure file name for syslog local storage

snMspsSyslogFileNameThree OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(0..32))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Syslog can store the messages locally in three different files.This scalar is to
       get the file name"
   ::= { snMspsSyslogClient 16 }

-- snMspsSyslogFileTable
-- This table is for configuring the file table

  snMspsSyslogFileTable       OBJECT-TYPE
         SYNTAX               SEQUENCE OF SnMspsSyslogFileEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A table containing entries of priority and filename.
             Both priority and file name is considered as index "

         ::= { snMspsSyslogClient 17 }

  snMspsSyslogFileEntry    OBJECT-TYPE
         SYNTAX            SnMspsSyslogFileEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A table containing entries of priority,file name.
             Both priority and file name is considered as index"
         INDEX { snMspsSyslogFilePriority, snMspsSyslogFileName }
         ::= { snMspsSyslogFileTable 1 }

      SnMspsSyslogFileEntry ::=
         SEQUENCE {
             snMspsSyslogFilePriority    Integer32,
             snMspsSyslogFileName    DisplayString,
             snMspsSyslogFileRowStatus   RowStatus

            }
      snMspsSyslogFilePriority    OBJECT-TYPE
         SYNTAX                 Integer32(0..191)
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "This Object specifies the priority for which it should be written in file.
             Priority value ranges from 0 to 191"
         ::= { snMspsSyslogFileEntry 1 }

        snMspsSyslogFileName    OBJECT-TYPE
         SYNTAX                 DisplayString (SIZE(1..64))
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "This object specifies the file name to which syslog message is written."
         ::= { snMspsSyslogFileEntry 2 }

      snMspsSyslogFileRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION    "This object specifies the Status of the File Entry."
         ::= {snMspsSyslogFileEntry 3}

snMspsSyslogLogSrvAddr OBJECT-TYPE
   SYNTAX       IpAddress
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION 
       "Currently this object is is not used. Instead snMspsSyslogFwdServerIP 
       is used for configuring syslog server IP for remote logging. "

   ::= { snMspsSyslogClient 18 }

--  snMspsSyslogClient 19 reserved

-- snMspsSyslogFwdTable
-- This table is for configuring the Logging server forward table

  snMspsSyslogFwdTable       OBJECT-TYPE
         SYNTAX               SEQUENCE OF SnMspsSyslogFwdEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A table containing entries of priority,server address type, server address,
             port through which it can send and tranport type."

         ::= { snMspsSyslogClient 20 }

  snMspsSyslogFwdEntry    OBJECT-TYPE
         SYNTAX            SnMspsSyslogFwdEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A table containing index as priority , server address type and server address."
         INDEX { snMspsSyslogFwdPriority,snMspsSyslogFwdAddressType,snMspsSyslogFwdServerIP}
         ::= { snMspsSyslogFwdTable 1 }

      SnMspsSyslogFwdEntry ::=
         SEQUENCE {
             snMspsSyslogFwdPriority    Integer32,
             snMspsSyslogFwdAddressType InetAddressType,
             snMspsSyslogFwdServerIP    InetAddress,
             snMspsSyslogFwdPort        Integer32,
             snMspsSyslogFwdTransType   INTEGER,
             snMspsSyslogFwdRowStatus   RowStatus,
             snMspsSyslogFwdTlsSupport  INTEGER

            }

     snMspsSyslogFwdPriority    OBJECT-TYPE
         SYNTAX                 Integer32(0..191)
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "Specifies the priority which is to be forwarded to the desired server.
             Priority can take the value from 0 to 191."
         ::= { snMspsSyslogFwdEntry 1 }


         snMspsSyslogFwdAddressType    OBJECT-TYPE
         SYNTAX                 InetAddressType
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "Specifies the Address type of server.Address type shall be ipv4 or ipv6."
         ::= { snMspsSyslogFwdEntry 2 }

        snMspsSyslogFwdServerIP    OBJECT-TYPE
         SYNTAX                 InetAddress(SIZE(4..16))
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "Specifies the ServerIP to which the syslog shall be forwarded."
         ::= { snMspsSyslogFwdEntry 3 }

      snMspsSyslogFwdPort    OBJECT-TYPE
         SYNTAX                 Integer32(1..65535)
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
            "Specifies the Port through which it can send the syslog message.
             By default the the port  is 514"
         DEFVAL { 514 }
         ::= { snMspsSyslogFwdEntry 4 }

     snMspsSyslogFwdTransType    OBJECT-TYPE
         SYNTAX                 INTEGER {
                                           udp (0),
                                           tcp (1),
                                           beep (2)
                                        }
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
            "Specifies the Transport type using which it can send syslog message.
             By default the tranport type is udp"
         DEFVAL { udp }
         ::= { snMspsSyslogFwdEntry 5 }

      snMspsSyslogFwdRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION    "The Status of the Fwd  Entry."
         ::= {snMspsSyslogFwdEntry 6}

     snMspsSyslogFwdTlsSupport   OBJECT-TYPE
         SYNTAX                 INTEGER {
                                           enable (1),
                                           disable (2)
                                        }
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
            "This object is for enabling or disabling the Transport Layer Security(TLS) option."
         DEFVAL { disable } 
         ::= { snMspsSyslogFwdEntry 7 }
         
         
snMspsSyslogSmtpSrvAddr OBJECT-TYPE
   SYNTAX       IpAddress
   MAX-ACCESS   read-write
   STATUS       deprecated
   DESCRIPTION 
      "Currently this object is not used. snMspsSyslogMailServAdd is used for 
      specifing the mail server IP to be used for sending email alerts."

   ::= { snMspsSyslogClient 21 }

snMspsSyslogSmtpRcvrMailId OBJECT-TYPE 
   SYNTAX       DisplayString (SIZE(0..100)) 
   MAX-ACCESS   read-write
   STATUS       deprecated
   DESCRIPTION
      "Currently this object is not used. snMspsSyslogRxMailId is used for
      specifing the receiver mail ID for email alerts."
      DEFVAL { "admin@futsoft.com" }
   ::= { snMspsSyslogClient 22 }

snMspsSyslogSmtpSenderMailId OBJECT-TYPE
   SYNTAX       DisplayString (SIZE(0..100))
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION 
      "Specifies the sender mail ID for email alerts."

   ::= { snMspsSyslogClient 23 }

-- snMspsSyslogMailTable

-- This table is for configuring the Mail table

  snMspsSyslogMailTable       OBJECT-TYPE
         SYNTAX               SEQUENCE OF SnMspsSyslogMailEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A table containing entries of priority,mail server address type,mail 
             server address and receiver mail id"

         ::= { snMspsSyslogClient 24 }

  snMspsSyslogMailEntry    OBJECT-TYPE
         SYNTAX            SnMspsSyslogMailEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "Mail Table contains index as priority , mail server address type and 
             mail server address."
         INDEX { snMspsSyslogMailPriority, snMspsSyslogMailServAddType , snMspsSyslogMailServAdd }
         ::= { snMspsSyslogMailTable 1 }

      SnMspsSyslogMailEntry ::=
         SEQUENCE {
             snMspsSyslogMailPriority    Integer32,
             snMspsSyslogMailServAddType InetAddressType,
             snMspsSyslogMailServAdd InetAddress,
             snMspsSyslogRxMailId DisplayString,
             snMspsSyslogMailRowStatus   RowStatus,
	     snMspsSyslogMailPort Unsigned32,
             snMspsSyslogMailSender DisplayString,
             snMspsSyslogMailUsername DisplayString,
             snMspsSyslogMailPassword DisplayString,
             snMspsSyslogMailSecurity INTEGER
            }

     snMspsSyslogMailPriority    OBJECT-TYPE
         SYNTAX                 Integer32(0..191)
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "Specifies the priority which is to be mailed.
             Priority can be in the range 0 to 191"
         ::= { snMspsSyslogMailEntry 1 }

        snMspsSyslogMailServAddType    OBJECT-TYPE
         SYNTAX                 InetAddressType
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "Specifies the Mail Server Address Type.
             Address type can be ipv4 or ipv6"
         ::= { snMspsSyslogMailEntry 2 }


          snMspsSyslogMailServAdd    OBJECT-TYPE
         SYNTAX                 InetAddress(SIZE(4..16))
         MAX-ACCESS             not-accessible
         STATUS                 current
         DESCRIPTION
            "Specifies the Mail Server ip.
             Server Address can be ipv4 or ipv6"
         ::= { snMspsSyslogMailEntry 3 }


      snMspsSyslogRxMailId    OBJECT-TYPE
         SYNTAX                 DisplayString (SIZE(1..100))
         MAX-ACCESS             read-write
         STATUS                 current
         DESCRIPTION
	    "Currently this object is not used. snMspsSyslogMailReceiverTable is used for
	     specifing the receiver mail ID for email alerts"

         ::= { snMspsSyslogMailEntry 4 }

      snMspsSyslogMailRowStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "Specifies RowStatus of the Mail  Entry."
         ::= {snMspsSyslogMailEntry 5}
       	  	  	     
      snMspsSyslogMailPort OBJECT-TYPE
       SYNTAX Unsigned32 (1..65535)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
          "Specifies the port of the Mail Entry.
           By default the port is 25"
       DEFVAL  { 25 }
         ::= {snMspsSyslogMailEntry 8}

      snMspsSyslogMailSender OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..100))
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
	  "Specifies the sender mail ID for the Mail Entry."
	 ::= { snMspsSyslogMailEntry 11 }

      snMspsSyslogMailUsername OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..64))
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
          "Specifies the username for the Mail Entry."
         ::= { snMspsSyslogMailEntry 14 }

      snMspsSyslogMailPassword OBJECT-TYPE
       SYNTAX DisplayString (SIZE(0..64))
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
          "Specifies the password for the Mail Entry."
         ::= { snMspsSyslogMailEntry 17 }

      snMspsSyslogMailSecurity OBJECT-TYPE
       SYNTAX INTEGER {
                        none(0),
                        ssltls(1),
                        starttls(2)
                      }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
          "Specifies the security for the Mail Entry."
       DEFVAL { 1 }
          ::= { snMspsSyslogMailEntry 20 }

-- snMspsSyslogMailReceiverTable

-- This table is for configuring the Mail receiver table

      snMspsSyslogMailReceiverTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsSyslogMailReceiverEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
          "A table containing receiver entries for mail service"
         ::= { snMspsSyslogClient 25 }

      snMspsSyslogMailReceiverEntry OBJECT-TYPE
       SYNTAX SnMspsSyslogMailReceiverEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
          "Mail receiver table contains index as priority , mail server address type,
             mail server address and Index."
       INDEX { 
               snMspsSyslogMailReceiverServerPriority,
               snMspsSyslogMailReceiverServerAddressType,
               snMspsSyslogMailReceiverServerAddress,
               snMspsSyslogMailReceiverIndex
             }
         ::= { snMspsSyslogMailReceiverTable 1 }

      SnMspsSyslogMailReceiverEntry ::=
       SEQUENCE {
	snMspsSyslogMailReceiverServerPriority Integer32,
	snMspsSyslogMailReceiverServerAddressType InetAddressType,
	snMspsSyslogMailReceiverServerAddress InetAddress,
        snMspsSyslogMailReceiverIndex INTEGER,
	snMspsSyslogMailReceiverMailAddress DisplayString,
	snMspsSyslogMailReceiverEnabled INTEGER,
        snMspsSyslogMailReceiverRowStatus RowStatus
       }

       snMspsSyslogMailReceiverServerPriority OBJECT-TYPE
        SYNTAX Integer32(0..191)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
           "This object represents snMspsSyslogMailPriority"
          ::= { snMspsSyslogMailReceiverEntry 1 }

       snMspsSyslogMailReceiverServerAddressType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
           "This object represents snMspsSyslogMailServAddType"
          ::= { snMspsSyslogMailReceiverEntry 2 }

       snMspsSyslogMailReceiverServerAddress OBJECT-TYPE
        SYNTAX InetAddress(SIZE(4..16))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
           "This object represents snMspsSyslogMailServAdd"
          ::= { snMspsSyslogMailReceiverEntry 3 }

       snMspsSyslogMailReceiverIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
           "Index variable of snMspsSyslogMailReceiverTable."
          ::= { snMspsSyslogMailReceiverEntry 4 }

       snMspsSyslogMailReceiverMailAddress OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..100))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
           "This object is used for
            specifing the receiver mail ID for email alerts"
          ::= { snMspsSyslogMailReceiverEntry 5 }

       snMspsSyslogMailReceiverEnabled OBJECT-TYPE
        SYNTAX       INTEGER {
                	enable(1),
                	disable(2)
               	     }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
        DEFVAL  {disable }
          ::= { snMspsSyslogMailReceiverEntry 6 }

       snMspsSyslogMailReceiverRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
           "Specifies RowStatus of the Receiver Entry."
          ::= {snMspsSyslogMailReceiverEntry 100}


TunnelStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "To specify how to handle the L2 protocol packets received on a
         particular port.
         
         When the option is set to 'peer', the L2 protocol packets received
         on a particular port will be processed in the Bridge.
         
         When the option is set to 'tunnel', the L2 protocol packets received
         on a particular port will be transparently transmitted in the provider
         network and will not be processed in the Provider Bridges/Provider Edge
         Bridges.
         
         When the option is set to 'discard', the L2 protocol packets
         received over a particular port will not be processed and discarded."

    SYNTAX      INTEGER { peer(1), tunnel(2), discard(3) }
	
-- -------------------------------------------------------------
-- Dynamic Group Registration Table
-- -------------------------------------------------------------

-- snMspsVlan 1-3 reserved

snMspsDot1qTpGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qTpGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing filtering information for VLANs
        configured into the bridge by (local or network)
        management, or learnt dynamically, specifying the set of
        ports to which frames received on a VLAN for this FDB
        and containing a specific Group destination address are
        allowed to be forwarded. This table maintains context ID
	as one more index to support Multiple Instances."
    ::= { snMspsVlan 4 }

snMspsDot1qTpGroupEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qTpGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Filtering information configured into the bridge by
        management, or learnt dynamically, specifying the set of
        ports to which frames received on a VLAN and containing
        a specific Group destination address, are allowed to be
        forwarded.  The subset of these ports learnt dynamically
        is also provided."
    INDEX   {  dot1qVlanIndex, snMspsDot1qTpGroupAddress, snMspsDot1qTpPort }
    ::= { snMspsDot1qTpGroupTable 1 }


SnMspsDot1qTpGroupEntry ::=
    SEQUENCE { snMspsDot1qTpGroupAddress MacAddress,
			  snMspsDot1qTpPort Integer32,
        	  snMspsDot1qTpGroupIsLearnt TruthValue }

snMspsDot1qTpGroupAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The destination Group MAC address in a frame to which
        this entry's filtering information applies."
    ::= { snMspsDot1qTpGroupEntry 1 }

snMspsDot1qTpPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The port number of the port for which this entry applies."
    ::= { snMspsDot1qTpGroupEntry 2 }

snMspsDot1qTpGroupIsLearnt OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is statically configured or a
	dynamic member of the Group address learnt through GMRP."
    ::= { snMspsDot1qTpGroupEntry 3 }

-- -------------------------------------------------------------
-- END OF Dynamic Group Registration Table
-- -------------------------------------------------------------
-- snMspsVlan 5-7 reserved

snMspsDot1qVlanStaticPortConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qVlanStaticPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the information of tagged, untagged
        and forbidden ports for each VLAN."
    ::= { snMspsVlan 8 }

snMspsDot1qVlanStaticPortConfigEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qVlanStaticPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Forwarding information about a port, Whether it is a
        member or a forbidden member."
    INDEX   { dot1qVlanIndex, snMspsDot1qTpPort }
    ::= { snMspsDot1qVlanStaticPortConfigTable 1 }

SnMspsDot1qVlanStaticPortConfigEntry ::=
    SEQUENCE {
        snMspsDot1qVlanStaticPort
            INTEGER
    }

snMspsDot1qVlanStaticPort OBJECT-TYPE
    SYNTAX      INTEGER {
                    addTagged(1),
                    addUntagged(2),
                    addForbidden(3),
                    delTagged(4),
                    delUntagged(5),
                    delForbidden(6)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is a member or a forbidden
        member in the forwarding information for this VLAN.
          'addTagged'    - to add the port in the tagged portlist.
          'addUntagged'  - to add the port in the untagged portlist.
          'addForbidden' - to add the port in the forbidden portlist.
          'delTagged'    - to delete the port from the tagged portlist.
          'delUntagged'  - to delete the port from the untagged portlist.
          'delForbidden' - to delete the port from the forbidden portlist."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.10.2.1"
    ::= { snMspsDot1qVlanStaticPortConfigEntry 1 }


snMspsDot1qStaticAllowedToGoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qStaticAllowedToGoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the information of AllowedToGoTo
        ports for each static unicast entry. This table
        maintains context ID as one more index to support
        Multiple Instances."
    REFERENCE
        "IEEE 802.1Q/D11 Table 8-5, ISO/IEC 15802-3 Table 7-5"
    ::= { snMspsVlan 9 }

snMspsDot1qStaticAllowedToGoEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qStaticAllowedToGoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a port, Whether it is an AllowedToGoTo
        member or not."
    INDEX   {
        dot1qFdbId,
        dot1qStaticUnicastAddress,
        dot1qStaticUnicastReceivePort,
        snMspsDot1qTpPort
    }
    ::= { snMspsDot1qStaticAllowedToGoTable 1 }

SnMspsDot1qStaticAllowedToGoEntry ::=
    SEQUENCE { snMspsDot1qStaticAllowedIsMember TruthValue }

snMspsDot1qStaticAllowedIsMember OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is an allowedToGoTo member."
    REFERENCE
        "IEEE 802.1Q/D11 Table 8-5, ISO/IEC 15802-3 Table 7-5"
    ::= { snMspsDot1qStaticAllowedToGoEntry 1 }

-- -------------------------------------------------------------
-- The Static (Destination-Address Filtering) Database
-- -------------------------------------------------------------
snMspsMIDot1qStaticUnicastExtnTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsMIDot1qStaticUnicastExtnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing filtering information for Unicast
        MAC addresses for each Filtering Database, configured
        into the device by (local or network) management
        specifying the set of ports to which frames received
        from specific ports and containing specific unicast
        destination addresses are allowed to be forwarded.  A
        value of zero in this table as the port number from
        which frames with a specific destination address are
        received, is used to specify all ports for which there
        is no specific entry in this table for that particular
        destination address.  Entries are valid for unicast
        addresses only. This table maintains context ID as
    one more index to support Multiple Instances."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7.7,
        ISO/IEC 15802-3 Section 7.9.1"
    ::= { snMspsVlan 10 }

snMspsMIDot1qStaticUnicastExtnEntry OBJECT-TYPE
    SYNTAX      SnMspsMIDot1qStaticUnicastExtnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Filtering information configured into the device by
        (local or network) management specifying the set of
        ports to which frames received from a specific port and
        containing a specific unicast destination address are
        allowed to be forwarded."
    AUGMENTS { dot1qStaticUnicastEntry }
    ::= { snMspsMIDot1qStaticUnicastExtnTable 1 }

SnMspsMIDot1qStaticUnicastExtnEntry ::=
    SEQUENCE {
        snMspsMIDot1qStaticConnectionIdentifier
            MacAddress
    }

snMspsMIDot1qStaticConnectionIdentifier OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This object is to associate the backbone MAC address of the
         peer backbone edge bridge with customer Mac addresses that
         can be reached through the peer backbone edge bridge."
    ::= { snMspsMIDot1qStaticUnicastExtnEntry 1 }
-- -------------------------------------------------------------
-- END OF The Static (Destination-Address Filtering) Database
-- -------------------------------------------------------------
snMspsDot1qForwardAllStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qForwardAllStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is used to maintain the status of static
	and forbidden portlist required in ForwardAll table
	for VLAN. This table maintains context ID as one more
	index to support Multiple Instances."
    ::= { snMspsVlan 11 }

snMspsDot1qForwardAllStatusEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qForwardAllStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry to specify the status of static and
	forbidden portlist in ForwardAll Table."
    INDEX   { dot1qVlanIndex }
    ::= { snMspsDot1qForwardAllStatusTable 1 }

SnMspsDot1qForwardAllStatusEntry ::=
    SEQUENCE {
        snMspsDot1qForwardAllRowStatus
            RowStatus
    }

snMspsDot1qForwardAllRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of the PortLists
	(Static, Forbidden) used in the forwarding
	information of a VLAN (ForwardAll). To fill the
        static and forbidden portlist, we have to set the
        rowstatus as 'NOT_IN_SERVICE' and set the appropriate
        port in the snMspsDot1qForwardUnregPortConfigTable and
        set the rowstatus as 'ACTIVE' to make the portlist
        available."
    ::= { snMspsDot1qForwardAllStatusEntry 1 }


snMspsDot1qForwardAllPortConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qForwardAllPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the	forwarding information of static
	ports and forbidden ports for each VLAN. This table
	maintains context ID as one more index to support
	Multiple Instances."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7"
    ::= { snMspsVlan 12 }

snMspsDot1qForwardAllPortConfigEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qForwardAllPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Forwarding information about a port, Whether it is a
	member or a forbidden member."
    INDEX   {  dot1qVlanIndex, snMspsDot1qTpPort }
    ::= { snMspsDot1qForwardAllPortConfigTable 1 }

SnMspsDot1qForwardAllPortConfigEntry ::=
    SEQUENCE {
        snMspsDot1qForwardAllPort
            INTEGER
    }

snMspsDot1qForwardAllPort OBJECT-TYPE
    SYNTAX      INTEGER  {
                    addMember(1),
                    addForbidden(2),
                    delMember(3),
		    delForbidden(4)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is a member or a forbidden
	member in the forwarding information for this VLAN.
	  'addMember'    - to add the port in the static
	                   member-list.
	  'addForbidden' - to add the port in the forbidden
	                   member-list.
	  'delMember'    - to remove the port from the static
	                   member-list.
	  'delForbidden' - to remove the port from the forbidden
	                   member-list."
    ::= { snMspsDot1qForwardAllPortConfigEntry 1 }


-- snMspsVlan 13-14 reserved

snMspsDot1qForwardUnregStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qForwardUnregStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table is used to maintain the status of static
	and forbidden portlist required in ForwardUnreg table
	for VLAN. This table maintains context ID as one more
	index to support Multiple Instances."
    ::= { snMspsVlan 15 }

snMspsDot1qForwardUnregStatusEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qForwardUnregStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry to specify the status of static and
	forbidden portlist in ForwardUnreg table."
    INDEX   { dot1qVlanIndex }
    ::= { snMspsDot1qForwardUnregStatusTable 1 }

SnMspsDot1qForwardUnregStatusEntry ::=
    SEQUENCE {
        snMspsDot1qForwardUnregRowStatus
            RowStatus
    }

snMspsDot1qForwardUnregRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of the PortLists
	(Static, Forbidden) used in the forwarding
	information of a VLAN (ForwardUnreg). To fill the
	static and forbidden portlist, we have to set the
	rowstatus as 'NOT_IN_SERVICE' and set the appropriate
	port in the snMspsDot1qForwardUnregPortConfigTable and
	set the rowstatus as 'ACTIVE' to make the portlist
	available."
    ::= { snMspsDot1qForwardUnregStatusEntry 1 }

snMspsDot1qForwardUnregPortConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qForwardUnregPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the	information of static ports
	and forbidden ports to which forwarding of multicast
	group-addressed frames for which there is no more
	specific forwarding information applies (per VLAN).
	This table maintains context ID as one more index to
	support Multiple Instances."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7"
    ::= { snMspsVlan 16 }

snMspsDot1qForwardUnregPortConfigEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qForwardUnregPortConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Forwarding information about a port, Whether it is a
	member or a forbidden member."
    INDEX   {dot1qVlanIndex, snMspsDot1qTpPort }
    ::= { snMspsDot1qForwardUnregPortConfigTable 1 }

SnMspsDot1qForwardUnregPortConfigEntry ::=
    SEQUENCE {
        snMspsDot1qForwardUnregPort
            INTEGER
    }

snMspsDot1qForwardUnregPort OBJECT-TYPE
    SYNTAX      INTEGER  {
                    addMember(1),
                    addForbidden(2),
                    delMember(3),
		    delForbidden(4)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is a member or a forbidden
	member in the forwarding information for this VLAN.
	  'addMember'    - to add the port in the static
	                   member-list.
	  'addForbidden' - to add the port in the forbidden
	                   member-list.
	  'delMember'    - to remove the port from the static
	                   member-list.
	  'delForbidden' - to remove the port from the forbidden
	                   member-list."
    ::= { snMspsDot1qForwardUnregPortConfigEntry 1 }

-- snMspsVlan 17 reserved

snMspsDot1qStaticMcastPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qStaticMcastPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing egress and forbidden ports for
        static multicast entry. This table maintains context
        ID as one more index to support Multiple Instance."
    ::= { snMspsVlan 18 }

snMspsDot1qStaticMcastPortEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qStaticMcastPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a port, Whether it is a member or
        a forbidden member."
    INDEX   {
        dot1qVlanIndex,
        dot1qStaticMulticastAddress,
        dot1qStaticMulticastReceivePort,
        snMspsDot1qTpPort
    }
    ::= { snMspsDot1qStaticMcastPortTable 1 }

SnMspsDot1qStaticMcastPortEntry ::=
    SEQUENCE {
        snMspsDot1qStaticMcastPort
            INTEGER
    }

snMspsDot1qStaticMcastPort OBJECT-TYPE
    SYNTAX      INTEGER  {
                    addMember(1),
                    addForbidden(2),
                    delMember(3),
		    delForbidden(4)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is a member or a forbidden
        member in the static multicast entry.
          'addMember'    - to add the port in the egress
                           member-list.
          'addForbidden' - to add the port in the forbidden
                           member-list.
          'delMember'    - to remove the port from the egress
                           member-list.
          'delForbidden' - to remove the port from the forbidden
                           member-list."
    ::= { snMspsDot1qStaticMcastPortEntry 1 }

snMspsDot1qVlanWildCardTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qVlanWildCardEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Wild card vlan (Id : 0xFFF) static filtering information
        will be used for all Vlans for which there is no specific
        Static filtering exists in dot1qStaticUnicastTable or
        dot1qStaticMulticastTable."
    ::= { snMspsVlan 19 }

snMspsDot1qVlanWildCardEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qVlanWildCardEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "WildCard vlan filtering Information configured into device by
    management to which frames received from any port and for any
    vlan containing this wild card mac address as destination address
    and for which there is no static filtering information are allowed
    to be forwarded."

    INDEX { snMspsDot1qVlanWildCardMacAddress }
    ::= { snMspsDot1qVlanWildCardTable 1 }

SnMspsDot1qVlanWildCardEntry ::=
    SEQUENCE {
        snMspsDot1qVlanWildCardMacAddress
        MacAddress,
		snMspsDot1qVlanWildCardEgressPorts
        PortList,
        snMspsDot1qVlanWildCardRowStatus
        RowStatus
    }

snMspsDot1qVlanWildCardMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The destination MAC address in a frame to which this entry's
        filtering information applies. This object must take the
        value of a Unicast, Multicast or Broadcast address."
    ::= { snMspsDot1qVlanWildCardEntry 1 }

snMspsDot1qVlanWildCardEgressPorts OBJECT-TYPE
    SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The set of ports to which frames received from a specific port
        and destined for dot1qFutureVlanWildCardMacAddress address must
        be forwarded, if there is no specific static filtering entry
        exist for this MAC."
    ::= { snMspsDot1qVlanWildCardEntry 2 }

snMspsDot1qVlanWildCardRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The row status of the entry."
   ::= { snMspsDot1qVlanWildCardEntry 3 }


snMspsMIDot1qVlanWildCardPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsMIDot1qVlanWildCardPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "A Table containing ports to which frames received from a specific
    port and destined for snMspsMIDot1qVlanWildCardMacAddress must be
    forwarded, if there is no specific static filtering entry exist
    for this MAC."
    ::= { snMspsVlan 20 }

snMspsMIDot1qVlanWildCardPortEntry OBJECT-TYPE
    SYNTAX      SnMspsMIDot1qVlanWildCardPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "WildCard vlan filtering Information configured into device by
    management specifying set of ports to which frames received
    from any port and for any vlan containing
    snMspsMIDot1qVlanWildCardMacAddress mac address as destination
    address and for which there is no static filtering information
    are allowed to be forwarded."

    INDEX { snMspsDot1qVlanWildCardMacAddress,
            snMspsDot1qTpPort }
    ::= { snMspsMIDot1qVlanWildCardPortTable 1 }

SnMspsMIDot1qVlanWildCardPortEntry ::=
    SEQUENCE {
        snMspsMIDot1qVlanIsWildCardEgressPort
        TruthValue
    }

snMspsMIDot1qVlanIsWildCardEgressPort OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the port is an egress port of wildcard entry."
    ::= { snMspsMIDot1qVlanWildCardPortEntry 1 }

-- SCALAR BEGIN

-- snMspsVlan 21-24 reserved

snMspsDot1qVlanStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative status requested by management for the Vlan
      feature. The value enabled(1) indicates that Vlan should be enabled
      in the device on all ports. The value disabled(2) indicates that
      Vlan should be disabled in the device on all ports. The object can
      be set to disabled if and only if, dot1qGvrpStatus and dot1dGmrpStatus
      are disabled. The object should NOT be enabled before setting
      'dot1qVlanType'.
      Setting this object will affect the operational status of the
      VLAN module (dot1qFutureVlanOperStatus)."
   ::= { snMspsVlan 25 }

snMspsDot1qVlanMacBasedOnAllPorts OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is only used to enable/disable the mac based type on all ports
       of dot1qVlanPortMacBasedClassification"
   ::= { snMspsVlan 26 }

snMspsDot1qVlanPortProtoBasedOnAllPorts OBJECT-TYPE 
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "This object is only used to enable/disable the port protocol based type on all ports
       of snMspsDot1qVlanPortPortProtoBasedClassification"
   ::= { snMspsVlan 27 } 

-- snMspsVlan 28 reserved

snMspsDot1qVlanShutdownStatus OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative shutdown status requested by management for Vlan
      The value true(1) indicates that Vlan should be shutdown
      in the device on all ports. All memory will be released.
      The value false(2) indicates that Vlan should be active in the device
      on all ports."
   DEFVAL   { false }
   ::= { snMspsVlan 29 }

snMspsDot1qVlanBaseBridgeMode OBJECT-TYPE
   SYNTAX      INTEGER {
               dot1dTransparentMode(1), 
               dot1qVlanMode(2) 
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object indicates base bridge mode of the device.
      Setting the value to transparent mode will make
      switch behave according to IEEE 802.1D implementation.
      Setting the value to VLAN mode will make switch behave
      according to IEEE 802.1Q implementation"
   ::= { snMspsVlan 30 }

-- snMspsVlan 31-32 reserved

snMspsDot1qVlanLearningMode OBJECT-TYPE
   SYNTAX      INTEGER {
               ivl(1),
               svl(2),
               hybrid(3)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
         "The Type of VLAN learning mode.
          When the object value is modified, the static
          fid-vlan mappings and static unicast entries
          need to be reconfigured. Static unicast configurations
          associated with old fid will get deleted."
   DEFVAL  { ivl }
   ::= { snMspsVlan 33 }

snMspsDot1qVlanHybridTypeDefault OBJECT-TYPE
   SYNTAX      INTEGER {
               ivl(1),
               svl(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
         "The default learning mode of the switch if
          dot1qVlanLearningMode is hvl (3).
          When the object value is modified, the static
          fid-vlan mappings and static unicast entries
          need to be reconfigured. Static unicast configurations
          associated with old fid will get deleted."
   DEFVAL  { ivl }
   ::= { snMspsVlan 34 }

snMspsDot1qVlanOperStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The operational status of the Vlan module.
      The value enabled(1) indicates that Vlan module is currently enabled
      in the device.
      The value disabled(2) indicates that Vlan module is currently disabled
      in the device."
   ::= { snMspsVlan 35 }

snMspsDot1qGvrpOperStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The operational status of the GVRP module.
      The value enabled(1) indicates that GVRP module is currently enabled
      in the device.
      The value disabled(2) indicates that GVRP module is currently disabled
      in the device."
   ::= { snMspsVlan 36 }

snMspsDot1qGmrpOperStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The operational status of the GMRP module.
      The value enabled(1) indicates that GMRP module is currently enabled
      in the device.
      The value disabled(2) indicates that GMRP module is currently disabled
      in the device."
   ::= { snMspsVlan 37 }

--snMspsVlan 38-40 reserved

-- ----------------------------------------------------------------------------
-- Vlan Port Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanPortTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1qVlanPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Table containing the port type information."
   ::= { snMspsVlan 41 }

snMspsDot1qVlanPortEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qVlanPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the type of the port."
   INDEX { snMspsDot1qVlanPort }
   ::= { snMspsDot1qVlanPortTable 1 }

SnMspsDot1qVlanPortEntry ::=
   SEQUENCE {
      snMspsDot1qVlanPort Integer32,
      snMspsDot1qVlanPortType INTEGER,
      snMspsDot1qVlanPortMacBasedClassification EnabledStatus,
      snMspsDot1qVlanPortPortProtoBasedClassification EnabledStatus,
      snMspsDot1qVlanFilteringUtilityCriteria INTEGER,
      snMspsDot1qVlanPortProtected TruthValue,
      snMspsDot1qVlanPortSubnetBasedClassification EnabledStatus
   }

snMspsDot1qVlanPort OBJECT-TYPE
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The port number of the port for which this entry applies."
   ::= { snMspsDot1qVlanPortEntry 1 }

snMspsDot1qVlanPortType OBJECT-TYPE
   SYNTAX      INTEGER {
                  accessPort (1),
                  trunkPort (2),
                  hybridPort (3),
                  hostPort (4),
                  promiscuousPort (5)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The type of the port is by default hybrid port.
       When configured as access port, the port can accept and send
       only untagged frames.
       When configured as a trunk port, port is added as
       member of all the existing Vlans and also for any new vlan
       created.
       When configured as hybrid port, the port can send or accept both
       tagged and untagged frames.

       hostPort, promiscuousPort are types of port in PVLAN domain.
       Behaviour of host port varies based on the secondary vlan to which
       it is configured as member port.

       If a host port is a member port of an isolated VLAN, traffic from the
       host port is sent only to the promiscuous port of the Private VLAN and
       the trunk port.

       If a host port is a member port of the community VLAN, traffic from the
       port can be sent only to other ports of the community VLAN , trunk port
       and promiscuous port of the private VLAN.

       A host port can be associated with only one secondary vlan and with
       the associated primary vlan.

       The PVID of host port will be set the ID of the secondary vlan
       to which it belongs to.If a host port is member port of primary vlan,
       but is not member port of any secondary vlan, then its PVID will be
       set to primary vlan id.

       When a port is configured as a hostPort or promiscuousPort, ingress
       filtering will be enabled on that port. Also ingress filtering
       cannot be disabled on hostPort and promiscuousPort.

       Promiscuous ports should be configured as member port of primary vlan
       and member port of all secondary vlans associated with that
       primary vlan.

       The PVID of promiscuous port will be set as the ID of the primary
       vlan to which it belongs to.

       Host and  promiscuous ports should be configured as untagged members
       of primary/secondary vlans.

       When a access/hybrid port is configured as a member port of a
       primary/secondary vlan, it becomes a hostPort automatically.

       When the type of the port is changed from promiscuous/host to
       access/hybrid port, the port gets removed from the associated PVLAN
       domain.
       
       Only considered if device supports corresponding functionality, 
       otherwise set operation will fail with an inconsistentValue error."

   DEFVAL   { hybridPort }
   ::= { snMspsDot1qVlanPortEntry 2 }

snMspsDot1qVlanPortMacBasedClassification OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Object to expilicitly enable/disable the Mac based Classification
      on port. This can be independently set without
      any dependency in available configuration of
       snMspsDot1qVlanMacBasedOnAllPorts "
   ::= { snMspsDot1qVlanPortEntry 3 }

snMspsDot1qVlanPortPortProtoBasedClassification OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Object to expilicitly enable/disable the port and protocol
      Classification on port. This can be independently set without
      any dependency in available configuration of
       snMspsDot1qVlanPortProtoBasedOnAllPorts "
   ::= { snMspsDot1qVlanPortEntry 4 }

 snMspsDot1qVlanFilteringUtilityCriteria OBJECT-TYPE
   SYNTAX      INTEGER {
                  default  (1),
                  enhanced (2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Based on this object, learning on a port is decided.

      If default filtering utility Criteria is selected on a port, then
      learning of source mac from a received packet on that port will be
      done only if there is atleast on member port in that vlan.

      If enhanced filtering utility criteria is selected on a port,then
      learning of source mac from a received packet on that port will be
      done if the following are satisfied:

      -    if at least one VLAN that uses the FID includes the reception
      Port and at least one other Port with a Port State of Learning or
      Forwarding in its member set, and:

       o The operPointToPointMAC parameter is false for the reception Port; or
       o Ingress to the VLAN is permitted through a third Port.

       The third port can, but is not required to, be in the member set."
   DEFVAL   { default }
   ::= { snMspsDot1qVlanPortEntry 5 }

snMspsDot1qVlanPortProtected  OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Split Horizon property of the port. If set to true, frames that
       are received on any other port that has the same property set to true,
       will not be forwarded on this port."
   DEFVAL   { false }
   ::= { snMspsDot1qVlanPortEntry 6 }

snMspsDot1qVlanPortSubnetBasedClassification OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Object to expilicitly enable/disable the Subnet based Vlan Classification
      on port. This can be independently set without any dependency in
      available configuration of snMspsDot1qVlanSubnetBasedOnAllPorts. This
      object is not used in case of BCM chipsets."
   ::= { snMspsDot1qVlanPortEntry 7 }

-- ----------------------------------------------------------------------------
-- END OF Vlan Port Table
-- ----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------
-- Vlan Mac Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanPortMacMapTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1qVlanPortMacMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A table that contains information on Vlan-MAC address
      mapping."
   ::= { snMspsVlan 42 }

snMspsDot1qVlanPortMacMapEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qVlanPortMacMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry that contains Vlan-MAC address mapping."
   INDEX { snMspsDot1qVlanPort, snMspsDot1qVlanPortMacMapAddr }
   ::= { snMspsDot1qVlanPortMacMapTable 1 }

SnMspsDot1qVlanPortMacMapEntry ::=
   SEQUENCE {
      snMspsDot1qVlanPortMacMapAddr MacAddress,
      snMspsDot1qVlanPortMacMapVid  VlanId,
      snMspsDot1qVlanPortMacMapName DisplayString,
      snMspsDot1qVlanPortMacMapMcastBcastOption INTEGER,
      snMspsDot1qVlanPortMacMapRowStatus RowStatus
   }

snMspsDot1qVlanPortMacMapAddr OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The Mac address for which the Vlan mapping is present in the entry."
   ::= { snMspsDot1qVlanPortMacMapEntry 1 }

snMspsDot1qVlanPortMacMapVid OBJECT-TYPE
   SYNTAX      VlanId
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Vlan to which the mac address of this entry is mapped to."
   ::= { snMspsDot1qVlanPortMacMapEntry 2 }

snMspsDot1qVlanPortMacMapName OBJECT-TYPE
   SYNTAX      DisplayString
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The name given to the mac-vlan entry."
   ::= { snMspsDot1qVlanPortMacMapEntry 3 }

snMspsDot1qVlanPortMacMapMcastBcastOption OBJECT-TYPE
   SYNTAX      INTEGER { allow(1), suppress(2) }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Configurable option for discarding/allowing Multicast/Broadcast Untagged
        frames. The value allow (1) indicates that Multicast/Broadcast frames
        with source Mac address as in the Mac Vlan entry will be dropped if mac
        based vlan is enabled on that port.The value suppress (2) indicates that
        Multicast/Broadcast frames with source Mac address as in the Mac Vlan
        entry will be processed if mac based vlan is enabled on that port"
    DEFVAL { allow }
    ::= { snMspsDot1qVlanPortMacMapEntry 4 }

snMspsDot1qVlanPortMacMapRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The row status of the entry."
   ::= { snMspsDot1qVlanPortMacMapEntry 5 }

-- ----------------------------------------------------------------------------
-- END OF Vlan Mac Map Table
-- ----------------------------------------------------------------------------
-- ----------------------------------------------------------------------------
-- Vlan Vlan-Fid Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanFidMapTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1qVlanFidMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table contains information about the Filtering database identifier
      (FID) used by vlan's to make forwarding decisions. Vlan's can be mapped
      to use the same FID to share filtering information among them. This will
      cause the mapped vlan's to operate in shared vlan learning (SVL) mode.
      Vlan's mapped to a unique FID will operate in independent vlan learning
      mode (IVL). A SET operation on this table is allowed only when
      snMspsDotVlanLearningMode is hybrid. By default all vlan's will be
      mapped to the FID equal to their vlan id when
      snMspsDotVlanHybridTypeDefault is IVL. If the value of
      snMspsDotVlanHybridTypeDefault is SVL all vlan's are mapped to
      filtering database id 1."

   ::= { snMspsVlan 43 }

snMspsDot1qVlanFidMapEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qVlanFidMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry mapping VlanId to Filtering database id."
   INDEX { snMspsDot1qVlanIndex }
   ::= { snMspsDot1qVlanFidMapTable 1 }

SnMspsDot1qVlanFidMapEntry ::=
   SEQUENCE {
      snMspsDot1qVlanIndex Unsigned32,
      snMspsDot1qVlanFid Unsigned32
   }

 snMspsDot1qVlanIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "VLAN ID for which filtering database information is available."
    ::= { snMspsDot1qVlanFidMapEntry 1 }

 snMspsDot1qVlanFid OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4094)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Filtering database id (FID) that will be used by the vlan."
    ::= { snMspsDot1qVlanFidMapEntry 2 }

-- ----------------------------------------------------------------------------
-- END OF Vlan Vlan-Fid Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanCounterTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1qVlanCounterEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
             "The table contains the statistics on a per VLAN basis.
              It contains number of unicast, broadcast and unknown unicast
              packets flooded per VLAN."
   ::= { snMspsVlan 44 }

snMspsDot1qVlanCounterEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qVlanCounterEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
              "The entry contains the VLAN statistics"
   INDEX { snMspsDot1qVlanIndex }
   ::= { snMspsDot1qVlanCounterTable 1 }

SnMspsDot1qVlanCounterEntry ::=
   SEQUENCE {
             snMspsDot1qVlanCounterRxUcast         Counter32,
             snMspsDot1qVlanCounterRxMcastBcast    Counter32,
             snMspsDot1qVlanCounterTxUnknUcast     Counter32,
             snMspsDot1qVlanCounterTxUcast         Counter32,
             snMspsDot1qVlanCounterTxBcast         Counter32
            }

snMspsDot1qVlanCounterRxUcast OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
            " Number of unicast packets received in this VLAN."
   ::= { snMspsDot1qVlanCounterEntry 1 }

snMspsDot1qVlanCounterRxMcastBcast OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
            " Number of multicast/broadcast packets received in this VLAN."
   ::= { snMspsDot1qVlanCounterEntry 2 }

snMspsDot1qVlanCounterTxUnknUcast OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
             " Number of unknown unicast packets flooded in this VLAN."
   ::= { snMspsDot1qVlanCounterEntry 3 }

snMspsDot1qVlanCounterTxUcast OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
            " Number of known unicast packets forwarded in this VLAN."
   ::= { snMspsDot1qVlanCounterEntry 4 }

snMspsDot1qVlanCounterTxBcast OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
            " Number of broadcast packets forwarded in this VLAN."
   ::= { snMspsDot1qVlanCounterEntry 5 }

snMspsDot1qVlanUnicastMacControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qVlanUnicastMacControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per VLAN Unicast MAC address control information.
        The control information includes the status of unicast MAC address
        learning as well as restricting the number of unique entries learnt to
        a specified limit for the specified VLAN."
    ::= { snMspsVlan 45 }

snMspsDot1qVlanUnicastMacControlEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qVlanUnicastMacControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling the number of distinct unicast MAC addresses
         that can be learnt by a VLAN depending on whether learning is enabled
         or disabled for the specified VLAN."
    INDEX { snMspsDot1qVlanIndex }
    ::= { snMspsDot1qVlanUnicastMacControlTable 1 }

SnMspsDot1qVlanUnicastMacControlEntry ::=
    SEQUENCE {
        snMspsDot1qVlanUnicastMacLimit              Unsigned32,
        snMspsDot1qVlanAdminMacLearningStatus       EnabledStatus,
        snMspsDot1qVlanOperMacLearningStatus        EnabledStatus
    }

snMspsDot1qVlanUnicastMacLimit OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Limiting value on the number of distinct unicast MAC addresses
         learnt in a VLAN. The lower limit and upper limit value that
        can be SET for this object is determined by the underlying hardware."
    ::= { snMspsDot1qVlanUnicastMacControlEntry 1 }

snMspsDot1qVlanAdminMacLearningStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Truth value used to configure the unicast MAC learning Admin status
         for the VLAN to either be enabled (1) or disabled (2)."
    DEFVAL { enabled }
    ::= { snMspsDot1qVlanUnicastMacControlEntry 2 }

snMspsDot1qVlanOperMacLearningStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A Truth value indicating the unicast MAC learning enabled/disabled
         Operational status for the specified VLAN.
         If the VLAN does not have any member port, then the Mac Learning
         Status for this VLAN will always be disabled, otherwise
         The Mac Learning status for this VLAN will take value from Admin Mac
         Learning status."
    ::= { snMspsDot1qVlanUnicastMacControlEntry 3 }


snMspsDot1qVlanTpFdbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1qVlanTpFdbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An extention to the dot1qTpFdbTable contains information
        about unicast entries only learned via pseudowire
        for which the device has forwarding and/or filtering
        information. This information is used by the
        transparent bridging function in determining how to
        propagate a received frame."
    REFERENCE
        ""
    ::= { snMspsVlan 46 }

snMspsDot1qVlanTpFdbEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1qVlanTpFdbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about the pseudowire on which MAC address was
        learned"
    AUGMENTS    { dot1qTpFdbEntry }
    ::= { snMspsDot1qVlanTpFdbTable 1 }

SnMspsDot1qVlanTpFdbEntry ::=
    SEQUENCE {
        snMspsDot1qVlanTpFdbPw
            Unsigned32,
        snMspsDot1qTpOldFdbPort
            INTEGER,
        snMspsDot1qConnectionIdentifier
            MacAddress
    }

snMspsDot1qVlanTpFdbPw OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Either the value '0', or the pseudowire number on
        which a frame having a source address equal to the value
        of the corresponding instance of dot1qTpFdbAddress has
        been seen. A value of '0' indicates that the entry was
        learned via the layer2 port. Non-zero value indicates
        that this value must be used for forwading irrespective
        of dot1qTpFdbPort"
    ::= { snMspsDot1qVlanTpFdbEntry 1 }

snMspsDot1qTpOldFdbPort OBJECT-TYPE
    SYNTAX     INTEGER (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "This object is useful for generating the source relearning trap.
         When a get is performed on this object, it returns the value of
         Zero(0), so that the device walk doesn't break. It indicates the port
         through which the mac-address was learnt previously, while generating
         the source relearning trap."
    ::= { snMspsDot1qVlanTpFdbEntry 2 }

snMspsDot1qConnectionIdentifier OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "This object is to associate the backbone MAC address of the peer
         backbone edge brige with customer Mac addresses that can be reached
         through the peer backbone edge bridge."
    ::= { snMspsDot1qVlanTpFdbEntry 3 }

snMspsDot1qVlanPriorityTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SnMspsDot1qVlanPriorityEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION "A table to configure VLAN priorization"
	::= { snMspsVlan 47 }
		
snMspsDot1qVlanPriorityEntry OBJECT-TYPE
	SYNTAX SnMspsDot1qVlanPriorityEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION""
	INDEX { snMspsDot1qVlanPriorityVid}
	::= {snMspsDot1qVlanPriorityTable 1 }
	
SnMspsDot1qVlanPriorityEntry ::=	SEQUENCE {
	snMspsDot1qVlanPriorityVid INTEGER,
	snMspsDot1qVlanPriorityEnabled INTEGER,
	snMspsDot1qVlanPriority INTEGER,
	snMspsDot1qVlanPriorityUpdateTagPriority INTEGER
	}
	
snMspsDot1qVlanPriorityVid OBJECT-TYPE
	SYNTAX INTEGER (1..4094)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION "VLAN-ID"
	::= { snMspsDot1qVlanPriorityEntry 1 }
	
snMspsDot1qVlanPriorityEnabled OBJECT-TYPE
	SYNTAX INTEGER {
	enabled(1),
	disabled(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION "Enable/Disable forcing of a given priority for all
				 frames received on a certain VLAN"
	DEFVAL { disabled }
	::= { snMspsDot1qVlanPriorityEntry 4 }

snMspsDot1qVlanPriority OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION "Priority that is forced for all frames received on a certain VLAN"
	DEFVAL {0}
	::= { snMspsDot1qVlanPriorityEntry 7 }
	
snMspsDot1qVlanPriorityUpdateTagPriority OBJECT-TYPE
	SYNTAX INTEGER {
	enabled(1),
	disabled(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION "Enable/Disable changing VLAN tag priority field with the value 'snMspsDot1qVlanPriority'
                 on egress packet for all frames received on a certain VLAN
                 only if 'snMspsDot1qVlanPriorityEnabled' is 'enabled'.
                 Only considered if device supports corresponding functionality and number of supported VLANs, 
                 otherwise set operation will fail with an inconsistentValue error."
	DEFVAL { disabled }
	::= { snMspsDot1qVlanPriorityEntry 11 }

snMspsDot1qVlanExt  OBJECT IDENTIFIER ::= { snMspsVlan 48 }

-- snMspsDot1qVlanExt 1-19 reserved for scalar

-- ---------------------------------------------------------------------------- 
-- MSPS Vlan Extension Table
-- ---------------------------------------------------------------------------- 

snMspsDot1qStVlanExtTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF SnMspsDot1qStVlanExtEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
        "An extension to dot1qVlanStaticTable VLAN table.
         This table contains the Private Vlan (PVLAN) related
         configurations.
        
         Only considered if device supports corresponding functionality, 
         otherwise any set operation will fail with an inconsistentValue error 
         and get will return empty.

         Entries cannot be created or deleted by user, whenever static vlan 
         entry created in the table 'dot1qVlanStaticTable' user can configure 
         corresponding private vlan properties in this table."

   ::= { snMspsDot1qVlanExt 20 } 
 
snMspsDot1qStVlanExtEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qStVlanExtEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
        "Each entry specifies the Private Vlan configuration done for
         a given Vlan."
   INDEX { dot1qVlanIndex }
   ::= { snMspsDot1qStVlanExtTable 1 }
    
SnMspsDot1qStVlanExtEntry ::=
   SEQUENCE { 
      snMspsDot1qStVlanPVlanType INTEGER,
      snMspsDot1qStVlanPrimaryVid VlanIdOrNone
   } 
 
snMspsDot1qStVlanPVlanType OBJECT-TYPE
    SYNTAX      INTEGER {
                          normal (1),
                          primary (2),
                          isolated (3),
                          community (4) 
                        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object identifies the Private vlan type for this vlan.
         normal    - Vlan does not belong to any Private VLAN domain.
         primary   - Primary vlan in a Private VLAN domain.
         isolated  - Isolated vlan in a Private VLAN domain.
                     Devices connected to host ports of this vlan, can not
                     communicate with each other.
                     For every isolated vlan, one primary vlan id should be
                     configured.
         community - Community Vlan in a Private VLAN domain. Layer 2 
                     behaviour for a community and normal vlan is same.
                     For every community vlan, one primary vlan id should be
                     configured.
         Configuration of this object is allowed only when VLAN is not
         active."
    DEFVAL { normal }
    ::= { snMspsDot1qStVlanExtEntry 1 }

snMspsDot1qStVlanPrimaryVid OBJECT-TYPE
   SYNTAX      VlanIdOrNone
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object identifies the primary vlan assoicated with this
       vlan. 
       For primary and normal vlans, this object will have the value zero 
       and configuring this object to non-zero value will not be allowed for 
       them.
       For secondary vlans, this object identifies the associated
       primary vlan."
    DEFVAL { 0 }
   ::= { snMspsDot1qStVlanExtEntry 2 }


snMspsDot1vObjects OBJECT IDENTIFIER  ::= { snMspsVlan 49 }

snMspsDot1vProtocolGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1vProtocolGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that contains mappings from Protocol
         Templates to Protocol Group Identifiers used for
         Port-and-Protocol-based VLAN Classification."
    REFERENCE
        "IEEE 802.1v clause 8.6.4"
    ::= { snMspsDot1vObjects 1 }

snMspsDot1vProtocolGroupEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1vProtocolGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A mapping from a Protocol Template to a Protocol
         Group Identifier."
    INDEX       { snMspsDot1vProtocolTemplateFrameType,
                  snMspsDot1vProtocolTemplateProtocolValue,
				  snMspsDot1vProtocolGroupId}
    ::= { snMspsDot1vProtocolGroupTable 1 }

SnMspsDot1vProtocolGroupEntry ::=
    SEQUENCE {
        snMspsDot1vProtocolTemplateFrameType
            INTEGER,
        snMspsDot1vProtocolTemplateProtocolValue
            OCTET STRING,
        snMspsDot1vProtocolGroupId
            Integer32,
        snMspsDot1vProtocolGroupRowStatus
            RowStatus
    }

snMspsDot1vProtocolTemplateFrameType OBJECT-TYPE
    SYNTAX      INTEGER {
                  ethernet  (1),
                  rfc1042   (2),
                  snap8021H (3),
                  snapOther (4),
                  llcOther  (5)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The data-link encapsulation format or the
         'detagged_frame_type' in a Protocol Template."
    REFERENCE
        "IEEE 802.1v clause 8.6.2"
    ::= { snMspsDot1vProtocolGroupEntry 1 }

snMspsDot1vProtocolTemplateProtocolValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (2 | 5))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The identification of the protocol above the data-link
         layer in a Protocol Template.  Depending on the
         frame type, the octet string will have one of the
         following values:

         For 'ethernet', 'rfc1042' and 'snap8021H',
             this is the 16-bit (2-octet) IEEE 802.3 Type Field.
         For 'snapOther',
             this is the 40-bit (5-octet) PID.
         For 'llcOther',
             this is the 2-octet IEEE 802.2 LSAP pair:
             first octet for DSAP and second octet for SSAP."
    REFERENCE
        "IEEE 802.1v clause 8.6.2"
    ::= { snMspsDot1vProtocolGroupEntry 2 }

snMspsDot1vProtocolGroupId OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Represents a group of protocols that are associated
         together when assigning a VID to a frame."
    REFERENCE
        "IEEE 802.1v clause 8.6.3, 12.10.2.1"
    ::= { snMspsDot1vProtocolGroupEntry 3 }

snMspsDot1vProtocolGroupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry."
    ::= { snMspsDot1vProtocolGroupEntry 4 }

-- snMspsVlan 50 reserved

snMspsVlanTunnelObjects OBJECT IDENTIFIER  ::= { snMspsVlan 51 }

-- TUNNEL SCALAR BEGIN

snMspsVlanTunnelBpduPri OBJECT-TYPE
    SYNTAX      Integer32 (0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the default User Priority for all the tunneled Layer 2
        BPDU's received on tunnel ports."
    DEFVAL { 7 }
    ::= { snMspsVlanTunnelObjects 1 }


snMspsVlanTunnelStpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        " The MAC address to be used for Customer STP BPDUs tunneling.

        When STP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the customer BPDUs received.
        This is the default behaviour in Provider (Q-in-Q) Bridges and customer
        bridges. In case of 802.1ad bridges, this will be done only when the
        outgoing port type is proprietary PNP.

        Inside a given Network,BPDUs received with this MAC address will be
        treated as data packets and not processed. This is the default
        behaviour in case of Provider (Q-in-Q) Bridges and customer bridges.
        In case of 802.1ad Bridges, when the outgoing port type is not
        proprietary PNP, the destination address will be replaced with the
        reserved address defined for customer STP BPDU.Otherwise, they will
        be treated as data packets.

        When the BPDU is sent out of the given Network, this MAC address
        will be replaced with the reserved address defined for Customer STP
        BPDU. This is done only when when STP protocol tunnel status is set to
        Tunnel on the outgoing port.Dropped otherwise."

    ::= { snMspsVlanTunnelObjects 2 }

snMspsVlanTunnelLacpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The MAC address to be used for LACP packets tunneling . When
        LACP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the LACP packets
        received over this port.

        LACP packets received with this MAC address will be treated as
        data packets and not processed.

        When the tunneled LACP packets are sent out of the given Network,
        this MAC address will be replaced with the reserved address defined
        for LACP packets. This is done only when LACP protocol tunnel status
        is set to Tunnel on the outgoing port.Dropped otherwise."

    ::= { snMspsVlanTunnelObjects 3 }

snMspsVlanTunnelDot1xAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The MAC address to be used for Dot1x packets tunneling.
         When Dot1x tunneling is enabled on a port, this MAC address will
        be used as the the destination MAC address for the customer Dot1x
        packets received with reserved address over this port.

        Dot1x packets received with this MAC address will be treated as
        data packets and not processed.

        When the tunneled Dot1x packets are sent out of the given Network,
        this MAC address will be replaced with the reserved address defined
        for Dot1x packets. This is done only when Dot1x protocol tunnel
        status is set to Tunnel on the outgoing port.Dropped otherwise."

    ::= { snMspsVlanTunnelObjects 4 }

snMspsVlanTunnelGvrpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        " The MAC address to be used for GVRP PDUs tunneling.

        When GVRP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the customer GVRP PDUs
        received.This is the default behaviour in Provider (Q-in-Q) Bridges and
        customer bridges. In case of 802.1ad bridges, this will be done only
        when the outgoing port type is proprietary PNP.

        Inside a given Network,packets received with this MAC address will be
        treated as data packets and not processed. This is the default
        behaviour in case of Provider (Q-in-Q) Bridges and customer bridges.
        In case of 802.1ad Bridges, when the outgoing port type is not
        proprietary PNP, the destination address will be replaced with the
        reserved address defined for customer GVRP PDUs.Otherwise, they
        will be treated as data packets.

        When the GVRP PDU is sent out of the given Network, this MAC address
        will be replaced with the reserved address defined for Customer GVRP
        PDU. This is done only when when GVRP protocol tunnel status is set to
        Tunnel on the outgoing port.Dropped otherwise."

    ::= { snMspsVlanTunnelObjects 5 }

snMspsVlanTunnelGmrpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The MAC address to be used for GMRP PDUs tunneling.
        When GMRP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the customer GMRP PDUs
        received over this port.

        Inside a given Network, GMRP PDUs received with this MAC address
        will be treated as data packets and not processed.

        When the tunneled GMRP PDUs are sent out of the given Network,
        this MAC address will be replaced with the reserved address defined
        for GMRP PDUs.This is done only when GMRP protocol tunnel status is
        set to Tunnel on the outgoing port.Dropped otherwise."

    ::= { snMspsVlanTunnelObjects 6 }

snMspsVlanTunnelMvrpAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      " The MAC address to be used for MVRP PDUs tunneling.
        When MVRP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the received MVRP PDUs.

        Inside a given Network, packets received with this MAC address will be
        treated as data packets and not processed. This is the default
        behaviour in case of Provider (Q-in-Q) Bridges and customer bridges.
        In case of 802.1ad Bridges, when the outgoing port type is not
        proprietary PNP, the destination address will be replaced with the
        reserved address defined for customer MVRP PDUs.Otherwise, they
        will be treated as data packets.

        When the MVRP PDU is sent out of the given Network, this MAC address
        will be replaced with the reserved address defined for Customer MVRP
        PDU. This is done only when when MVRP protocol tunnel status is set to
        Tunnel on the outgoing port. Dropped otherwise."
   ::= { snMspsVlanTunnelObjects 10 }

snMspsVlanTunnelMmrpAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      " The MAC address to be used for MMRP PDUs tunneling.
        When MMRP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the MMRP PDUs received
        over this port.

        Inside a given Network, MMRP PDUs received with this MAC address
        will be treated as data packets and not processed.

        When the tunneled MMRP PDUs are sent out of the given Network,
        this MAC address will be replaced with the reserved address defined
        for MMRP PDUs.This is done only when MMRP protocol tunnel status is
        set to Tunnel on the outgoing port.Dropped otherwise."

   ::= { snMspsVlanTunnelObjects 11 }

snMspsVlanTunnelIgmpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The MAC address to be used for IGMP packets tunneling . When
        IGMP tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the IGMP packets
        received over this port.

        IGMP packets received with this MAC address will be treated as
        data packets and not processed.

        When the tunneled IGMP packets are sent out of the given Network,
        this MAC address will be replaced with the reserved address defined
        for IGMP packets. This is done only when IGMP protocol tunnel status
        is set to Tunnel on the outgoing port."

    ::= { snMspsVlanTunnelObjects 12 }

-- TUNNEL SCALAR END

-- ----------------------------------------------------------------------------
-- Vlan Tunnel Table
-- ----------------------------------------------------------------------------

snMspsVlanTunnelTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsVlanTunnelEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table contains information about the tunnel ports. A walk on
      this table will show only those interfaces that are configured for
      tunneling.
      This table is supported only when the Bridge is configured in Provider
      Bridge (Q-in-Q) mode."

   ::= { snMspsVlanTunnelObjects 7 }

snMspsVlanTunnelEntry OBJECT-TYPE
   SYNTAX      SnMspsVlanTunnelEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the tunnel information of the port."
   INDEX { snMspsVlanPort }
   ::= { snMspsVlanTunnelTable 1 }

SnMspsVlanTunnelEntry ::=
   SEQUENCE {
      snMspsVlanPort         Integer32,
      snMspsVlanTunnelStatus EnabledStatus
   }

snMspsVlanPort OBJECT-TYPE
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The Index value of the port in the system for which this entry
      applies. The maximum index value of the port is defined by the
      system."
   ::= { snMspsVlanTunnelEntry 1 }


snMspsVlanTunnelStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Indicates whether Tunnelling is enabled or disabled on this port.
      snMspsVlanTunnelStatus can be set to `enabled` if and only if the
      Bridge mode is set to be `Provider Bridge Mode` and VLAN port
      type is set to 'accessPort'.  Tunnelling can be enabled only on ports
      which are in 'dot1x force-authorised' state."
   DEFVAL      { disabled }
   ::= { snMspsVlanTunnelEntry 2 }


-- ----------------------------------------------------------------
-- Tunnel protocol configuration table
-- ----------------------------------------------------------------
snMspsVlanTunnelProtocolTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsVlanTunnelProtocolEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table contains information about the handling (Tunnel/Peer/
      Discard)of customer Layer 2 protocols (STP/GVRP/GMRP/LACP/Dot1x/
      IGMP/MVRP and MMRP) inside a given network."

   ::= { snMspsVlanTunnelObjects 8 }

snMspsVlanTunnelProtocolEntry OBJECT-TYPE
   SYNTAX      SnMspsVlanTunnelProtocolEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the handling (Tunnel/Peer/Discard) of Layer 2
      protocols (STP/GVRP/GMRP/LACP/Dot1x/IGMP/MVRP and MMRP) on this port.

      Tunnel Status cannot be set to `tunnel/discard`, if the protocol
      is enabled on the port.Exception, Igmp and dot1x should be disabled
      globally for setting the tunnel status to `tunnel/discard`."
   INDEX { snMspsVlanPort }
   ::= { snMspsVlanTunnelProtocolTable 1 }

 SnMspsVlanTunnelProtocolEntry ::=
 SEQUENCE {
    snMspsVlanTunnelProtocolDot1x      TunnelStatus,
    snMspsVlanTunnelProtocolLacp       TunnelStatus,
    snMspsVlanTunnelProtocolStp        TunnelStatus,
    snMspsVlanTunnelProtocolGvrp       TunnelStatus,
    snMspsVlanTunnelProtocolGmrp       TunnelStatus,
    snMspsVlanTunnelProtocolIgmp       TunnelStatus,
    snMspsVlanTunnelProtocolMvrp       TunnelStatus,
    snMspsVlanTunnelProtocolMmrp       TunnelStatus
 }

snMspsVlanTunnelProtocolDot1x OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the Dot1x packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry  1 }

snMspsVlanTunnelProtocolLacp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the LACP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 2 }

snMspsVlanTunnelProtocolStp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the STP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 3 }

snMspsVlanTunnelProtocolGvrp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the GVRP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 4 }

snMspsVlanTunnelProtocolGmrp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the GMRP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 5 }

snMspsVlanTunnelProtocolIgmp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the IGMP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 6 }

snMspsVlanTunnelProtocolMvrp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the MVRP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 7 }

snMspsVlanTunnelProtocolMmrp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the MMRP packets
            received on this port."
   ::= { snMspsVlanTunnelProtocolEntry 8 }

-- ----------------------------------------------------------------
-- Tunnel protocol statistics table
-- ----------------------------------------------------------------
snMspsVlanTunnelProtocolStatsTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsVlanTunnelProtocolStatsEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table contains statistics information about the tunneled
       Layer 2 protocols (STP/GVRP/GMRP/LACP/Dot1x/IGMP/MVRP and MMRP)
       received and transmitted over a port."
   ::= { snMspsVlanTunnelObjects 9 }

snMspsVlanTunnelProtocolStatsEntry OBJECT-TYPE
   SYNTAX      SnMspsVlanTunnelProtocolStatsEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the handling (Tunnel/Peer/Discard) of Layer 2
      protocols (STP/GVRP/GMRP/LACP/Dot1x/IGMP/MVRP and MMRP) on this port."

   INDEX { snMspsVlanPort }
   ::= { snMspsVlanTunnelProtocolStatsTable 1 }

SnMspsVlanTunnelProtocolStatsEntry ::=
 SEQUENCE {
      snMspsVlanTunnelProtocolDot1xPktsRecvd Counter32,
      snMspsVlanTunnelProtocolDot1xPktsSent  Counter32,
      snMspsVlanTunnelProtocolLacpPktsRecvd  Counter32,
      snMspsVlanTunnelProtocolLacpPktsSent   Counter32,
      snMspsVlanTunnelProtocolStpPDUsRecvd   Counter32,
      snMspsVlanTunnelProtocolStpPDUsSent    Counter32,
      snMspsVlanTunnelProtocolGvrpPDUsRecvd  Counter32,
      snMspsVlanTunnelProtocolGvrpPDUsSent   Counter32,
      snMspsVlanTunnelProtocolGmrpPktsRecvd  Counter32,
      snMspsVlanTunnelProtocolGmrpPktsSent   Counter32,
      snMspsVlanTunnelProtocolIgmpPktsRecvd  Counter32,
      snMspsVlanTunnelProtocolIgmpPktsSent   Counter32,
      snMspsVlanTunnelProtocolMvrpPktsRecvd  Counter32,
      snMspsVlanTunnelProtocolMvrpPktsSent   Counter32,
      snMspsVlanTunnelProtocolMmrpPktsRecvd  Counter32,
      snMspsVlanTunnelProtocolMmrpPktsSent   Counter32
   }

snMspsVlanTunnelProtocolDot1xPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled Dot1x Packets received."
   ::= { snMspsVlanTunnelProtocolStatsEntry 1 }

snMspsVlanTunnelProtocolDot1xPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled Dot1x Packets transmitted."
   ::= { snMspsVlanTunnelProtocolStatsEntry 2 }

snMspsVlanTunnelProtocolLacpPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled LACP Packets received."
   ::= { snMspsVlanTunnelProtocolStatsEntry 3 }

snMspsVlanTunnelProtocolLacpPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled LACP packets transmitted."
   ::= { snMspsVlanTunnelProtocolStatsEntry 4 }

snMspsVlanTunnelProtocolStpPDUsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled STP PDUs received."
   ::= { snMspsVlanTunnelProtocolStatsEntry 5 }

snMspsVlanTunnelProtocolStpPDUsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled STP PDUs transmitted."
   ::= { snMspsVlanTunnelProtocolStatsEntry 6 }

snMspsVlanTunnelProtocolGvrpPDUsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled  GVRP PDUs received."
   ::= { snMspsVlanTunnelProtocolStatsEntry 7 }

snMspsVlanTunnelProtocolGvrpPDUsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled GVRP PDUs transmitted."
   ::= { snMspsVlanTunnelProtocolStatsEntry 8 }

snMspsVlanTunnelProtocolGmrpPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled GMRP PDUs packets received."
   ::= { snMspsVlanTunnelProtocolStatsEntry 9 }

snMspsVlanTunnelProtocolGmrpPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled GMRP packets transmitted."
   ::= { snMspsVlanTunnelProtocolStatsEntry 10 }

snMspsVlanTunnelProtocolIgmpPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled IGMP packets received."
   ::= { snMspsVlanTunnelProtocolStatsEntry 11 }

snMspsVlanTunnelProtocolIgmpPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of tunneled  IGMP packets transmitted."
   ::= { snMspsVlanTunnelProtocolStatsEntry 12 }

snMspsVlanTunnelProtocolMvrpPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MVRPDUs received on a port for which the MVRP tunneling
       status is enabled."
   ::= { snMspsVlanTunnelProtocolStatsEntry 13 }

snMspsVlanTunnelProtocolMvrpPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MVRPDUs transmitted on a port on which the MVRP tunneling
       status is enabled."
   ::= { snMspsVlanTunnelProtocolStatsEntry 14 }

snMspsVlanTunnelProtocolMmrpPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MMRPDUs received on a port for which the MMRP tunneling
       status is enabled."
   ::= { snMspsVlanTunnelProtocolStatsEntry 15 }

snMspsVlanTunnelProtocolMmrpPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MMRPDUs transmitted on a port on which the MMRP tunneling
       status is enabled."
   ::= { snMspsVlanTunnelProtocolStatsEntry 16 }


snMspsVlanDiscardObjects OBJECT IDENTIFIER  ::= { snMspsVlan 52 }
-- ----------------------------------------------------------------
-- VLAN Discard statistics table
-- ----------------------------------------------------------------
snMspsVlanDiscardStatsTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsVlanDiscardStatsEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table contains statistics information about the L2 protocol
       packets (STP/GVRP/GMRP/LACP/Dot1x/IGMP/MVRP and MMRP) discarded on
       reception and transmission side due to 'Discard' tunnel protocol
       status."

   ::= { snMspsVlanDiscardObjects 1 }

snMspsVlanDiscardStatsEntry OBJECT-TYPE
   SYNTAX      SnMspsVlanDiscardStatsEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the Discard statistics for L2 protocol packets."

   INDEX { snMspsVlanPort }
   ::= { snMspsVlanDiscardStatsTable 1 }

SnMspsVlanDiscardStatsEntry ::=
 SEQUENCE {
      snMspsVlanDiscardDot1xPktsRx   Counter32,
      snMspsVlanDiscardDot1xPktsTx   Counter32,
      snMspsVlanDiscardLacpPktsRx    Counter32,
      snMspsVlanDiscardLacpPktsTx    Counter32,
      snMspsVlanDiscardStpPDUsRx     Counter32,
      snMspsVlanDiscardStpPDUsTx     Counter32,
      snMspsVlanDiscardGvrpPktsRx    Counter32,
      snMspsVlanDiscardGvrpPktsTx    Counter32,
      snMspsVlanDiscardGmrpPktsRx    Counter32,
      snMspsVlanDiscardGmrpPktsTx    Counter32,
      snMspsVlanDiscardIgmpPktsRx    Counter32,
      snMspsVlanDiscardIgmpPktsTx    Counter32,
      snMspsVlanDiscardMvrpPktsRx    Counter32,
      snMspsVlanDiscardMvrpPktsTx    Counter32,
      snMspsVlanDiscardMmrpPktsRx    Counter32,
      snMspsVlanDiscardMmrpPktsTx    Counter32
      }

snMspsVlanDiscardDot1xPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of Dot1x packets discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 1 }

snMspsVlanDiscardDot1xPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of Dot1x packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 2 }

snMspsVlanDiscardLacpPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of LACP packets discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 3 }

snMspsVlanDiscardLacpPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of LACP packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 4 }

snMspsVlanDiscardStpPDUsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of STP BPDUs discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 5 }

snMspsVlanDiscardStpPDUsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of STP BPDUs discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 6 }

snMspsVlanDiscardGvrpPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of GVRP packets discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 7 }

snMspsVlanDiscardGvrpPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of GVRP packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 8 }

snMspsVlanDiscardGmrpPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of GMRP packets discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 9 }

snMspsVlanDiscardGmrpPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of GMRP packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 10 }

snMspsVlanDiscardIgmpPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of IGMP packets discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 11 }

snMspsVlanDiscardIgmpPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of IGMP packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 12 }

snMspsVlanDiscardMvrpPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MVRP packets discarded on the reception side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 13 }

snMspsVlanDiscardMvrpPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MVRP packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 14 }

snMspsVlanDiscardMmrpPktsRx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MMRP packets discarded on the receiption side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 15 }

snMspsVlanDiscardMmrpPktsTx OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of MMRP packets discarded on the transmission side
       due to Discard option."
   ::= { snMspsVlanDiscardStatsEntry 16 }

-- snMspsVlan 54-55 reserved

snMspsVlanBridgeMode OBJECT-TYPE
   SYNTAX      INTEGER {
                  customerBridge (1),
                  providerBridge (2),
                  providerEdgeBridge (3),
                  providerCoreBridge (4),
                  providerBackoneICompBridge (5),
                  providerBackoneBCompBridge (6)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION

      "This object indicates the Bridge mode of the switch.

      Setting this to 'customerBridge' means that the switch will operate
      as a 802.1Q VLAN Bridge.

      Setting this to 'providerBridge' means that the Bridge will operate as
      a normal Q-in-Q Bridge.

      Setting this to 'providerCoreBridge' means that the switch will operate
      as a 802.1ad compliant provider bridge with only S-VLAN component.

      Setting this to 'providerEdgeBridge' means that the switch will operate
      as a 802.1ad provider edge bridge with S-VLAN component and atleast
      one C-VLAN component.

      Setting this to 'providerBackoneICompBridge' means that the switch will operate
      as a 802.1ah provider backone bridge as an I component.

      Setting this to 'providerBackoneBCompBridge' means that the switch will operate
      as a 802.1ah provider backone bridge as a B component.

      For changing the bridge mode, GARP and STP modules should be shutdown."

   ::= { snMspsVlan 56 }

-- ----------------------------------------------------------------------------
-- Vlan Subnet Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanPortSubnetMapTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1qVlanPortSubnetMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Subnet based VLAN classification - The source IP-subnet address in
       the incoming packets is used to classify VLAN membership.
       Subnet based VLAN is applied only on IP/ARP packets.
       This table contains information on Subnet-VlanId address mapping.
       In case of BCM, the snMspsDot1qVlanPort index should always be 0 since
       BCM supports Subnet based VLAN globally (not on per port)"
   ::= { snMspsVlan 57 }

snMspsDot1qVlanPortSubnetMapEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qVlanPortSubnetMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry that contains Vlan-Subnet address mapping."
   INDEX { snMspsDot1qVlanPort,
           snMspsDot1qVlanPortSubnetMapAddr}
   ::= { snMspsDot1qVlanPortSubnetMapTable 1 }

SnMspsDot1qVlanPortSubnetMapEntry ::=
   SEQUENCE {
      snMspsDot1qVlanPortSubnetMapAddr IpAddress,
      snMspsDot1qVlanPortSubnetMapVid  VlanId,
      snMspsDot1qVlanPortSubnetMapARPOption INTEGER,
      snMspsDot1qVlanPortSubnetMapRowStatus RowStatus,
      snMspsDot1qVlanPortSubnetMapSubnetMask IpAddress
   }

snMspsDot1qVlanPortSubnetMapAddr OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The Source IP-Subnet address for which the Vlan mapping is present
       in the entry."
   ::= { snMspsDot1qVlanPortSubnetMapEntry 1 }

snMspsDot1qVlanPortSubnetMapVid OBJECT-TYPE
   SYNTAX      VlanId
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Vlan to which the Source IP-Subnet address of this entry is mapped to."
   ::= { snMspsDot1qVlanPortSubnetMapEntry 2 }

snMspsDot1qVlanPortSubnetMapARPOption OBJECT-TYPE
   SYNTAX      INTEGER { allow(1), suppress(2) }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "Configurable option for discarding/allowing ARP Untagged frames on
        the vlan. The value allow (1) indicates that ARP frames with source
        IP-subnet address matching the snMspsDot1qVlanPortSubnetMapEntry
        will be classified to vlan based on snMspsDot1qVlanPortSubnetMapEntry.
        The value suppress (2) indicates that ARP frames with source IP-Subnet
        address matching the snMspsDot1qVlanPortSubnetMapEntry will not be
        classified to vlan based on snMspsDot1qVlanPortSubnetMapEntry. The
        VLAN classification will be based on next subsequent classification
        mechanism."
    DEFVAL { allow }
    ::= { snMspsDot1qVlanPortSubnetMapEntry 3 }

snMspsDot1qVlanPortSubnetMapRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The row status of the entry."
   ::= { snMspsDot1qVlanPortSubnetMapEntry 4 }

snMspsDot1qVlanPortSubnetMapSubnetMask OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Source IP-Subnet Mask for which the Vlan mapping is present
       in the entry."
   ::= { snMspsDot1qVlanPortSubnetMapEntry 5 }
   
-- ----------------------------------------------------------------------------
-- END OF Vlan Subnet Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanSubnetBasedOnAllPorts OBJECT-TYPE 
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "This object is used to enable/disable the subnet based VLAN Classification
       on all ports of snMspsDot1qVlanPortSubnetBasedClassification. On setting
       this object to enable/disable status, Subnet based VLAN classification 
       will be enabled/disabled on all the ports."
   ::= { snMspsVlan 58 }

-- ----------------------------------------------------------------------------
-- Vlan Ipv6 Prefix Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanPortIpv6PrefixMapTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1qVlanPortIpv6PrefixMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Ipv6 prefix based VLAN classification - The source Ipv6-prefix address in
       the incoming packets is used to classify VLAN membership.
       prefix based VLAN is applied only on Ipv6 packets.
       This table contains information on Prefix-VlanId address mapping."
   ::= { snMspsVlan 59 }

snMspsDot1qVlanPortIpv6PrefixMapEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1qVlanPortIpv6PrefixMapEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry that contains Vlan-Ipv6 prefix address mapping."
   INDEX { snMspsDot1qVlanPort,
           snMspsDot1qVlanPortIpv6PrefixMapAddr}
   ::= { snMspsDot1qVlanPortIpv6PrefixMapTable 1 }

SnMspsDot1qVlanPortIpv6PrefixMapEntry ::=
   SEQUENCE {
      snMspsDot1qVlanPortIpv6PrefixMapAddr 	OCTET STRING,
      snMspsDot1qVlanPortIpv6PrefixMapAddrLength  	Integer32,
      snMspsDot1qVlanPortIpv6PrefixMapVid  	VlanId,
      snMspsDot1qVlanPortIpv6PrefixMapRowStatus RowStatus
   }

snMspsDot1qVlanPortIpv6PrefixMapAddr OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE (16))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The Source Ipv6-prefix address for which the Vlan mapping is present
       in the entry."
   ::= { snMspsDot1qVlanPortIpv6PrefixMapEntry 1 }

snMspsDot1qVlanPortIpv6PrefixMapAddrLength OBJECT-TYPE
   SYNTAX      Integer32 (1..128)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Source Ipv6-prefix length for which the Vlan mapping is present
       in the entry."
   ::= { snMspsDot1qVlanPortIpv6PrefixMapEntry 2 }

snMspsDot1qVlanPortIpv6PrefixMapVid OBJECT-TYPE
   SYNTAX      VlanId
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Vlan to which the Source Ipv6-prefix address of this entry is mapped to."
   ::= { snMspsDot1qVlanPortIpv6PrefixMapEntry 3 }

snMspsDot1qVlanPortIpv6PrefixMapRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The row status of the entry."
   ::= { snMspsDot1qVlanPortIpv6PrefixMapEntry 4 }
   
-- ----------------------------------------------------------------------------
-- END OF Vlan Ipv6 Prefix Map Table
-- ----------------------------------------------------------------------------

snMspsDot1qVlanAltMgmtAccessVlanList OBJECT-TYPE
   SYNTAX       PortList
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies the Vlan's in which the Mgmt Ip address can be accessed.
        By default the access is not allowed to reside in any vlan.

        This entry will only be applicable if there is no L3 Vlan associated with
        L2 Vlan."

   ::= { snMspsVlan 65 }



-- Textual Conventions

PriorityCodePoint ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "To specify the priority code point selection row"
    SYNTAX      INTEGER {
                            codePoint8p0d(1),
                            codePoint7p1d(2),
                            codePoint6p2d(3),
                            codePoint5p3d(4)
                        }


--MIB objects for configuring the IEEE802.1ad Provider Bridging

snMspsDot1adProviderBridge  OBJECT IDENTIFIER  ::= { snMspsDot1ad 1 }

--Proprietary MIB implementation for the Provider Bridging functionality

snMspsDot1adPbSystem  OBJECT IDENTIFIER   ::= { snMspsDot1ad 2 }
snMspsDot1adPbConfig  OBJECT IDENTIFIER   ::= { snMspsDot1ad 3 }


-- -------------------------------------------------------------
-- The 802.1ad Provider Bridge Port Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPortTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing provider bridge port related configurations.
   
        All the values for the objects in this table will take effect
        only when the Bridge Mode is set as  
        ProviderCoreBridge or ProviderEdgeBridge."
    ::= { snMspsDot1adProviderBridge 1 }
    
snMspsDot1adPortEntry   OBJECT-TYPE
    SYNTAX      SnMspsDot1adPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling per port configurations for 
        the externally accessible ports of Provider Bridges."
    INDEX { snMspsDot1adPortNum  }
    ::= { snMspsDot1adPortTable  1 }
            
SnMspsDot1adPortEntry  ::=
    SEQUENCE {
        snMspsDot1adPortNum                       Integer32,
        snMspsDot1adPortPcpSelectionRow           PriorityCodePoint,
        snMspsDot1adPortUseDei                    TruthValue,
        snMspsDot1adPortReqDropEncoding           TruthValue
    }
    
snMspsDot1adPortNum OBJECT-TYPE
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The Index value of the port in the system for which this entry
      applies. The maximum index value of the port is defined by the
      system."
   ::= { snMspsDot1adPortEntry 1 }

snMspsDot1adPortPcpSelectionRow OBJECT-TYPE
   SYNTAX      PriorityCodePoint
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The row to be used on this port for PCP encoding and PCP decoding
       tables. PCP encoding and PCP decoding on a port will be based on the row
       configured as per this mib object for this port. This can be set for all 
       bride port types."
    DEFVAL { 1 }
    ::= { snMspsDot1adPortEntry 2 }

snMspsDot1adPortUseDei OBJECT-TYPE 
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
       "The object to specify whether drop_eligible parameter in the PCP can be
       used for encoding and decoding.
       
       If this object is set to True for the port, then drop_eligible parameter
       will be encoded in the DEI of transmitted frames.If the DEI is set in the 
       S-tag or the PCP decoding table indicates that drop_eligible True, 
       then drop_eligible will become true for the received frames.
       
       If this object is set to False, the DEI will be transmitted as zero
       and ignored on receipt.
       
       This object can be set only on PNPs and external CNPs."

   DEFVAL   { false }
   ::= { snMspsDot1adPortEntry 3 }

snMspsDot1adPortReqDropEncoding OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "When this object is set to True and if the bridge port can not 
       encode particular priorities with drop_eligible, then frames queued 
       with those priorites and drop_eligible true can be discarded and not 
       transmitted.

       This object can be set only on PNPs and external CNPs."

   DEFVAL   { false } 
   ::= { snMspsDot1adPortEntry 4 } 

-- ----------------------------------------------------------------
-- VID Translation Table 
-- This is the VID translation table (Ref. IEEE802.1ad/D6 - Section
-- (12.13.2.1)
-- ----------------------------------------------------------------

snMspsDot1adVidTranslationTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adVidTranslationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    " This VID Translation table provides a bidirectional mapping between a
     Local S-VID and a relay S-VID. This table is applicable only for the
    externally accessible network ports (ie) Customer Network Port / Provider
    Network Port / Proprietary Customer Network Port."
    ::= { snMspsDot1adProviderBridge 2 }
    
snMspsDot1adVidTranslationEntry  OBJECT-TYPE
    SYNTAX      SnMspsDot1adVidTranslationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Entry  contains the information of translating a Local Service Vlan 
    in the packet to the Relay Service VLAN. This entry shall only be
    applicable at Network ports."
    INDEX { snMspsDot1adPortNum, 
            snMspsDot1adVidTranslationLocalVid }

    ::= { snMspsDot1adVidTranslationTable  1 }
            
SnMspsDot1adVidTranslationEntry  ::=
    SEQUENCE {
        snMspsDot1adVidTranslationLocalVid      VlanId,
        snMspsDot1adVidTranslationRelayVid      VlanId,
        snMspsDot1adVidTranslationRowStatus     RowStatus
    }
   
snMspsDot1adVidTranslationLocalVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
    " A Service VLAN Identifier used in the S-Tag of frames transmitted
      and received through this customer Network Port / Provider Network Port 
      / Proprietary Customer Network Port."
    ::= { snMspsDot1adVidTranslationEntry  1 }

snMspsDot1adVidTranslationRelayVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    " This Service VLAN identifier used by the filtering and forwarding processes
      of the S-VLAN component in the provider bridge. This Vlan is identified for
      a given port (CNP/ Prop CNP/ PNP) and the specified Local S-VLAN present in
      the frame"
    ::= { snMspsDot1adVidTranslationEntry  2 }

snMspsDot1adVidTranslationRowStatus  OBJECT-TYPE
    SYNTAX      RowStatus 
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'.
        The Entry in this table is used only when the translation status for a
        Port (CNP/ PropCNP/PNP) is enabled and the Row status is SET 'active'."
    ::= { snMspsDot1adVidTranslationEntry  3 }

-- -------------------------------------------------------------
-- This table is the C-VID Registration table (Ref. Section
-- 12.13.3.1 IEEE802.1ad/D6)
-- -------------------------------------------------------------
snMspsDot1adCVidRegistrationTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adCVidRegistrationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       " This table provides a mapping between a customer VLAN Identifier (C-VID)
         and service instance represented by Service VLAN identifier(S-VID)  
         for a customer edge port.
         An Entry in this table result in 'cvlan' type of SVLAN classification for 
         CEP Ports. This can be configured only on Customer Edge Port."
    ::= { snMspsDot1adProviderBridge 3 }

snMspsDot1adCVidRegistrationEntry  OBJECT-TYPE
    SYNTAX      SnMspsDot1adCVidRegistrationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       " An Entry in this table provides functionality of
         a) Configuring PVID of the internal Customer Network Port of SVLAN component.
         b) Adding PEP on the C-VLAN component to member set of C-VLAN
         c) Adding PEP and/or CEP to the untagged set of C-VLAN, if it is desired."
    INDEX { snMspsDot1adPortNum, 
            snMspsDot1adCVidRegistrationCVid 
          }
    ::= { snMspsDot1adCVidRegistrationTable  1 }

SnMspsDot1adCVidRegistrationEntry ::=
    SEQUENCE {
        snMspsDot1adCVidRegistrationCVid               VlanId,
        snMspsDot1adCVidRegistrationSVid               VlanId,
        snMspsDot1adCVidRegistrationUntaggedPep        TruthValue,
        snMspsDot1adCVidRegistrationUntaggedCep        TruthValue,
        snMspsDot1adCVidRegistrationRowStatus          RowStatus
    }
    
snMspsDot1adCVidRegistrationCVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The customer VLAN ID in the customer VLAN tag of an ingress frame
        at this specified port or the customer VLAN ID to which the ingress
        frame is classified to, at this specified port."
    ::= { snMspsDot1adCVidRegistrationEntry  1 }
    
snMspsDot1adCVidRegistrationSVid OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "S-VLAN Id for the service instance to which this port and this 
        C-VLAN are mapped to.
         ie) CEP,C-VID ===> S-VID."
    ::= { snMspsDot1adCVidRegistrationEntry  2 }

snMspsDot1adCVidRegistrationUntaggedPep OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to retain/add/remove the Customer VLAN tag
        from the packet, before sending it out of Provider Edge Port (PEP).
        
        When it is set to 'True' the C-VLAN tag will be stripped. Otherwise
        the packet will be sent out with a C-tag and with valid C-VID."
    DEFVAL { false }
    ::= { snMspsDot1adCVidRegistrationEntry  3 }
    
snMspsDot1adCVidRegistrationUntaggedCep OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to retain/add/remove the Customer VLAN tag
        from the packet, before sending it out of Customer Edge Port (CEP).

        When it is set to 'True' the C-VLAN tag will be stripped. Otherwise 
        the tag will be added if the packet is C-VLAN untagged."

    DEFVAL { false }
    ::= { snMspsDot1adCVidRegistrationEntry  4 }

snMspsDot1adCVidRegistrationRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."
    ::= { snMspsDot1adCVidRegistrationEntry  5 }

-- ----------------------------------------------------------------
-- Provider Edge Port configuration table (Ref. IEEE802.1ad/D6 - Section
-- 12.13.3.3 and 12.13.3.4)
-- ----------------------------------------------------------------

snMspsDot1adPepTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "The table provides configuration options (PVID,Acceptable
    frame type, default user priority and ingress filtering) for the internal
    PEP interfaces created when an entry is created in C-VID registration table."
    
    ::= { snMspsDot1adProviderBridge 4 }
    
snMspsDot1adPepEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "Entry  contains information (PVID, Acceptable frame type, default user priority
    and ingress filtering) for the packets received over internal PEPs.
    
    Creation of an entry in this table is not allowed and only modification
    is allowed."
        
    INDEX {snMspsDot1adPortNum, 
           snMspsDot1adCVidRegistrationSVid
          }
   ::= { snMspsDot1adPepTable 1 }
            
SnMspsDot1adPepEntry ::=
    SEQUENCE {
        snMspsDot1adPepPvid                VlanId,
        snMspsDot1adPepDefaultUserPriority INTEGER,
        snMspsDot1adPepAccptableFrameTypes INTEGER,
        snMspsDot1adPepIngressFiltering    TruthValue
    }

snMspsDot1adPepPvid OBJECT-TYPE
   SYNTAX      VlanId
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
   "The VLAN ID to be used for the untagged packets received over this
   PEP. This refers to the customer VLAN ID to which the untagged packets
   received over this PEP will be classified. And this is the VLAN ID
   put in the C-VLAN tag when the outgoing CEP is tagged i.e untagged CEP is 
   set to False for this port in the C-VID registration table entry."
   
   ::= { snMspsDot1adPepEntry 1 }

snMspsDot1adPepDefaultUserPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The default ingress user priority to be used for the untagged
         packets received over provider edge ports.This will be used for
         the PCP encoding of C-VLAN tag for the outgoing packets when the 
         outgoing CEP is tagged i.e untagged CEP is set to False in the 
         C-VID registration table entry for this port."
    DEFVAL      { 0 }
    ::= { snMspsDot1adPepEntry 2 }

snMspsDot1adPepAccptableFrameTypes OBJECT-TYPE
    SYNTAX      INTEGER {
                    admitAll(1),
                    admitOnlyVlanTagged(2),
                    admitOnlyUntaggedAndPriorityTagged (3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When this is admitOnlyVlanTagged(2) the device will
        discard untagged frames or Priority-Tagged frames
        received on this port.  When admitAll(1) is set, all frames
        tagged/untagged/priority tagged frames received on this port
        will be accepted.
        When admitOnlyUntaggedAndPriorityTagged(3) is set, untagged and 
        priority tagged frames alone will be accepted and tagged 
        frames received over this PEP will be discarded."

    DEFVAL      { admitAll }
    ::= { snMspsDot1adPepEntry 3 }


snMspsDot1adPepIngressFiltering OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When this is true(1), if this port is not in the member set of a 
      C-VLAN, then frames received on this port classified to that C-VLAN 
      will be discarded. When false(2), the port will accept all
      incoming frames received over this PEP"

    DEFVAL      { false }
    ::= { snMspsDot1adPepEntry 4 }

-- ----------------------------------------------------------------
-- Service Priority regeneration configuration table (Ref.
-- IEEE802.1ad/D6 - Section 12.13.3.5 and 12.13.3.6)
-- ----------------------------------------------------------------

snMspsDot1adServicePriorityRegenerationTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adServicePriorityRegenerationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
     "This table maps each receive priority to a regenerated priority on 
      this internal customer network port.
     
      Creation of an entry in this table is not allowed and only modification 
      is allowed. 

      An entry will be created in this table with default values for the
      CEP and S-VLAN pair,when the corresponding entry is created in C-VID
      registration table."
      
    ::= { snMspsDot1adProviderBridge 5 }
    
snMspsDot1adServicePriorityRegenerationEntry  OBJECT-TYPE
    SYNTAX      SnMspsDot1adServicePriorityRegenerationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "This table maintains the mapping of incoming priority and regenerated
     priority for internal customer network ports."
    INDEX { snMspsDot1adPortNum, 
            snMspsDot1adCVidRegistrationSVid,
            snMspsDot1adServicePriorityRegenReceivedPriority }
    ::= { snMspsDot1adServicePriorityRegenerationTable 1 }

SnMspsDot1adServicePriorityRegenerationEntry  ::=
    SEQUENCE {
        snMspsDot1adServicePriorityRegenReceivedPriority      INTEGER,
        snMspsDot1adServicePriorityRegenRegeneratedPriority   INTEGER
    }

snMspsDot1adServicePriorityRegenReceivedPriority OBJECT-TYPE
    SYNTAX      INTEGER(0..7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The received priority value for a frame over the internal customer
        network port. For tagged packets, this refers to the priority of C-tag 
        received over the CEPs. 
        For untagged packets, the default user priority of CEP will be used as 
        the receive priority."
        
    ::= { snMspsDot1adServicePriorityRegenerationEntry  1 }

snMspsDot1adServicePriorityRegenRegeneratedPriority OBJECT-TYPE
    SYNTAX      INTEGER(0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The regenerated priority value for the received priority for a frame
         received over the internal customer network port. The PCP encoding
         for the frames that are to be sent out will be based on the regenerated
         priority value got from this object."
    ::= { snMspsDot1adServicePriorityRegenerationEntry  2 }

-- ----------------------------------------------------------------
-- PCP decoding table (Priority Code Point decoding table)
-- (Ref. IEEE802.1ad/D6 - section 12.6.2.8 and 12.6.2.9)
-- ----------------------------------------------------------------
snMspsDot1adPcpDecodingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPcpDecodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "The priority and drop_eligible parameters of the received frames
    are decoded from the PCP using Priority Code Point decoding table. For
    each port, the PCP decoding table has eight entries corresponding to each
    of the possible PCP values."
      
    ::= { snMspsDot1adProviderBridge 6 }
    
snMspsDot1adPcpDecodingEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPcpDecodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "The table entry contains the priority and drop_eligible information for
    a particular port, PCP selection row and PCP value.
    
    Creation of an entry in this table is not allowed and only modification 
    is permitted"
     
    INDEX { snMspsDot1adPortNum, 
            snMspsDot1adPcpDecodingPcpSelRow, 
            snMspsDot1adPcpDecodingPcpValue
          }
    ::= { snMspsDot1adPcpDecodingTable 1 }
            
SnMspsDot1adPcpDecodingEntry ::=
    SEQUENCE {
        snMspsDot1adPcpDecodingPcpSelRow           PriorityCodePoint,
        snMspsDot1adPcpDecodingPcpValue            INTEGER,
        snMspsDot1adPcpDecodingPriority            INTEGER,
        snMspsDot1adPcpDecodingDropEligible        TruthValue
    }

snMspsDot1adPcpDecodingPcpSelRow OBJECT-TYPE
    SYNTAX      PriorityCodePoint
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The PCP selection row in the decoding table for which the priority and
        drop eligible parameters are to be mapped for a given PCP value."
        
    ::= { snMspsDot1adPcpDecodingEntry 1 }

snMspsDot1adPcpDecodingPcpValue OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The PCP value in the decoding table for which the priority and 
        drop eligible parameters are to be derived."
        
    ::= { snMspsDot1adPcpDecodingEntry 2 }

snMspsDot1adPcpDecodingPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Priority associated with the particular PCP and PCP selection row in
         the PCP decoding table.This is the priority decoded for the PCP associated
         with the received frame. The frame will further be processed with this
         priority value."
        
    ::= { snMspsDot1adPcpDecodingEntry 3 }

snMspsDot1adPcpDecodingDropEligible OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The drop_eligible value associated with the particular PCP and PCP 
         selection row in the PCP decoding table. When this is set to True,
         frames should be discarded in preference to other frames with drop_eligible 
         False."

    ::= { snMspsDot1adPcpDecodingEntry 4 }

-- ----------------------------------------------------------------
-- PCP encoding table (Priority Code Point encoding table)
-- (Ref. IEEE802.1ad/D6 - section 12.6.2.10 and 12.6.2.11)
-- ----------------------------------------------------------------
snMspsDot1adPcpEncodingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPcpEncodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "The priority and drop_eligible parameters are encoded in the Priority Code
    Point field of the VLAN tag using the Priority Code Point encoding table
    for the port. For each port, PCP encoding table has 16 entries, corresponding
    to each of the possible combinations of the eight possible values of priority 
    and two possible values of drop_eligible."
    ::= { snMspsDot1adProviderBridge 7 }
    
snMspsDot1adPcpEncodingEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPcpEncodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "The table entry contains the PCP value for a particular port,PCP selection 
    row, priority and drop_eligible value.
    
    Creation of an entry in this table is not allowed and only modification
    is permitted."

    INDEX {snMspsDot1adPortNum, 
           snMspsDot1adPcpEncodingPcpSelRow, 
           snMspsDot1adPcpEncodingPriority, 
           snMspsDot1adPcpEncodingDropEligible
          }
    ::= { snMspsDot1adPcpEncodingTable 1 }
            
SnMspsDot1adPcpEncodingEntry ::=
    SEQUENCE {
        snMspsDot1adPcpEncodingPcpSelRow           PriorityCodePoint,
        snMspsDot1adPcpEncodingPriority            INTEGER,
        snMspsDot1adPcpEncodingDropEligible        TruthValue,
        snMspsDot1adPcpEncodingPcpValue            INTEGER
    }

snMspsDot1adPcpEncodingPcpSelRow OBJECT-TYPE
    SYNTAX      PriorityCodePoint
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The PCP selection row in the encoding table for which the the PCP value
        to be mapped for a particular priority and drop_eligible combination."
        
    ::= { snMspsDot1adPcpEncodingEntry 1 }

snMspsDot1adPcpEncodingPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The priority associated with a particular PCP selection row.
         Priority and drop_eligible combination for a particular port will
         be mapped to a PCP valule."
        
    ::= { snMspsDot1adPcpEncodingEntry 2 }

snMspsDot1adPcpEncodingDropEligible OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The drop_eligible parameter associated with a particular priority 
        and PCP selection row in the PCP encoding table."
        
    ::= { snMspsDot1adPcpEncodingEntry 3 }

snMspsDot1adPcpEncodingPcpValue OBJECT-TYPE
    SYNTAX      INTEGER (0..7) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The PCP value associated with the particular priority and drop_eligible
        combination of the PCP selection row in PCP encoding table. This will be
        encoded in the transmitted frames."

    ::= { snMspsDot1adPcpEncodingEntry 4 }
            


--Proprietary MIB implementation for the Provider Bridging functionality

snMspsDot1adPbContextInfoTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF SnMspsDot1adPbContextInfoEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "List of Provider Bridge related objects that can be configured
      per Virtual Context in the system."
   ::= { snMspsDot1adPbSystem 1 }

snMspsDot1adPbContextInfoEntry OBJECT-TYPE
   SYNTAX        SnMspsDot1adPbContextInfoEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Virtual Context based Provider Bridge objects."
   INDEX { snMspsDot1adPbContextId }
   ::= { snMspsDot1adPbContextInfoTable 1 }

SnMspsDot1adPbContextInfoEntry ::=
    SEQUENCE {
        snMspsDot1adPbContextId
           Integer32,
        snMspsDot1adPbMulticastMacLimit
           Unsigned32,
        snMspsDot1adPbTunnelStpAddress
           MacAddress,
        snMspsDot1adPbTunnelLacpAddress
           MacAddress,
        snMspsDot1adPbTunnelDot1xAddress
           MacAddress,
        snMspsDot1adPbTunnelGvrpAddress
           MacAddress,
        snMspsDot1adPbTunnelGmrpAddress
           MacAddress
}

snMspsDot1adPbContextId OBJECT-TYPE
   SYNTAX       Integer32 (0..65535)
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
      "Identifies a Virtual Context."
   ::= { snMspsDot1adPbContextInfoEntry 1 }
   
snMspsDot1adPbMulticastMacLimit OBJECT-TYPE
   SYNTAX      Unsigned32 (0..4294967295)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Multicast MAC table size of the device. The size SET for
      this object is applicable only for the Virtual Context identified
      by the Virtual Context Id in this entry.The upper limit value 
      that can be SET for this object is limited by the underlying
      hardware. While on initialisation this object hold the maximum
      size of the Multicast MAC table of the device."
      ::= { snMspsDot1adPbContextInfoEntry 2 }

snMspsDot1adPbTunnelStpAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "The MAC address SET for this object is applicable only for the 
        Virtual Context identified by the Virtual Context Id in this entry.

        The MAC address to be used for Customer STP BPDUs tunneling inside
        Provider Network.
        When tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the customer BPDUs received
        on a port where STP tunneling is enabled and the outgoing port is a
        proprietary PNP.
        
        Inside Provider Network, the BPDUs received with this MAC address
        will be treated as data packets and not processed.
        
        When the BPDU is sent out of the Provider Network, this MAC address
        will be replaced with the reserved address defined for Customer STP
        BPDUs.
        This configuration is allowed only for Provider Core or 
        Edge Bridges."

        ::= { snMspsDot1adPbContextInfoEntry 3 }

snMspsDot1adPbTunnelLacpAddress OBJECT-TYPE
    SYNTAX      MacAddress 
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "The MAC address SET for this object is applicable only for the 
        Virtual Context identified by the Virtual Context Id in this entry.

        The MAC address to be used for LACP packets tunneling inside Provider
        Network. When tunneling is enabled on a port, this MAC address will be
        used as the the destination MAC address of the customer LACP packets
        received over this port.
        
        Inside Provider Network, LACP packets received with this MAC address 
        will be treated as data packets and not processed.
        
        When the tunneled LACP packets are sent out of the Provider Network, 
        this MAC address will be replaced with the reserved address defined 
        for LACP packets.

        This configuration is allowed only for Provider Core or 
        Edge Bridges."
        
        ::= { snMspsDot1adPbContextInfoEntry 4 }

snMspsDot1adPbTunnelDot1xAddress OBJECT-TYPE
    SYNTAX      MacAddress 
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "The MAC address SET for this object is applicable only for the 
        Virtual Context identified by the Virtual Context Id in this entry.

        The MAC address to be used for Dot1x packets tunneling inside Provider 
        Network. When tunneling is enabled on a port, this MAC address will be 
        used as the the destination MAC address of the customer Dot1x packets 
        received over this port. 
        
        Inside Provider Network, Dot1x packets received with this MAC address 
        will be treated as data packets and not processed.
        
        When the tunneled Dot1x packets are sent out of the Provider Network, 
        this MAC address will be replaced with the reserved address defined 
        for Dot1x packets.

        This configuration is allowed only for Provider Core or 
        Edge Bridges."
        
    ::= { snMspsDot1adPbContextInfoEntry 5 }

snMspsDot1adPbTunnelGvrpAddress OBJECT-TYPE
    SYNTAX      MacAddress 
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "The MAC address SET for this object is applicable only for the 
        Virtual Context identified by the Virtual Context Id in this entry.

        The MAC address to be used for GVRP PDUs tunneling inside Provider 
        Network. When tunneling is enabled on a port, this MAC address will be 
        used as the the destination MAC address of the customer GVRP PDUs 
        received on a port where GVRP tunneling is enable and the outgoing 
        port is a proprietary PNP.
        
        Inside Provider Network, GVRP PDUs received with this MAC address 
        will be treated as data packets and not processed.
        
        When the tunneled GVRP PDUs are sent out of the Provider Network, 
        this MAC address will be replaced with the reserved address defined 
        for GVRP PDUs.

        This configuration is allowed only for Provider Core or 
        Edge Bridges."
        
    ::= { snMspsDot1adPbContextInfoEntry 6 }

snMspsDot1adPbTunnelGmrpAddress OBJECT-TYPE
    SYNTAX      MacAddress 
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "The MAC address SET for this object is applicable only for the 
        Virtual Context identified by the Virtual Context Id in this entry.

        The MAC address to be used for GMRP PDUs tunneling inside Provider 
        Network. When tunneling is enabled on a port, this MAC address will be 
        used as the the destination MAC address of the customer GMRP PDUs 
        received over this port. 
        
        Inside Provider Network, GMRP PDUs received with this MAC address 
        will be treated as data packets and not processed.
        
        When the tunneled GMRP PDUs are sent out of the Provider Network, 
        this MAC address will be replaced with the reserved address defined 
        for GMRP PDUs.

        This configuration is allowed only for Provider Core or 
        Edge Bridges."
        
    ::= { snMspsDot1adPbContextInfoEntry 7 }


-- -------------------------------------------------------------
-- The Provider Bridge Port Type Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbPortInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbPortInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing provider bridge releated 
        configurations for the externally accessible ports.
   
        All the objects in this table are applicable 
        only when the Bridge Mode is set as ProviderBridge or 
        ProviderCoreBridge or ProviderEdgeBridge."
    ::= { snMspsDot1adPbConfig 1 }
    
snMspsDot1adPbPortInfoEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbPortInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry in this table specifies the Provider Bridge related
         port configurations. This table is indexed by ifIndex. "

    INDEX { snMspsDot1adPbPort }
            ::= { snMspsDot1adPbPortInfoTable 1 }
            
SnMspsDot1adPbPortInfoEntry ::=
    SEQUENCE {
                snMspsDot1adPbPort                          Integer32,
                snMspsDot1adPbPortSVlanClassificationMethod INTEGER,
                snMspsDot1adPbPortSVlanIngressEtherType     Integer32,
                snMspsDot1adPbPortSVlanEgressEtherType      Integer32,
                snMspsDot1adPbPortSVlanEtherTypeSwapStatus  EnabledStatus,
                snMspsDot1adPbPortSVlanTranslationStatus    EnabledStatus,
                snMspsDot1adPbPortUnicastMacLearning        EnabledStatus,
                snMspsDot1adPbPortUnicastMacLimit           Unsigned32
    }
    
snMspsDot1adPbPort OBJECT-TYPE
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The Index value of the port in the system for which this entry
      applies. The maximum index value of the port is defined by the
      system."
   ::= { snMspsDot1adPbPortInfoEntry 1 }


snMspsDot1adPbPortSVlanClassificationMethod OBJECT-TYPE
   SYNTAX      INTEGER {
                        sourceMac (1),
                        destinationMac (2),
                        cvlanSrcMac (3),
                        cvlanDstMac (4),
                        dscp (5),
                        cvlanDscp (6),
                        sourceIp (7),
                        destinationIp (8),
                        srcIpDstIp (9),
                        cvlanDstIp (10),
                        cvlan (11),
                        pvid (12)
    }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
    "This object indicates the type of SVLAN classification that has to be used
     for a given type of port.

     providerNetworkPort / customerNetworkPort  -  Port's 'pvid' will be the
     SVLAN classification for the untagged packets received over this interface.

     customerEdgePort - The SVLAN classification mechanism is always based on
     'cvlan' (i.e CVidRegistrationTable ).No other SVLAN classification mechanism is
     allowed for this port type.

     propCustomerNetworkPort / propCustomerEdgePort  - 'pvid' will be
     default SVLAN classification mechanism for this port. But the user is free to
     configure any other SVLAN classification mechanism except the
     CVidRegistrationTable (ie cvlan mechanism)

     For proprietary CEP and proprietary CNP ports,the SVLAN classification
     is based on one of the configured SVLAN classification methods mentioned
     here. If it is not configured, by default the port's 'PVID' is considered
     as the SVLAN for untagged packets."

   ::= { snMspsDot1adPbPortInfoEntry 2 }
 
snMspsDot1adPbPortSVlanIngressEtherType OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION

    " This object indicates the S-VLAN tag ether type used for the packets 
    received on this port.Packets received on a port are considered tagged,
    when the packet ethertype matches with the port ether type configured.
    Otherwise, they will be considered untagged.

    By default, on all the ports, 0x88a8 will be configured as the ether type.
    On Proprietary Provider Network Ports 0x8100 will be configured as the 
    ingress ethertype."

    DEFVAL { 34984 }
    ::= { snMspsDot1adPbPortInfoEntry 3 }

snMspsDot1adPbPortSVlanEgressEtherType OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    " This object indicates the ether type of the S-VLAN tag that has to
    be applied for all the outgoing packets on this port. If a valid value is
    in this object, all the packets which are outgoing on this port will
    contain the ether type as configured in this object. By Default 0x88a8
    will be used for packets transmitted  with S-VLAN on the ports.
    On Proprietary Provider Network Ports and Customer Edge Ports, 0x8100
    will be used as the ether type for the outgoing packets."

    DEFVAL { 34984 }
    ::= { snMspsDot1adPbPortInfoEntry 4}

snMspsDot1adPbPortSVlanEtherTypeSwapStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    " This object indicates whether the Ether Type Swapping can be
    applied on the S-VLAN tagged packets over this port.
    The Ether type swapping will only be applied on S-VLAN tag of a packet.
    This configuration is applicable for all values of Port Type other 
    than customer edge ports."
    DEFVAL { disabled }
    ::= { snMspsDot1adPbPortInfoEntry 5 }

snMspsDot1adPbPortSVlanTranslationStatus OBJECT-TYPE
    SYNTAX      EnabledStatus 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    " This object indicates whether the VID Translation table can be 
    enabled on the incoming/outgoing packets on a particular port.
    The Service Vlan swapping is applicable only for the externally 
    accesible network ports (ie) Provider Network Port ,Customer Network port
    and proprietary Customer Network Port. The Service Vlan Translation status
    can be enabled or disabled on per port basis. By default, it is enabled on
    Provider Network Port and Customer Network Port(S-Tagged) and disabled on
    the other applicable port-types."
    ::= { snMspsDot1adPbPortInfoEntry 6 }

snMspsDot1adPbPortUnicastMacLearning OBJECT-TYPE 
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "A Truth value indicating the unicast MAC learning enabled/disabled
       status for this port. When Unicast Mac Learning is disabled, No
       Entry will be learned from the point of configuration on this port.
       When Mac Learning is enabled, Entries will be learned on this port."
   DEFVAL   { enabled } 
   ::= { snMspsDot1adPbPortInfoEntry 7 } 

snMspsDot1adPbPortUnicastMacLimit OBJECT-TYPE
   SYNTAX      Unsigned32 (0..4294967295)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Limiting value on the number of distinct unicast destination MAC
       addresses that can be dynamically learnt over this interface.
       The lower limit and upper limit value that can be SET for this object
       is determined by the underlying hardware. This Limit is applicable for
       only dynamically learned entries and NOT for static unicast entries"
   ::= { snMspsDot1adPbPortInfoEntry 8 }
   
-- -------------------------------------------------------------
-- The S-VLAN Port , SourceMAC based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbSrcMacSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbSrcMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per SourceMAC based Service VLAN
        classification information in the device. Entries can be configured
        into this table only when the bridge is configured as a
        Provider Bridge and the Port Type for this port is SET
        as  Proprietary Customer Edge Port / Proprietary Customer Network Port."
    ::= { snMspsDot1adPbConfig 2 }

snMspsDot1adPbSrcMacSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbSrcMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this
        specified port for an ingress frame with the specified Source
        MAC address in the ethernet header of the frame."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbSrcMacAddress }
            ::= { snMspsDot1adPbSrcMacSVlanTable 1 }

SnMspsDot1adPbSrcMacSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbSrcMacAddress            MacAddress,
        snMspsDot1adPbSrcMacSVlan              VlanId,
        snMspsDot1adPbSrcMacRowStatus          RowStatus
    }

snMspsDot1adPbSrcMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Source MAC address present in the ethernet header of the
        frame received on this port for which Service VLAN is assigned
        based on this entry."
    ::= { snMspsDot1adPbSrcMacSVlanEntry 1 }

snMspsDot1adPbSrcMacSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames received on this port when
        the Source MAC address in the ethernet header of the frame is same
        as specified in this entry."
    ::= { snMspsDot1adPbSrcMacSVlanEntry 2 }
    
snMspsDot1adPbSrcMacRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
    ::= { snMspsDot1adPbSrcMacSVlanEntry 3 }
    
-- -------------------------------------------------------------
-- The S-VLAN Port , DestinationMAC based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbDstMacSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbDstMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per Destination MAC based Service
        VLAN classification information in the device. Entries can be 
        configured into this table only when the bridge is configured 
        as a Provider Bridge. An entry in this table is possible only when the
        'Port Type' for this port is SET as Proprietary Customer Network Port
        or Proprietary Customer Edge Port."
    ::= { snMspsDot1adPbConfig 3 }

snMspsDot1adPbDstMacSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbDstMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this
        specified port for an ingress frame with the
        specified Destination MAC address in the ethernet header of the frame."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbDstMacAddress }
            ::= { snMspsDot1adPbDstMacSVlanTable 1 }

SnMspsDot1adPbDstMacSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbDstMacAddress            MacAddress,
        snMspsDot1adPbDstMacSVlan              VlanId,
        snMspsDot1adPbDstMacRowStatus          RowStatus
    }

snMspsDot1adPbDstMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Destination MAC address present in the ethernet header of the
        frame received on this port for which Service VLAN is assigned
        based on this entry."
    ::= { snMspsDot1adPbDstMacSVlanEntry 1 }

    
snMspsDot1adPbDstMacSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames received on this port when
        the Destination MAC address in the ethernet header of the frame is
        same as specified in this entry."
    ::= { snMspsDot1adPbDstMacSVlanEntry 2 }
    
snMspsDot1adPbDstMacRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."
    ::= { snMspsDot1adPbDstMacSVlanEntry 3 }
   
-- -------------------------------------------------------------
-- The S-VLAN Port , C-VLAN, Source MAC based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbCVlanSrcMacSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbCVlanSrcMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per Port, per Customer VLAN ID,
        per Source MAC based S-VLAN classification information in the device.
        Entries can be configured into this table only when the  bridge is
        configured as a Provider Bridge. An entry in this table is
        possible only when the 'PortType' for this port is SET as 
        Proprietary Customer Edge Port / Proprietary Customer Network Port."
    ::= { snMspsDot1adPbConfig 4 }

snMspsDot1adPbCVlanSrcMacSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbCVlanSrcMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this specified
        port for an ingress frame with the classified Customer VLAN ID and
        with the specified Source MAC address in the ethernet header of the frame.
        
        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbCVlanSrcMacCVlan, snMspsDot1adPbCVlanSrcMacAddr }
            ::= { snMspsDot1adPbCVlanSrcMacSVlanTable 1 }

SnMspsDot1adPbCVlanSrcMacSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbCVlanSrcMacCVlan         VlanId,
        snMspsDot1adPbCVlanSrcMacAddr          MacAddress,
        snMspsDot1adPbCVlanSrcMacSVlan         VlanId,
        snMspsDot1adPbCVlanSrcMacRowStatus     RowStatus
    }

snMspsDot1adPbCVlanSrcMacCVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Customer VLAN ID in the Customer VLAN tag of an ingress frame
        at this specified port OR the Customer VLAN ID for which the ingress
        frame is classified to this specified port."
    ::= { snMspsDot1adPbCVlanSrcMacSVlanEntry 1 }
    
snMspsDot1adPbCVlanSrcMacAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Source MAC address in the ethernet header of the
        frame received on this port."
    ::= { snMspsDot1adPbCVlanSrcMacSVlanEntry 2 }
    
snMspsDot1adPbCVlanSrcMacSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN assigned to frames received on this port,
        When the Classified Customer VLAN ID is same as specified in 
        this entry and  When the Source MAC address in the ethernet header
        of the frame is same as specified in this entry.
     
        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    ::= { snMspsDot1adPbCVlanSrcMacSVlanEntry 3 }
    
 snMspsDot1adPbCVlanSrcMacRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbCVlanSrcMacSVlanEntry 4 }
    
 -- -------------------------------------------------------------
-- The S-VLAN Port , C-VLAN, Destination MAC based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbCVlanDstMacSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbCVlanDstMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per Port, per Customer VLAN ID,
        per Destination MAC based S-VLAN classification information in the
        device. Entries can be configured into this table only when the 
        bridge is configured as a Provider Bridge. An entry in this table
        is possible only when the 'Port Type' for this port is SET
        as Proprietary Customer Edge Port / Proprietary Customer Network Port."

    ::= { snMspsDot1adPbConfig 5 }

snMspsDot1adPbCVlanDstMacSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbCVlanDstMacSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this specified
        port for an ingress frame with the classified Customer VLAN ID and
        with the specified Destination MAC address in the ethernet header of 
        the frame.

        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbCVlanDstMacCVlan, snMspsDot1adPbCVlanDstMacAddr }
            ::= { snMspsDot1adPbCVlanDstMacSVlanTable 1 }

SnMspsDot1adPbCVlanDstMacSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbCVlanDstMacCVlan         VlanId,
        snMspsDot1adPbCVlanDstMacAddr          MacAddress,
        snMspsDot1adPbCVlanDstMacSVlan         VlanId,
        snMspsDot1adPbCVlanDstMacRowStatus     RowStatus
    }

snMspsDot1adPbCVlanDstMacCVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Customer VLAN ID in the Customer VLAN tag of an ingress frame
        at this specified port or the Customer VLAN ID for which the ingress
        frame is classified for at this specified port."
    ::= { snMspsDot1adPbCVlanDstMacSVlanEntry 1 }
    
snMspsDot1adPbCVlanDstMacAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Destination MAC address in the ethernet header of the
        frame received on this port."
    ::= { snMspsDot1adPbCVlanDstMacSVlanEntry 2 }
    
snMspsDot1adPbCVlanDstMacSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN assigned to frames received on this port
        when the Classified Customer VLAN ID and when the Destination 
        MAC address in the ethernet header  of the frame is same as 
        specified in this entry.

        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    ::= { snMspsDot1adPbCVlanDstMacSVlanEntry 3 }
    
 snMspsDot1adPbCVlanDstMacRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbCVlanDstMacSVlanEntry 4 }
   
-- -------------------------------------------------------------
-- The S-VLAN Port , DSCP based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbDscpSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbDscpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per DiffServ Code Point (DSCP) value
        based Service VLAN classification information in the device.
        Entries can be configured into this table only when the bridge is 
        configured as a Provider Bridge and the 'PortType' for
        this port is SET as Proprietary Customer Network Port or 
        Proprietary Customer Edge Port."

    ::= { snMspsDot1adPbConfig 6 }

snMspsDot1adPbDscpSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbDscpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this 
        specified port for an ingress IP frame with the DSCP value as
        specified in this entry."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbDscp }
            ::= { snMspsDot1adPbDscpSVlanTable 1 }

SnMspsDot1adPbDscpSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbDscp             Integer32,
        snMspsDot1adPbDscpSVlan        VlanId,
        snMspsDot1adPbDscpRowStatus    RowStatus
    }

snMspsDot1adPbDscp OBJECT-TYPE
    SYNTAX      Integer32 (0..63)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The DSCP value in the IP header of the frame received on
        this port for which Service VLAN is assigned based on this entry."
    ::= { snMspsDot1adPbDscpSVlanEntry 1 }

    
snMspsDot1adPbDscpSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to IP frames received on this port
        when the DSCP value in the IP header of the frame is same as
        specified in this entry."
    ::= { snMspsDot1adPbDscpSVlanEntry 2 }
    
snMspsDot1adPbDscpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbDscpSVlanEntry 3 }
    
-- -------------------------------------------------------------
-- The S-VLAN Port ,C-VLAN and DSCP based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbCVlanDscpSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbCVlanDscpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per Customer VLAN ID, per DiffServ Code
        Point (DSCP) value based Service VLAN classification information in
        the device. Entries can be configured into this table only when the
        bridge is configured as a Provider Bridge and the 'PortType' for 
        this port is SET as Proprietary Customer Edge Port / Proprietary Customer 
        Network Port."

    ::= { snMspsDot1adPbConfig 7 }

snMspsDot1adPbCVlanDscpSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbCVlanDscpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this 
        specified port for an ingress IP frame with the classified 
        Customer VLAN ID as specified in this entry and the DSCP value 
        in the frame as specified in this entry.

        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbCVlanDscpCVlan, snMspsDot1adPbCVlanDscp }
            ::= { snMspsDot1adPbCVlanDscpSVlanTable 1 }

SnMspsDot1adPbCVlanDscpSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbCVlanDscpCVlan          VlanId, 
        snMspsDot1adPbCVlanDscp               Integer32,
        snMspsDot1adPbCVlanDscpSVlan          VlanId,
        snMspsDot1adPbCVlanDscpRowStatus      RowStatus
    }
    
snMspsDot1adPbCVlanDscpCVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Customer VLAN ID in the Customer VLAN tag of an ingress frame
        at this specified port or the Customer VLAN ID for which the ingress
        frame is classified for at this specified port."
    ::= { snMspsDot1adPbCVlanDscpSVlanEntry 1 }

snMspsDot1adPbCVlanDscp OBJECT-TYPE
    SYNTAX      Integer32 (0..63)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The DSCP value in the IP header of the frame received on
        this port."
    ::= { snMspsDot1adPbCVlanDscpSVlanEntry 2 }

    
snMspsDot1adPbCVlanDscpSVlan OBJECT-TYPE
    SYNTAX      VlanId 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames received on this port,
        when the classified Customer VLAN ID is the same as specified in 
        this entry and when the DSCP value in the IP header of the frame
        is same as specified in this entry.
 
        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    ::= { snMspsDot1adPbCVlanDscpSVlanEntry 3 }
    
snMspsDot1adPbCVlanDscpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbCVlanDscpSVlanEntry 4 }
    
-- -------------------------------------------------------------
-- The S-VLAN Port ,Source IP Address based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbSrcIpAddrSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbSrcIpAddrSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per Source IP Address, based Service VLAN
        classification information in the device. Entries can be configured
        into this table only when the bridge is configured as a Provider
        Bridge and the 'PortType' for this port is SET as
        Proprietary Customer Network Port or Proprietary Customer Edge Port."
    ::= { snMspsDot1adPbConfig 8 }

snMspsDot1adPbSrcIpAddrSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbSrcIpAddrSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this 
        specified port for an ingress IP frame with the Source IP Address
        in the IP header of the frame as specified in this entry."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbSrcIpAddr }
    ::= { snMspsDot1adPbSrcIpAddrSVlanTable 1 }

SnMspsDot1adPbSrcIpAddrSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbSrcIpAddr            IpAddress,
        snMspsDot1adPbSrcIpSVlan           VlanId,
        snMspsDot1adPbSrcIpRowStatus       RowStatus
    }
    
snMspsDot1adPbSrcIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Source IP Address in the IP header of an ingress
        IP frame at this specified port."
    ::= { snMspsDot1adPbSrcIpAddrSVlanEntry 1 }

snMspsDot1adPbSrcIpSVlan OBJECT-TYPE
    SYNTAX      VlanId 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames ingress at this port
        when the Source IP address in the IP header of the frame is 
        same as specified in this entry."
    ::= { snMspsDot1adPbSrcIpAddrSVlanEntry 2 }
    
snMspsDot1adPbSrcIpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbSrcIpAddrSVlanEntry 3 }
    
 -- -------------------------------------------------------------
-- The S-VLAN Port ,Destination IP Address based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbDstIpAddrSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbDstIpAddrSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per Destination IP Address, based
        Service VLAN classification information in the device. Entries can
        be configured into this table only when the bridge is configured as 
        a Provider Bridge and the 'PortType' for this port is SET
        as Proprietary Customer Network Port or Proprietary Customer Edge Port."
    ::= { snMspsDot1adPbConfig 9 }

snMspsDot1adPbDstIpAddrSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbDstIpAddrSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this 
        specified port for an ingress IP frame with the Destination IP
        Address in the IP header of the frame as specified in this entry."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbDstIpAddr }
    ::= { snMspsDot1adPbDstIpAddrSVlanTable 1 }

SnMspsDot1adPbDstIpAddrSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbDstIpAddr            IpAddress,
        snMspsDot1adPbDstIpSVlan           VlanId,
        snMspsDot1adPbDstIpRowStatus       RowStatus
    }
    
snMspsDot1adPbDstIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Destination IP Address in the IP header of an ingress
        IP frame at this specified port."
    ::= { snMspsDot1adPbDstIpAddrSVlanEntry 1 }

snMspsDot1adPbDstIpSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames ingress at this port
        when the Destination IP address in the IP header of the frame is 
        same as specified in this entry."
    ::= { snMspsDot1adPbDstIpAddrSVlanEntry 2 }
    
snMspsDot1adPbDstIpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."
    ::= { snMspsDot1adPbDstIpAddrSVlanEntry 3 }
   
-- -------------------------------------------------------------
-- The S-VLAN Port ,SourceIP Address, DestinationIP Address  based
-- Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbSrcDstIpSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbSrcDstIpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per Source IP Address, per Destination
        IP Address based Service VLAN  classification information in the
        device. Entries can be configured into this table only when the bridge
        is configured as a Provider Bridge and the'PortType' for
        this port is SET as Proprietary Customer Network Port or Proprietary 
        Customer Edge Port."
    ::= { snMspsDot1adPbConfig  10}

snMspsDot1adPbSrcDstIpSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbSrcDstIpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this 
        specified port for an ingress IP frame with the Source and Destination
        IP Address in the IP header of the frame as specified in this entry."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbSrcDstSrcIpAddr, snMspsDot1adPbSrcDstDstIpAddr }
    ::= { snMspsDot1adPbSrcDstIpSVlanTable 1 }

SnMspsDot1adPbSrcDstIpSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbSrcDstSrcIpAddr            IpAddress,
        snMspsDot1adPbSrcDstDstIpAddr            IpAddress,
        snMspsDot1adPbSrcDstIpSVlan              VlanId,
        snMspsDot1adPbSrcDstIpRowStatus          RowStatus
    }
    
snMspsDot1adPbSrcDstSrcIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Source IP Address in the IP header of an ingress
        IP frame at this specified port."
    ::= { snMspsDot1adPbSrcDstIpSVlanEntry 1 }
    
snMspsDot1adPbSrcDstDstIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Destination IP Address in the IP header of an ingress
        IP frame at this specified port."
    ::= { snMspsDot1adPbSrcDstIpSVlanEntry 2 }


snMspsDot1adPbSrcDstIpSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames ingress at this port
        when the Source and Destination IP address in the IP header of 
        the frame are same as specified in this entry."
    ::= { snMspsDot1adPbSrcDstIpSVlanEntry 3 }
    
snMspsDot1adPbSrcDstIpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbSrcDstIpSVlanEntry 4 }
    
-- -------------------------------------------------------------
-- The S-VLAN Port ,Customer VLAN ID, Destination IP Address based
-- Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbCVlanDstIpSVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbCVlanDstIpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing per port, per Customer VLAN ID, per Destination
        IP Address, based Service VLAN classification information in the 
        device. Entries can be configured into this table only when the bridge
        is configured as Provider Bridge or Provider Edge Bridge and the 
        Port Type for this port is SET as Proprietary Customer Edge Port 
        / Proprietary Customer Network Port."
    ::= { snMspsDot1adPbConfig 11 }

snMspsDot1adPbCVlanDstIpSVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbCVlanDstIpSVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling Service VLAN classification at this specified
        port for an ingress IP frame with the classified Customer VLAN ID as 
        specified in this entry and the Destination IP Address in the IP header 
        of the frame as specified in this entry.

        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbCVlanDstIpCVlan, snMspsDot1adPbCVlanDstIp }
    ::= { snMspsDot1adPbCVlanDstIpSVlanTable 1 }

SnMspsDot1adPbCVlanDstIpSVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbCVlanDstIpCVlan          VlanId,
        snMspsDot1adPbCVlanDstIp               IpAddress,
        snMspsDot1adPbCVlanDstIpSVlan          VlanId,
        snMspsDot1adPbCVlanDstIpRowStatus      RowStatus
    }
    
snMspsDot1adPbCVlanDstIpCVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Customer VLAN ID in the Customer VLAN tag of an ingress frame
        at this specified port or the Customer VLAN ID for which the ingress
        frame is classified for at this specified port."
    ::= { snMspsDot1adPbCVlanDstIpSVlanEntry 1 }
    
snMspsDot1adPbCVlanDstIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Destination IP Address in the IP header of an ingress
        IP frame at this specified port."
    ::= { snMspsDot1adPbCVlanDstIpSVlanEntry 2 }

snMspsDot1adPbCVlanDstIpSVlan OBJECT-TYPE
    SYNTAX      VlanId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Service VLAN ID assigned to frames ingress at this port
        when the classified Customer VLAN ID is same as specified in this entry 
        and the Destination IP address in the IP header of the frame is same 
        as specified in this entry.

        Classification of Customer VLAN ID may be from the Customer VLAN tag
        in the received frame OR based on Port CVLAN table."
    ::= { snMspsDot1adPbCVlanDstIpSVlanEntry 3 }
    
snMspsDot1adPbCVlanDstIpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        deleted when this object is SET 'destroy'."

    ::= { snMspsDot1adPbCVlanDstIpSVlanEntry 4 }
    
-- -------------------------------------------------------------
-- The C-VLAN Port based Configuration Table
-- -------------------------------------------------------------

snMspsDot1adPbPortBasedCVlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbPortBasedCVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing Customer Edge Port / Proprietary Customer Edge Port / 
         Proprietary Customer Network Port mapping to Customer VLAN on a
         providerBridge. This table is used for a classifying a untagged frame 
         received on above mentioned customer ports."
    ::= { snMspsDot1adPbConfig 12 }
    
snMspsDot1adPbPortBasedCVlanEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbPortBasedCVlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An Entry in this table will be created whenever a port is configured as
        Customer Edge Port / Proprietary Customer Edge Port / Proprietary Customer
        Network Port.This Entry will be used on the ingress frame on the specified
        ports based on enabled status for classifying the frame to CVLAN. Also 
        the Entry will be deleted in this table, when the port type is modified 
        anything other than the specified one."
    INDEX { snMspsDot1adPbPort }
    ::= { snMspsDot1adPbPortBasedCVlanTable 1 }
            
SnMspsDot1adPbPortBasedCVlanEntry ::=
    SEQUENCE {
        snMspsDot1adPbPortCVlan                   VlanId,
        snMspsDot1adPbPortCVlanClassifyStatus     EnabledStatus 
    }
    
snMspsDot1adPbPortCVlan OBJECT-TYPE
   SYNTAX      VlanId
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The Customer VLAN ID assigned to untagged frames ingress at this
        specified Customer Edge Port / Proprietary Customer Edge Port /
        Proprietary Customer Network Port."
    ::= { snMspsDot1adPbPortBasedCVlanEntry 1 }

snMspsDot1adPbPortCVlanClassifyStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "This object indicate C-VLAN classification status on a port.
         This Object can be enabled/disabled only for PropCEP/PropCNP. For CEP, 
         this object cannot be disabled."
    DEFVAL { enabled }
    ::= { snMspsDot1adPbPortBasedCVlanEntry 2 }

-- -------------------------------------------------------------
-- EtherType SwappingTable 
-- -------------------------------------------------------------

snMspsDot1adPbEtherTypeSwapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbEtherTypeSwapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "A Table containing the Translation information of  the ethertype for a 
    Service VLAN in a given packet. This Table shall be used only at ingress 
    and NOT at egress of the Customer Network Port / Proprietary Customer Network 
    Port / Provider Network Port. 
    This translation table is applicable for only Service VLAN and not 
    for customer VLAN's."
    ::= { snMspsDot1adPbConfig 13 }
    
snMspsDot1adPbEtherTypeSwapEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbEtherTypeSwapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Entry containing the Local and Relay Ether type for a given packet on
    a particular port. This entry shall be applicable on all types of ports
    if and only if snMspsDot1adPbPortSVlanEtherTypeSwapStatus is Enabled on that Port."
    INDEX { snMspsDot1adPbPort, snMspsDot1adPbLocalEtherType}
    ::= { snMspsDot1adPbEtherTypeSwapTable 1 }
            
SnMspsDot1adPbEtherTypeSwapEntry ::=
    SEQUENCE {
        snMspsDot1adPbLocalEtherType             Integer32,
        snMspsDot1adPbRelayEtherType             Integer32,
        snMspsDot1adPbEtherTypeSwapRowStatus     RowStatus
    }
   
snMspsDot1adPbLocalEtherType OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
    "The Ether type present in the service vlan tag of the ingress packet at
    the given port."
    ::= { snMspsDot1adPbEtherTypeSwapEntry 1 }

snMspsDot1adPbRelayEtherType OBJECT-TYPE
    SYNTAX      Integer32 (1..65535) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The Relay Ether type mapped for the ether type present in the local
    service vlan tag of the ingress packet at the given port."
    ::= { snMspsDot1adPbEtherTypeSwapEntry 2 }

snMspsDot1adPbEtherTypeSwapRowStatus  OBJECT-TYPE
    SYNTAX      RowStatus 
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
    ::= { snMspsDot1adPbEtherTypeSwapEntry 3 }

-- ----------------------------------------------------------------
-- S-VLAN configuration table
-- ----------------------------------------------------------------
snMspsDot1adPbSVlanConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbSVlanConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "The table to configure the service type supported by an S-VLAN. Based 
     on the service type configured for the S-VLAN, the oper point-to-point  
     state of PEP ports will be determined.
     The service type SET for S-VLAN is applicable only for the S-VLAN in
     specified Virtual Context identified by the Virtual Context identifier
     in this entry."

    ::= { snMspsDot1adPbConfig 14 }
    
snMspsDot1adPbSVlanConfigEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbSVlanConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    " The service type can be configured for an S-VLAN only when the VLAN 
    is already created in the system."

    INDEX { snMspsDot1adPbContextId, dot1qVlanIndex }
    ::= { snMspsDot1adPbSVlanConfigTable 1 }
            
SnMspsDot1adPbSVlanConfigEntry ::=
    SEQUENCE {
        snMspsDot1adPbSVlanConfigServiceType          INTEGER
    }

snMspsDot1adPbSVlanConfigServiceType OBJECT-TYPE
    SYNTAX      INTEGER {
                    eLine (1),
                    eLan  (2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The object to specify the service type supported by the S-VLAN in the 
       Virtual Context. When it is set to 'eLine', the S-VLAN connects not more 
       than two customer interfaces. If the service type for a vlan is 'eLine', 
       then learning member ports through GVRP will not be allowed.
       
       Hence the oper point-to-point state of the PEPs connecting the S-VLAN can
       be set to True for specified Virtual Context.

       When it is set to 'eLan', the S-VLAN connects more than two customer
       interfaces.So the oper point-to-point state of the PEPs connecting the
       S-VLAN will be set to False for specified Virtual Context.
       
       In case of IVL, When the service type is set to E-Line for a VLAN, 
       the MAC learning status will be set to 'disabled'. When it is set  
       to E-LAN, MAC learning status will be enabled for that VLAN."

    ::= { snMspsDot1adPbSVlanConfigEntry 1 }

-- ----------------------------------------------------------------
-- Tunnel protocol configuration table
-- ----------------------------------------------------------------
snMspsDot1adPbTunnelProtocolTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1adPbTunnelProtocolEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION
      "This table contains information about the handling (Tunnel/Peer/
      Discard)of customer Layer 2 protocols (STP/GVRP/GMRP/LACP/Dot1x
      and IGMP) inside service provider network."
   ::= { snMspsDot1adPbConfig 15 }
 
snMspsDot1adPbTunnelProtocolEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1adPbTunnelProtocolEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION 
      "Entry indicating the handling (Tunnel/Peer/Discard) of Layer 2
      protocols (STP/GVRP/GMRP/LACP/Dot1x and IGMP) on this port.

      This table is supported only for Provider Core or Provider Edge 
      Bridges."
      
   INDEX { snMspsDot1adPbPort }
   ::= { snMspsDot1adPbTunnelProtocolTable 1 }
    
 SnMspsDot1adPbTunnelProtocolEntry ::=
 SEQUENCE {
    snMspsDot1adPbTunnelProtocolDot1x      TunnelStatus,
    snMspsDot1adPbTunnelProtocolLacp       TunnelStatus,
    snMspsDot1adPbTunnelProtocolStp        TunnelStatus,
    snMspsDot1adPbTunnelProtocolGvrp       TunnelStatus,
    snMspsDot1adPbTunnelProtocolGmrp       TunnelStatus,
    snMspsDot1adPbTunnelProtocolIgmp       TunnelStatus
 }

snMspsDot1adPbTunnelProtocolDot1x OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the Dot1x packets
            received on this port."
   ::= { snMspsDot1adPbTunnelProtocolEntry  1 }

snMspsDot1adPbTunnelProtocolLacp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the LACP packets
            received on this port."
   ::= { snMspsDot1adPbTunnelProtocolEntry 2 }

snMspsDot1adPbTunnelProtocolStp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the STP packets
            received on this port."
   ::= { snMspsDot1adPbTunnelProtocolEntry 3 }

snMspsDot1adPbTunnelProtocolGvrp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      deprecated 
   DESCRIPTION 
      "The object to specify whether to peer/tunnel/discard the GVRP packets
            received on this port."
   ::= { snMspsDot1adPbTunnelProtocolEntry 4 } 

snMspsDot1adPbTunnelProtocolGmrp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the GMRP packets
            received on this port."
   ::= { snMspsDot1adPbTunnelProtocolEntry 5 }

snMspsDot1adPbTunnelProtocolIgmp OBJECT-TYPE
   SYNTAX      TunnelStatus
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
      "The object to specify whether to peer/tunnel/discard the IGMP packets
            received on this port."
   ::= { snMspsDot1adPbTunnelProtocolEntry 6 }

-- ----------------------------------------------------------------
-- Tunnel protocol statistics table
-- ----------------------------------------------------------------
snMspsDot1adPbTunnelProtocolStatsTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SnMspsDot1adPbTunnelProtocolStatsEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION
      "This table contains statistics information about the tunneled 
       Layer 2 protocols (STP/GVRP/GMRP/LACP/Dot1x and IGMP) received 
       and transmitted over a port."
   ::= { snMspsDot1adPbConfig 16 }
 
snMspsDot1adPbTunnelProtocolStatsEntry OBJECT-TYPE
   SYNTAX      SnMspsDot1adPbTunnelProtocolStatsEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION 
      "Entry indicating the handling (Tunnel/Peer/Discard) of Layer 2
      protocols (STP/GVRP/GMRP/LACP/Dot1x and IGMP) on this port.

      This table is supported only for Provider Core or Provider Edge 
      Bridges."

   INDEX { snMspsDot1adPbPort }
   ::= { snMspsDot1adPbTunnelProtocolStatsTable 1 }
    
SnMspsDot1adPbTunnelProtocolStatsEntry ::=
 SEQUENCE {
      snMspsDot1adPbTunnelProtocolDot1xPktsRecvd Counter32,
      snMspsDot1adPbTunnelProtocolDot1xPktsSent  Counter32,
      snMspsDot1adPbTunnelProtocolLacpPktsRecvd  Counter32,
      snMspsDot1adPbTunnelProtocolLacpPktsSent   Counter32,
      snMspsDot1adPbTunnelProtocolStpPDUsRecvd   Counter32,
      snMspsDot1adPbTunnelProtocolStpPDUsSent    Counter32,
      snMspsDot1adPbTunnelProtocolGvrpPDUsRecvd  Counter32,
      snMspsDot1adPbTunnelProtocolGvrpPDUsSent   Counter32,
      snMspsDot1adPbTunnelProtocolGmrpPktsRecvd  Counter32,
      snMspsDot1adPbTunnelProtocolGmrpPktsSent   Counter32,
      snMspsDot1adPbTunnelProtocolIgmpPktsRecvd  Counter32,
      snMspsDot1adPbTunnelProtocolIgmpPktsSent   Counter32
   }

snMspsDot1adPbTunnelProtocolDot1xPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
      "The number of tunneled Dot1x Packets received."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 1 }

snMspsDot1adPbTunnelProtocolDot1xPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled Dot1x Packets transmitted."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 2 }

snMspsDot1adPbTunnelProtocolLacpPktsRecvd OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled LACP Packets received."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 3 } 

snMspsDot1adPbTunnelProtocolLacpPktsSent OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled LACP packets transmitted."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 4 } 

snMspsDot1adPbTunnelProtocolStpPDUsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled STP PDUs received."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 5 } 

snMspsDot1adPbTunnelProtocolStpPDUsSent OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled STP PDUs transmitted."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 6 } 

snMspsDot1adPbTunnelProtocolGvrpPDUsRecvd OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled  GVRP PDUs received."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 7 } 

snMspsDot1adPbTunnelProtocolGvrpPDUsSent OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled GVRP PDUs transmitted."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 8 } 

snMspsDot1adPbTunnelProtocolGmrpPktsRecvd OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
      "The number of tunneled GMRP PDUs packets received."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 9 }

snMspsDot1adPbTunnelProtocolGmrpPktsSent OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled GMRP packets transmitted."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 10 }

snMspsDot1adPbTunnelProtocolIgmpPktsRecvd OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled IGMP packets received."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 11 } 

snMspsDot1adPbTunnelProtocolIgmpPktsSent OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated 
   DESCRIPTION 
      "The number of tunneled  IGMP packets transmitted."
   ::= { snMspsDot1adPbTunnelProtocolStatsEntry 12 }

-- ----------------------------------------------------------------
-- Provider Edge Port configuration table 
-- ----------------------------------------------------------------

snMspsDot1adPbPepExtTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsDot1adPbPepExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This is an extention of dot1adMIPepTable table, and it provides       
    additional configurations to PEPs (like Cos Preservations,..). 
    when a entry in dot1adMIPepTable is created, then an entry will be
    created in this table."
    
    ::= { snMspsDot1adPbConfig 17 }
    
snMspsDot1adPbPepExtEntry OBJECT-TYPE
    SYNTAX      SnMspsDot1adPbPepExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "Entry  contains information like (COS preservation, ..) for the 
    internal PEPs. Creation of an entry in this table is not allowed 
    and only modification is allowed."
   
   AUGMENTS    { snMspsDot1adPepEntry }
   ::= { snMspsDot1adPbPepExtTable 1 }
            
SnMspsDot1adPbPepExtEntry ::=
    SEQUENCE {
        snMspsDot1adPbPepExtCosPreservation     EnabledStatus
    }

snMspsDot1adPbPepExtCosPreservation OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "This object is used to enable or disable COS preservation for a    
       service provided by this PEP." 

    DEFVAL      { disabled }
    ::= { snMspsDot1adPbPepExtEntry 1 }



--
-- NTP Module common Objects.
--
snMspsNtpCommon      OBJECT IDENTIFIER ::= { snMspsNtp 1 } 
--
-- NTP Client Module Objects.
--
snMspsNtpClient      OBJECT IDENTIFIER ::= { snMspsNtp 2 }
--
-- NTP Server Module Objects. (For future implementations.)
--
snMspsNtpServer      OBJECT IDENTIFIER ::= { snMspsNtp 3 }

--
-- Textual Conventions
--

NTPSignedTimeValue ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
            "The time in seconds that could represent signed
            quantities like time delay with respect to some
            source."

    SYNTAX        Integer32

NTPStratum ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
            "Indicates the stratum of the clock.  The stratum
            defines the accuracy of a time server.  Higher the
            stratum, lower the accuracy.
            0, unspecified
            1, primary reference (e.g., calibrated atomic clock,
               radio clock)
            2-255, secondary reference (via NTP)"

    SYNTAX          Integer32 (0..255 )

NTPRefId ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
            "The reference clock identifier.  In the case of
            stratum 0 (unspecified) or stratum 1 (primary
            reference source), this is a four-octet,
            left-justified, zero-padded ASCII string as defined
            in RFC-1305.  In the case of stratum 2 and greater
            (secondary reference) this is the four-octet Internet
            address of the peer selected for synchronization."

    SYNTAX          OCTET STRING (SIZE (4))

NTPAssocIdentifier ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
            "The association identifier of the peer.  Every peer
            with which an NTP server is associated with is
            identified by an association identifier."
    SYNTAX          Integer32 (1..2147483647)

--
-- NTP Common System Informations
--

snMspsNtpCommonSysStatus  OBJECT-TYPE
    SYNTAX      INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The NTP module functionality Operational status, if it is enabled 
            it will send the NTP Message to the peer and 
            synchronize peer and or synchronized by peer.
            setting this value is depends on other TIME Modules like
            SNPT, SINEC, ..." 
    DEFVAL  { disabled }
    ::= { snMspsNtpCommon 1 }

snMspsNtpCommonTimeZoneDiffTime OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE (6))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
                    "Set the Timezone Diff Time with the UTC Time representation or
                    any other ime representation. format is +/-HH:MM"
  --  DEFVAL          { "+00:00" }
    ::= { snMspsNtpCommon 2 }

snMspsNtpCommonSysDateAndTime OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object give the current system date and time." 

    ::= { snMspsNtpCommon 3 }

snMspsNtpCommonTraceFlag OBJECT-TYPE
    SYNTAX          Unsigned32 (0.. 255)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object used to configure the trace level of the NTP module.
            Find the values and corresponding trace information
            1.Disable traces          0x00000000
            2.Error traces            0x00000001
            3.Failure traces          0x00000002
            4.Info traces             0x00000004
            5.HighInfo traces         0x00000008
            6.Debug traces            0x00000010
            7.All traces              0x000000ff
            and it can be combination of the all above."

    DEFVAL          { 0 }
    ::= { snMspsNtpCommon 4 }

-- 
-- NTP Client Configuration  Table Informations
--   

snMspsNtpClientPeerTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF SnMspsNtpClientPeerEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table provides information on the peers with
            which the local NTP  has associations.  The
            peers are also NTP servers but running on different
            hosts."

    ::= { snMspsNtpClient 1 }

snMspsNtpClientPeerEntry OBJECT-TYPE
    SYNTAX          SnMspsNtpClientPeerEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "Each peers' entry provides NTP information retrieved
            from a particular peer NTP server.  Each peer is
            identified by a unique association identifier."

    INDEX   { snMspsNtpClientPeerAssocId }

    ::= { snMspsNtpClientPeerTable 1 }

SnMspsNtpClientPeerEntry ::= SEQUENCE {
        snMspsNtpClientPeerAssocId            NTPAssocIdentifier,
        snMspsNtpClientPeerPeerAddrType       InetAddressType,
        snMspsNtpClientPeerPeerInetAddress    InetAddress,
        snMspsNtpClientPeerPeerPort           Integer32,
        snMspsNtpClientPeerPeerStratum        NTPStratum,
        snMspsNtpClientPeerPeerPrecision      Integer32,
        snMspsNtpClientPeerPeerRefId          NTPRefId,
        snMspsNtpClientPeerHostPoll           Integer32,
        snMspsNtpClientPeerHostOffset         NTPSignedTimeValue,
        snMspsNtpClientPeerHostDelay          NTPSignedTimeValue,
        snMspsNtpClientPeerEntryStatus        RowStatus,
        snMspsNtpClientPeerSecureKeyID        Integer32,
        snMspsNtpClientPeerSecureAlgorithm    INTEGER,
        snMspsNtpClientPeerSecureKey          OCTET STRING
}

snMspsNtpClientPeerAssocId OBJECT-TYPE
    SYNTAX          NTPAssocIdentifier
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "An integer value greater than 0 that uniquely
            identifies a peer with which the local NTP server/client
            is associated. This value is depends on the no of client entries 
            support by the NTP implementation.
            If an entry creation throughs error as worng-value it may be 
            reached the no of client entries support by the NTP implementation." 

    ::= { snMspsNtpClientPeerEntry 1 }

snMspsNtpClientPeerPeerAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "Represents the type of the corresponding instance
            of snMspsNtpClientPeerPeerInetAddress object."
    DEFVAL          { ipv4 } 
    ::= { snMspsNtpClientPeerEntry 2 }

snMspsNtpClientPeerPeerInetAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The address of the peer. When creating a new
            association, a value must be set forthis
            object before the row is made active." 
    ::= { snMspsNtpClientPeerEntry 3 }
 
snMspsNtpClientPeerPeerPort  OBJECT-TYPE
    SYNTAX          Integer32 (123 | 1025..36564)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The UDP port number on which the peer receives NTP
            messages." 
    DEFVAL { 123 }
    ::= { snMspsNtpClientPeerEntry 4 }

snMspsNtpClientPeerPeerStratum OBJECT-TYPE
    SYNTAX          NTPStratum
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The stratum of the peer clock." 
    ::= { snMspsNtpClientPeerEntry 5 }

snMspsNtpClientPeerPeerPrecision OBJECT-TYPE
    SYNTAX          Integer32 (-20..20 )
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "Signed integer indicating the precision of the peer
            clock, in seconds to the nearest power of two.  The
            value must be rounded to the next larger power of
            two; for instance, a 50-Hz (20 ms) or 60-Hz
            (16.67 ms) power-frequency clock would be assigned
            the value -5 (31.25 ms), while a 1000-Hz (1 ms)
            crystal-controlled clock would be assigned the value
            -9 (1.95 ms)." 
    ::= { snMspsNtpClientPeerEntry 6 }

snMspsNtpClientPeerPeerRefId OBJECT-TYPE
    SYNTAX          NTPRefId
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The reference identifier of the peer." 
    ::= { snMspsNtpClientPeerEntry 7 }

snMspsNtpClientPeerHostPoll OBJECT-TYPE
    SYNTAX          Integer32 (64..2678400)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "The interval at which the local host polls the peer.
            The minimum interval between transmitted NTP
            messages, in seconds." 
   DEFVAL           { 64 }
    ::= { snMspsNtpClientPeerEntry 8 }

snMspsNtpClientPeerHostOffset OBJECT-TYPE
    SYNTAX          NTPSignedTimeValue
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The estimated offset of the the local clock relative to
            the peer clock, in seconds.  The host determines the
            value of this object using the NTP clock-filter
            algorithm."
    ::= { snMspsNtpClientPeerEntry 9 }

snMspsNtpClientPeerHostDelay OBJECT-TYPE
    SYNTAX          NTPSignedTimeValue
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The estimated round-trip delay of the local clock 
            relative to the peer clock over the network path
            between them, in seconds.  The host determines the
            value of this object using the NTP clock-filter
            algorithm."
    ::= { snMspsNtpClientPeerEntry 10 }

snMspsNtpClientPeerEntryStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "The status object for this row. When a management
            station is creating a new row, it should set the
            value for snMspsNtpClientPeerPeerInetAddress at least, before the
            row can be made active(1).
            If an entry creation through error as worng-value it may be 
            reached the no of client entries support by the NTP implementation.
            any set for the read-write objects in the table are needs to be
            done by making the this objects as notinservice (2). 
            otherwise it have effect on next active only." 
    ::= { snMspsNtpClientPeerEntry 11 }

snMspsNtpClientPeerSecureKeyID OBJECT-TYPE
    SYNTAX      Integer32 (1..65534)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The ID of the key, to tell the secure NTP server which key is used."
    DEFVAL { 1 }
    ::= { snMspsNtpClientPeerEntry 24 }

snMspsNtpClientPeerSecureAlgorithm OBJECT-TYPE
    SYNTAX       INTEGER {
                        des(1),
                        md5(2),
                        sha1(3)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Hash algorithm, which is used in secure NTP."
    DEFVAL { 1 }
    ::= { snMspsNtpClientPeerEntry 25 }

snMspsNtpClientPeerSecureKey OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Secure key, which is used in secure NTP during authenti-cation.
        The key is encrypted before saving in configuration."
    ::= { snMspsNtpClientPeerEntry 29 }

-- global setting for Secure NTP
snMspsNtpClientPeerSecure OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables or disables support of secure NTP."
    DEFVAL { false }
    ::= { snMspsNtpClient 5 }

snMspsNtpServerStatus  OBJECT-TYPE
    SYNTAX      INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "To enable or disable NTP module Server module. If it is enabled 
            NTP Clients will get the time from the Servers.
            " 
    DEFVAL  { disabled }
    ::= { snMspsNtpServer 1 }

snMspsNtpServerTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF SnMspsNtpServerEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table provides information on the ntp servers."

    ::= { snMspsNtpServer 2 }

snMspsNtpServerEntry OBJECT-TYPE
    SYNTAX          SnMspsNtpServerEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "The table contains the ip interfaces."

    INDEX   { ifIndex }

    ::= { snMspsNtpServerTable 1 }

SnMspsNtpServerEntry ::= SEQUENCE {
        snMspsNtpServerEnable          TruthValue,
	snMspsNtpServerPort            Integer32,
	snMspsNtpServerSecureStatus    TruthValue,
	snMspsNtpServerKeyID           Integer32,
	snMspsNtpServerSecureAlgorithm INTEGER,
	snMspsNtpServerSecureKey       OCTET STRING,
        snMspsNtpServerRowStatus       RowStatus
}

snMspsNtpServerEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "Enables or disables NTP Server of an interface." 
    DEFVAL  { false }
    ::= { snMspsNtpServerEntry 1 }

snMspsNtpServerPort OBJECT-TYPE
    SYNTAX          Integer32 (123 | 1025..36564)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    	    "The UDP port number on which the peer receives NTP
	     messages."
    DEFVAL { 123 }
    ::= { snMspsNtpServerEntry 2 }

snMspsNtpServerSecureStatus OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
            "Enables or disables NTP Secure Server of an interface." 
    DEFVAL  { false }
    ::= { snMspsNtpServerEntry 3 }

snMspsNtpServerKeyID OBJECT-TYPE
    SYNTAX         Integer32 (1..65534)
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
    "Ntp key index."
    DEFVAL { 1 }
    ::= { snMspsNtpServerEntry 4 }

snMspsNtpServerSecureAlgorithm OBJECT-TYPE
    SYNTAX INTEGER {
    	   des(1),
    	   md5(2),
    	   sha1(3)
    	}
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
    "Hash algorithm, which is used in secure NTP Server."
    DEFVAL { 1 }
    ::= { snMspsNtpServerEntry 5 }

snMspsNtpServerSecureKey OBJECT-TYPE
    SYNTAX        OCTET STRING
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
    "Secure key, which is used in secure NTP Server during authentication.
    The key is encrypted before saving in configuration."
    ::= { snMspsNtpServerEntry 6 }

snMspsNtpServerRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
            "The status object for this row. 
	    The writable columns in a row can not be changed if the row
	    is active. All columns MUST have a valid value before a row
	    can be activated.
	    " 
    ::= { snMspsNtpServerEntry 7 }

-- the following OID is reserved for global Secure NTP Server
-- of this MIB module:   { snMspsNtpServer 3 }

-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------
-- SN-MSPS-NTP-MIB 2101 ... 2150
snMspsTrapNTPInvalidConfiguration      NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "Invalid NTP Configuration."
    ::= { snMspsTrapPrefix 2101 }

snMspsTrapNTPWrongPacketLength   NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "Received NTP Packet with wrong length."
    ::= { snMspsTrapPrefix 2102 }

snMspsTrapNTPWrongSourceAddress  NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "Received NTP Packet from wrong Source Address."
    ::= { snMspsTrapPrefix 2103 }

snMspsTrapNTPWrongKeyId  NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "Received NTP Packet with wrong or missing Key Id."
    ::= { snMspsTrapPrefix 2104 }

snMspsTrapNTPAddAuthFail  NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "Secure NTP failed to add authentication."
    ::= { snMspsTrapPrefix 2105 }

snMspsTrapNTPVerifyAuthFail  NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "Received NTP Packet failed authentication."
    ::= { snMspsTrapPrefix 2106 }

snMspsTrapNTPKeyUpdate  NOTIFICATION-TYPE
    STATUS                  current 
    DESCRIPTION 
        "SecureNTP Keys were updated."
    ::= { snMspsTrapPrefix 2107 }

-- -------------------------------------------------------------
-- END OF SNMPv2 Notifications
-- -------------------------------------------------------------




snMspsSntpAdminStatus OBJECT-TYPE
    SYNTAX     INTEGER { disabled (0), enabled (1) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "To enable or disable the sntp client module. All configuration will be 
        acitve only when the SNTP module is enabled"
    DEFVAL  { disabled } 
    ::= { snMspsSntpClient 1 }

snMspsSntpClientVersion  OBJECT-TYPE
    SYNTAX     INTEGER {version1 (1), version2 (2), version3 (3), version4 (4)}
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The SNTP client module can run in any one version 1, version 2,
        version 3 or version 4. All the SNTP requests are sent out with the
        current configured version number. When required, the administrator
        can change the current version number"
    DEFVAL { version4 }
    ::= { snMspsSntpClient 2 }

snMspsSntpClientAddressingMode  OBJECT-TYPE
    SYNTAX     INTEGER {unicast (1), broadcast (2), multicast (3), anycast (4)}
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " unicast:
        - SNTP client operates in a point-to-point fashion.  A unicast 
        client sends a request to a designated server at its unicast address
        and expects a reply from which it can determine the time and, 
        optionally, the round-trip delay and local clock ofsnMspset relative to 
        the server.

        broadcast:
        - SNTP client operates in a point-to-multipoint fashion. The SNTP
        server uses an IP local broadcast address instead of a multicast
        address.  The broadcast address is scoped to a single subnet, while a 
        multicast address has Internet wide scope.

        multicast:
        - SNTP client operates in point-to-multipoint fashion.  The SNTP server
        uses a multicast group address to send unsolicited SNTP messages to
        clients.  The client listens on this address and sends no requests for
        updates.

        anycast:
        - SNTP client operates in a multipoint-to-point fashion.  The SNTP
        client sends a request to a designated IPv4 or IPv6 local broadcast
        address or multicast group address. One or more anycast servers reply
        with their individual unicast addresses."
    DEFVAL  { unicast } 
    ::= { snMspsSntpClient 3 }

snMspsSntpClientPort     OBJECT-TYPE
    SYNTAX     Integer32 ( 123 | 1025..65535)	
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The SNTP client module by default listens on well-know port number 123. 
         When required, the Administrator can change the SNTP Client port value
         to non-default."
    DEFVAL {123}
    ::= { snMspsSntpClient 4 }

snMspsSntpTimeDisplayFormat OBJECT-TYPE
    SYNTAX     INTEGER { hours (1), ampm  (2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " The administrator can view the system time in 12 hr AM/PM or 24 
        hours format. "
    DEFVAL  { hours } 
    ::= { snMspsSntpClient 5 }

snMspsSntpAuthKeyId OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Key Identifier  is an integer identifying the cryptographic key used
        to generate the message-authentication code"
     ::= { snMspsSntpClient 6 }

snMspsSntpAuthAlgorithm OBJECT-TYPE
    SYNTAX     INTEGER { none (0), md5 (1), des (2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "When the NTP authentication scheme is implemented, the Key Identifier
        and Message Digest fields contain the message authentication code (MAC)
        information. Message Digest-5 (MD5) and Data Encryption Standard (DES)
        are the Authentication algorithms that can be used. Default
        Authentication supported is none" 
    DEFVAL  { none } 
     ::= { snMspsSntpClient 7 }

snMspsSntpAuthKey  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..16))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Authentication key is cryptographic key that is used to implement NTP
        Authentication "
     ::= { snMspsSntpClient 8 }

snMspsSntpTimeZone OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (6))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "To set the system time zone with respect to UTC. ie plus indicates
        forward time zone ( ahead of UTC Time eg: +05:30) and minus indicates
        backward time zone (behind UTC time eg: -03:30). The valid format is
        (+/-)HH:MM"
    ::= { snMspsSntpClient 9 }

snMspsSntpDSTStartTime OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..20))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " Daylight saving time (DST) is a system of setting clocks ahead so
        that both sunrise and sunset occur at a later hour. The effect is
        additional daylight in the evening. Many countries observe DST, 
        although most have their own rules and regulations for when it begins
        and ends. The dates of DST may change from year to year. The Valid 
        format  [weekofmonth-weekofday-month,HH:MM]. 
        Example:- Third-Mon-Apr,17:30 "   
    ::= { snMspsSntpClient 10 }

 
snMspsSntpDSTEndTime OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..20))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " Daylight saving time (DST) is a system of setting clocks ahead so
        that both sunrise and sunset occur at a later hour. The effect is
        additional daylight in the evening. Many countries observe DST, 
        although most have their own rules and regulations for when it begins
        and ends. The dates of DST may change from year to year. The Valid 
        format  [weekofmonth-weekofday-month,HH:MM].
        Example:- Last-Sun-Nov,16:20 "   
   ::= { snMspsSntpClient 11 }

snMspsSntpServerAutoDiscovery  OBJECT-TYPE
    SYNTAX     INTEGER { disabled (0), enabled (1) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " The SNTP servers can be configured or discovered. When Auto Discover
        is disabled, the SNTP client gets the time from the configured servers.
        When Auto Discover is enabled, the SNTP client gets the time from servers
        learnt through DHPC client. This is valid only in Unicast
        Addressing mode."
    DEFVAL  { disabled } 
    ::= { snMspsSntpClient 12 }

snMspsSntpUnicastPollInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (16..16284)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds between successive SNTP request transmissions. "
    DEFVAL { 64 } 
    ::= {snMspsSntpClient 13 }

snMspsSntpUnicastPollTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (1..30)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds to wait for a response from a SNTP server
        before considering the attempt to have 'timed out' "
    DEFVAL { 5 }
    ::= {snMspsSntpClient 14 }

snMspsSntpUnicastPollRetry OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of times to retry a request to a SNTP server
        that has not successfully responded.  For example, assume this object
        has been SET to a value of 2.  When the SNTP client queries a given
        server it will send 1 SNTP request frame. If that original attempt
        fails, the client will retry up to a maximum of 2 more times before
        giving up and attempting the next server."
    DEFVAL { 3 }
    ::= { snMspsSntpClient 15 }


-- This table is for configuring the unicast server table

snMspsSntpUnicastServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsSntpUnicastServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table contains configured SNTP/NTP servers in the system."
    ::= {snMspsSntpClient 16 }

snMspsSntpUnicastServerEntry  OBJECT-TYPE
    SYNTAX      SnMspsSntpUnicastServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            " Each entry in the table contains necessary information to
            send SNTP request to the servers."
         INDEX {snMspsSntpUnicastServerAddrType, snMspsSntpUnicastServerAddr }
    ::= { snMspsSntpUnicastServerTable 1 }

SnMspsSntpUnicastServerEntry ::= SEQUENCE {
    snMspsSntpUnicastServerAddrType         InetAddressType,
    snMspsSntpUnicastServerAddr             InetAddress,
    snMspsSntpUnicastServerVersion          INTEGER,
    snMspsSntpUnicastServerPort             Integer32,
    snMspsSntpUnicastServerType             INTEGER,
    snMspsSntpUnicastServerLastUpdateTime   DisplayString,
    snMspsSntpUnicastServerTxRequests       Counter32,
    snMspsSntpUnicastServerRowStatus        RowStatus
}

snMspsSntpUnicastServerAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Address type of the unicast server in the Unicast Addressing mode.
        It can be IPv4 or IPv6 unicast address."
    ::= { snMspsSntpUnicastServerEntry 1 }

snMspsSntpUnicastServerAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        " The unicast IPv4/IPv6 server address in the Unicast Addressing mode "
    ::= { snMspsSntpUnicastServerEntry 2}

snMspsSntpUnicastServerVersion OBJECT-TYPE
    SYNTAX      INTEGER {version3 (3),version4 (4)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "the sntp version supported by the server"
    ::= { snMspsSntpUnicastServerEntry 3 }

snMspsSntpUnicastServerPort OBJECT-TYPE
    SYNTAX      Integer32 ( 123 | 1025..36564)	
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "the sntp port on which the server is UP"
    ::= { snMspsSntpUnicastServerEntry 4 }

snMspsSntpUnicastServerType OBJECT-TYPE
    SYNTAX      INTEGER { primary  (1), secondary (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "In Unicast addressing mode, we can have primary and secondary servers.
        This flag is to distinguish between primary and secondary server.
        SNTP client sends request to different servers until it receives
        successful response. This flag tells the order in which to query the
        servers."
    ::= { snMspsSntpUnicastServerEntry 5 }

snMspsSntpUnicastServerLastUpdateTime OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The local time when the system time was successful"
    ::= { snMspsSntpUnicastServerEntry 6 }

snMspsSntpUnicastServerTxRequests OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of SNTP request sent in the Unicast addressing mode."
    ::= { snMspsSntpUnicastServerEntry 7 }

snMspsSntpUnicastServerRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  
        " The activation of a row adds server entry. The destruction of a row
        removes server entry"
    ::= {snMspsSntpUnicastServerEntry 8}

-- Broadcast objects

snMspsSntpSendRequestInBcastMode	OBJECT-TYPE
    SYNTAX	INTEGER { disabled (0), enabled (1) }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        "when enabled the sntp request will be sent to the broadcast server to
        calculate the dealy time. This is valid only in broadcast
        addressing mode"
    DEFVAL { disabled }
    ::= { snMspsSntpClient 17 }

snMspsSntpPollTimeoutInBcastMode OBJECT-TYPE
    SYNTAX      Unsigned32 (1..30)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds to wait for a response from a SNTP server before
        considering the attempt to have 'timed out'. This is valid only in
        broadcast addressing mode "
    DEFVAL { 5 }
    ::= {snMspsSntpClient 18 }

snMspsSntpDelayTimeInBcastMode	OBJECT-TYPE
    SYNTAX	Unsigned32 (1000..15000)
    UNITS       "microseconds"
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        " The broadcast server may send reply for the request. When the SNTP
        client does get response from the boradcast server,
        this value is taken as delay time "
    DEFVAL { 8000 }
    ::= { snMspsSntpClient 19 }

-- snMspsSntpClient 20-22 reserved

-- Multicast Objects

snMspsSntpSendRequestInMcastMode	OBJECT-TYPE
    SYNTAX	INTEGER { disabled (0), enabled (1) }
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        " when enabled the sntp request will be sent to the multicast server to
        calculate the dealy time."
    DEFVAL { disabled }
    ::= { snMspsSntpClient 23 }

snMspsSntpPollTimeoutInMcastMode OBJECT-TYPE
    SYNTAX      Unsigned32 (1..30)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds to wait for a response from a SNTP
        server before considering the attempt to have 'timed out'"
    DEFVAL { 5 }
    ::= {snMspsSntpClient 24 }

snMspsSntpDelayTimeInMcastMode	OBJECT-TYPE
    SYNTAX	Unsigned32 (1000..15000)
    UNITS       "microseconds"
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION
        " this is taken as delay time  when there is no response from the
        multicast server  "
    DEFVAL { 8000 }
    ::= { snMspsSntpClient 25 }

snMspsSntpGrpAddrTypeInMcastMode OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " The multicast group address can be configured by the administrator."
    ::= {snMspsSntpClient 26 }    

snMspsSntpGrpAddrInMcastMode OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        " The multicast group address can be configured by the administrator."
    ::= {snMspsSntpClient 27 }
    
-- snMspsSntpClient 28-32 reserved

-- Anycast Objects

snMspsSntpAnycastPollInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (16..16284)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds between successive SNTP request transmissions."
    DEFVAL { 64 } 
    ::= {snMspsSntpClient 33 }

snMspsSntpAnycastPollTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (1..30)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds to wait for a response from a SNTP server 
        before considering the attempt to have 'timed out'."
    DEFVAL { 5 }
    ::= {snMspsSntpClient 34 }

snMspsSntpAnycastPollRetry OBJECT-TYPE
    SYNTAX      Unsigned32 (0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of times to retry a request to a SNTP server
        that has not successfully responded.
        For example, assume this object has been SET to a value of 2.
        When the SNTP client queries a given server it will send 1 SNTP
        request frame.  If that original attempt fails, the client will
        retry up to a maximum of 2 more times before giving up and 
        attempting the next server."
    DEFVAL { 3 }
    ::= { snMspsSntpClient 35 }
    
snMspsSntpServerTypeInAcastMode  OBJECT-TYPE
    SYNTAX     INTEGER { broadcast (1), multicast (2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "To set the type of servers to be used in Anycast addressing mode"
    DEFVAL  { broadcast } 
    ::= { snMspsSntpClient 36 }

snMspsSntpGrpAddrTypeInAcastMode OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The address type of the server configured by the administrator"
    ::= {snMspsSntpClient 37 }

snMspsSntpGrpAddrInAcastMode OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The multicast group address can be configured by the administrator."
    ::= {snMspsSntpClient 38 }

                

-- --------------------------------------------------------------
-- Timezone and DST Sub-Group
-- --------------------------------------------------------------

snMspsTimezone	OBJECT IDENTIFIER ::= { snMspsDst 1 }

snMspsTimezoneOffset  OBJECT-TYPE
        SYNTAX          INTEGER
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION "Show/Set timezone offset (min)."
        ::= { snMspsTimezone 1 }
                              
snMspsTimezoneDSTTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF SnMspsTimezoneDSTEntry      
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION   "A table to configure DST entries."
      ::= { snMspsTimezone 2 }

snMspsTimezoneDSTEntry OBJECT-TYPE
      SYNTAX        SnMspsTimezoneDSTEntry
      MAX-ACCESS        not-accessible
      STATUS        current
      DESCRIPTION   "An Entry specifies the start and end of a daylight saving time."
      INDEX { snMspsTimezoneDSTIndex }
      ::= { snMspsTimezoneDSTTable 1 }

SnMspsTimezoneDSTEntry ::= SEQUENCE {
      snMspsTimezoneDSTIndex			INTEGER,
      snMspsTimezoneDSTName				DisplayString,			
      snMspsTimezoneDSTType             INTEGER,
      snMspsTimezoneDSTDate             DisplayString,
      snMspsTimezoneDSTRecurring        DisplayString, 
      snMspsTimezoneDSTRowStatus        RowStatus
      }
  
snMspsTimezoneDSTIndex OBJECT-TYPE
      SYNTAX        INTEGER (1..65535)
      MAX-ACCESS        read-only
      STATUS        current
      DESCRIPTION   "The index of this entry."
      ::= { snMspsTimezoneDSTEntry 1 }     
      
snMspsTimezoneDSTName OBJECT-TYPE
      SYNTAX 		DisplayString (SIZE(0..16))
      MAX-ACCESS        read-write
      STATUS        current
      DESCRIPTION   "Shows and sets the name of this entry."
      ::= { snMspsTimezoneDSTEntry 2 }  
        
snMspsTimezoneDSTType OBJECT-TYPE
      SYNTAX INTEGER {    
      		date(1),
            recurring(2)		
      }
      MAX-ACCESS        read-only
      STATUS        current
      DESCRIPTION   "Describes whether it is a static or a recurring entry."
      ::= { snMspsTimezoneDSTEntry 3 }   

 snMspsTimezoneDSTDate OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..255))
      MAX-ACCESS        read-write
      STATUS        current
      DESCRIPTION   "Daylight saving time information:
      				year mmddhh(start) mmddhh(end)"
      ::= { snMspsTimezoneDSTEntry 4 }      
      
 snMspsTimezoneDSTRecurring OBJECT-TYPE
      SYNTAX        DisplayString (SIZE(0..255))
      MAX-ACCESS        read-write
      STATUS        current
      DESCRIPTION   "Shows and sets the recurring information of this entry.
      				Null if it is not a recurring entry."                  
      ::= { snMspsTimezoneDSTEntry 5 }       
               
snMspsTimezoneDSTRowStatus OBJECT-TYPE
      SYNTAX 		RowStatus
      MAX-ACCESS        read-create
      STATUS        current
      DESCRIPTION   "This object indicates the status of this entry."
      ::= { snMspsTimezoneDSTEntry 6 }  




snMspsPtpSystem  			  	OBJECT IDENTIFIER ::= { snMspsPtp 1 }
snMspsPtpTransparentClock		OBJECT IDENTIFIER ::= { snMspsPtp 2 }  


-- --------------------------------------------------------------
-- IEEE1588System Sub-Group
-- --------------------------------------------------------------
snMspsPtpMode OBJECT-TYPE
    	SYNTAX        INTEGER {
          off(1),
          transparent-clock-mode (2)
        }
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Enable/disable IEEE 1588 mode."
    	DEFVAL { 1 }
    	::= { snMspsPtpSystem 1 }  

snMspsPtpTimeZoneDiffTime OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE (6))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
                    "Set the Timezone Diff Time with the UTC Time representation or
                    any other time representation. format is +/-HH:MM"
    DEFVAL          { "+00:00" }
    ::= { snMspsPtpSystem 2 }
    	
-- --------------------------------------------------------------
-- IEEE1588 Transparent Clock Sub-Group
-- --------------------------------------------------------------    	
snMspsPtpTCPrimaryDomainNumber OBJECT-TYPE
    	SYNTAX        INTEGER (0..255)
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Domain identifier of the primary synchronization domain.
    				   Clocks sharing a common domain identifier participate with
    				   one another in communication of time information
    				   and best master clock selection."
    	DEFVAL { 0 }        
    	::= { snMspsPtpTransparentClock 1 }

snMspsPtpTCDelayMechanism OBJECT-TYPE
    	SYNTAX       INTEGER {
          end-to-end(1),
          peer-to-peer(2)
        }
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Indicates the propagation delay measuring option used by the
    				   port in computing peerMeanPathDelay. If the transparent clock
    				   is an end-to-end transparent clock, delayMechanism shall be end-to-end(1).
    				   If the transparent clock is a peer-to-peer transparent clock,
    				   the value shall be peer-to-peer (2)."
    	DEFVAL { 1 }
    	::= { snMspsPtpTransparentClock 2 }

snMspsPtpTCSyntonized OBJECT-TYPE
    	SYNTAX        TruthValue
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "TRUE if transparent clock should syntonize to master, otherwise syntonization is disabled."
    	DEFVAL { true }        
    	::= { snMspsPtpTransparentClock 3 }   

snMspsPtpTCVlanId OBJECT-TYPE
    	SYNTAX        INTEGER (0..4095)
    	MAX-ACCESS    read-write   
    	STATUS        current
    	DESCRIPTION   "Vlan that is used for IEEE 1588"
    	DEFVAL { 1 }        
    	::= { snMspsPtpTransparentClock 4 }
    	
snMspsPtpTCOneStep OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "TRUE if transparent clock should use onestep, otherwise onestep is disabled."
        DEFVAL { true } 
        ::= { snMspsPtpTransparentClock 5 }	
  	
-- --------------------------------------------------------------
-- IEEE1588 Transparent Clock Port Table
-- --------------------------------------------------------------
snMspsPtpTCPortTable OBJECT-TYPE
    	SYNTAX      SEQUENCE OF SnMspsPtpTCPortEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION "IEEE 1588 Transparent Clock Port Table."
    	::= { snMspsPtpTransparentClock 100 }

snMspsPtpTCPortEntry OBJECT-TYPE
    	SYNTAX      SnMspsPtpTCPortEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION "IEEE 1588 Transparent Clock Port entry. "
    	INDEX       { snMspsPtpTCPortIfIndex }
    	::= { snMspsPtpTCPortTable 1 }

SnMspsPtpTCPortEntry ::= SEQUENCE {
    	snMspsPtpTCPortIfIndex  					INTEGER,
    	snMspsPtpTCPortEnable 						INTEGER,
    	snMspsPtpTCPortLogMinPdelayReqInterval     INTEGER,
    	snMspsPtpTCPortIngressLatency				INTEGER,
    	snMspsPtpTCPortEgressLatency               INTEGER,
    	snMspsPtpTCPortTransportMechanism			INTEGER,
    	snMspsPtpTCPortMeanPathDelay				INTEGER,
    	snMspsPtpTCPortFaultyFlag    	            TruthValue                
    	}
  
snMspsPtpTCPortIfIndex OBJECT-TYPE
    	SYNTAX        INTEGER
    	MAX-ACCESS    not-accessible
    	STATUS        current
    	DESCRIPTION   "Port on which IEEE 1588 Transparent Clock occurs on."
    	::= { snMspsPtpTCPortEntry 1 }
 
snMspsPtpTCPortEnable OBJECT-TYPE
    	SYNTAX        INTEGER {
          disable(1),
          enable(2)
        }
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Enable/disable IEEE 1588 Transparent Clock on port."
    	DEFVAL { 1 }
    	::= { snMspsPtpTCPortEntry 2 }
    	
snMspsPtpTCPortLogMinPdelayReqInterval OBJECT-TYPE
    	SYNTAX        INTEGER (0..5)
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "The logarithm to the base 2 of the minimum permitted mean time
    				   interval between successive Pdelay_Req messages,
    				   i.e., the minPdelayReqInterval, sent over a link."
    	DEFVAL { 0 } 
    	::= { snMspsPtpTCPortEntry 3 }
    	 
snMspsPtpTCPortIngressLatency OBJECT-TYPE
    	SYNTAX        INTEGER (0..50000)
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "IngressLantency:
    				   <ingressTimestamp> = <ingressMeasuredTimestamp> + ingressLatency.
    				   IngressLatency in nano seconds"
    	DEFVAL { 0 } 
    	::= { snMspsPtpTCPortEntry 4 } 
    	
snMspsPtpTCPortEgressLatency OBJECT-TYPE
    	SYNTAX        INTEGER (0..50000)
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "EgressLatency:
    				   <egressTimestamp> = <egressMeasuredTimestamp> + egressLatency.
    				   EgressLatency in nano seconds"
    	DEFVAL { 0 } 
    	::= { snMspsPtpTCPortEntry 5 } 
    	
snMspsPtpTCPortTransportMechanism OBJECT-TYPE
    	SYNTAX  	  INTEGER {
          udp-ip-v4(1),
          udp-ip-v6(2),
          ethernet(3),
          devicenet(4),
          controlnet(5),
          profinet(6)
        }
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   "Defines the transport protocols for PTP communications.
    	               See IEEE 1588-2008 Table 3 for networkProtocol enumerations."
       	::= { snMspsPtpTCPortEntry 6 } 
    	
snMspsPtpTCPortMeanPathDelay OBJECT-TYPE
    	SYNTAX  	  INTEGER (0..50000)
        MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "If the value of delayMechanism is peer-to-peer (P2P),
    				   the value is an estimate of the current one-way propagation
    				   delay on the link, i.e., meanPathDelay, attached to this port
    				   computed using the peer delay mechanism. Delay is expressed in nanoseconds
    				   multiplied by 65536; a 1 second offset is expressed as 65536000000000.
    				   If the value of the portDelayMechanism member is end-to-end (E2E), the value is zero."
    	::= { snMspsPtpTCPortEntry 7 }
    	
snMspsPtpTCPortFaultyFlag OBJECT-TYPE
    	SYNTAX        TruthValue
    	MAX-ACCESS    read-only
    	STATUS        current
    	DESCRIPTION   "The value shall be TRUE if the port is faulty and FALSE if the port is operating normally."
    	::= { snMspsPtpTCPortEntry 8 }
    	   	


snMspsPnioEnable  OBJECT-TYPE
        SYNTAX  INTEGER {
	      enabled (1),
          disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  deprecated
        DESCRIPTION "The value enabled(1) will automatically run PROFINET.
                The value disabled(2) will inhibit PROFINET."
        ::= { snMspsPnio 1 }
 
snMspsPnioInDataExchange  OBJECT-TYPE
        SYNTAX  INTEGER {
	      online (1),
          offline (2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "Show the state of PROFINETInDataExchange."
        ::= { snMspsPnio 2 }        

snMspsPnioNameOfStation OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..240))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Name of Station of the device."
        ::= { snMspsPnio 3 }      

snMspsPnioInDataExchangeControl  OBJECT-TYPE
        SYNTAX  INTEGER {
	      allow-online (1),
          force-to-offline (2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "allow-online (1) allows the device to change in PROFINETInDataExchange online.
        		force-to-offline (2) force the device to PROFINETInDataExchange offline."
        ::= { snMspsPnio 4 }

snMspsPnioFaultMode  OBJECT-TYPE
        SYNTAX  INTEGER {
	      latent(1),
          evident(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Controls the PROFINET diagnostics behaviour for the PROFINET device:
        		latent (1) - The device doesn't notify any PROFINET fault
        		evident (2) - The device sets a fault if there is no connection to a PROFINET Controller 
        		The PROFINET Device sets the snPnioMode automatically to 'evident (2)' if the 
        		device ever established a connection to a PROFINET Controller"
        ::= { snMspsPnio 5 }         
             
snMspsPnioResetIpCfgOnRestart  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "If true, resets the (temporary) IP configuration to 0.0.0.0
                     when the device restarts and then also resets this object
                     to false. Should thus be set to false whenever a new static
                     IP configuration is set to avoid it being reset on restart."
        ::= { snMspsPnio 6 }

snMspsPnioAdminStatus   OBJECT-TYPE
        SYNTAX  INTEGER {
	      notStarted(0),
          off(1),
          on(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION " Shows the next Mode of PROFINET after the next reboot takes place."
        ::= { snMspsPnio 9 }    
 
snMspsPnioOperStatus   OBJECT-TYPE
        SYNTAX  INTEGER {
	      notStarted(0),
          off(1),
          on(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION " Shows the current Mode of PROFINET."
        ::= { snMspsPnio 10 }
        
--HOLD_TIME_TABLE_BEGIN
        
snMspsPnioHoldTimeTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SnMspsPnioHoldTimeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The table contains Hold Time information."
        ::= { snMspsPnio 20 }

snMspsPnioHoldTimeEntry   OBJECT-TYPE
        SYNTAX      SnMspsPnioHoldTimeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Hold Time is stored."
        INDEX { snMspsPnioHoldTimeEntryIndex }
        ::= { snMspsPnioHoldTimeTable 1 }

SnMspsPnioHoldTimeEntry ::= SEQUENCE {
    snMspsPnioHoldTimeEntryIndex   Unsigned32,
    snMspsPnioHoldTimeValue        INTEGER
}

snMspsPnioHoldTimeEntryIndex   OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Index of the Hold Time Entry"
        ::= { snMspsPnioHoldTimeEntry 1 }

snMspsPnioHoldTimeValue        OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only 
        STATUS      current
        DESCRIPTION "Hold Time of an entry"
        ::= { snMspsPnioHoldTimeEntry 2 }
        
--HOLD_TIME_TABLE_END


snMspsIpIp	         OBJECT IDENTIFIER ::= { snMspsIp 1 }
snMspsIpArp	         OBJECT IDENTIFIER ::= { snMspsIp 2 }
snMspsIpIcmp	     OBJECT IDENTIFIER ::= { snMspsIp 3 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

	  snMspsIpInLengthErrors  OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS    read-only
	      STATUS	    current
	      DESCRIPTION
		     "Total number of packets received by IP with length less
		     than IP header length."
	      ::= { snMspsIpIp 1 }

	  snMspsIpInCksumErrors  OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS    read-only
	      STATUS	    current
	      DESCRIPTION
		      "Total Number of received packets those failed to pass
		      checksum verification."
	      ::= { snMspsIpIp 2 }

	  snMspsIpInVersionErrors  OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS    read-only
	      STATUS	    current
	      DESCRIPTION
		      "Total number of received packets with different IP
		      version from this entity."
	      ::= { snMspsIpIp 3 }

	  snMspsIpInTTLErrors	 OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS    read-only
	      STATUS	    current
	      DESCRIPTION
		    "Number of IP packets received at this entity with
		    'Time to Live' field equal to ZERO"
	      ::= { snMspsIpIp 4 }
      
      snMspsIpInOptionErrors  OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS    read-only
	      STATUS	    current
	      DESCRIPTION
		      "Number of IP packets received with improper options."
	      ::= { snMspsIpIp 5 }

	  snMspsIpInBroadCasts  OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS	    read-only
	      STATUS	    current
	      DESCRIPTION
		     "Total number of IP broadcast packets received at this
		     entity."
	      ::= { snMspsIpIp 6 }

	  snMspsIpOutGenErrors  OBJECT-TYPE
	      SYNTAX	    Counter32
	      MAX-ACCESS	    read-only
	      STATUS	    current
	      DESCRIPTION
		     "Number of outgoing IP packets rejected due to general
		     problems like interface down, forwarding disabled etc."
	      ::= { snMspsIpIp 7 }

	  snMspsIpOptProcEnable OBJECT-TYPE
	      SYNTAX	    INTEGER   {
		     enabled (1),
		     disabled (2)
	      }
	      MAX-ACCESS	    read-write
	      STATUS	    current
	      DESCRIPTION
		     "Indication as to if Option processing is active."
	      DEFVAL	 { enabled }
	      ::= { snMspsIpIp 9 }
      
      snMspsIpNumMultipath OBJECT-TYPE
              SYNTAX  Integer32 (1..16)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
	              "The number of multi-paths in the routing table."
              DEFVAL	 { 2 }
              ::= { snMspsIpIp 10 }

          snMspsIpLoadShareEnable OBJECT-TYPE
              SYNTAX INTEGER {
	                      enabled (1),
		              disabled (2)
                             }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
	              "Enabling this will distribute the load among
	              available equal cost multi-paths."
              DEFVAL  { disabled }
              ::= { snMspsIpIp 11 }

          snMspsIpEnablePMTUD OBJECT-TYPE
              SYNTAX INTEGER {
                       enabled     (1),
                       disabled    (2)
              }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                      "This Object Enables or Disables PMTU-D on all paths 
                       globally. This MIB Object overrides the route-based and
                       application-level requests for PMTU-D. When this object
                       is set to disabled (2), PMTU-D is not done even if the 
                       application requests to do so."
              DEFVAL { disabled }
              ::= { snMspsIpIp 12 }  
              
           snMspsIpPmtuEntryAge OBJECT-TYPE
              SYNTAX Integer32 (5..255)
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                      "This object specifies the timeout in minutes, after which
                       the estimate of a PMTU is considered stale. After the 
                       configured minutes the estimate of the PMTU is increased.
                       When Set to inifinity (255), detection in increase of 
                       PMTU is not done."
              DEFVAL { 10 }
              ::= { snMspsIpIp 13 }
              
              
     -- the ICMP group

	  snMspsIcmpSendRedirectEnable OBJECT-TYPE
	       SYNTAX	     INTEGER   {
			  enabled	 (1),
			  disabled	 (2)
	       }
	       MAX-ACCESS	     read-write
	       STATUS	     current
	       DESCRIPTION " Allow sending ICMP Redirect Message "
	       DEFVAL	  { enabled }
	       ::= { snMspsIpIcmp 1 }

	  snMspsIcmpSendUnreachableEnable OBJECT-TYPE
	       SYNTAX	     INTEGER  {
			  enabled	 (1),
			  disabled	 (2)
	       }
	       MAX-ACCESS	     read-write
	       STATUS	     current
	       DESCRIPTION " Allow sending ICMP Unreachable Message "
	       DEFVAL	  { enabled }
	       ::= { snMspsIpIcmp 2 }

	  snMspsIcmpSendEchoReplyEnable OBJECT-TYPE
	       SYNTAX	     INTEGER  {
			  enabled	 (1),
			  disabled	 (2)
	       }
	       MAX-ACCESS	     read-write
	       STATUS	     current
	       DESCRIPTION " Allow sending ICMP Echo Reply Message "
	       DEFVAL	  { enabled }
	       ::= { snMspsIpIcmp 3 }
       
      snMspsIcmpNetMaskReplyEnable OBJECT-TYPE
	       SYNTAX	     INTEGER  {
			  enabled	 (1),
			  disabled	 (2)
	       }
	       MAX-ACCESS	     read-write
	       STATUS	     current
	       DESCRIPTION " Allow sending ICMP Net Mask Reply Message "
	       DEFVAL	  { enabled }
	       ::= { snMspsIpIcmp 4 }

	  snMspsIcmpTimeStampReplyEnable OBJECT-TYPE
	       SYNTAX	     INTEGER  {
			  enabled	 (1),
			  disabled	 (2)
	       }
	       MAX-ACCESS	     read-write
	       STATUS	     current
	       DESCRIPTION " Allow sending ICMP Time stamp reply Message "
	       DEFVAL	  { enabled }
	       ::= { snMspsIpIcmp 5 }
      
      snMspsIcmpInDomainNameRequests OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The number of ICMP Domain Name Requests
		      received."
	      ::= { snMspsIpIcmp 6 }

	  snMspsIcmpInDomainNameReply OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The number of ICMP Domain Name Replies
		      received."
	      ::= { snMspsIpIcmp 7 }

	  snMspsIcmpOutDomainNameRequests OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The number of ICMP Domain Name Requests
		      send."
	      ::= { snMspsIpIcmp 8 }

	  snMspsIcmpOutDomainNameReply OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The number of ICMP Domain Name Replies
		      send."
	      ::= { snMspsIpIcmp 9 }
	      
	   snMspsIcmpDirectQueryEnable OBJECT-TYPE
	      SYNTAX	INTEGER {
			enabled		(1),
			disabled	(2)
	      }
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "DNS Direct Query will be enabled or disabled
		      accordingly"
	      DEFVAL { disabled }
-- By default disabled because this is an Experimental Protocol.
	      ::= { snMspsIpIcmp 10 }
	      
	      
	   snMspsDomainName	OBJECT-TYPE
	      SYNTAX	DisplayString
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "Domain Name of the system, used to send when
		      replies to DNS Direct Query."
	      ::= { snMspsIpIcmp 11 }

	  snMspsTimeToLive	OBJECT-TYPE
	      SYNTAX	Integer32 (0..2147483647)
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "The number of seconds untill which the name
		      can be cached."
	      ::= { snMspsIpIcmp 12 }  
	      
	   snMspsIcmpInSecurityFailures OBJECT-TYPE
	      SYNTAX	Counter32
	      MAX-ACCESS	read-only
	      STATUS	current
	      DESCRIPTION
		      "The number of ICMP Security Failure messages
		      received."
	      ::= { snMspsIpIcmp 13 }

	  snMspsIcmpOutSecurityFailures OBJECT-TYPE
	      SYNTAX	Counter32
	      MAX-ACCESS	read-only
	      STATUS	current
	      DESCRIPTION
		      "The number of ICMP Security Failure messages
		      sent."
	      ::= { snMspsIpIcmp 14 }

	  snMspsIcmpSendSecurityFailuresEnable OBJECT-TYPE
	      SYNTAX	INTEGER {
			enabled		(1),
			disabled	(2)
	      }
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "Allow sending Security Failure messages."
	      DEFVAL { enabled }
	      ::= { snMspsIpIcmp 15 }

	  snMspsIcmpRecvSecurityFailuresEnable OBJECT-TYPE
	      SYNTAX	INTEGER {
			enabled		(1),
			disabled	(2)
	      }
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "Allow Recieving Security Failure messages."
	      DEFVAL { enabled }
	      ::= { snMspsIpIcmp 16 }
	      
	  snMspsIpAddressTable   OBJECT-TYPE
	      SYNTAX  SEQUENCE OF SnMspsIpAddressEntry
	      MAX-ACCESS   not-accessible
	      STATUS   current
	      DESCRIPTION
		     "The table of IP addresses on every Interface."
	      ::= { snMspsIpIp 18 }

	  snMspsIpAddressEntry   OBJECT-TYPE
	      SYNTAX   SnMspsIpAddressEntry
	      MAX-ACCESS   not-accessible
	      STATUS   current
	      DESCRIPTION
		     "The individual entry in the above table."
	      INDEX   {
			snMspsIpAddrTabAddress
		      }
	      ::= { snMspsIpAddressTable 1 }

	  SnMspsIpAddressEntry  ::=
	      SEQUENCE {
	      snMspsIpAddrTabIfaceId
		 Integer32,
	      snMspsIpAddrTabAddress
		 IpAddress,
	      snMspsIpAddrTabAdvertise
		 TruthValue,
	      snMspsIpAddrTabPreflevel
		 Integer32,
	      snMspsIpAddrTabStatus
		 RowStatus
	      }

	  snMspsIpAddrTabIfaceId	OBJECT-TYPE
	      SYNTAX	Integer32 (0..2147483647)
	      MAX-ACCESS	read-only
	      STATUS	current
	      DESCRIPTION
		      "The interface number to which the IP address
		      belongs to."
	      ::= { snMspsIpAddressEntry 1 }

	  snMspsIpAddrTabAddress	OBJECT-TYPE
	      SYNTAX	IpAddress
	      MAX-ACCESS	not-accessible
	      STATUS	current
	      DESCRIPTION
		      "One of the router's IP addresses."
	      ::= { snMspsIpAddressEntry 2 }

	  snMspsIpAddrTabAdvertise	OBJECT-TYPE
	      SYNTAX	TruthValue
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "A flag indicating whether or not the address is
		      to be advertised."
	      ::= { snMspsIpAddressEntry 3 }

	  snMspsIpAddrTabPreflevel	OBJECT-TYPE
	      SYNTAX	Integer32 (0..2147483647)
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "The preferability of the address as a default
		      router address, relative to other router addresses on
		      the same subnet. A 32-bit, signed, twos-complement
		      integer, with higher values meaning more preferable."
	      ::= { snMspsIpAddressEntry 4 }

	  snMspsIpAddrTabStatus	OBJECT-TYPE
	      SYNTAX	RowStatus
	      MAX-ACCESS	read-only
	      STATUS	current
	      DESCRIPTION
		      "The status of this row, by which new entries may be
		      created, or old entries deleted from this table."
	      ::= { snMspsIpAddressEntry 5 }

      --List of Default Routers.
	  snMspsIpRtrLstTable	 OBJECT-TYPE
	      SYNTAX  SEQUENCE OF SnMspsIpRtrLstEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "List of default router addresses. Used when system
		      functions as a host.Maintained as per RFC 1122."
	      ::= { snMspsIpIp 19 }

	  snMspsIpRtrLstEntry	  OBJECT-TYPE
	      SYNTAX   SnMspsIpRtrLstEntry
	      MAX-ACCESS   not-accessible
	      STATUS   current
	      DESCRIPTION
		     "The individual entry in the above table."
	      INDEX   { snMspsIpRtrLstAddress }
	      ::= { snMspsIpRtrLstTable 1 }

	  SnMspsIpRtrLstEntry	 ::=
	      SEQUENCE {
	       snMspsIpRtrLstIface
		    Integer32,
	       snMspsIpRtrLstAddress
		    IpAddress,
	       snMspsIpRtrLstPreflevel
		    Integer32,
	       snMspsIpRtrLstStatic
		    TruthValue,
	       snMspsIpRtrLstStatus
		    RowStatus
	       }

	  snMspsIpRtrLstIface		OBJECT-TYPE
	      SYNTAX	Integer32 (0..2147483647)
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "The interface via which the router could be
		      reached."
	      ::= { snMspsIpRtrLstEntry 1 }
	  snMspsIpRtrLstAddress	OBJECT-TYPE
	      SYNTAX	IpAddress
	      MAX-ACCESS	not-accessible
	      STATUS	current
	      DESCRIPTION
		      "An IP address of a default router."
	      ::= { snMspsIpRtrLstEntry 2 }

	  snMspsIpRtrLstPreflevel	OBJECT-TYPE
	      SYNTAX	Integer32 (0..2147483647)
	      MAX-ACCESS	read-write
	      STATUS	current
	      DESCRIPTION
		      "The preferability of the RouterAddress as a default
		      router address, relative to other router addresses
		      on the same subnet."
	      ::= { snMspsIpRtrLstEntry 3 }

	  snMspsIpRtrLstStatic	OBJECT-TYPE
	      SYNTAX	TruthValue
	      MAX-ACCESS	read-only
	      STATUS	current
	      DESCRIPTION
		      "This entry states how the default router address
		      was learned."
	      ::= { snMspsIpRtrLstEntry 4 }

	  snMspsIpRtrLstStatus	OBJECT-TYPE
	      SYNTAX	RowStatus
	      MAX-ACCESS	read-create
	      STATUS	current
	      DESCRIPTION
		      "The status of this row, by which new entries may be
		      created, or old entries deleted from this table."
	      ::= { snMspsIpRtrLstEntry 5 }  
	      
	  -- IPIF table 

       snMspsIpifTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SnMspsIpifEntry
	      MAX-ACCESS not-accessible
	      STATUS   current
	      DESCRIPTION
                 "IP interface table which maintains the interface specific configurable parameters of IP."
		 ::= { snMspsIpIp 23 }

	 snMspsIpifEntry OBJECT-TYPE
	      SYNTAX   SnMspsIpifEntry
	      MAX-ACCESS not-accessible
	      STATUS   current
	      DESCRIPTION
                 "A particular interface specific IP information."
	      INDEX {
		  snMspsIpifIndex
		  }
	      ::= { snMspsIpifTable 1 }

	  SnMspsIpifEntry ::=
	      SEQUENCE {
		  snMspsIpifIndex
		      Integer32,
                  snMspsIpifMaxReasmSize
                      Integer32,
                  snMspsIpifIcmpRedirectEnable
                      INTEGER,
                  snMspsIpifDrtBcastFwdingEnable
                      INTEGER,
                  snMspsIpifProxyArpAdminStatus
                      INTEGER
              }


          snMspsIpifIndex   OBJECT-TYPE
              SYNTAX  Integer32 (0..2147483647)
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "The index value which identifies the
		       interface to which this entry is applicable. The
		       interface identified by a particular value of this
		       index is the same interface as identified by the same
		       value of ifIndex in MIB II."
	      ::= { snMspsIpifEntry 1 }

          snMspsIpifMaxReasmSize OBJECT-TYPE
              SYNTAX  Integer32 (1024..33280)
              MAX-ACCESS read-write
              STATUS  current
              DESCRIPTION
                      "The maximum size of the fragmented IP datagram received 
              on this interface that can be considered for reassembly." 
              ::= { snMspsIpifEntry 2 }

		
          snMspsIpifIcmpRedirectEnable   OBJECT-TYPE
             SYNTAX   INTEGER {
                        enabled(1),
                        disabled(2)
                      }
             MAX-ACCESS read-write
             STATUS   current
             DESCRIPTION
                     "Enabling or Diabling of the ICMP redirect messages on an 
             interface basis."
             ::= { snMspsIpifEntry 3 }

           snMspsIpifDrtBcastFwdingEnable  OBJECT-TYPE
             SYNTAX   INTEGER {
                        enabled(1),
                        disabled(2)
                      }
             MAX-ACCESS read-write
             STATUS    current
             DESCRIPTION
                    "Enabling of Directed broadcast forwarding on that 
             interface."
             ::= { snMspsIpifEntry 4 }

           snMspsIpifProxyArpAdminStatus OBJECT-TYPE
             SYNTAX      INTEGER { 
                            enabled(1),
                            disabled(2)
                         }
             MAX-ACCESS  read-write
             STATUS      current
             DESCRIPTION
                  "Enables or Disables Proxy ARP Feature for that
                   interface. By default, this object 
                   should have the value disabled(2)."
     		DEFVAL     { disabled }
     		::= { snMspsIpifEntry 5 }    
	     
	snMspsArpCacheTimeout  OBJECT-TYPE
        SYNTAX   Integer32 (30..86400)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " Time after which the entry in cache is deleted "
        DEFVAL { 7200 }
        ::= { snMspsIpArp 1 }

   snMspsArpCachePendTime  OBJECT-TYPE
        SYNTAX   Integer32	(30..3000)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " Time for which an unresolved entry will be
   		    held until response is received "
        DEFVAL { 30 }
        ::= { snMspsIpArp 2 }

   snMspsArpMaxRetries  OBJECT-TYPE
        SYNTAX   Integer32 (2..10)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " Maximum number of retry attempts before aborting
  		    resolving "
        DEFVAL { 3 }
        ::= { snMspsIpArp 3 }
		
   snMspsArpTableScanType  OBJECT-TYPE
        SYNTAX   Integer32 (0..16777215)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " value of zero(0) disable arp table scan "
        DEFVAL { 4 }
        ::= { snMspsIpArp 4 }
		
   snMspsIpProxyArpClient  OBJECT-TYPE
       SYNTAX  INTEGER {
          enabled (1),
          disabled (2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Enables or disables Proxy ARP Client Feature. 
                     By default, this object should have the value 
                     disabled(2)."
        ::= { snMspsIpIp 25 }

   snMspsDcp  OBJECT-TYPE
       SYNTAX  INTEGER {
	      dcp-read-write (1),
          dcp-read-only (2),
          dcp-off (3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "The value dcp-read-write (1) will automatically run DCP (Detection & Configuration Protocoll). 
        		The value dcp-read-only allows DCP only to read parameters.          		
                The value dcp-off(3) will inhibit DCP."
        ::= { snMspsIpIp 30 }
        
   snMspsAgentReceiveOnAllKnownVLANs  OBJECT-TYPE
        SYNTAX  INTEGER {
          enabled(1),
	      disabled(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Setting AgentReceiveOnAllKnownVLANs to Enable(1)
                enables the reception of IP traffic for the agent on all VLANs.
                This means the agent accepts incoming connections on all the VLANs.
                For outgoing traffic like sending SNMP traps and 
                connection to the e-mail server the Agent VLAN is used."
        ::= { snMspsIpIp 31 }
	     
--  It adds IP protocol independence.

snMspsInetStaticRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsInetStaticRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This entity's IP Static Routing table. This table displays 
            both active and inactive static routes"
    ::= { snMspsIpIp 32 }

snMspsInetStaticRouteEntry OBJECT-TYPE
    SYNTAX     SnMspsInetStaticRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "A particular route to a particular destination, under a
            particular policy (as reflected in the
            snMspsInetStaticRoutePolicy object).

            Implementers need to be aware that if the total number
            of elements (octets or sub-identifiers) in
            snMspsInetStaticRouteDest, snMspsInetStaticRoutePolicy, and
            snMspsInetStaticRouteNextHop exceeds 111, then OIDs of column
            instances in this table will have more than 128 sub-
            identifiers and cannot be accessed using SNMPv1,
            SNMPv2c, or SNMPv3."
    INDEX {
        snMspsInetStaticRouteDestType,
        snMspsInetStaticRouteDest,
        snMspsInetStaticRoutePfxLen,
        snMspsInetStaticRoutePolicy,
        snMspsInetStaticRouteNextHopType,
        snMspsInetStaticRouteNextHop
        }
    ::= { snMspsInetStaticRouteTable 1 }

SnMspsInetStaticRouteEntry ::= SEQUENCE {
        snMspsInetStaticRouteDestType     InetAddressType,
        snMspsInetStaticRouteDest         InetAddress,
        snMspsInetStaticRoutePfxLen       InetAddressPrefixLength,
        snMspsInetStaticRoutePolicy       OBJECT IDENTIFIER,
        snMspsInetStaticRouteNextHopType  InetAddressType,
        snMspsInetStaticRouteNextHop      InetAddress,
        snMspsInetStaticRouteIfIndex      InterfaceIndexOrZero,
        snMspsInetStaticRouteType         INTEGER,
        snMspsInetStaticRouteProto        IANAipRouteProtocol,
        snMspsInetStaticRouteAge          Gauge32,
        snMspsInetStaticRouteNextHopAS    InetAutonomousSystemNumber,
        snMspsInetStaticRouteMetric1      Integer32,
        snMspsInetStaticRouteStatus       RowStatus
    }

snMspsInetStaticRouteDestType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The type of the snMspsInetStaticRouteDest address, as defined
            in the InetAddress MIB.

            Only those address types that may appear in an actual
            routing table are allowed as values of this object.
            IPv4 and IPv6 Static Routes are supported."
    ::= { snMspsInetStaticRouteEntry 1 }

snMspsInetStaticRouteDest OBJECT-TYPE
    SYNTAX     InetAddress (SIZE(16))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The destination IP address of this route.

            The type of this address is determined by the value of
            the snMspsInetStaticRouteDestType object. IPv4 and IPv6
            Static Routes are supported.

            The values for the index objects snMspsInetStaticRouteDest and
            snMspsInetStaticRoutePfxLen must be consistent.  When the value
            of snMspsInetStaticRouteDest (excluding the zone index, if one
            is present) is x, then the bitwise logical-AND
            of x with the value of the mask formed from the
            corresponding index object snMspsInetStaticRoutePfxLen MUST be
            equal to x.  If not, then the index pair is not
            consistent and an inconsistentName error must be
            returned on SET or CREATE requests."

    ::= { snMspsInetStaticRouteEntry 2 }

snMspsInetStaticRoutePfxLen OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Indicates the number of leading one bits that form the
            mask to be logical-ANDed with the destination address
            before being compared to the value in the
            snMspsInetStaticRouteDest field.

            The values for the index objects snMspsInetStaticRouteDest and
            snMspsInetStaticRoutePfxLen must be consistent.  When the value
            of snMspsInetStaticRouteDest (excluding the zone index, if one
            is present) is x, then the bitwise logical-AND
            of x with the value of the mask formed from the
            corresponding index object snMspsInetStaticRoutePfxLen MUST be
            equal to x.  If not, then the index pair is not
            consistent and an inconsistentName error must be
            returned on SET or CREATE requests."

    ::= { snMspsInetStaticRouteEntry 3 }

snMspsInetStaticRoutePolicy OBJECT-TYPE
    SYNTAX     OBJECT IDENTIFIER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This object is an opaque object without any defined
            semantics.  Its purpose is to serve as an additional
            index that may delineate between multiple entries to
            the same destination.  The value { 0 0 } shall be used
            as the default value for this object."
    ::= { snMspsInetStaticRouteEntry 4 }

snMspsInetStaticRouteNextHopType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The type of the snMspsInetStaticRouteNextHop address, as
            defined in the InetAddress MIB.

            Value should be set to unknown(0) for non-remote
            routes.

            Only those address types that may appear in an actual
            routing table are allowed as values of this object.
            Only IPv4 Static Routes are supported currently"
    ::= { snMspsInetStaticRouteEntry 5 }

snMspsInetStaticRouteNextHop OBJECT-TYPE
    SYNTAX     InetAddress (SIZE(16))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "On remote routes, the address of the next system en
            route.  For non-remote routes, a zero length string.

            The type of this address is determined by the value of
            the snMspsInetStaticRouteNextHopType object.
            Only IPv4 Static Routes are supported currently"
    ::= { snMspsInetStaticRouteEntry 6 }

snMspsInetStaticRouteIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndexOrZero
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The ifIndex value that identifies the local interface
            through which the next hop of this route should be
            reached. 
            For active static routes this object will have a valid
            Interface index. For in-active static routes this object
            will have invalid interface index"
    ::= { snMspsInetStaticRouteEntry 7 }

snMspsInetStaticRouteType OBJECT-TYPE
    SYNTAX     INTEGER {
                other    (1), -- not specified by this MIB
                reject   (2), -- route that discards traffic and
                              --   returns ICMP notification
                local    (3), -- local interface
                remote   (4), -- remote destination
                blackhole(5)  -- route that discards traffic
                              --   silently
             }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The type of route.  Note that local(3) refers to a
            route for which the next hop is the final destination;
            remote(4) refers to a route for which the next hop is
            not the final destination.

            Routes that do not result in traffic forwarding or
            rejection should not be displayed, even if the
            implementation keeps them stored internally.

            reject(2) refers to a route that, if matched, discards
            the message as unreachable and returns a notification
            (e.g., ICMP error) to the message sender.  This is used
            in some protocols as a means of correctly aggregating
            routes.

            blackhole(5) refers to a route that, if matched,
            discards the message silently."
    ::= { snMspsInetStaticRouteEntry 8 }




snMspsInetStaticRouteProto OBJECT-TYPE
    SYNTAX     IANAipRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The routing mechanism via which this route was learned.
            Inclusion of values for gateway routing protocols is
            not intended to imply that hosts should support those
            protocols.
            Dyanmic routes are not supported in this MIB Table. This
            table supports only active and inactive of IPv4 and IPV6
	    Static Routes."
    ::= { snMspsInetStaticRouteEntry 9 }

snMspsInetStaticRouteAge OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of seconds since this route was last updated
            or otherwise determined to be correct.  Note that no
            semantics of 'too old' can be implied, except through
            knowledge of the routing protocol by which the route
            was learned."
    ::= { snMspsInetStaticRouteEntry 10 }

snMspsInetStaticRouteNextHopAS OBJECT-TYPE
    SYNTAX     InetAutonomousSystemNumber
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The Autonomous System Number of the Next Hop.  The
            semantics of this object are determined by the routing-
            protocol specified in the route's snMspsInetStaticRouteProto
            value.  When this object is unknown or not relevant, its
            value should be set to zero."
    DEFVAL { 0 }
    ::= { snMspsInetStaticRouteEntry 11 }

snMspsInetStaticRouteMetric1 OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The primary routing metric for this route.  The
            semantics of this metric are determined by the routing-
            protocol specified in the route's snMspsInetStaticRouteProto
            value.  If this metric is not used, its value should be
            set to -1."
    DEFVAL { -1 }

    ::= { snMspsInetStaticRouteEntry 12 }

snMspsInetStaticRouteStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "The row status variable, used according to row
            installation and removal conventions.

            A row entry cannot be modified when the status is
            marked as active(1)."
    ::= { snMspsInetStaticRouteEntry 13 }
	
snMspsRcdpMode OBJECT-TYPE
	SYNTAX INTEGER {
		rcdp-off         (0),
		rcdp-read-only   (1),
		rcdp-read-write  (2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION "The value rcdp-read-write(2)  allows  RCDP  to  read  and  write  parameters.  
			 The value rcdp-read-only(1) allows RCDP only read parameters. The value rcdp-off(0) will inhibit RCDP."
	::= { snMspsIpIp 33 }
	
snMspsTraceRouteConfigTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsTraceRouteConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "TraceRoute Configuration Table"
    ::= { snMspsIpIp 40 }

snMspsTraceRouteConfigEntry OBJECT-TYPE
    SYNTAX     SnMspsTraceRouteConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table Contains the configuration information about a particular
            traceroute operation."
    INDEX {
        snMspsTraceRouteConfigDestType,
        snMspsTraceRouteConfigDest
        }
    ::= { snMspsTraceRouteConfigTable 1 }

SnMspsTraceRouteConfigEntry ::= SEQUENCE {
        snMspsTraceRouteConfigDestType     InetAddressType,
        snMspsTraceRouteConfigDest         InetAddress,
        snMspsTraceRouteConfigOperStatus   INTEGER,
        snMspsTraceRouteConfigError        INTEGER,
        snMspsTraceRouteConfigRowStatus    RowStatus
    }

snMspsTraceRouteConfigDestType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Address Type of trace route destination specified in     
            snMspsTraceRouteConfigDest"
    ::= { snMspsTraceRouteConfigEntry 1 }

snMspsTraceRouteConfigDest OBJECT-TYPE
    SYNTAX     InetAddress (SIZE(16))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The destination address to which the route has to
              be traced."
    ::= { snMspsTraceRouteConfigEntry 2 }

snMspsTraceRouteConfigOperStatus OBJECT-TYPE
    SYNTAX  INTEGER {
            notStarted      (1),
            inProgress     (2),
            completed       (3)
            }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Current Status for the traceroute operation."

    ::= { snMspsTraceRouteConfigEntry 3 }

snMspsTraceRouteConfigError OBJECT-TYPE
    SYNTAX  INTEGER {
            noError                   (0),
            destinationUnreachable    (1),
            addressUnreachable        (2),
            ttlExceeded               (3)
            }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Error Status after completion of traceroute operation."

    ::= { snMspsTraceRouteConfigEntry 4 }

snMspsTraceRouteConfigRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "Creates and Initiates the traceroute operation for the 
            destination snMspsTraceRouteConfigDest. Log for the 
            traceroute operation can be viewed in snMspsTraceRouteTable."
    ::= { snMspsTraceRouteConfigEntry 5 }


snMspsTraceRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsTraceRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Table containing Trace route result for the destination 
            specified in snMspsTraceRouteConfigTable."
    ::= { snMspsIpIp 43 }

snMspsTraceRouteEntry OBJECT-TYPE
    SYNTAX     SnMspsTraceRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table contains the information about the 
            intermediate nodes on the way to the destination 
            specified in snMspsTraceRouteConfigTable."
    INDEX {
        snMspsTraceRouteDestType,
        snMspsTraceRouteDest,
        snMspsTraceRouteHopCount
        }
    ::= { snMspsTraceRouteTable 1 }

SnMspsTraceRouteEntry ::= SEQUENCE {
        snMspsTraceRouteDestType       InetAddressType,
        snMspsTraceRouteDest           InetAddress,
        snMspsTraceRouteHopCount       Unsigned32,
        snMspsTraceRouteIntermHopType  InetAddressType,
        snMspsTraceRouteIntermHop      InetAddress,
        snMspsTraceReachTime1          Integer32,
        snMspsTraceReachTime2          Integer32,
        snMspsTraceReachTime3          Integer32
    }

snMspsTraceRouteDestType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Address Type of trace route destination specified in      
            snMspsTraceRouteDest"
    ::= { snMspsTraceRouteEntry 1 }

snMspsTraceRouteDest OBJECT-TYPE
    SYNTAX     InetAddress (SIZE(16))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The destination address to which the route has to
              be traced."
    ::= { snMspsTraceRouteEntry 2 }

snMspsTraceRouteHopCount OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Count of the Number of Hops required to reach
            the intermediate node snMspsTraceRouteIntermHop."

    ::= { snMspsTraceRouteEntry 3 }

snMspsTraceRouteIntermHopType OBJECT-TYPE
    SYNTAX  InetAddressType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Address type for the snMspsTraceRouteIntermHop"

    ::= { snMspsTraceRouteEntry 4 }

snMspsTraceRouteIntermHop OBJECT-TYPE
    SYNTAX     InetAddress (SIZE(16))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "Address of the intermediate node or the end destination
            snMspsTraceRouteDest."
    ::= { snMspsTraceRouteEntry 5 }

snMspsTraceReachTime1 OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The time in milli seconds, required to reach the
            intermediate node snMspsTraceRouteIntermHop.
            The value of '-1' denotes that the response was 
            not received from the node snMspsTraceRouteDest."
    ::= { snMspsTraceRouteEntry 6 }

snMspsTraceReachTime2 OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The time in milli seconds, required to reach the
            intermediate node snMspsTraceRouteIntermHop 
            for the second time.
            The value of '-1' denotes that the response was 
            not received from the node snMspsTraceRouteDest."
    ::= { snMspsTraceRouteEntry 7 }

snMspsTraceReachTime3 OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The time in milli seconds, required to reach the
            intermediate node snMspsTraceRouteIntermHop
            for the third time.
            The value of '-1' denotes that the response was 
            not received from the node snMspsTraceRouteDest."
    ::= { snMspsTraceRouteEntry 8 }
	
-- Unused snMspsIpIp 44-49
snMspsIpNextHopArpKeepAliveStatus OBJECT-TYPE
	SYNTAX INTEGER {
            not-supported   (0),
            enabled         (1),
            disabled        (2),
            dynamictostatic (3)
            }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
           "Setting of Value enabled(1), enables dynamic ARP Resolution for all the
            nexthop gateway addresses of the best routes present in the system and prevents ARP Table flushing.
            Dynamic ARP Resolution will be triggered every
            snMspsIpNextHopArpKeepAliveTime interval, for all the unresolved  
            nexthop gateway addresses present in the system.
            Setting of Value dynamictostatic(3), does not prevent ARP table flushing, but converts the ARP entries for
            dynamically discovered nexthop gateway addresses to static ARP entries. Validity of these entries will
            then be checked cyclically. 
            Setting of Value disabled(2), disables this feature." 
        DEFVAL { disabled }
	::= { snMspsIpIp 50 }
	
snMspsIpNextHopArpKeepAliveTime OBJECT-TYPE
	SYNTAX   Integer32 (30..86400)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
           "Time after which the dynamic ARP resolution will be triggered if 
            snMspsIpNextHopArpKeepAliveStatus is true." 
        DEFVAL { 30 }
	::= { snMspsIpIp 51 }

snMspsIpSingleHopInterVlanRouting OBJECT-TYPE
        SYNTAX INTEGER {
            enabled         (1),
            disabled        (2)
            }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
           "Status of the SingleHopInterVlanRouting - 
           which enables routing in between connected/local routes 
           even if the routing is not enabled/supported" 
        DEFVAL { 2 }
	::= { snMspsIpIp 52 }

	


-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------


	  snMspsIpACDModeStatus OBJECT-TYPE
	      SYNTAX	    INTEGER   {
	      	 acdModeStatusDisabled (0),
		     acdModeStatusEnabled (1)		     
	      }
	      MAX-ACCESS	    read-write
	      STATUS	    current
	      DESCRIPTION
		     "This object specifies whether IPV4 Address Collision Detection is activated or not for all IP interfaces."
	      DEFVAL	 { acdModeStatusEnabled }
	      ::= { snMspsIpACD 1 }          

	  snMspsIpACDDefendingMode OBJECT-TYPE
	      SYNTAX	    INTEGER   {
          acdDefendingModeNeverGiveUp (0),
          acdDefendingModeAttemptToDefend (1)		     
	      }
	      MAX-ACCESS	    read-write
	      STATUS	    current
	      DESCRIPTION
		     "This object specifies defending mode of IPV4 Address Collision Detection for all IP interfaces."
	      DEFVAL	 { acdDefendingModeNeverGiveUp }
	      ::= { snMspsIpACD 2 }          


-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------
   
     PortLaMode ::= TEXTUAL-CONVENTION
         STATUS         current
         DESCRIPTION    
           "Defines how a Port Channel does channeling.
           lacp(1)      - place the port into passive 
                           negotiation state, in which the
                           port waits for its peer to 
                           initiate negotiation.
           manual(2)    - force the port to enable 
                           channeling.
           disable(3)   - channeling is disabled."
                     
     SYNTAX INTEGER {
                       lacp(1),
                       manual(2),
                       disable(3)
                    }

     LacpKey ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
         STATUS    current
         DESCRIPTION
                "The Actor or Partner Key value."
         SYNTAX Integer32 (0..65535)
 
    
   LacpState ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
         "The Actor and Partner State values from the LACPDU."
      SYNTAX BITS {
           lacpActivity(0),
           lacpTimeout(1),
           aggregation(2),
           synchronization(3),
           collecting(4),
           distributing(5),
           defaulted(6),
           expired(7)
          }

-- ------------------------------------------------------------------
-- The La System Group
-- ------------------------------------------------------------------   

-- snMspsLa 1-3 reserverd        

snMspsLaStatus OBJECT-TYPE
           SYNTAX      INTEGER { enabled(1), disabled(2) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "Sets the Link Aggregation Module administrative status as 
                enabled or disabled. The module can be enabled only when this
                object is set to 'enabled'."
           ::= { snMspsLa 4 } 
           
snMspsLaActorSystemID    OBJECT-TYPE
                SYNTAX       MacAddress
                MAX-ACCESS   read-write
                STATUS       current
                DESCRIPTION
              	  "A 6-octet read-write MAC address value used as a unique
                identifier for the System."
         ::= { snMspsLa 5 }

snMspsLaMaxPortChannels  OBJECT-TYPE
          SYNTAX      Integer32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
                  "This Object specifies the maximum number of
                  Port-channels Present in the system"
          ::= { snMspsLa 6 }
                   
-- snMspsLa 7-9 reserved 


-- ------------------------------------------------------------------ 
-- Port Channel Table
-- ------------------------------------------------------------------ 

snMspsLaPortChannelTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF SnMspsLaPortChannelEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "A Port-channel is created through ifMain table.
           After the creation of the port-channel, corresponding logical
           interface will be created in the ifMain table. 
           This Port-channel table is indexed through Key values and allows to 
           configure link selection policy and the Mac address for 
           the port-channel. All other objects in this table displays 
           the details of the port-channel"

        ::= { snMspsLa 10 }

snMspsLaPortChannelEntry OBJECT-TYPE
        SYNTAX     SnMspsLaPortChannelEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "There is one entry in this table for each created
               port-channel port"

        INDEX { snMspsLaPortChannelIfIndex }
        ::= { snMspsLaPortChannelTable 1 }

SnMspsLaPortChannelEntry ::= SEQUENCE {
              snMspsLaPortChannelIfIndex                InterfaceIndex,
              snMspsLaPortChannelGroup                  LacpKey,
              snMspsLaPortChannelAdminMacAddress        MacAddress,
              snMspsLaPortChannelMacSelection           INTEGER,
              snMspsLaPortChannelMode                   PortLaMode,
              snMspsLaPortChannelPortCount              Integer32,
              snMspsLaPortChannelActivePortCount        Integer32,
              snMspsLaPortChannelSelectionPolicy        INTEGER,
              snMspsLaPortChannelDefaultPortIndex       InterfaceIndexOrZero,
              snMspsLaPortChannelMaxPorts               Integer32,
			  snMspsLaPortChannelPortList				PortList,
			  snMspsLaPortChannelName					DisplayString
              }

snMspsLaPortChannelIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
              "The ifIndex of the port-channel(Aggregator's 
               interface index). "
        ::= { snMspsLaPortChannelEntry 1 }

snMspsLaPortChannelGroup OBJECT-TYPE
        SYNTAX      LacpKey
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "An index that uniquely identifies an entry in this table. "
        ::= { snMspsLaPortChannelEntry 2 }

        
snMspsLaPortChannelAdminMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "This object is used for configuring MacAddress that is
              to be used by the port-channel when snMspsLaPortChannelMacSelection
              is force.
              WARNING:The value configured should not conflict 
              with the MAC address of system ports that are not configured
              to select this port-channel."
        ::= { snMspsLaPortChannelEntry 3 }

snMspsLaPortChannelMacSelection OBJECT-TYPE
        SYNTAX      INTEGER { dynamic(1), force(2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "Indicates the MAC address selection method for
         for the port-channel.
         Dynamic - System will reserve certain MAC address
                   for aggregators. These MAC address are
                   derived from BaseMac. If this object is
                   configured as dynamic, the system will
                   allocate MAC address from this pool.
         Force   - Port-channel MAC address configured through 
                   snMspsLaPortChannelAdminMacAddress is used.
         The value can be changed to Force only after configuring
         a valid MAC address in snMspsLaPortChannelAdminMacAddress."
        DEFVAL { 1 }
        ::= { snMspsLaPortChannelEntry 4 }

snMspsLaPortChannelMode OBJECT-TYPE
       SYNTAX       PortLaMode
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
         "Current Operating Channel Mode of the port
                     Lacp(1)    - forcing the port to negotiate with the
                                  partner.
                     manual(2)  - force the port to enable channeling (Manual).
                     disable(3) - channeling is disabled."
        ::= { snMspsLaPortChannelEntry 5 }
         
snMspsLaPortChannelPortCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "The number of ports actually configured to the port-channel"
         ::= { snMspsLaPortChannelEntry 6 }

snMspsLaPortChannelActivePortCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "This object will give the number of ports that are attached to the 
         port-channel and actively carrying data traffic on the link."
         ::= { snMspsLaPortChannelEntry 7 }

snMspsLaPortChannelSelectionPolicy OBJECT-TYPE
          SYNTAX  INTEGER {
                      macSrc(1), 
                      macDst(2),
                      macSrcDst(3),
                      ipSrc(4),
                      ipDst(5),
                      ipSrcDst(6),
                      vlanId(7),
                      isid(8),
                      macSrcVid(9),
                      macDstVid(10),
                      macSrcDstVid(11),
                      mplsVcLabel(12),
                      mplsTunnelLabel(13),
                      mplsVcTunnelLabel(14)
                  }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "Link selection policy to be used by the port-channel. 
	    Selection policy isid implies selection based on Service-instance 
	    and is applicable only in Provider BackBone bridge."
          DEFVAL {macSrcDst}
          ::= {snMspsLaPortChannelEntry 8}

snMspsLaPortChannelDefaultPortIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The ifIndex of the default port that gets attached to the
              aggregator. A value of 0 means there is no default port for
              this port-channel.
               If this object is set to 0, it will remove the current default
              port from the aggregator.
               To change the default port of an aggregator, first reset the
               object to 0 and then set the new ifIndex as default port."
        DEFVAL  { 0 }
        ::= { snMspsLaPortChannelEntry 9 }

snMspsLaPortChannelMaxPorts OBJECT-TYPE
        SYNTAX      Integer32 (2..8)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "This object specifies the maximun number of
               ports that can attach to a port-channel."
        DEFVAL  { 8 } 
        ::= { snMspsLaPortChannelEntry 10 }

snMspsLaPortChannelPortList OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
              "The complete set of ports currently associated with 
              this Aggregator. Each bit set in this list represents 
              an Actor Port member of this Link Aggregation" 
        ::= { snMspsLaPortChannelEntry 11 }		

snMspsLaPortChannelName  OBJECT-TYPE
        SYNTAX  DisplayString  (SIZE(0..255))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Name of the aggregation."
        ::= { snMspsLaPortChannelEntry 12 }

----------------------------------------------------------- 
--  LA Port Table  objects Extension Table  
-- ------------------------------------------------------------------ 

snMspsXLaPortChannelTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsXLaPortChannelEntry
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This augment table contains additional objects
              for snMspsLaPortChannelTable."
          ::= { snMspsLa 11 } 
 
      snMspsXLaPortChannelEntry OBJECT-TYPE 
          SYNTAX      SnMspsXLaPortChannelEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains management information applicable to 
	      an interface." 
          AUGMENTS { snMspsLaPortChannelEntry } 
          ::= { snMspsXLaPortChannelTable 1 } 
 
      SnMspsXLaPortChannelEntry ::= 
          SEQUENCE { 
             snMspsXLaPortChannelRowStatus 
                 RowStatus
	  } 
  
      snMspsXLaPortChannelRowStatus OBJECT-TYPE 
           SYNTAX      RowStatus
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "The Row status of this entry which 
		is used only in two scenarios.
		1. CREATE_AND_WAIT
		2. DESTROY.
		Where '1' will be used during port creation 
		and '2' will be used during port deletion." 
           ::= { snMspsXLaPortChannelEntry 1 } 


-- -------------------------------------------------------------
-- The Aggregation Port Group 
-- -------------------------------------------------------------

  snMspsLaPortTable OBJECT-TYPE
      SYNTAX SEQUENCE OF SnMspsLaPortEntry
      MAX-ACCESS         not-accessible
      STATUS             current
      DESCRIPTION
         "A table that contains objects to set the port lacp mode
         of dot3adAggPortTable."
      ::={snMspsLa 12 }

  snMspsLaPortEntry OBJECT-TYPE
      SYNTAX      SnMspsLaPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Each entry in this table is for each physical port that participates 
         in Link Aggregation which can be either aggregatable or individual.
         This table is indexed by the PortIndex."
      INDEX {snMspsLaPortIndex }
      ::={snMspsLaPortTable 1 }

   SnMspsLaPortEntry ::=
      SEQUENCE {
        snMspsLaPortIndex                           InterfaceIndex,
        snMspsLaPortMode                            PortLaMode,
        snMspsLaPortBundleState                     INTEGER,
        snMspsLaPortActorResetAdminState            LacpState,
        snMspsLaPortAggregateWaitTime               TimeTicks,
        snMspsLaPortPartnerResetAdminState          LacpState,
        snMspsLaPortActorAdminPort                  Integer32,
        snMspsLaPortRestoreMtu                      Integer32,
        snMspsLaPortSelectAggregator                INTEGER,
        snMspsLagConfigPortLACPLMEnable				INTEGER
        }

  snMspsLaPortIndex OBJECT-TYPE
      SYNTAX     InterfaceIndex
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
         "The ifIndex of the port"
      ::={snMspsLaPortEntry 1 }
      
  snMspsLaPortMode OBJECT-TYPE
      SYNTAX      PortLaMode
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
       "This object is used to enable LACP , disable LACP or manually
       aggregate a port"
      ::={snMspsLaPortEntry 2 }

      
  snMspsLaPortBundleState OBJECT-TYPE
      SYNTAX  INTEGER {
                      upInBndl(0),
                      standby(1),
                      down(2),
                      upIndividual(3)
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
      "This read-only object is used to display the port state in aggregation
         upInBndl(0)      - The port is operationally up and actively 
                            takes part in aggregation.
         standby(1)       - The port is capable of joining in
                            aggregation group, when any of the ports in  
                            aggregation group goes down.
         down(2)          - The port is operationally down in lower layers.
                            or the port is operational in lower layers
                            but temporarily not able to participate
                            in aggregation because of different partner
                            information in the same group.
         upIndividual(3)  - The port is operating individually and
                            is not taking part in aggregation."
      ::={snMspsLaPortEntry 3}

   snMspsLaPortActorResetAdminState OBJECT-TYPE
      SYNTAX     LacpState
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
      "A string of 8 bits,corresponding to the administrative values
      of Actor_State as transmitted by the Actor in LACPDUs.
      The first bit corresponds to bit 0 of Actor_State (LACP_Activity),
      the second bit corresponds to bit 1 (LACP_Timeout),the third bit
      corresponds to bit 2 (Aggregation),the fourth bit corresponds to
      bit 3 (Synchronization),the fifth bit corresponds to bit 4
      (Collecting),the sixth bit corresponds to bit 5 (Distributing),
      the seventh bit corresponds to bit 6 (Defaulted),and the eighth
      bit corresponds to bit 7 (Expired).
      This object allows the RESET of the values of Actor LACP_Activity, 
      LACP_Timeout and Aggregation.
      Get operation on this object returns the current Port State of 
      the Actor"
      ::={snMspsLaPortEntry 4 }


   snMspsLaPortAggregateWaitTime OBJECT-TYPE
      SYNTAX     TimeTicks
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
            "Duration of the port to attach to the PortChannel."
      DEFVAL { 2 }
      ::={snMspsLaPortEntry 5 }

   snMspsLaPortPartnerResetAdminState OBJECT-TYPE
      SYNTAX     LacpState
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
      "A string of 8 bits,corresponding to the administrative values
      of Partner_State.The first bit corresponds to bit 0 of Partner_State
	   (LACP_Activity),the second bit corresponds to bit 1 (LACP_Timeout),
	   the third bit corresponds to bit 2 (Aggregation),the fourth bit 
	   corresponds to bit 3 (Synchronization),the fifth bit corresponds to
	   bit 4 (Collecting),the sixth bit corresponds to bit 5 (Distributing),
      the seventh bit corresponds to bit 6 (Defaulted),and the eighth
      bit corresponds to bit 7 (Expired).
      This object allows the RESET of the values of Partner LACP_Activity, 
      LACP_Timeout and Aggregation.
      Get operation on this object returns zeros for  
      the Partner administrative values"
      ::={snMspsLaPortEntry 6 }

   snMspsLaPortActorAdminPort OBJECT-TYPE
      SYNTAX     Integer32 (1..65535)
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
            "The port number used as dot3adAggPortActorPort and is 
             communicated in LACPDUs as the Actor_Port."
      ::={snMspsLaPortEntry 7 }

   snMspsLaPortRestoreMtu OBJECT-TYPE
      SYNTAX     Integer32 
      MAX-ACCESS read-write
      STATUS     current
      DESCRIPTION
            "The Restore mtu stores the original MTU of the port 
             before getting aggregated to port channel.
             A SET on the MIB object is not allowed for SNMP users.
             This operation is allowed only during config-save-restore 
             operation , during system initialization."

      ::={snMspsLaPortEntry 8 }

   snMspsLaPortSelectAggregator OBJECT-TYPE
      SYNTAX  INTEGER {
                      static(0),
                      dynamic(1)
      }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
      "This read-only object is used to display whether the port participates
      in dynamic aggregator selection. The default will be static aggregation
      selection.
         static(0)      - The port is involved only in static aggregation.
                          i.e. the port can be a member of only the aggregation
                          to which it is configured.
         dynamic(1)     - The port participates in dynamic aggregation
                          selection. i.e. the port will be a part of best
                          aggregation selected based on System id and Admin key.
       This object is set to 'dynamic' once the port is configured as a default
       port of a port channel."
      ::={snMspsLaPortEntry 9}
    
    snMspsLagConfigPortLACPLMEnable  OBJECT-TYPE
	    SYNTAX  INTEGER {
	      off (1),
          lacp-lm-on (2)
	    }
		MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Configure LACP on Port:
	    		off(1) - off ,
          		lacp-lm-on(2) - lacp link monitoring on."
	    ::= { snMspsLaPortEntry 10 }
-- -------------------------------------------------------------
-- END OF Aggregation Port Group 
-- ------------------------------------------------------------- 
----------------------------------------------------------- 
--  LA Port Table  objects Extension Table  
-- ------------------------------------------------------------------ 
snMspsXLaPortTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsXLaPortEntry
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This augment table contains additional objects
              for snMspsLaPortTable."
          ::= { snMspsLa 13 } 
 
      snMspsXLaPortEntry OBJECT-TYPE 
          SYNTAX      SnMspsXLaPortEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains management information applicable to 
	      an interface." 
          AUGMENTS { snMspsLaPortEntry } 
          ::= { snMspsXLaPortTable 1 } 
 
      SnMspsXLaPortEntry ::= 
          SEQUENCE { 
             snMspsXLaPortRowStatus 
                 RowStatus
	  } 
  
      snMspsXLaPortRowStatus OBJECT-TYPE 
           SYNTAX      RowStatus
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "The Row status of this entry which 
		is used only in two scenarios.
		1. CREATE_AND_WAIT
		2. DESTROY.
		Where '1' will be used during port creation 
		and '2' will be used during port deletion." 
           ::= { snMspsXLaPortEntry 1 }  
      
----------------------------------------------------------- 
--  END OF LA Port Table  objects Extension Table  
-- ------------------------------------------------------------------   
--	snMspsLa 14-20 reserved

    snMspsLagSystemLACPLMTimeOut  OBJECT-TYPE
	    SYNTAX  INTEGER (75..10000)  
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Timeout in ms for the LACP-LM protocol."
	    ::= { snMspsLa 21 } 
	
	snMspsLagSystemLACPLMRetry  OBJECT-TYPE
	    SYNTAX  INTEGER (1..10)  
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION "Retries for the LACP-LM protocol."
	    ::= { snMspsLa 22 }    
	
	snMspsLagSystemFrameDistribution  OBJECT-TYPE
        SYNTAX  INTEGER {
	      frame-distribution-src-mac(1),
	      frame-distribution-dst-mac(2),
	      frame-distribution-src-dst-mac(3),
	      frame-distribution-src-ip(4),
	      frame-distribution-dst-ip(5),
	      frame-distribution-src-dst-ip(6),    
          frame-distribution-src-dst-mac-hash(7), 
          frame-distribution-src-dst-mac-xor(8)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION	"Select the frame distribution mechanism of the device for link aggregation.
	    	 frame-distribution-src-mac(1)	         frame distribution based on src MAC address         
			 frame-distribution-dst-mac(2)           frame distribution based on des MAC address         
			 frame-distribution-src-dst-mac(3)       frame distribution based on src and des MAC address 
  			 frame-distribution-src-ip(4)            frame distribution based on src IP address          
			 frame-distribution-dst-ip(5)            frame distribution based on des IP address          
			 frame-distribution-src-dst-ip(6)        frame distribution based on src and des IP address  
			 frame-distribution-src-dst-mac-hash(7)  frame distribution based on src and dst MAC address hash
			 frame-distribution-src-dst-mac-xor(8)   frame distribution based on src and dst MAC address xor"
	    ::= { snMspsLa 23 }
	    


snMspsDasScalars               OBJECT IDENTIFIER ::= { snMspsDas 1 }
snMspsDasObjects               OBJECT IDENTIFIER ::= { snMspsDas 2 }

-- --------------------------------------------------------------
-- DaS Scalars
-- --------------------------------------------------------------
snMspsDasNoOfEntries OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
            "Indicates the total number of (host, IP) bindings, across
            all VLANs, at a given time. This is nothing but the total
            number of entries in the IP binding database"
    ::= { snMspsDasScalars 1 }

-- --------------------------------------------------------------
-- DaS Interface Control Table
-- --------------------------------------------------------------
snMspsDasConfigInterfaceTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnMspsDasConfigInterfaceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION 
         "This table provides objects to enable or disable DaS functionality 
          on member ports of the tia-interface (or management vlan interface).
	  When DaS is enabled, DCP multicast packets are transmitted on member ports
	  and default DaS timer of 10 Seconds will be started. After timer expiry 
	  information received from remote systems are dropped by DaS module.
	  Note: DCP (Discovery and Configuration Protocol) multicast packets are 
	  not transmitted on mirrored destination and port-channel interfaces.

	  Example: Management vlan interface 1 has member ports (gi1/1, gi1/2 and gi1/3).
	  These Ports are connected to different remote systems.

	  case a) DaS enabled on Vlan 1:
	     DCP multicast packet, with a vlan tag according to port configurations, will be transmitted 
	     out on each port (gi1/1, gi1/2 and gi1/3) and starts a default timer of 
	     10 Seconds. Remote system information recevies on all these ports for a 
	     duration of 10 Seconds and after timer expiry, packets received on all
	     these member ports will be dropped.

	  case b) DaS enabled on port gi1/2:
	     DCP multicast packet, with a vlan tag according to port configurations, will be transmitted 
	     out on port gi1/2 and starts a default timer of 10 Seconds.
	     Note: Remote system's information will be recevied on all member ports of 
	     management vlan interface or tia-interface for a duration of 10 Seconds 
	     and after timer expiry, packets received on all these member ports will be 
	     dropped."

       ::= { snMspsDasObjects 1 }

snMspsDasConfigInterfaceEntry OBJECT-TYPE
       SYNTAX      SnMspsDasConfigInterfaceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION 
       	 "An entry in this table represents an interface on which DaS status (enabled/disabled)
	  can be set."
       INDEX { snMspsDasIfIndex }
       ::= {snMspsDasConfigInterfaceTable 1}

SnMspsDasConfigInterfaceEntry ::= SEQUENCE {
       snMspsDasIfIndex		InterfaceIndex,
       snMspsDasStatus 		INTEGER
       }
    
snMspsDasIfIndex OBJECT-TYPE
    	SYNTAX        InterfaceIndex
    	MAX-ACCESS    not-accessible
    	STATUS        current
    	DESCRIPTION   
	  "Interface index on which remote system infomation is received. This is an index of 
	   the table."
    	::= { snMspsDasConfigInterfaceEntry 1 }

snMspsDasStatus OBJECT-TYPE
    	SYNTAX        INTEGER {
		enabled(1),
		disabled(2)
        }
    	MAX-ACCESS    read-write
    	STATUS        current
    	DESCRIPTION   
    	  "When the object is set to enabled(1), remote system information packets 
	   are consumed on all member ports of management vlan interface or tia-interface
	   for a default timeout of 10 Seconds only.
    	   When the object is set to disable(2), dcp (Discovery and Configuration 
	   Protocol) packets are dropped by the DaS module."
	DEFVAL  { disabled }
    	::= { snMspsDasConfigInterfaceEntry 2 }
 
-- --------------------------------------------------------------
-- DaS Remote System Table
-- --------------------------------------------------------------
snMspsDasRemoteSystemTable OBJECT-TYPE
    	SYNTAX      SEQUENCE OF SnMspsDasRemoteSystemEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION 
	  "This table contains one or more rows per physical network connection known to 
	   this local system. The local system may wish to ensure that only one remote 
	   entry is present for each local port or it may choose to maintain multiple 
	   remote entries for the same local port."
    	::= { snMspsDasObjects 2 }

snMspsDasRemoteSystemEntry OBJECT-TYPE
    	SYNTAX      SnMspsDasRemoteSystemEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION 
	  "Entries contain information about a particular physical network connection. 
	   Entries may be created and deleted in this table by the local system."
    	INDEX       { snMspsDasIfIndex, snMspsDasHostMac }
    	::= { snMspsDasRemoteSystemTable 1 }

SnMspsDasRemoteSystemEntry ::= SEQUENCE {
          snMspsDasHostMac             MacAddress,
          snMspsDasIpAddrType          InetAddressType,
          snMspsDasIpAddr              InetAddress,
          snMspsDasIpAddrPfxLen        InetAddressPrefixLength,  
          snMspsDasNextHopAddrType     InetAddressType,
          snMspsDasNextHopAddr         InetAddress,
          snMspsDasTypeOfStation       SnmpAdminString,
          snMspsDasNameOfStation       SnmpAdminString,
  	  snMspsDasSignalTimeOut       Integer32,
  	  snMspsDasDhcpOrIp 	       INTEGER,
  	  snMspsDasIpStatus 	       INTEGER,
  	  snMspsDasNameStatus 	       INTEGER,
	  snMspsDasRemoteSystemStatus  RowStatus
 	}
  
snMspsDasHostMac OBJECT-TYPE
	SYNTAX       MacAddress
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION   
	  "Mac address of the remote system. This is an index of the table."
        ::= { snMspsDasRemoteSystemEntry 2 }

snMspsDasIpAddrType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The address type (IPv4/IPv6) to discover or configure from remote system."
        ::= { snMspsDasRemoteSystemEntry 3 }

snMspsDasIpAddr OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "IP address to discover or configure from remote system."
        ::= { snMspsDasRemoteSystemEntry 4 }
      
snMspsDasIpAddrPfxLen OBJECT-TYPE
        SYNTAX      InetAddressPrefixLength
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "Discovers the subnetmask of the remote IP address of remote system.
	       This object also can configure the subnetmask of remote system."
        ::= { snMspsDasRemoteSystemEntry 5 }

snMspsDasNextHopAddrType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "The address type (IPv4/IPv6) of IP discovered or configured from remote system."
        ::= { snMspsDasRemoteSystemEntry 6 }

snMspsDasNextHopAddr OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
              "Discovers the Gateway IP address of remote system. This object also can
	       configure the Gateway IP address of remote system."
        ::= { snMspsDasRemoteSystemEntry 7 }

snMspsDasTypeOfStation  OBJECT-TYPE
	SYNTAX      SnmpAdminString (SIZE(0..25))
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
	  "The string value used to identify the type of station description of given 
	   port associated with the remote system. The length of the string is 
	   restricted to 25."
	::= { snMspsDasRemoteSystemEntry 8 }

snMspsDasNameOfStation  OBJECT-TYPE
	SYNTAX      SnmpAdminString (SIZE(0..127))
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	  "The string value used to identify discovered remote sytem name information.
	   This object can configure remote system name. The string length is restricted
	   to 128 including '\0' character." 
	::= { snMspsDasRemoteSystemEntry 9 }

snMspsDasSignalTimeOut OBJECT-TYPE
        SYNTAX      Integer32 (5..60)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The signal time is provided to make the remote system blink for the configured 
	   time interval. The time interval to be configured multiples of 5.
	   As remote system device blink for approximate 2 to 3 Seconds."
        ::= { snMspsDasRemoteSystemEntry 10 }

snMspsDasDhcpOrIp OBJECT-TYPE
        SYNTAX      INTEGER {
			none (0),
			ip (1),
			dhcp (2)
			}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This object provides the remote system IP information, whether IP is 
	   dynamically allocated by DHCP or configured manually.
	   This option is fetched from the DCP packet." 
	DEFVAL  { none }
        ::= { snMspsDasRemoteSystemEntry 11 }

snMspsDasIpStatus OBJECT-TYPE
        SYNTAX      INTEGER {
			none (0),
			ipDiscovered (1),
			ipConfigured (2)
			}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This object provides the information, whether IP is discovered from the 
	   remote system or configured locally." 
	DEFVAL  { none }
        ::= { snMspsDasRemoteSystemEntry 12 }

snMspsDasNameStatus OBJECT-TYPE
        SYNTAX      INTEGER {
			none (0),
			nameDiscovered (1),
			nameConfigured (2)
			}
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This object provides the information, whether Name is discovered from the 
	   remote system or configured locally." 
	DEFVAL  { none }
        ::= { snMspsDasRemoteSystemEntry 13 }

snMspsDasRemoteSystemStatus OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	" The status of the row.
	NOT_READY, CREATE_AND_WAIT, CREATE_AND_GO and DESTROY are not allowed.
	Before changing the objects make the rowstatus as NOT_IN_SERVICE, fill the 
	objects and then make rowstatus ACTIVE.
	"
	::= { snMspsDasRemoteSystemEntry 14 }


-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------
	  snMspsEtherNetIPOperStatus OBJECT-TYPE
	      SYNTAX	    INTEGER   {
	      	 on (1),
		     off (2)		     
	      }
	      MAX-ACCESS	    read-only
	      STATUS	    current
	      DESCRIPTION
		     "Current Mode of EtherNet/IP"
	      ::= { snMspsEthernetIp 1 }

	  snMspsEtherNetIPAdminStatus OBJECT-TYPE
	      SYNTAX	    INTEGER   {
	      	 on (1),
		     off (2)	     
	      }
	      MAX-ACCESS	    read-write
	      STATUS	    current
	      DESCRIPTION
		     "Next Mode of EtherNet/IP after the next reboot takes place."
	      ::= { snMspsEthernetIp 2 }

	  snMspsEtherNetIPEncapsulationInactivityTimeout OBJECT-TYPE
		  SYNTAX      Integer32
		  UNITS       "seconds"
		  MAX-ACCESS  read-write
		  STATUS      current
		  DESCRIPTION
			 "Number of seconds of inactivity before TCP connection is closed"
		  DEFVAL { 120 }
		 ::= { snMspsEthernetIp 6 }
	
	  snMspsEtherNetIPHostName  OBJECT-TYPE
		  SYNTAX      OCTET STRING (SIZE(0..64)) 
		  MAX-ACCESS  read-write
		  STATUS      current
		  DESCRIPTION 
		  "The Host Name attribute contains the device's host name, which can be used for informational purposes." 
		 ::= { snMspsEthernetIp 9}     
		 
      	snMspsEtherNetIPDlrRingport1    OBJECT-TYPE
         SYNTAX                 INTEGER (1..65535)
         MAX-ACCESS  			read-write
         STATUS                 current
         DESCRIPTION
            "Index 1"
         ::= { snMspsEthernetIp 15 } 
         
        snMspsEtherNetIPDlrRingport2    OBJECT-TYPE
         SYNTAX                 INTEGER (1..65535)
         MAX-ACCESS             read-write 
         STATUS                 current
         DESCRIPTION
            "Index 2"
         ::= { snMspsEthernetIp 16 } 
         
       snMspsEtherNetIPDlrEnable OBJECT-TYPE
   		SYNTAX       INTEGER {
         	    	enable(1),
            	    disable(2)
               }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
        DEFVAL  {disable }
          ::= { snMspsEthernetIp 20 } 

       snMspsEtherNetIPDlrDscpTagStatus OBJECT-TYPE
   		SYNTAX       INTEGER {
         	    	enable(1),
            	    disable(2)
               }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
        DEFVAL  {disable }
          ::= { snMspsEthernetIp 22 } 
          
       snMspsEtherNetIPDlrDscpUrgent OBJECT-TYPE
        SYNTAX       INTEGER (0..63)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
          ::= { snMspsEthernetIp 23 }         
          
       snMspsEtherNetIPDlrDscpScheduled OBJECT-TYPE
        SYNTAX       INTEGER (0..63)               	     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
          ::= { snMspsEthernetIp 25 }   
          
       snMspsEtherNetIPDlrDscpHigh OBJECT-TYPE
		SYNTAX       INTEGER (0..63)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
          ::= { snMspsEthernetIp 27 }  
          
       snMspsEtherNetIPDlrDscpLow OBJECT-TYPE
		SYNTAX       INTEGER (0..63)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
          ::= { snMspsEthernetIp 28 }   
           
       snMspsEtherNetIPDlrDscpExplicit OBJECT-TYPE
		SYNTAX       INTEGER (0..63)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "This object informs whether the entry is active or inactive"
          ::= { snMspsEthernetIp 30 }   
          


-- ------------------------------------------------------------  
-- Textual Conventions
-- ------------------------------------------------------------ 

InnerVlanIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
        "A value used to represent the Inner VLAN that might be
         carried in a packet. 
         A value between 1 and 4094 inclusive, represents
         a valid vlan and is used only in cases where the
         switch understands and is capable of handling 
         double tagged packets.
         A value 0 is used in cases where the switch understands
         and is capable of handling only single tagged packets."
    SYNTAX      Unsigned32 (0..4094)


-- Instance Based Global Configuration Table 
 
      snMspsSnoopInstanceGlobalTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsSnoopInstanceGlobalEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains multicast forwarding mode configuration
             for each instance running in the snooping switch" 
          ::= { snMspsSnooping 1 } 
 
      snMspsSnoopInstanceGlobalEntry OBJECT-TYPE 
          SYNTAX      SnMspsSnoopInstanceGlobalEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains instance number and the multicast
             forwarding mode configuration for the particular instance"
             INDEX { snMspsSnoopInstanceGlobalInstId } 
          ::= { snMspsSnoopInstanceGlobalTable 1 } 
 
      SnMspsSnoopInstanceGlobalEntry ::= SEQUENCE { 
          snMspsSnoopInstanceGlobalInstId               Integer32,
          snMspsSnoopInstanceGlobalMcastFwdMode         INTEGER,
          snMspsSnoopInstanceGlobalSystemControl        INTEGER,
          snMspsSnoopInstanceGlobalLeaveConfigLevel     INTEGER,
          snMspsSnoopInstanceGlobalEnhancedMode	        INTEGER,
          snMspsSnoopInstanceGlobalReportProcessConfigLevel    INTEGER,
		  snMspsSnoopInstanceGlobalSparseMode           INTEGER
        } 
 
      snMspsSnoopInstanceGlobalInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Instance ID pertaining to the global configuration entry." 
           ::= { snMspsSnoopInstanceGlobalEntry 1 } 
      
      snMspsSnoopInstanceGlobalMcastFwdMode OBJECT-TYPE 
          SYNTAX      INTEGER  { ipbased(1), macbased(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Indicates the mode to be used for building the forwarding 
              table i.e, whether IP based or MAC address based.
              The hardware should support programming of S,G and *,G 
              entries for IGS/MLDS to operate in 'ipbased' mode. 
              If the hardware supports only MAC based multicast tables 
              then 'macbased' mode should be chosen."
           DEFVAL  { 2 } 
          ::= { snMspsSnoopInstanceGlobalEntry 2 } 

      snMspsSnoopInstanceGlobalSystemControl OBJECT-TYPE 
          SYNTAX      INTEGER  { start(1), shutdown(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "Snooping module is shutdown or started through this object. 
               When set to 'start', resources required by the device
               SNOOP module is allocated and the module starts running.   
               When set to 'shutdown', all the resources are released back 
               to the system and the module stops running."
          DEFVAL  { 1 } 
          ::= { snMspsSnoopInstanceGlobalEntry 3 } 

      snMspsSnoopInstanceGlobalLeaveConfigLevel OBJECT-TYPE 
          SYNTAX      INTEGER  { vlanbased(1), portbased(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "A global configuration to specify if the leave processing
               mechanism needs to be configured at the vlan level or at 
               the port level. 
               When this object is set to vlanbased, the mib object
               snMspsSnoopVlanFastLeave must be used to configure the leave
               mechanism. 
               When this object is set to portbased, the mib object
               snMspsSnoopPortLeaveMode must be used to configure the leave
               mechanism." 
          DEFVAL  { 1 } 
          ::= { snMspsSnoopInstanceGlobalEntry 4 } 

     snMspsSnoopInstanceGlobalEnhancedMode OBJECT-TYPE 
	     SYNTAX      INTEGER { enable (1), disable (2) }
	     MAX-ACCESS  read-create
	     STATUS      current 
	     DESCRIPTION 
		      "This object is used to enable or disable the snooping module 
               functioning in the enhanced mode.
               
               By default, the snooping module operates in the normal or 
               default mode. In the default mode, the module multicasts from 
               an Outer VLAN (SVLAN) to a set of ports. The Inner VLAN (CVLAN) 
               will typically have a value of zero. In this mode, an S-tagged 
               multicast data or query packet from one port can result in 
               multiple packets on separate egress ports, but only one packet 
               on any one egress port with an S-tag or with no tag.
		       
               Enabling this object causes the snooping module to operate in 
               the enhanced mode. The module multicasts from an Outer VLAN 
               (SVLAN) to a set of ports & Inner VLANs (CVLAN). In this mode, 
               an S-tagged multicast data or query packet from one port can 
               result in multiple copies of the packet on the same egress port, 
               each with a different C-tag. The Inner VLAN (CVLAN) will 
               typically have a valid value within the designated range. 
               However under certain scenarios, the Inner VLAN may also have a 
               value of zero.
               
               Disabling this object causes the snooping module to operate in 
               the default mode."
	DEFVAL { disable }
	::= { snMspsSnoopInstanceGlobalEntry 5}

     snMspsSnoopInstanceGlobalReportProcessConfigLevel OBJECT-TYPE 
         SYNTAX      INTEGER  { nonrouterports(1), allports(2) } 
         MAX-ACCESS  read-write 
         STATUS      current 
         DESCRIPTION 
              "A global configuration to specify if the report processing
               mechanism needs to be configured for the non-router ports or
               at the all ports level.
               When this object is set to non-router ports, the incoming
               report messages are process only on the non-router ports.
               When this object is set to all-ports, the incoming
               report messages are processed in all ports which includes
               router ports also.
               By default report messages were not processed on the router
               ports(i.e) report process config level is non-router-ports." 
          DEFVAL  { 1 } 
          ::= { snMspsSnoopInstanceGlobalEntry 6 }
           
      snMspsSnoopInstanceGlobalSparseMode OBJECT-TYPE 
	     SYNTAX      INTEGER { enable (1), disable (2) }
	     MAX-ACCESS  read-create
	     STATUS      current 
	     DESCRIPTION 
		      "This object is used to enable or disable the snooping module 
               functioning in the sparse mode.
               
               By default, the snooping module operates in the non-sparse
               mode. In the non-sparse mode, the module will be used to 
               forward the unknown multicast traffic when IGS is enabled 
               in the switch. In the sparse mode (i.e Sparse mode is enabled), 
               the module will be used to drop the unknown multicast traffic 
               when IGS is enabled in the switch.  
               
               Disabling this object causes the snooping module to operate in 
               the default mode."
	DEFVAL { disable }
	::= { snMspsSnoopInstanceGlobalEntry 7 } 
	
	  snMspsSnoopInstanceConfigTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF  SnMspsSnoopInstanceConfigEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains global configuration of snooping for each 
             instance running in switch" 
          ::= { snMspsSnooping 2 } 
 
      snMspsSnoopInstanceConfigEntry OBJECT-TYPE 
          SYNTAX      SnMspsSnoopInstanceConfigEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains instance number, address type and the list of 
             global configuration for the particular instance and address type"
             INDEX { snMspsSnoopInstanceConfigInstId,
                     snMspsSnoopInetAddressType } 
          ::= { snMspsSnoopInstanceConfigTable 1 } 
 
      SnMspsSnoopInstanceConfigEntry ::= SEQUENCE { 
          snMspsSnoopInstanceConfigInstId        Integer32,
          snMspsSnoopInetAddressType             InetAddressType,
          snMspsSnoopStatus                      INTEGER,
          snMspsSnoopProxyReportingStatus        INTEGER,
          snMspsSnoopRouterPortPurgeInterval     Integer32,
          snMspsSnoopPortPurgeInterval           Integer32,
          snMspsSnoopReportForwardInterval       Integer32,
          snMspsSnoopRetryCount                  Integer32,
          snMspsSnoopGrpQueryInterval            Integer32,
          snMspsSnoopReportFwdOnAllPorts         INTEGER,
          snMspsSnoopTraceOption                 Integer32,
          snMspsSnoopOperStatus                  INTEGER,
          snMspsSnoopSendQueryOnTopoChange       INTEGER,
          snMspsSnoopSendLeaveOnTopoChange       INTEGER,
          snMspsSnoopFilterStatus                INTEGER,
          snMspsSnoopMulticastVlanStatus         INTEGER,
          snMspsSnoopProxyStatus                 INTEGER,
          snMspsSnoopQueryFwdOnAllPorts          INTEGER,
          snMspsSnoopQuerierStatus               INTEGER,
          snMspsSnoopGlobalSnoopStatus           INTEGER
        } 
 
      snMspsSnoopInstanceConfigInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Instance ID pertaining to the global configuration entry."
           ::= { snMspsSnoopInstanceConfigEntry 1 } 
 
      snMspsSnoopInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Inet Address Type corresponding to  the global configuration entry. 
               This indicates whether the row is for IGMP/MLD Snooping"
           ::= { snMspsSnoopInstanceConfigEntry 2 } 
 
      snMspsSnoopStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables IGMP/MLD snooping in the system.
              When set to 'enabled', the device IGS/MLDS module starts 
              protocol operations.
              When set to 'disabled', the IGS/MLDS module stops performing 
              protocol operations."
          DEFVAL  { 2 } 
          ::= { snMspsSnoopInstanceConfigEntry 3 } 
 
      snMspsSnoopProxyReportingStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables proxy-reporting in the system.
              When proxy-reporting is 'enabled' the switch generates 
              reports and forwards them to the router based on the 
              available host information.
              When proxy-reporting is 'disabled' the switch forwards 
              all SSM (IGMPv3/MLDv2) and a single ASM (IGMPv2/MLDv1) 
              report to the router.
              Proxy-reporting can be enabled only if Proxy is disabled. "      
           DEFVAL  { 1 } 
          ::= { snMspsSnoopInstanceConfigEntry 4 } 

      snMspsSnoopRouterPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (60..600) 
          MAX-ACCESS  read-write 
          STATUS      deprecated 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              router port entry will be purged. For each router port learnt, 
              this timer runs for 'RouterPortPurgeInterval' seconds.When the 
              timer expires, the learnt router port entry is purged. However 
              if control messages are received from the router before the 
              timer expiry, then the timer is restarted.
              This object is deprecated and corresponding functionality is met
              using the objects in snMspsSnoopRtrPortTable. If configured,
              this value overrides the value used in snMspsSnoopRtrPortTable."
          DEFVAL  { 125 } 
          ::= { snMspsSnoopInstanceConfigEntry 5 } 
 
      snMspsSnoopPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (130..1225) 
          MAX-ACCESS  read-write 
          STATUS      deprecated 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              port entry will be purged. For each port on which report
              has been received, this timer runs for 'PortPurgeInterval'
              seconds. This timer will be restarted whenever a report 
              message is received from a host on the specific port. If 
              the timer expires, then , the learnt port entry  will 
              be purged from the multicast group.
              This object is deprecated and corresponding functionality is met
              using a read only object in snMspsSnoopVlanFilterTable. If configured,
              this value overrides the value used in snMspsSnoopVlanFilterTable."
          DEFVAL  {260} 
          ::= { snMspsSnoopInstanceConfigEntry 6 } 
 
      snMspsSnoopReportForwardInterval OBJECT-TYPE 
          SYNTAX      Integer32 (1..25) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This timer is used when both proxy and proxy-reporting is 
              disabled. The switch then has to suppress multiple 
              IGMPv2/ MLDv1 report messages for the same group from being 
              forwarded to the router.
              This is the interval (in seconds) within which report  
              messages for the same multicast group will not be forwarded. 
              The 'ReportForwardTimer' is per multicast group. This timer is 
              started as soon as a report message for that group is forwarded 
              out. Within this 'ReportForwardInterval' if another report for 
              the same group arrives, that report will not be forwarded." 
          DEFVAL  { 5 } 
          ::= { snMspsSnoopInstanceConfigEntry 7 } 
           
      snMspsSnoopRetryCount OBJECT-TYPE
          SYNTAX      Integer32 (1..5)
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION 
             "In proxy/proxy-reporting mode, when the switch receives leave 
              message on a port, it sends group specific query to check if 
              there are any other interested v2 receivers for the group. 
              This attribute defines the maximum number of queries sent by 
              the switch before deleting the port from the group membership 
              information in the forwarding database. If the maximum retry 
              count exceeds 'snMspsSnoopRetryCount', then the port will be deleted
              from the multicast group membership information in the 
              forwarding database and received leave message
              will be forwarded onto the router ports if there are no 
              interested receivers for the group." 
          DEFVAL  { 2 } 
          ::= { snMspsSnoopInstanceConfigEntry 8 } 

      snMspsSnoopGrpQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (2..5) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The value of this attribute defines the time period with which 
              the switch will send group specific queries on a port to check 
              if there are any intersted receivers. The switch will send 
              'snMspsSnoopRetryCount' queries before removing the port from the 
              group membership information in the forwarding database."
          DEFVAL  { 2 }
          ::= { snMspsSnoopInstanceConfigEntry 9 } 
 
      snMspsSnoopReportFwdOnAllPorts OBJECT-TYPE 
          SYNTAX      INTEGER  { allports(1), rtrports(2), nonedgeports(3) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "In snooping mode, Snooping module will forward reports only 
               on router ports by default. This object provides administrative
               control either to forward the reports on all the member ports of the 
               VLAN or to forward the report on SpanningTree non edge ports.
               This configuration will not be valid in proxy or proxy-reporting
               mode"
          DEFVAL  { 2 } 
          ::= { snMspsSnoopInstanceConfigEntry 10 } 

      snMspsSnoopTraceOption OBJECT-TYPE 
          SYNTAX      Integer32
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This object is used to enable trace statements in  
              snooping module. 
              A four byte integer is used for enabling the trace level.  
              Each bit in the four byte integer represents a particular  
              trace level.  
              The mapping between the bit positions & the trace level is  
              as follows:  
                      0 - Init and Shutdown traces 
                      1 - Management traces 
                      2 - Data Path traces 
                      3 - Control Plane traces 
                      4 - Packet Dump traces 
                      5 - Traces related to all resources except buffers 
                      6 - All Failure traces 
                      7 - Buffer allocation/release traces 
 
              The remaining bits are unused. Combination of levels are  
              also allowed. 
 
              For example if the bits 0 and 1 are set, then the trace 
              statement related to Init-Shutdown and management  
              will be printed. 
 
              The user has to enter the corresponding integer value for the 
              bits set. For example if bits 0 and 1 are to be set ,then user
              has to give the value 3." 
          ::= { snMspsSnoopInstanceConfigEntry 11 } 

      snMspsSnoopOperStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "The operational status of the IGS/MLDS protocol.
              The value enabled(1) indicates the IGS/MLDS module is currently
              enabled in the system.
              The value disable(1) indicates the IGS/MLDS module is currently
              disabled in the system."
          ::= { snMspsSnoopInstanceConfigEntry 12 } 

       snMspsSnoopSendQueryOnTopoChange OBJECT-TYPE
          SYNTAX      INTEGER  { enabled(1), disabled(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
             "The Snooping Switch can be configured to send IGMP/MLD General
              queries on all non router ports when spanning tree topology 
              change occurs in a network. If the spanning tree mode is RSTP, 
              IGMP/MLD general queries will be sent on all the non router ports 
              present in the switch.If the spanning tree mode is MSTP, IGMP/MLD 
              general queries will be sent on all the non router ports of the 
              VLAN mapped for the MSTP instance.When this object is set to 
              'enabled' ,the switch will generate general query messages. This 
              object cannot be enabled if snMspsSnoopSendLeaveOnTopoChange is 
              enabled. "
          DEFVAL  { 2 }
          ::= { snMspsSnoopInstanceConfigEntry 13 }

      snMspsSnoopSendLeaveOnTopoChange OBJECT-TYPE
          SYNTAX      INTEGER  { enabled(1), disabled(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "The Snooping Switch can be configured to issue an IGMP proxy 
              query solicitation on network ports, i.e. an IGMP Group Leave 
              with group address 0.0.0.0. This will indicate to the upstream 
              router that it immediately needs to send Group Specific queries, 
              which will result in populating the L2 multicast tables in the 
              snooping switch in order to speed up network convergence. This 
              object cannot be enabled if snMspsSnoopSendQueryOnTopoChange is 
              enabled. 
              This is not applicable for proxy-reporting and proxy."
          DEFVAL  { 2 }
          ::= { snMspsSnoopInstanceConfigEntry 14 }

      snMspsSnoopFilterStatus OBJECT-TYPE
          SYNTAX      INTEGER  { enabled(1), disabled(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
          "This object is used to enable/disable the IGS filtering feature. 
           Interface mapping configurations will not be affected by this object 
           status.
           When this object is disabled, filters will not be applied in this
           instance but the profile mapping and registration limits can be
           configured."
          DEFVAL  { disabled }
          ::= { snMspsSnoopInstanceConfigEntry 15 }

      snMspsSnoopMulticastVlanStatus OBJECT-TYPE
          SYNTAX      INTEGER  { enabled(1), disabled(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
          "This object is used to enable/disable the Multicast VLAN feature. 
           When Multicast VLAN feature is enabled, each incoming untagged report 
           or leave message will be classified to an M-VLAN, depending on 
           whether any M-VLAN configuration exists for the particular Group 
           and/or Source address, configured using the 
           snMspsSnoopVlanMulticastProfileId object. 
           When Multicast VLAN feature is disabled, the usual VLAN 
           classification rules apply."
          DEFVAL  { disabled }
          ::= { snMspsSnoopInstanceConfigEntry 16 }

      snMspsSnoopProxyStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This object enables or disables Proxy in the system.
              Proxy can be enabled only if Proxy-reporting is disabled.      
              In proxy mode, the switch act as querier for all 
              downstream interfaces, act as host for all 
              upstream interfaces.
              In proxy mode, switch sends out general query on all 
              downstream interfaces on every query interval and updates 
              membership database based on the reports received. 
              For upstream interfaces, when queried, proxy trasnmits 
              current state consolidated report. For any change in 
              membership databases, state change report is formed and 
              transmitted on upstream interfaces."
           DEFVAL  { 2 } 
          ::= { snMspsSnoopInstanceConfigEntry 17 } 

      snMspsSnoopQueryFwdOnAllPorts OBJECT-TYPE 
          SYNTAX      INTEGER  { allports(1), nonrtrports(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
              "In proxy and proxy reporting mode, Snooping module will send
               query messages only to the non-router ports by default.
               This object provides administrative control to forward the 
               query messages on all the member ports of the VLAN."
          DEFVAL  { 2 } 
          ::= { snMspsSnoopInstanceConfigEntry 18 } 

      snMspsSnoopQuerierStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The snooping switch can be configured to send IGMP/MLD queries
              when IGMP/MLD routers are not present in the snooping VLAN
              interfaces. When set to 'enabled' the switch will generate
              general query messages on all the snooping vlan interfaces.
              The query messages will be suppressed if the switch receives
              the query message from any other router in the VLAN. Switch
              should be configured as a querier only when there
              are no queriers in the network.
              This configuration is valid only in proxy reporting mode."
          DEFVAL  { 2 }
          ::= { snMspsSnoopInstanceConfigEntry 19 }

      snMspsSnoopGlobalSnoopStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables IGMP/MLD snooping in the system.
              This mib object controls snMspsSnoopStatus
              and snMspsSnoopVlanSnoopStatus. This Mib object is
              optional configuration.
              When set to 'enabled', the device IGS/MLDS module starts
              protocol operations, enables snMspsSnoopStatus and enables
              snMspsSnoopVlanSnoopStatus on all the layer 2 vlans.
              When set to 'disabled', the IGS/MLDS module snooping status
              can be controlled through the MIB objects snMspsSnoopStatus
              and snMspsSnoopVlanSnoopStatus.
              "
          DEFVAL  { 2 }
          ::= { snMspsSnoopInstanceConfigEntry 20 }

-- VLAN based filter table 
 
      snMspsSnoopVlanFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsSnoopVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains configuration of snooping
              on specific Vlans. This Table is valid only when VLAN is  
              enabled in the system." 
          ::= { snMspsSnooping 3 } 
 
      snMspsSnoopVlanFilterEntry OBJECT-TYPE 
          SYNTAX      SnMspsSnoopVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping status , version and fast leave
              configuration for a specific VLAN." 
          INDEX { snMspsSnoopVlanFilterInstId,
                  snMspsSnoopVlanFilterVlanId,
                  snMspsSnoopVlanFilterInetAddressType } 
          ::= { snMspsSnoopVlanFilterTable 1 } 
 
      SnMspsSnoopVlanFilterEntry ::= SEQUENCE { 
          snMspsSnoopVlanFilterInstId           Integer32, 
          snMspsSnoopVlanFilterVlanId           Integer32, 
          snMspsSnoopVlanFilterInetAddressType  InetAddressType,
          snMspsSnoopVlanSnoopStatus            INTEGER, 
          snMspsSnoopVlanOperatingVersion       INTEGER, 
          snMspsSnoopVlanCfgOperVersion         INTEGER, 
          snMspsSnoopVlanFastLeave              INTEGER,
          snMspsSnoopVlanQuerier                INTEGER, 
          snMspsSnoopVlanCfgQuerier             INTEGER, 
          snMspsSnoopVlanQueryInterval          Integer32, 
          snMspsSnoopVlanRtrPortList            PortList, 
          snMspsSnoopVlanRowStatus              RowStatus,
          snMspsSnoopVlanStartupQueryCount      Integer32,
          snMspsSnoopVlanStartupQueryInterval   Integer32,
          snMspsSnoopVlanOtherQuerierPresentInterval Integer32 
          } 

      snMspsSnoopVlanFilterInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
            "Instance ID pertaining to VLAN filter table entry."
           ::= { snMspsSnoopVlanFilterEntry 1 } 

      snMspsSnoopVlanFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
            " VLAN ID for which snooping configuration is to be done." 
           ::= { snMspsSnoopVlanFilterEntry 2 } 
 
      snMspsSnoopVlanFilterInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
            " Indicates whether the row belongs to IGS/MLD snooping" 
           ::= { snMspsSnoopVlanFilterEntry 3 } 
 
      snMspsSnoopVlanSnoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER { enabled(1), disabled(2) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enables or disables IGS/MLDS on that specific VLAN"  
           DEFVAL  { 1 }
           ::= { snMspsSnoopVlanFilterEntry 4 } 

      snMspsSnoopVlanOperatingVersion OBJECT-TYPE 
           SYNTAX      INTEGER { v1(1), v2(2), v3(3) } 
           MAX-ACCESS  read-only 
           STATUS      deprecated 
           DESCRIPTION 
               "Indicates the operating version of the IGS/MLDS switch for 
                a specific VLAN. The default operating mode on a specific VLAN 
                is IGMP version 3 i.e, V3(3) or MLD version 2 i.e, V2(2).
                This object is deprecated. Its functionality is met by 
                snMspsSnoopRtrPortOperVersion object."
           ::= { snMspsSnoopVlanFilterEntry 5 } 

      snMspsSnoopVlanCfgOperVersion OBJECT-TYPE 
           SYNTAX      INTEGER { v1(1), v2(2), v3(3) } 
           MAX-ACCESS  read-write 
           STATUS      deprecated 
           DESCRIPTION 
               "Indicates the operating version of the IGS/MLDS switch for 
                a specific VLAN. The default operating mode on a specific VLAN 
                is IGMP version 3 i.e, V3(3) or MLD version 2 i.e., V2(2). 
                The 'snMspsSnoopVlanCfgOperVersion' should be configured on the 
                basis of the router version present in the VLAN.
                This configuration should be used only when one router port 
                is existing in the VLAN. 
                This object is deprecated and corresponding functionality is met
                using snMspsSnoopRtrPortCfgOperVersion object available in 
                snMspsSnoopRtrPortTable. If configured, consolidated reports sent 
                on upstream interfaces will use this version." 
           DEFVAL  { 3 }
           ::= { snMspsSnoopVlanFilterEntry 6 } 

      snMspsSnoopVlanFastLeave OBJECT-TYPE 
           SYNTAX      INTEGER { enabled(1), disabled(2) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enables or disables fast leave for the VLAN. When it is 
                'disabled',on reception of a leave message the switch checks
                if they are any interested receivers for the group by sending 
                a group specific query before removing the port from the 
                forwarding table. If set to 'enabled', the switch does not 
                send a group specific query and immediately removes the port
                from the forwarding table."
           DEFVAL  { 2 }
           ::= { snMspsSnoopVlanFilterEntry 7 }

      snMspsSnoopVlanQuerier OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "Indicates whether the switch is configured as a querier in the VLAN"
          DEFVAL  { 2 } 
          ::= { snMspsSnoopVlanFilterEntry 8 } 

      snMspsSnoopVlanCfgQuerier OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The snooping switch can be configured to send IGMP/MLD queries 
              when IGMP/MLD routers are not present in the VLAN. When set to 
              'enabled' the switch will generate general query messages. 
              The query messages will be suppressed if the switch receives 
              the query message from any other router in the VLAN. Switch 
              should be configured as a querier for a VLAN only when there 
              are no queriers in the network.
              This configuration is valid only in proxy reporting mode."
          DEFVAL  { 2 } 
          ::= { snMspsSnoopVlanFilterEntry 9 } 

      snMspsSnoopVlanQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (60..600) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) for which the switch 
              sends general queries in proxy and proxy-reporting mode.
              In proxy-reporting mode, General queries will be sent
              on all downstream interfaces with this interval only if
              the switch is the Querier.   
              In proxy mode, switch will be querier for all downstream 
              interfaces. General queries will be sent on all downstream
              interfaces with this interval."   
          DEFVAL  { 125 } 
          ::= { snMspsSnoopVlanFilterEntry 10 } 

      snMspsSnoopVlanRtrPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which are configured statically as router ports.
	       statically. This object may not be sufficient to represent the
	       full set of interfaces in each switch instance in environments
	       where the number of interfaces in the system is scaled to a
	       large value."
           ::= { snMspsSnoopVlanFilterEntry 11 } 

      snMspsSnoopVlanRowStatus OBJECT-TYPE 
           SYNTAX      RowStatus 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "The status of a row in the VLAN filter table. Using this 
                object, new entries can be created in the VLAN filter table 
                and the existing entries can be removed from the 
                VLAN filter table"
           ::= { snMspsSnoopVlanFilterEntry 12 } 
      
      snMspsSnoopVlanStartupQueryCount OBJECT-TYPE 
          SYNTAX      Integer32 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The Startup Query Count is the number of Queries sent out on 
             startup, separated by the Startup Query Interval. 
             The default value is the Robustness."
          DEFVAL  { 2 } 
          ::= { snMspsSnoopVlanFilterEntry 13 } 
          
      snMspsSnoopVlanStartupQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (15..150) 
          UNITS       "seconds"
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Interval between the general query messages sent by the switch 
              during startup of querier election process.
              This value must be <= (Query Interval/4)"
          DEFVAL  { 32 } 
          ::= { snMspsSnoopVlanFilterEntry 14 } 

      snMspsSnoopVlanOtherQuerierPresentInterval OBJECT-TYPE 
          SYNTAX      Integer32 (120..1235) 
          UNITS       "seconds"
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The Other Querier Present Interval is the length of time that 
             must pass before a multicast router decides that there is no 
             longer another multicast router which should be the querier. 
             This value must be >= ((Robustness Variable * Query Interval) 
              + (Query Response Interval/2)).
             Maximum value for the object varies for IGS and MLDS. 
             For IGS, the max value supported is 1215. 
             For MLDS, the max value supported is 1235.
             The default value for the object is same for both IGS and MLDS."
          DEFVAL  { 255 } 
          ::= { snMspsSnoopVlanFilterEntry 15 }   
          
-- The Extention table for VLAN based FilterEntry

      snMspsSnoopVlanFilterXTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF SnMspsSnoopVlanFilterXEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
             "This table is an extention table of snMspsSnoopVlanFilterTable"
          ::= { snMspsSnooping 4 }

      snMspsSnoopVlanFilterXEntry OBJECT-TYPE
          SYNTAX      SnMspsSnoopVlanFilterXEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
             "Each entry contains configurations for specific VLANs"
          AUGMENTS    { snMspsSnoopVlanFilterEntry }
          ::= { snMspsSnoopVlanFilterXTable 1 }

      SnMspsSnoopVlanFilterXEntry ::= SEQUENCE {
          snMspsSnoopVlanBlkRtrPortList             PortList,
          snMspsSnoopVlanFilterMaxLimitType         INTEGER,
          snMspsSnoopVlanFilterMaxLimit             Unsigned32,
          snMspsSnoopVlanFilter8021pPriority        Integer32,
          snMspsSnoopVlanFilterDropReports          INTEGER,
          snMspsSnoopVlanMulticastProfileId         Unsigned32,
          snMspsSnoopVlanPortPurgeInterval          Integer32,
          snMspsSnoopVlanMaxResponseTime            Integer32,
	  snMspsSnoopVlanRtrLocalPortList           PortList,
	  snMspsSnoopVlanBlkRtrLocalPortList        PortList
      }

      snMspsSnoopVlanBlkRtrPortList OBJECT-TYPE
          SYNTAX      PortList
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "List of ports which are configured statically as blocked router
               ports statically. This object may not be sufficient to represent 
	       full set of interfaces in each switch instance in environments
	       where the number of interfaces in the system is scaled to a
	       large value."
          ::= { snMspsSnoopVlanFilterXEntry 1 }       

      snMspsSnoopVlanFilterMaxLimitType OBJECT-TYPE
          SYNTAX      INTEGER { none(0), groups(1), channels(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "Indicates the type of limit to be applied on this VLAN. 
               Setting as 'channels' indicates that the limit is set for 
               channel (group, source) registrations whereas setting as 
               'groups' indicates that the limit is set for groups. The
               channel limit will be applied only for IGMPv3 Include &
               Allow reports whereas the group limit will be applied for 
               all IGMP reports. 
               By default, this object has a value of 0 ('none') and no 
               limiting is done i.e. the value of snMspsSnoopVlanFilterMaxLimit
               is ignored when this object is set to 'none'."
          DEFVAL { none }
          ::= { snMspsSnoopVlanFilterXEntry 2 }

      snMspsSnoopVlanFilterMaxLimit OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "Sets the maximum number of unique entries (channel or group) 
              that can be learned simultaneously on this VLAN. The 
              snMspsSnoopVlanFilterMaxLimitType must be set before configuring 
              this object. If snMspsSnoopVlanFilterMaxLimitType is 'channels', 
              this limit applies to number of channels that can be joined 
              on this VLAN. If snMspsSnoopVlanFilterMaxLimitType is 'groups', 
              this limit applies to number of groups that can be joined on 
              this VLAN.
              By default, this object will hold a value of zero and will 
              not limit any IGMP packets as long as the value of 
              snMspsSnoopVlanFilterMaxLimitType is set to 'none'. However, when
              snMspsSnoopVlanFilterMaxLimitType is set to 'groups' or 'channels',
              if this object has the value of zero, then no IGMP reports will
              be processed on this interface.
              The maximum value supported by this object is dependent on the 
              maximum groups or channels registrations that the system can 
              support."
         DEFVAL { 0 }
          ::= { snMspsSnoopVlanFilterXEntry 3 }

      snMspsSnoopVlanFilter8021pPriority OBJECT-TYPE
          SYNTAX      Integer32 (0..7)
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "Configures the priority with which the reports assigned to this
              VLAN should be processed by the hardware as well as by the
              upstream router. Priority 0 means lowest priority while priority
              7 means highest priority. This value will be used to update the
              priority bits in the ethernet header."
          DEFVAL  { 7 }
          ::= { snMspsSnoopVlanFilterXEntry 4 }

      snMspsSnoopVlanFilterDropReports OBJECT-TYPE
          SYNTAX      INTEGER  { none(0), igmpv1(1), igmpv2(2), all(3) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "Some implementations might require that IGMPv1 should not be
              supported, as IGMPv1 does not have any group leaving mechanism.
              Some other implementations might require that both IGMPv1 and
              IGMPv2 reports should be dropped, as they do not support SSM.
              So in such cases, this object can be used. If set to 'igmpv1', 
              incoming IGMPv1 Reports will be dropped. If set to 'igmpv2', 
              both IGMPv1 reports and IGMPv2 reports will be dropped. 
              In case there is no need to process any reports (for 
              diagnostic purposes or so), this object can be set to 'all'."
          DEFVAL { 0 }
          ::= { snMspsSnoopVlanFilterXEntry 5 }

      snMspsSnoopVlanMulticastProfileId OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-write
          STATUS      current 
          DESCRIPTION 
               "This object contains the multicast profile id configured for a 
               particular VLAN and is used for multicast vlan classification.
               When any untagged report or leave message is received (i.e. packet 
               with no tag in a Customer Bridge or packet with no S-tag in a 
               Provider or 802.1ad Bridge), and if the Group & Source address in
               the received packet matches any rule in this profile, then the
               received packet is classified to be associated to the VLAN (that is,
               Multicast VLAN) to which this profile is mapped.
               By default, no profile is associated to any VLAN."
          DEFVAL { 0 }
          ::= { snMspsSnoopVlanFilterXEntry 6 }

       snMspsSnoopVlanPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              port entry will be purged. For each port on which report
              has been received,this timer runs for 'PortPurgeInterval'
              seconds. This timer will be restarted whenever a report 
              message is received from a host on the specific port. If 
              the timer expires, then , the learnt port entry  will 
              be purged from the multicast group." 
          ::= { snMspsSnoopVlanFilterXEntry 7 } 

      snMspsSnoopVlanMaxResponseTime OBJECT-TYPE
         SYNTAX     Integer32 (0..65025)
         MAX-ACCESS read-create
         STATUS     current
         DESCRIPTION
             "The maximum response code advertised in queries send over this
             vlan.This object is used to configure max response code for
             both IGS and MLDS.Minimum value for the object is zero for both
             IGS and MLDS. Max value and defualt value for the object varries
             for IGS and MLDS. 
             For IGS, the max value supported is 255. The default value is 
             100.Its unit is in tenths of a  second.
             For MLDS, the max value supported is 65025. The default value 
             is 10000. Its unit is in milliseconds."
         ::= { snMspsSnoopVlanFilterXEntry 8 }

      snMspsSnoopVlanRtrLocalPortList OBJECT-TYPE
           SYNTAX      PortList
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
               "List of ports which are configured statically as router ports. 
	       Each bit in this object represent interfaces denoted by the 
	       object snMspsVcHlPortId associated to the instance identifier 
	       denoted by snMspsSnoopVlanFilterInstId. This object alone 
	       should be referred in environments where the number of 
	       interfaces in the system is scaled to a large value , as the 
	       object snMspsSnoopVlanRtrPortList may not be sufficient to represent 
	       the full set of interfaces in each switch instance."
           ::= { snMspsSnoopVlanFilterXEntry 9 }

      snMspsSnoopVlanBlkRtrLocalPortList OBJECT-TYPE
          SYNTAX      PortList
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "List of ports which are configured statically as blocked router 
	      ports. Each bit in this object represent interfaces denoted by 
	      the object snMspsVcHlPortId associated to the instance identifier 
	      denoted by snMspsSnoopVlanFilterInstId. This object alone should be 
	      referred in environments where the number of interfaces in the 
	      system is scaled to a large value, as the object 
	      snMspsSnoopVlanBlkRtrPortList may not be sufficient to represent the 
	      full set of interfaces in each switch instance."
           ::= { snMspsSnoopVlanFilterXEntry 10 }
          
-- ---------------------------- 
-- Snoop Port Config Table 
-- ----------------------------

       snMspsSnoopPortTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF SnMspsSnoopPortEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains Port-related configurable information.
                This table is applicable only when the snooping module is 
                operating in the default Mode. This table MUST NOT be 
                configured when the snooping module is operating in the 
                enhanced mode."
         ::= { snMspsSnooping 5 } 

       snMspsSnoopPortEntry OBJECT-TYPE 
        SYNTAX      SnMspsSnoopPortEntry 
        MAX-ACCESS  not-accessible 
        STATUS      current 
        DESCRIPTION 
       "This table contains the list of paramter/attribute objects 
             that can be configured on a port."
        INDEX { snMspsSnoopPortIndex, 
                  snMspsSnoopPortInetAddressType }
        ::= { snMspsSnoopPortTable 1 }

       SnMspsSnoopPortEntry ::= SEQUENCE {
           snMspsSnoopPortIndex                 InterfaceIndex,
           snMspsSnoopPortInetAddressType       InetAddressType,
           snMspsSnoopPortLeaveMode             INTEGER,
           snMspsSnoopPortRateLimit             Unsigned32,
           snMspsSnoopPortMaxLimitType          INTEGER,
           snMspsSnoopPortMaxLimit              Unsigned32,
           snMspsSnoopPortProfileId             Unsigned32,
           snMspsSnoopPortMemberCnt             Unsigned32,
           snMspsSnoopPortMaxBandwidthLimit     Unsigned32,
           snMspsSnoopPortDropReports           INTEGER,
           snMspsSnoopPortRowStatus             RowStatus
         }

      snMspsSnoopPortIndex OBJECT-TYPE
           SYNTAX      InterfaceIndex
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The interface index of the port."
           ::= { snMspsSnoopPortEntry 1 }

      snMspsSnoopPortInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current
           DESCRIPTION 
              "Inet Address Type corresponding to this interface configuration  
               entry. This indicates whether the row is for IGMP/MLD Snooping"
           ::= { snMspsSnoopPortEntry 2 } 

      snMspsSnoopPortLeaveMode OBJECT-TYPE 
           SYNTAX      INTEGER { 
                                   explicithosttrack (1),
                                   fastleave (2),
                                   normalleave (3) 
                                 }
           MAX-ACCESS    read-write
           STATUS        current
           DESCRIPTION
              "Sets the mechanism to be used for processing the leave messages
              in the down stream interface. 
              
              When this object is set to 'explicitHostTrack', then the leave 
              messages are processed using the explicit host tracking 
              mechanism.
              When this object is set to 'fastLeave', the leave messages
              are processed by the fast leave mechanism.
              When this object is set to 'normalLeave', for every
              leave message received, a group or group specific query is sent
              on the interface.  
              
              This object can be configured only when
              snMspsSnoopInstanceGlobalLeaveConfigLevel is set to portbased.
              This object is applicable only for processing the igmp v2 leave 
              messages. For igmpv3 reports, the explicit host tracking 
              functionality is always performed for tracking the source 
              registrations and it cannot be disabled (i.e.) configuration 
              using this object has no effect."
           DEFVAL { normalleave }
           ::= { snMspsSnoopPortEntry 3 }

       snMspsSnoopPortRateLimit OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "Configures the rate-limit for a downstream interface in 
               units of the number of IGMP packets per second. By default, 
               this object will hold the maximum value supported by an 
               unsigned integer and will not rate limit any IGMP packets. 
               The actual rate supported, however, will depend on what the 
               system can support. If this object is configured as zero, then 
               no IGMP packets will be processed on this interface."
           DEFVAL { 4294967295 }
              ::= { snMspsSnoopPortEntry 4 }

      snMspsSnoopPortMaxLimitType OBJECT-TYPE 
           SYNTAX      INTEGER { none(0), groups(1), channels(2) } 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
              "Indicates the type of limit to be applied on this interface. 
               Setting as 'channels' indicates that the limit is set for 
               channel (group, source) registrations whereas setting as 
               'groups' indicates that the limit is set for groups.
               The channel limit will be applied only for IGMPv3 Include &
               Allow reports whereas the group limit will be applied for
               all IGMP reports.
               By default, this object has a value of 0 ('none') and no 
               limiting is done i.e. the value of snMspsSnoopPortMaxLimit
               is ignored when this object is set to 'none'."
           DEFVAL { none }
               ::= { snMspsSnoopPortEntry 5 } 

      snMspsSnoopPortMaxLimit OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Configures the maximum number of unique entries (channel or 
               group) that can be learned simultaneously on this interface. 
               The snMspsSnoopPortMaxLimitType must be set before configuring 
               this object. However the Max-limit is configurable even if the 
               limit type is 'none', but the limit won't be in effect unless 
               the limit type is set as 'channels' or 'groups'. 

               If snMspsSnoopPortMaxLimitType is 'channels', 
               this limit applies to number of channels that can be joined 
               on this interface. If snMspsSnoopPortMaxLimitType is 'groups', 
               this limit applies to number of groups that can be joined on 
               this interface.
               
               By default, this object will hold a value of zero and will 
               not limit any IGMP packets as long as the value of 
               snMspsSnoopPortMaxLimitType is set to 'none'. However, when
               snMspsSnoopPortMaxLimitType is set to 'groups' or 'channels',
               if this object has the value of zero, then no IGMP reports will
               be processed on this interface.
               The maximum value supported by this object is dependent on the 
               maximum groups or channels registrations that the system can 
               support."
          DEFVAL { 0 }
           ::= { snMspsSnoopPortEntry 6 }

       snMspsSnoopPortProfileId	OBJECT-TYPE
            SYNTAX      	Unsigned32
                 MAX-ACCESS  	read-write	
                 STATUS      	current 
                 DESCRIPTION 
                  "The multicast profile index configured for the downstream 
                  interface. This profile contains a set of allowed or denied 
                  rules which are to be applied for the IGMP packets received 
                  through this downstream interface. By default, no profiles 
                  are applied on the interface."
                 DEFVAL { 0 }
                   ::= { snMspsSnoopPortEntry 7 }

       snMspsSnoopPortMemberCnt OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION
              "Provides the total number of groups or channels active on the
               interface at the given time."
           ::= { snMspsSnoopPortEntry 8 }

       snMspsSnoopPortMaxBandwidthLimit OBJECT-TYPE
           SYNTAX      Unsigned32
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "Sets the Maximum bandwidth allowed on this port for Multicast.
               The snMspsSnoopPortMaxLimitType must be set before configuring 
               this object. If the snMspsSnoopPortMaxLimitType is 'channels', 
               this limit applies to the bandwidth of channels going through 
               the port. It means that both Source as well as Group will be 
               considered for getting the configured bandwidth of multicast 
               data. If the snMspsSnoopPortMaxLimitType is 'groups', only 
               Group address will be considered for getting the configured 
               bandwidth of multicast data. Whenever a join comes, the 
               bandwidth corresponding to the joined channel or group, will be 
               reserved on the port. No new joins will be accepted, if the 
               reserved bandwidth gets greater that the configured 
               MaxBandwidth."
           ::= { snMspsSnoopPortEntry 9 }

       snMspsSnoopPortDropReports OBJECT-TYPE
           SYNTAX      INTEGER { allow(1), drop(2) }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION
              "This object decides whether to process or drop the
              IGMP reports coming on this port."
           DEFVAL { 1 }
           ::= { snMspsSnoopPortEntry 10 }

       snMspsSnoopPortRowStatus   OBJECT-TYPE 
           SYNTAX     RowStatus
           MAX-ACCESS read-create 
           STATUS     current 
           DESCRIPTION 
              "The status of a row in the Port Config table. Using this object, 
              new entries can be created or existing entries can be removed 
                 from the Port Config Table. "  
           ::= { snMspsSnoopPortEntry 11 }

-- ------------------------------------------------------------------ 
-- Snoop Enhanced Port Config Table 
-- ------------------------------------------------------------------ 

       snMspsSnoopEnhPortTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SnMspsSnoopEnhPortEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
               "This table contains Port-related configurable information.
                This table is applicable only when the snooping module is 
                operating in the enhanced Mode. This table MUST NOT be 
                configured when the snooping module is operating in the 
                default mode."
             ::= { snMspsSnooping 6 } 

      snMspsSnoopEnhPortEntry OBJECT-TYPE 
          SYNTAX      SnMspsSnoopEnhPortEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
               "This table contains the list of paramter/attribute objects that 
               can be configured on an interface."
          INDEX {
                    snMspsSnoopEnhPortIndex,
                    snMspsSnoopEnhPortInnerVlanId,
                    snMspsSnoopEnhPortInetAddressType
                   }
          ::= { snMspsSnoopEnhPortTable 1 }

      SnMspsSnoopEnhPortEntry ::= SEQUENCE {
            snMspsSnoopEnhPortIndex              InterfaceIndex,
            snMspsSnoopEnhPortInnerVlanId        InnerVlanIndex,
            snMspsSnoopEnhPortInetAddressType    InetAddressType,
            snMspsSnoopEnhPortLeaveMode          INTEGER,
            snMspsSnoopEnhPortRateLimit          Unsigned32,
            snMspsSnoopEnhPortMaxLimitType       INTEGER,
            snMspsSnoopEnhPortMaxLimit           Unsigned32,
            snMspsSnoopEnhPortProfileId          Unsigned32,
            snMspsSnoopEnhPortMemberCnt          Unsigned32,
            snMspsSnoopEnhPortMaxBandwidthLimit  Unsigned32,
            snMspsSnoopEnhPortDropReports        INTEGER,
            snMspsSnoopEnhPortRowStatus          RowStatus
      }

      snMspsSnoopEnhPortIndex OBJECT-TYPE
           SYNTAX      InterfaceIndex
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The interface index of the port."
           ::= { snMspsSnoopEnhPortEntry 1 }

      snMspsSnoopEnhPortInnerVlanId OBJECT-TYPE
           SYNTAX      InnerVlanIndex
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The Inner VLAN Identifier."
           ::= { snMspsSnoopEnhPortEntry 2 }

      snMspsSnoopEnhPortInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current
           DESCRIPTION 
              "Inet Address Type corresponding to this interface configuration 
               entry. This indicates whether the row is for IGMP/MLD Snooping"
           ::= { snMspsSnoopEnhPortEntry 3 } 

      snMspsSnoopEnhPortLeaveMode OBJECT-TYPE 
           SYNTAX      INTEGER { 
                                   explicithosttrack (1),
                                   fastleave (2),
                                   normalleave (3) 
                                 }
           MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
              "Sets the mechanism to be used for processing the leave messages
              in the down stream interface. 
              
              When this object is set to 'explicitHostTrack', then the leave 
              messages are processed using the explicit host tracking 
              mechanism.
              When this object is set to 'fastLeave', the leave messages
              are processed by the fast leave mechanism.
              When this object is set to 'normalLeave', for every
              leave message received, a group or group specific query is sent
              on the interface.  
              
              This object can be configured only when
              snMspsSnoopInstanceGlobalLeaveConfigLevel is set to portbased.
              This object is applicable only for processing the igmp v2 leave 
              messages. For igmpv3 reports, the explicit host tracking 
              functionality is always performed for tracking the source 
              registrations and it cannot be disabled.
              For the v3 INCLUDE NONE reports the leave handling behavior is
              similar to the v2 leave messages for the leave modes
              'explicitHostTrack' and 'fastLeave'. For the leave mode
              'normalLeave' query message is not sent on the interface
              and only the host registered for the multicast group is removed"            DEFVAL { normalleave }
            ::= { snMspsSnoopEnhPortEntry 4 }

       snMspsSnoopEnhPortRateLimit OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "Configures the rate-limit for a downstream interface in 
               units of the number of IGMP packets per second. By default, 
               this object will hold the maximum value supported by an 
               unsigned integer and will not rate limit any IGMP packets. 
               The actual rate supported, however, will depend on what the 
               system can support. If this object is configured as zero, then 
               no IGMP packets will be processed on this interface."
            DEFVAL { 4294967295 }
               ::= { snMspsSnoopEnhPortEntry 5 }

       snMspsSnoopEnhPortMaxLimitType OBJECT-TYPE 
            SYNTAX      INTEGER { none(0), groups(1), channels(2) } 
            MAX-ACCESS  read-write
            STATUS      current 
            DESCRIPTION 
              "Indicates the type of limit to be applied on this interface. 
               Setting as 'channels' indicates that the limit is set for 
               channel (group, source) registrations whereas setting as 
               'groups' indicates that the limit is set for groups. 
               The channel limit will be applied only for IGMPv3 Include &
               Allow reports whereas the group limit will be applied for
               all IGMP reports.
               By default, this object has a value of 0 ('none') and no 
               limiting is done i.e. the value of snMspsSnoopEnhPortMaxLimit
               is ignored when this object is set to 'none'."
            DEFVAL { none }
               ::= { snMspsSnoopEnhPortEntry 6 } 

       snMspsSnoopEnhPortMaxLimit OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
              "Configures the maximum number of unique entries (channel or 
               group) that can be learned simultaneously on this interface. 
               The snMspsSnoopEnhPortMaxLimitType must be set before configuring 
               this object. However the Max-limit is configurable even if the 
               limit type is 'none', but the limit won't be in effect unless 
               the limit type is set as 'channels' or 'groups'. 

               If snMspsSnoopEnhPortMaxLimitType is 'channels', 
               this limit applies to number of channels that can be joined 
               on this interface. If snMspsSnoopEnhPortMaxLimitType is 'groups', 
               this limit applies to number of groups that can be joined on 
               this interface.
               
               By default, this object will hold a value of zero and will 
               not limit any IGMP packets as long as the value of 
               snMspsSnoopEnhPortMaxLimitType is set to 'none'. However, when
               snMspsSnoopEnhPortMaxLimitType is set to 'groups' or 'channels',
               if this object has the value of zero, then no IGMP reports will
               be processed on this interface.
               The maximum value supported by this object is dependent on the 
               maximum groups or channels registrations that the system can 
               support."
          DEFVAL { 0 }
               ::= { snMspsSnoopEnhPortEntry 7 }

       snMspsSnoopEnhPortProfileId	OBJECT-TYPE
           SYNTAX       Unsigned32
           MAX-ACCESS   read-write
           STATUS       current 
           DESCRIPTION 
             "The multicast profile index configured for the downstream 
                interface. This profile contains a set of allowed or denied 
                rules which are to be applied for the IGMP packets received 
                through this downstream interface. By default, no profiles 
                are applied on the interface."
           DEFVAL { 0 }
             ::= { snMspsSnoopEnhPortEntry 8 }

        snMspsSnoopEnhPortMemberCnt OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
               "Provides the total number of groups or channels active on the
                interface at the given time."
            ::= { snMspsSnoopEnhPortEntry 9 }

        snMspsSnoopEnhPortMaxBandwidthLimit OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
              "Sets the Maximum bandwidth allowed on this port for Multicast.
               The snMspsSnoopEnhPortMaxLimitType must be set before configuring 
               this object. If the snMspsSnoopEnhPortMaxLimitType is 'channels', 
               this limit applies to the bandwidth of channels going through 
               the port. It means that both Source as well as Group will be 
               considered for getting the configured bandwidth of multicast 
               data. If the snMspsSnoopEnhPortMaxLimitType is 'groups', only 
               Group address will be considered for getting the configured 
               bandwidth of multicast data. Whenever a join comes, the 
               bandwidth corresponding to the joined channel or group, will be 
               reserved on the port. No new joins will be accepted, if the 
               reserved bandwidth gets greater that the configured 
               MaxBandwidth."
            ::= { snMspsSnoopEnhPortEntry 10 }

        snMspsSnoopEnhPortDropReports OBJECT-TYPE
            SYNTAX      INTEGER { allow(1), drop(2) }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
               "This object decides whether to process or drop the
               IGMP reports coming on this port."
            DEFVAL { 1 }
            ::= { snMspsSnoopEnhPortEntry 11 }

       snMspsSnoopEnhPortRowStatus   OBJECT-TYPE 
            SYNTAX      RowStatus
            MAX-ACCESS  read-create 
            STATUS      current 
            DESCRIPTION 
              "The status of a row in the Port Config table. Using this object, 
              new entries can be created or existing entries can be removed 
                from the Port Config Table. "  
            ::= { snMspsSnoopEnhPortEntry 12 }


-- ------------------------------------------------------------------ 
-- Snoop Proxy Upstream Router Port Table
-- ------------------------------------------------------------------ 

       snMspsSnoopRtrPortTable OBJECT-TYPE 
            SYNTAX      SEQUENCE OF SnMspsSnoopRtrPortEntry 
            MAX-ACCESS  not-accessible 
            STATUS      current 
            DESCRIPTION 
               "This table contains upstream Router Port-related
               configurable information. Router port entry in this table 
               will be created when the router port is either learnt 
               dynamically or when the router port is statically 
               configured through 'snMspsSnoopVlanRtrPortList'.Only static
               router ports will be restored during save restore."
            ::= { snMspsSnooping 7 } 

       snMspsSnoopRtrPortEntry OBJECT-TYPE 
            SYNTAX          SnMspsSnoopRtrPortEntry 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
               "This table contains the upstream router port operating
                and configured version of IGMP."

            INDEX {
                    snMspsSnoopRtrPortIndex,
                    snMspsSnoopRtrPortVlanId,
                    snMspsSnoopRtrPortInetAddressType
                   }
             ::= { snMspsSnoopRtrPortTable 1 }

       SnMspsSnoopRtrPortEntry ::= SEQUENCE {
            snMspsSnoopRtrPortIndex              InterfaceIndex,
            snMspsSnoopRtrPortVlanId             VlanIndex,
            snMspsSnoopRtrPortInetAddressType    InetAddressType,
            snMspsSnoopRtrPortOperVersion        INTEGER,
            snMspsSnoopRtrPortCfgOperVersion     INTEGER,
            snMspsSnoopOlderQuerierInterval      Integer32,
            snMspsSnoopV3QuerierInterval         Integer32
       }

      snMspsSnoopRtrPortIndex OBJECT-TYPE
           SYNTAX      InterfaceIndex
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The interface index of the port which is defined
                as an upstream router port."
           ::= { snMspsSnoopRtrPortEntry 1 }

      snMspsSnoopRtrPortVlanId OBJECT-TYPE
           SYNTAX      VlanIndex
           MAX-ACCESS  not-accessible
           STATUS      current
           DESCRIPTION
               "The VLAN Identifier for the upstream router port"
           ::= { snMspsSnoopRtrPortEntry 2 }

      snMspsSnoopRtrPortInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current
           DESCRIPTION 
              "Inet Address Type corresponding to  the global configuration 
               entry. This indicates whether the row is for IGMP/MLD Snooping"
           ::= { snMspsSnoopRtrPortEntry 3 } 

       snMspsSnoopRtrPortOperVersion OBJECT-TYPE 
            SYNTAX      INTEGER { v1(1), v2(2), v3(3) }
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
              "Indicates the operating version of the IGMP Proxy 
               on the upstream router port. Operating version is used by the
               Proxy to send consolidated reports on the router ports.
               Operating version of the router port will change based on the 
               the version of query messages received on that port.
               Otherwise it will be set to the configured version of IGMP on the
               router port. 
               The default operating mode is IGMP version 3
               i.e, V3(3) or MLD version 2 i.e, V2(2)."
            DEFVAL { 3 }
            ::= { snMspsSnoopRtrPortEntry 4 }

       snMspsSnoopRtrPortCfgOperVersion OBJECT-TYPE 
            SYNTAX      INTEGER { v1(1), v2(2), v3(3) }
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "Indicates the configured version of the IGMP Proxy 
            on the upstream router port.The default operating mode is
            IGMP version 3 i.e, V3(3) or MLD version 2 i.e, V2(2). The
            'snMspsSnoopRtrPortCfgOperVersion' should be configured on the
            basis of the router version present in the router port.The 
            value configured for static router alone will be stored 
            and restored."
            DEFVAL { 3 }
            ::= { snMspsSnoopRtrPortEntry 5 }

      snMspsSnoopOlderQuerierInterval OBJECT-TYPE 
            SYNTAX     Integer32 (60..600) 
            MAX-ACCESS read-write 
            STATUS     current 
            DESCRIPTION 
            "The time interval after which proxy assumes that there are no 
            v1/v2 routers present on the upstream port.While OlderQuerierTimer is 
            running, proxy will reply to all queries with consolidated
            v1/v2 (oper version) reports.   
            On time-out, if v2/v3 queriers are not present and if the port 
            is a dynamically learnt port, then it will be purged. 
            Else, proxy will reply to all the queries with consolidated
            reports with the new oper version (v2/v3).The 
            value configured for static router alone will be stored 
            and restored." 
            DEFVAL { 125 }
            ::= { snMspsSnoopRtrPortEntry 6 } 

     snMspsSnoopV3QuerierInterval OBJECT-TYPE 
            SYNTAX     Integer32
            MAX-ACCESS read-only 
            STATUS     current 
            DESCRIPTION 
            "The time interval after which proxy assumes that there are no 
            IGMPv3 routers present on the upstream port.While V3QuerierTimer is 
            running, proxy will reply to all queries with consolidated 
            v1/v2/v3 (oper version) reports.
            On time-out, if v1/v2 queriers are not present and if the port
            is a dynamically learnt upstream port, then the port will be purged.
            Else, proxy will reply to all the queries with consolidated 
            reports with the new oper version (v1/v2). " 
            ::= { snMspsSnoopRtrPortEntry 7 }

-- IGMP Snooping Switch IP Address
 
      snMspsSnoopSwitchIpAddress OBJECT-TYPE 
          SYNTAX      IpAddress 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
            "This will be used as source IP address for IGMP Snooping packets
             Default value for this object is 10.0.0.1. Configuring of IP Address 0.0.0.0
             is not allowed. Configuration of SwitchIP Address will result in
             restarting of snooping instances"
          ::= { snMspsSnooping 8 } 

---------------------------------------------------
-- VLAN Based Static  Multicast Forwarding Table 
---------------------------------------------------

      snMspsSnoopVlanStaticMcastGrpTable OBJECT-TYPE 
           SYNTAX      SEQUENCE OF SnMspsSnoopVlanStaticMcastGrpEntry 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "This table contains IP based multicast forwarding 
              information." 
           ::= { snMspsSnooping 9 } 

      snMspsSnoopVlanStaticMcastGrpEntry OBJECT-TYPE 
               SYNTAX      SnMspsSnoopVlanStaticMcastGrpEntry 
               MAX-ACCESS  not-accessible 
               STATUS      current 
               DESCRIPTION 
                  "This table contains VLAN ID, unicast source address , 
                  multicast group address and the list of ports onto which the 
                  multicast data packets for group should be forwarded."  

      INDEX { snMspsSnoopVlanStaticMcastGrpInstId,
         snMspsSnoopVlanStaticMcastGrpVlanId,
         snMspsSnoopVlanStaticMcastGrpAddressType,     
         snMspsSnoopVlanStaticMcastGrpSourceAddress,  
         snMspsSnoopVlanStaticMcastGrpGroupAddress } 
         ::= { snMspsSnoopVlanStaticMcastGrpTable 1 } 

      SnMspsSnoopVlanStaticMcastGrpEntry ::= SEQUENCE { 
         snMspsSnoopVlanStaticMcastGrpInstId        Integer32,
         snMspsSnoopVlanStaticMcastGrpVlanId        Integer32,
         snMspsSnoopVlanStaticMcastGrpAddressType   InetAddressType, 
         snMspsSnoopVlanStaticMcastGrpSourceAddress InetAddress, 
         snMspsSnoopVlanStaticMcastGrpGroupAddress  InetAddress, 
         snMspsSnoopVlanStaticMcastGrpPortList      PortList,
         snMspsSnoopVlanStaticMcastGrpRowStatus     RowStatus 
         } 

      snMspsSnoopVlanStaticMcastGrpInstId OBJECT-TYPE 
         SYNTAX     Integer32 (1..255) 
         MAX-ACCESS  not-accessible 
         STATUS      current 
         DESCRIPTION 
         "Instance ID pertaining to the Multicast forwarding entry.
         Currently only one instance is supported so it is always 1" 
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 1 } 

      snMspsSnoopVlanStaticMcastGrpVlanId OBJECT-TYPE 
         SYNTAX      Integer32 (1..4094) 
         MAX-ACCESS  not-accessible 
         STATUS      current 
         DESCRIPTION 
         "VLAN ID pertaining to the Multicast forwarding entry"  
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 2 } 

      snMspsSnoopVlanStaticMcastGrpAddressType OBJECT-TYPE 
         SYNTAX      InetAddressType 
         MAX-ACCESS  not-accessible 
         STATUS      current 
         DESCRIPTION 
         "InetAddressType pertaining to the Multicast forwarding entry"  
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 3 } 

      snMspsSnoopVlanStaticMcastGrpSourceAddress OBJECT-TYPE 
         SYNTAX      InetAddress 
         MAX-ACCESS  not-accessible 
         STATUS      current 
         DESCRIPTION 
         "Unicast source address of the data source that sends
         multicast data for this group"
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 4 } 

      snMspsSnoopVlanStaticMcastGrpGroupAddress OBJECT-TYPE 
         SYNTAX      InetAddress 
         MAX-ACCESS  not-accessible 
         STATUS      current 
         DESCRIPTION 
         "IP/IPv6 multicast group address" 
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 5 } 

      snMspsSnoopVlanStaticMcastGrpPortList OBJECT-TYPE 
         SYNTAX       PortList 
         MAX-ACCESS  read-write 
         STATUS      current 
         DESCRIPTION 
         "List of ports onto which the multicast data
         packets destined for this source and group will be forwarded."  
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 6 } 

      snMspsSnoopVlanStaticMcastGrpRowStatus OBJECT-TYPE
         SYNTAX       RowStatus
         MAX-ACCESS   read-create
         STATUS       current
         DESCRIPTION
          "The row status variable, used according to
         row installation and removal conventions."
         ::= { snMspsSnoopVlanStaticMcastGrpEntry 7 }


             

        

-- snMspsRmon 1-2 reserved

		snMspsRmonEnableStatus OBJECT-TYPE
              SYNTAX  INTEGER { rmonenabled(1), rmondisabled(2) } 
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the rmonenable flag for rmon" 

         ::=  { snMspsRmon  3 }

		snMspsRmonHwStatsSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the flag for whether HW supports
                   Etherstatistics or not   "

         ::=  { snMspsRmon  4 }
 
         snMspsRmonHwHistorySupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWhistorysupp flag for rmon"

         ::=  { snMspsRmon  5 }
 
         snMspsRmonHwAlarmSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWAlarmsupp flag for rmon"

         ::=  { snMspsRmon  6 }

-- snMspsRmon 7-9 reserved

         snMspsRmonHwEventSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWEvent flag for rmon"

         ::=  { snMspsRmon  10 }

         snMspsRmon2AdminStatus OBJECT-TYPE
              SYNTAX  INTEGER { 
                      enabled(1),
                      disabled(2)
                      } 
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the admin status for rmon2." 
              DEFVAL  { disabled }
         ::=  { snMspsRmon  11 }

         snMspsDsmonAdminStatus OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) } 
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the admin status for dsmon"
              DEFVAL { 2 }
 
         ::=  { snMspsRmon  12 }

                
    
-- --------------------------------------------------------------
-- snMspsQosPortPrio
-- --------------------------------------------------------------
snMspsCosPortPrioRemapEnable OBJECT-TYPE
		SYNTAX INTEGER {
		enabled(1),
		disabled(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Enables/Disables Cos priority port remapping "
		DEFVAL {disabled}
		::= { snMspsQosCosPort 1 }		

snMspsCosPortPrioRemapTable OBJECT-TYPE
		SYNTAX SEQUENCE OF SnMspsCosPortPrioRemapEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION "Table containing prio of cos of each port"
		::= { snMspsQosCosPort 2 }

snMspsCosPortPrioRemapEntry OBJECT-TYPE
		SYNTAX SnMspsCosPortPrioRemapEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION "Interface entry containing objects at the subnetwork layer and below for a particular interface."
		INDEX { snMspsCosPortIndex }
		::= { snMspsCosPortPrioRemapTable 1 }
		
SnMspsCosPortPrioRemapEntry ::= SEQUENCE {
		snMspsCosPortIndex INTEGER,
		snMspsCosPortPrio0Remap INTEGER,
		snMspsCosPortPrio1Remap INTEGER,
		snMspsCosPortPrio2Remap INTEGER,
		snMspsCosPortPrio3Remap INTEGER,
		snMspsCosPortPrio4Remap INTEGER,
		snMspsCosPortPrio5Remap INTEGER,
		snMspsCosPortPrio6Remap INTEGER,
		snMspsCosPortPrio7Remap INTEGER
		}
		
snMspsCosPortIndex OBJECT-TYPE
		SYNTAX INTEGER (1..4094)
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION "Indicates the port index."
		::= { snMspsCosPortPrioRemapEntry 1 }
		
snMspsCosPortPrio0Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 0."
		DEFVAL {0}
		::= { snMspsCosPortPrioRemapEntry 2 }
		
snMspsCosPortPrio1Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 1."
		DEFVAL {1}
		::= { snMspsCosPortPrioRemapEntry 3 }
		
snMspsCosPortPrio2Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 2."
		DEFVAL {2}
		::= { snMspsCosPortPrioRemapEntry 4 }
		
snMspsCosPortPrio3Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 3."
		DEFVAL {3}
		::= { snMspsCosPortPrioRemapEntry 5 }
		
snMspsCosPortPrio4Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 4."
		DEFVAL {4}
		::= { snMspsCosPortPrioRemapEntry 6 }
		
snMspsCosPortPrio5Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 5."
		DEFVAL {5}
		::= { snMspsCosPortPrioRemapEntry 7 }
		
snMspsCosPortPrio6Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 6."
		DEFVAL {6}
		::= { snMspsCosPortPrioRemapEntry 8 }
		
snMspsCosPortPrio7Remap OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Indicates the forced prio of each frame on this port with incoming prio 7."
		DEFVAL {7}
		::= { snMspsCosPortPrioRemapEntry 9 }


    
-- --------------------------------------------------------------
-- snMspsQosAgentMacPriority
-- --------------------------------------------------------------

snMspsAgentMacPriority OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Priority that is forced for all frames from/towards agent MAC address"
		DEFVAL {4}
		::= { snMspsQosAgentMac 1 }			

    
-- --------------------------------------------------------------
-- snMspsQosBcastPriority
-- --------------------------------------------------------------
	
snMspsBcastPriority OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Broadcast priority that is forced for all broad cast frames in case forcing is enabled"
		DEFVAL {0}
		::= { snMspsQosBcast 1 }

    
-- --------------------------------------------------------------
-- snMspsQosSchedulingMode
-- --------------------------------------------------------------
snMspsSchedulingMode OBJECT-TYPE
		SYNTAX INTEGER {
		weightedfair(1),
		strict(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Specifies the switch scheduling mechanism"
		DEFVAL {strict}
		::= { snMspsQosSchedule 1 }				



snMspsLoopDSystem             OBJECT IDENTIFIER ::= { snMspsLoopDetection 1 }
snMspsLoopDPort               OBJECT IDENTIFIER ::= { snMspsLoopDetection 2 }

-- --------------------------------------------------------------
-- LoopDSystem Sub-Group
-- --------------------------------------------------------------
snMspsLoopDGlobalEnable OBJECT-TYPE
      SYNTAX        INTEGER {
          enabled(1),
          disabled(2)
      }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Global enable/disable for the loop detection protocol."
      DEFVAL        { disabled }
      ::= { snMspsLoopDSystem 1 }
 
snMspsLoopDVlanEnable OBJECT-TYPE
      SYNTAX        INTEGER {
          enabled(1),
          disabled(2)
      }
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Flag to indicate whether the loop detection frames are sent 
                     untagged only or on all VLANs the ports are members of."
      DEFVAL        { disabled }
      ::= { snMspsLoopDSystem 2 }
    
-- --------------------------------------------------------------
-- LoopDPortConfig Sub-Group
-- --------------------------------------------------------------
snMspsLoopDPortTable OBJECT-TYPE
      SYNTAX        SEQUENCE OF SnMspsLoopDPortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION   "Table of ports for which simple loop detection occurs on."
      ::= { snMspsLoopDPort 3 }

snMspsLoopDPortEntry OBJECT-TYPE
      SYNTAX        SnMspsLoopDPortEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION   "Loop detection port entry."
      INDEX         { snMspsLoopDPortIfIndex }
      ::= { snMspsLoopDPortTable 1 }

SnMspsLoopDPortEntry ::= SEQUENCE {
      snMspsLoopDPortIfIndex             INTEGER,
      snMspsLoopDPortEnable              INTEGER, 
      snMspsLoopDTransmissionInterval    INTEGER,
      snMspsLoopDPortDetectThreshold     INTEGER, 
      snMspsLoopDPortReactionTimeout     INTEGER,
      snMspsLoopDPortReactionLocal       INTEGER, 
      snMspsLoopDPortReactionRemote      INTEGER,   
      snMspsLoopDPortReset               INTEGER,
      snMspsLoopDPortState               INTEGER,
	  snMspsLoopDPortIncomingPortIndex   INTEGER,
      snMspsLoopDPortIncomingVlanId      INTEGER
      }
  
snMspsLoopDPortIfIndex OBJECT-TYPE
      SYNTAX        INTEGER (1..65535)
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION   "Port on which loop detection occurs on."
      ::= { snMspsLoopDPortEntry 1 }
 
snMspsLoopDPortEnable OBJECT-TYPE
      SYNTAX        INTEGER {
        loopdPortBlocked(1),
        loopdPortForwarder(2),
        loopdPortSender(3)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Value indicate whether the port entry is disabled (blocked) for 
                    loop detection, is enabled for forwarding only (sender) or is 
		    enabled for both sending and forwarding (forwarder)." 
      DEFVAL        { loopdPortForwarder }
      ::= { snMspsLoopDPortEntry 2 }
       
snMspsLoopDTransmissionInterval OBJECT-TYPE
      SYNTAX        INTEGER (500..5000)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "The interval (in Milliseconds) for which loop detection 
                    occurs on a certain port or VLAN."
      DEFVAL        { 1000 }
      ::= { snMspsLoopDPortEntry 3 }   

snMspsLoopDPortDetectThreshold OBJECT-TYPE
      SYNTAX        INTEGER (1..500)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "Once the number of loop detection packets received on 
                    this port reaches this threshold action will be taken."        
      DEFVAL        { 2 }
      ::= { snMspsLoopDPortEntry 4 }
      
snMspsLoopDPortReactionTimeout OBJECT-TYPE
      SYNTAX        INTEGER (0..86400)
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "The timeout (in seconds) the port action will be rolled  
                    back after a loop has been detected.
                    If timeout is 0 the port action will not be rolled back."
      DEFVAL        { 0 }
      ::= { snMspsLoopDPortEntry 5 } 
 
snMspsLoopDPortReactionLocal OBJECT-TYPE
      SYNTAX        INTEGER {
        loopdNoAction(1),
        loopdPortDisable(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "The action that will take place after a local loop has 
                    been detected."
      DEFVAL        { loopdPortDisable }
      ::= { snMspsLoopDPortEntry 6 }    
      
snMspsLoopDPortReactionRemote OBJECT-TYPE
      SYNTAX        INTEGER {
        loopdNoAction(1),
        loopdPortDisable(2)
      } 
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION   "The action that will take place after a remote loop has 
                    been detected."
      DEFVAL        { loopdPortDisable }
      ::= { snMspsLoopDPortEntry 7 } 

snMspsLoopDPortReset OBJECT-TYPE   
      SYNTAX        INTEGER { 
        loopdPortNoAction(1),
        loopdPortReset(2)
      } 
      MAX-ACCESS    read-write 
      STATUS        current
      DESCRIPTION   "If a port has been disabled due to a detected loop, the 
                    port can be reenabled"
      DEFVAL        { loopdPortNoAction }
      ::= { snMspsLoopDPortEntry 8 } 
                                                                                     
snMspsLoopDPortState OBJECT-TYPE   
      SYNTAX        INTEGER { 
        loopdDisabled(1),
        loopdActive(2),
        loopdDetectedLocalLoop(3),
        loopdDetectedRemoteLoop(4)
      } 
      MAX-ACCESS    read-only 
      STATUS        current
      DESCRIPTION   "Actual loop detection state of the port"
      DEFVAL        { loopdDisabled }
      ::= { snMspsLoopDPortEntry 9 } 
                                                                                     
snMspsLoopDPortIncomingPortIndex OBJECT-TYPE
      SYNTAX        INTEGER
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION   "Port ID of the port packet the last action causing packet 
                    was received."
      ::= { snMspsLoopDPortEntry 10 } 
      
snMspsLoopDPortIncomingVlanId OBJECT-TYPE
      SYNTAX        INTEGER(1..4096)
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION   "VLAN ID the last action causing packet was received."
      ::= { snMspsLoopDPortEntry 11 }                        

-- --------------------------------------------------------------
-- END of LoopDPortConfig Sub-Group
-- --------------------------------------------------------------
-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------

snMspsTrapLOOPDStateChange      NOTIFICATION-TYPE
     STATUS                  current 
         DESCRIPTION
            "Device changed LOOPD state."
         ::= { snMspsTrapPrefix 2251 }

-- -------------------------------------------------------------
-- END OF SNMPv2 Notifications
-- -------------------------------------------------------------
    



-- PSE Objects

  snMspsPoePsePortTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnMspsPoePsePortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A private extension of standard pethPsePortTable."
       ::= { snMspsPoe 1 }

   snMspsPoePsePortEntry OBJECT-TYPE
       SYNTAX      SnMspsPoePsePortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A set of objects that display the power
               characteristics of a power Ethernet PSE port."
       AUGMENTS    { pethPsePortEntry }
         ::= { snMspsPoePsePortTable 1 }

   SnMspsPoePsePortEntry ::= SEQUENCE {
       snMspsPoePsePortPower
           Gauge32,
       snMspsPoePsePortVoltage
           Gauge32,
       snMspsPoePsePortCurrent
           Gauge32,
	   snMspsPoePsePortMaximumPower
	       INTEGER,
	   snMspsPoePsePortMaximumPowerUsed
		   TruthValue,
	   snMspsPoePsePortMaximumUserPowerLimit
	   	   INTEGER,
       snMspsPoePsePortPowerClassificationsPrimary
           INTEGER,		   
       snMspsPoePsePortPowerClassificationsSecondary
           INTEGER,
       snMspsPoePsePortDualSignaturePD
           TruthValue		   
          }

	snMspsPoePsePortPower OBJECT-TYPE
       SYNTAX      Gauge32  (1..65535)
       UNITS      "Milliwatts"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Measured power usage of ports expressed in Milliwatts."
       ::= { snMspsPoePsePortEntry 15 }
   
   	snMspsPoePsePortVoltage OBJECT-TYPE
       SYNTAX      Gauge32  (1..65535)
       UNITS      "Volts"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Measured voltage usage of ports expressed in Volts."
       ::= { snMspsPoePsePortEntry 16 }
	
	snMspsPoePsePortCurrent OBJECT-TYPE
       SYNTAX      Gauge32  (1..65535)
       UNITS      "Milliamps"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Measured current usage of ports expressed in Milliamps."
       ::= { snMspsPoePsePortEntry 17 }
	   
	snMspsPoePsePortMaximumPower OBJECT-TYPE 
	    SYNTAX      INTEGER (0..30) 
		UNITS      "W" 
		MAX-ACCESS  read-write 
		STATUS      current 		
		DESCRIPTION 
			 "The maximum power that can be assigned to devices connected to this port in Watts" 
		DEFVAL    { 0 }
  	   ::= { snMspsPoePsePortEntry 18 }
	   
	snMspsPoePsePortMaximumPowerUsed OBJECT-TYPE 
        SYNTAX      TruthValue 
        MAX-ACCESS  read-write 
        STATUS      current         
        DESCRIPTION 
        "Determines if snMspsPoePsePortMaximumPower is used to limit the power delivered to the device connected to this port" 
		DEFVAL    { false } 
       ::= { snMspsPoePsePortEntry 19 }
       
    snMspsPoePsePortMaximumUserPowerLimit OBJECT-TYPE 
	    SYNTAX      INTEGER 
	   	MAX-ACCESS  read-only 
		STATUS      current 		
		DESCRIPTION 
			 "The maximum user power limit" 
 	   ::= { snMspsPoePsePortEntry 24 }

    snMspsPoePsePortPowerClassificationsPrimary OBJECT-TYPE
    	SYNTAX INTEGER   {
               class0(1),
               class1(2),
               class2(3),
               class3(4),
               class4(5),
               class5(6),
               class6(7),
               class7(8),
               class8(9),
               class9(10),
               unknown(100)
    	}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Classification is a way to tag different terminals on the
			Power over LAN network according to their power consumption.

			This variable is valid only while a PD is being powered,
			that is, while the attribute pethPsePortDetectionStatus
			is reporting the enumeration deliveringPower."
		REFERENCE
			"IEEE Std 802.3af Section 30.9.1.1.6
			aPSEPowerClassification"
		::= { snMspsPoePsePortEntry 30 }

    snMspsPoePsePortPowerClassificationsSecondary OBJECT-TYPE
    	SYNTAX INTEGER   {
			class0(1),
			class1(2),
			class2(3),
			class3(4),
			class4(5),
			class5(6),
			class6(7),
			class7(8),
			class8(9),
			class9(10),
			unknown(100)
    	}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Classification is a way to tag different terminals on the
			Power over LAN network according to their power consumption.

			This variable is valid only while a PD is being powered,
			that is, while the attribute pethPsePortDetectionStatus
			is reporting the enumeration deliveringPower."
		REFERENCE
			"IEEE Std 802.3af Section 30.9.1.1.6
			aPSEPowerClassification"
		::= { snMspsPoePsePortEntry 35 }


	snMspsPoePsePortDualSignaturePD OBJECT-TYPE
		SYNTAX TruthValue
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"true (1) A dual signature PD is connected to the port
			 false(2) no dual signature PD is connected to the port"
		::= { snMspsPoePsePortEntry 40 }

-- Main PSE Objects

snMspsPoeMainPseTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnMspsPoeMainPseEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A private extension of standard pethMainPseTable."
       ::= { snMspsPoe 3 }

   snMspsPoeMainPseEntry OBJECT-TYPE
       SYNTAX      SnMspsPoeMainPseEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            "A set of objects that display the power characteristics of a PSE. "
       AUGMENTS    { pethMainPseEntry }
       ::= { snMspsPoeMainPseTable 1 }

   SnMspsPoeMainPseEntry ::= SEQUENCE {
       snMspsPoeMainPseAllocatedPower Gauge32,
       snMspsPoeMainPseMaximumPower INTEGER,
       snMspsPoeMainPseDescription DisplayString
   }
  
   snMspsPoeMainPseAllocatedPower OBJECT-TYPE
       SYNTAX      Gauge32  (1..65535)
       UNITS      "Watts"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "There is a certain power that needs to be allocated (reserved) 
               for each PSE basing on pethPsePortPowerClassifications 
               (like for Class 0,3 needs 15,4 Watts) of PD(Powered Devices) 
               connected to it"
       ::= { snMspsPoeMainPseEntry 6 }
       
    snMspsPoeMainPseMaximumPower OBJECT-TYPE
     SYNTAX      INTEGER (1..65535)
     UNITS      "Watts"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
             "The maximum power that can be assigned to devices connected to a PSE"
     ::= { snMspsPoeMainPseEntry 8 }
     
   snMspsPoeMainPseDescription OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
             "Description of a PSE"
     ::= { snMspsPoeMainPseEntry 10 }

-- -------------------------------------------------------------
-- SNMPv2 Notifications
-- -------------------------------------------------------------

snMspsTrapPoeStateChange NOTIFICATION-TYPE
		STATUS                  current
		DESCRIPTION "Poe state change notification."
 ::= { snMspsTrapPrefix 3051 }




snMspsCableTesterVCT OBJECT IDENTIFIER     ::=  { snMspsCableTester 1 }
snMspsCableTesterVCTTDR OBJECT IDENTIFIER     ::=  { snMspsCableTesterVCT 1 }

-- --------------------------------------------------------------
-- VCTControlTable Sub-Group
-- -------------------------------------------------------------- 


snMspsCableTesterVCTTDRControlTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnMspsCableTesterVCTTDRControlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION "Table containing per-port objects for virtual cable test feature
                uses Time Domain Reflectometry to determine the quality of cables,
                connectors, and terminations. Test can not be performed on fiber 
		based interfaces. Test causes a link down!"
        ::= { snMspsCableTesterVCTTDR 10  }

snMspsCableTesterVCTTDRControlEntry  OBJECT-TYPE
        SYNTAX  SnMspsCableTesterVCTTDRControlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION "Interface entry containing objects for a particular
                interface."
        INDEX   { snMspsCableTesterVCTTDRControlPortIndex }
        ::= { snMspsCableTesterVCTTDRControlTable 1 }

SnMspsCableTesterVCTTDRControlEntry ::= SEQUENCE {
        snMspsCableTesterVCTTDRControlPortIndex    INTEGER,
        snMspsCableTesterVCTTDRControlTrigger      INTEGER
        }

snMspsCableTesterVCTTDRControlPortIndex  OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "Unique number for each interface. The number for each interface must remain
                constant at least from one re-initialization of the entity's
                network management system to the next re-initialization."
        ::= { snMspsCableTesterVCTTDRControlEntry 1 }
                
snMspsCableTesterVCTTDRControlTrigger  OBJECT-TYPE
        SYNTAX  INTEGER {
          no-operation(1),
          test-port(2),
          port-under-test(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Objekt to trigger the virtual cable test: 
                no-operation(1) no operation,
                test-port(2) start a virtual cable test on the selected port,
                port-under-test(3) a virtual cable test is currently running."

        ::= { snMspsCableTesterVCTTDRControlEntry 2 }
        
-- --------------------------------------------------------------
-- VCTResultTable Sub-Group
-- --------------------------------------------------------------
        
snMspsCableTesterVCTTDRResultTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SnMspsCableTesterVCTTDRResultEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION "Table containing per-port and per-pair result objects for virtual cable test feature
                uses Time Domain Reflectometry to determine the quality of cables,
                connectors, and terminations.Test can not be performed on fiber based interfaces. 
                Test causes a link down!"
        ::= { snMspsCableTesterVCTTDR 11 }

snMspsCableTesterVCTTDRResultEntry  OBJECT-TYPE
        SYNTAX  SnMspsCableTesterVCTTDRResultEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION "Interface entry containing objects for a particular
                interface."
        INDEX   { snMspsCableTesterVCTTDRResultPortIndex,
                  snMspsCableTesterVCTTDRResultCablePairIndex }
        ::= { snMspsCableTesterVCTTDRResultTable 1 }

SnMspsCableTesterVCTTDRResultEntry ::= SEQUENCE {
        snMspsCableTesterVCTTDRResultPortIndex         INTEGER,
        snMspsCableTesterVCTTDRResultCablePairIndex    INTEGER,    
        snMspsCableTesterVCTTDRResultStatus            INTEGER,
        snMspsCableTesterVCTTDRResultLength            INTEGER,
        snMspsCableTesterVCTTDRResultDistance          INTEGER
        }

snMspsCableTesterVCTTDRResultPortIndex  OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION "Unique number for each interface. The number for each interface must remain
                constant at least from one re-initialization of the entity's
                network management system to the next re-initialization."
        ::= { snMspsCableTesterVCTTDRResultEntry 1 } 

snMspsCableTesterVCTTDRResultCablePairIndex  OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION "Unique number for each cable pair on the interface."
        ::= { snMspsCableTesterVCTTDRResultEntry 2 }       

snMspsCableTesterVCTTDRResultStatus  OBJECT-TYPE
        SYNTAX  INTEGER {
          cableNotTested(1),
          cableTestFail(2),
          cableTestNormal(3),
          cableTestImpedanceMismatch(4),
          cableTestOpen(5),
          cableTestShort(6),
	  cableTestShortWithPair0(7),
	  cableTestShortWithPair1(8),
	  cableTestShortWithPair2(9),
	  cableTestShortWithPair3(10)
          }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "Current status of the virtual cable test: 
                cableNotTested(1) test not performed,
                cableTestFail(2) test not performed successfully,
                cableTestNormal(3) test performed - passed,
                cableTestImpedanceMismatch(4) test performed - impedance mismatch,
                cableTestOpen(5) test performed - open in cable,
                cableTestShort(6) test performed - short in cable,
                cableTestShortWithPair0(7) test performed - short in TX cable with RX pair 0,
                cableTestShortWithPair1(8) test performed - short in TX cable with RX pair 1,
                cableTestShortWithPair2(9) test performed - short in TX cable with RX pair 2,
                cableTestShortWithPair3(10) test performed - short in TX cable with RX pair 3"
        ::= { snMspsCableTesterVCTTDRResultEntry 3 }
        
snMspsCableTesterVCTTDRResultLength  OBJECT-TYPE
        SYNTAX  INTEGER {
          lengthLessThan50m(1),
          length50m-80m(2),
          length80m-110m(3),
          length110m-140m(4),
          lengthMoreThan140m(5),
          lengthUnknown(6)
        }
        MAX-ACCESS  read-only
        STATUS  current    
        DESCRIPTION "Current measured cable length of the virtual cable test, which performed passed: 
                lengthLessThan50m(1) tested length less than 50m,
                length50m-80m(2) tested length between 50m and 80m,
                length80m-110m(3) tested length between 80m and 110m,
                length110m-140m(4) tested length between 110m and 140m,
                lengthMoreThan140m(5) tested length more than 140m,
                lengthUnknown(6) length unknown or not tested."
        ::= { snMspsCableTesterVCTTDRResultEntry 4 }

snMspsCableTesterVCTTDRResultDistance  OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  read-only
        STATUS  current    
        DESCRIPTION "Current measured cable length of the virtual cable test, which performed 
                with a cableTestImpedanceMismatch, cableTestOpen or cableTestShort.
                The distance is shown in meter."
        ::= { snMspsCableTesterVCTTDRResultEntry 5 }


-- ----------------------
-- snMspsDiagnostics.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- object definitions for environmental data
--
-- Copyright (c) 2013 Siemens AG
-- All rights reserved.
-- ----------------------------------------------------------------------
--
-- MIB Module :   SN-MSPS-DIAGNOSTICS-MIB
--
-- Revision   :   V0.0.0.2
-- Date       :   2018/02/26 
-- 
-- ----------------------------------------------------------------------


	snMspsDiagnosticsUsageTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF SnMspsDiagnosticsUsageEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"Environmental data of the device and connected parts"
		::= {snMspsDiagnostics 3}

	snMspsDiagnosticsUsageEntry OBJECT-TYPE
		SYNTAX		SnMspsDiagnosticsUsageEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"A set of objects that contain usage data of one part of the device"
		INDEX                       { snMspsDiagnosticsUsageIndex }
		::= { snMspsDiagnosticsUsageTable 1}

	SnMspsDiagnosticsUsageEntry::= SEQUENCE {
		snMspsDiagnosticsUsageIndex			Integer32,
		snMspsDiagnosticsUsagePresent		TruthValue,
		snMspsDiagnosticsUsageName			SnmpAdminString, 
		snMspsDiagnosticsUsageStatus		INTEGER, 
		snMspsDiagnosticsUsageValue			Integer32, 
		snMspsDiagnosticsUsageHighWarning	Integer32,
		snMspsDiagnosticsUsageHighCritical	Integer32
		}

	snMspsDiagnosticsUsageIndex OBJECT-TYPE
		SYNTAX          Integer32 (0..65535) 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Index variable"
		::= {  snMspsDiagnosticsUsageEntry 1 }
			
	snMspsDiagnosticsUsagePresent OBJECT-TYPE
		SYNTAX          TruthValue 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Shows if the part is present"
		::= {  snMspsDiagnosticsUsageEntry 4 }
			
	snMspsDiagnosticsUsageName OBJECT-TYPE
		SYNTAX          SnmpAdminString 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Original part description"
		::= {  snMspsDiagnosticsUsageEntry 7 }
			
	snMspsDiagnosticsUsageStatus OBJECT-TYPE
		SYNTAX INTEGER {
			ok(1),
			warning(2),
			critical(3),
			invalid(4),
			initial(5)
		}
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION	"Status of the usage values read from the part
			ok(1): No threshold is violated
			warning(2): The warning threshold is violated
			critical(3): The critical threshold is violated
			invalid(4): Reading the environmental data failed
			initial(5): No data environmental data was read yet"
		::= {  snMspsDiagnosticsUsageEntry 10 }

	snMspsDiagnosticsUsageValue OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Current load/usage value of the part"
		::= {  snMspsDiagnosticsUsageEntry 13 }

	snMspsDiagnosticsUsageHighWarning OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Warning threshold for the load/usage of the part. There will be a warning if SnMspsDiagnosticsUsageValue exceeds this value"
		::= {  snMspsDiagnosticsUsageEntry 16 }

	snMspsDiagnosticsUsageHighCritical OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Critical threshold for the load/usage of the part. There will be an alert if SnMspsDiagnosticsUsageValue exceeds this value"
		::= {  snMspsDiagnosticsUsageEntry 19 }

	snMspsDiagnosticsTemperatureTable OBJECT-TYPE
		SYNTAX		SEQUENCE OF SnMspsDiagnosticsTemperatureEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"Environmental data of the device and connected parts"
		::= { snMspsDiagnostics 7}

	snMspsDiagnosticsTemperatureEntry OBJECT-TYPE
		SYNTAX		SnMspsDiagnosticsTemperatureEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	"A set of objects that contain temperature data of one part of the device"
		INDEX                       { snMspsDiagnosticsTemperatureIndex }
		::= {snMspsDiagnosticsTemperatureTable 1}

	SnMspsDiagnosticsTemperatureEntry ::= SEQUENCE {
		snMspsDiagnosticsTemperatureIndex			Integer32,
		snMspsDiagnosticsTemperaturePresent			TruthValue,
		snMspsDiagnosticsTemperatureName			SnmpAdminString, 
		snMspsDiagnosticsTemperatureStatus			INTEGER,
		snMspsDiagnosticsTemperatureSensorStatus	Integer32,
		snMspsDiagnosticsTemperatureValue			Integer32,
		snMspsDiagnosticsTemperatureType			Integer32,
		snMspsDiagnosticsTemperatureScale			Integer32,
		snMspsDiagnosticsTemperaturePrecision		Integer32,
		snMspsDiagnosticsTemperatureUnitsDisplay	SnmpAdminString, 
		snMspsDiagnosticsTemperatureTimeStamp		Unsigned32,
		snMspsDiagnosticsTemperatureUpdateRate		Unsigned32,
		snMspsDiagnosticsTemperatureHighWarning		Integer32,
		snMspsDiagnosticsTemperatureHighCritical	Integer32,
		snMspsDiagnosticsTemperatureLowWarning		Integer32,
		snMspsDiagnosticsTemperatureLowCritical		Integer32
		}
		
	snMspsDiagnosticsTemperatureIndex OBJECT-TYPE
		SYNTAX          Integer32 (0..65535) 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Index variable"
		::= {  snMspsDiagnosticsTemperatureEntry 1 }
			
	snMspsDiagnosticsTemperaturePresent OBJECT-TYPE
		SYNTAX          TruthValue 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Shows if a temperature value for the part is available"
		::= {  snMspsDiagnosticsTemperatureEntry 4 }
			
	snMspsDiagnosticsTemperatureName OBJECT-TYPE
		SYNTAX          SnmpAdminString 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Original part description"
		::= {  snMspsDiagnosticsTemperatureEntry 7 }

	snMspsDiagnosticsTemperatureStatus OBJECT-TYPE
		SYNTAX INTEGER {
			ok(1),
			warning(2),
			critical(3),
			invalid(4),
			initial(5)
		}
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION	"Current status of the temperature read from the part
			ok(1): No threshold is violated
			warning(2): The warning threshold is violated
			critical(3): The critical threshold is violated
			invalid(4): Reading the environmental data failed
			initial(5): No data environmental data was read yet"
		::= {  snMspsDiagnosticsTemperatureEntry 10 }

	snMspsDiagnosticsTemperatureSensorStatus OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Current status of the temperature sensor of the part"
		::= {  snMspsDiagnosticsTemperatureEntry 13 }

	snMspsDiagnosticsTemperatureValue OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Current temperature of the part"
		::= {  snMspsDiagnosticsTemperatureEntry 16 }

	snMspsDiagnosticsTemperatureType OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Stub for later ENTITY-SENSOR-MIB use; will always return 8 which stands for temperature in celsius"
		::= {  snMspsDiagnosticsTemperatureEntry 19 }

	snMspsDiagnosticsTemperatureScale OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Stub for later ENTITY-SENSOR-MIB; will always return 8 which stands for celsius"
		::= {  snMspsDiagnosticsTemperatureEntry 22 }

	snMspsDiagnosticsTemperaturePrecision OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Stub for later ENTITY-MIB-use; will allways return 9 which stands for units"
		::= {  snMspsDiagnosticsTemperatureEntry 25 }

	snMspsDiagnosticsTemperatureUnitsDisplay OBJECT-TYPE
		SYNTAX          SnmpAdminString 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Stub for later ENTITY-SENSOR-MIB use"
		::= {  snMspsDiagnosticsTemperatureEntry 28 }

	snMspsDiagnosticsTemperatureTimeStamp OBJECT-TYPE
		SYNTAX          Unsigned32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Timestamp containing the last time a temperature measurement was taken"
		::= {  snMspsDiagnosticsTemperatureEntry 31 }

	snMspsDiagnosticsTemperatureUpdateRate OBJECT-TYPE
		SYNTAX          Unsigned32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Indicates the interval between two measurements in seconds. Zero means, that an update has to be triggered manually"
		::= {  snMspsDiagnosticsTemperatureEntry 34 }

	snMspsDiagnosticsTemperatureHighWarning OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Warning threshold for the part temperature. There will be a warning if SnMspsDiagnosticsTemperatureValue exceeds this value"
		::= {  snMspsDiagnosticsTemperatureEntry 37 }

	snMspsDiagnosticsTemperatureHighCritical OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Critical threshold for the part temperature. There will be an alert if SnMspsDiagnosticsTemperatureValue exceeds this value"
		::= {  snMspsDiagnosticsTemperatureEntry 40 }

	snMspsDiagnosticsTemperatureLowWarning OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Warning threshold for the part temperature. There will be a warning if SnMspsDiagnosticsTemperatureValue falls below this value"
		::= {  snMspsDiagnosticsTemperatureEntry 43 }

	snMspsDiagnosticsTemperatureLowCritical OBJECT-TYPE
		SYNTAX          Integer32 
		MAX-ACCESS      read-only
		STATUS          current
		DESCRIPTION
		"Critical threshold for the part temperature. There will be an alert if SnMspsDiagnosticsTemperatureValue falls below this value"
		::= {  snMspsDiagnosticsTemperatureEntry 46 }

-- -----------------------------------------------------------------
-- END OF ENV_DATA_DIAGNOSTICS Table     
-- -----------------------------------------------------------------

END
