-- Automatically generated by MIB Converter ... 


-- ----------------------------------------------------------------------
-- scalance_x_msps.mib
-- SIMATIC NET Industrial Ethernet Scalance 
-- MSPS Private MIB
-- Copyright (c) 2012 Siemens AG
-- ----------------------------------------------------------------------
--
-- MIB Module :   SN-MSPS-SCX-MIB
--
-- Revision   :   V06.02.02
-- Date       :   2019-03-14 15:50:06
-- 
-- ----------------------------------------------------------------------
      
SN-MSPS-SCX-MIB DEFINITIONS ::= BEGIN

IMPORTS 
	ospfv3RouterId,
	ospfv3RestartStatus,
	ospfv3RestartInterval,
	ospfv3RestartExitReason,
	ospfv3NbrRestartHelperStatus,
	ospfv3NbrRestartHelperAge,
	ospfv3NbrRestartHelperExitReason,
	ospfv3VirtNbrRestartHelperStatus,
	ospfv3VirtNbrRestartHelperAge,
	ospfv3VirtNbrRestartHelperExitReason     FROM OSPFV3-MIB
	DisplayString                            FROM RFC1213-MIB
	vrrpOperEntry                            FROM VRRP-MIB
	MODULE-COMPLIANCE,
	OBJECT-GROUP,
	NOTIFICATION-GROUP                       FROM SNMPv2-CONF
	enterprises                              FROM RFC1155-SMI
	PaeControlledPortStatus                  FROM IEEE8021-PAE-MIB
	BridgeId,
	Timeout                                  FROM BRIDGE-MIB
	TRAP-TYPE                                FROM RFC-1215
	InterfaceIndex,
	ifIndex,
	InterfaceIndexOrZero                     FROM IF-MIB
	InetAddress,
	InetAddressType,
	InetAddressPrefixLength,
	InetAddressIPv4,
	InetPortNumber,
	InetVersion,
	InetZoneIndex,
	InetAutonomousSystemNumber,
	InetScopeType                            FROM INET-ADDRESS-MIB
	ospfVirtNbrEntry,
	AreaID,
	RouterID,
	BigMetric,
	Status,
	PositiveInteger,
	TOSType,
	ospfRouterId,
	ospfNbrRtrId                             FROM OSPF-MIB
	SnmpAdminString                          FROM SNMP-FRAMEWORK-MIB
	EnabledStatus                            FROM P-BRIDGE-MIB
	Counter32,
	Integer32,
	Unsigned32,
	enterprises,
	OBJECT-TYPE,
	OBJECT-IDENTITY,
	NOTIFICATION-TYPE,
	MODULE-IDENTITY,
	TimeTicks,
	IpAddress,
	Gauge32,
	Counter64,
	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
	vrrpv3OperationsVrId,
	vrrpv3OperationsInetAddrType             FROM VRRPV3-MIB
	RowStatus,
	DateAndTime,
	MacAddress,
	TruthValue,
	DisplayString,
	TEXTUAL-CONVENTION,
	StorageType,
	TimeStamp                                FROM SNMPv2-TC
	IANAipRouteProtocol,
	IANAipMRouteProtocol                     FROM IANA-RTPROTO-MIB
	OBJECT-TYPE                              FROM RFC-1212;



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}
snMspsDns                                OBJECT IDENTIFIER ::= { snMspsCommon 49}
snMspsDot1ad                             OBJECT IDENTIFIER ::= { snMspsCommon 81}
snMspsDst                                OBJECT IDENTIFIER ::= { snMspsCommon 54}
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}
snMspsIp6                                OBJECT IDENTIFIER ::= { snMspsCommon 65}
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}
snMspsMgmdMIB                            OBJECT IDENTIFIER ::= { snMspsCommon 77}
snMspsMsdpMIB                            OBJECT IDENTIFIER ::= { snMspsCommon 78}
snMspsMstp                               OBJECT IDENTIFIER ::= { snMspsCommon 6}
snMspsNatv2                              OBJECT IDENTIFIER ::= { snMspsCommon 75}
snMspsNfc                                OBJECT IDENTIFIER ::= { snMspsCommon 57}
snMspsNtp                                OBJECT IDENTIFIER ::= { snMspsCommon 33}
snMspsOspf                               OBJECT IDENTIFIER ::= { snMspsCommon 42}
snMspsOspf3                              OBJECT IDENTIFIER ::= { snMspsCommon 66}
snMspsPimMIB                             OBJECT IDENTIFIER ::= { snMspsCommon 76}
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}
snMspsRip                                OBJECT IDENTIFIER ::= { snMspsCommon 41}
snMspsRip6                               OBJECT IDENTIFIER ::= { snMspsCommon 67}
snMspsRmon                               OBJECT IDENTIFIER ::= { snMspsCommon 12}
snMspsRouteMap                           OBJECT IDENTIFIER ::= { snMspsCommon 53}
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}
snMspsVrrp                               OBJECT IDENTIFIER ::= { snMspsCommon 43}
snMspsVrrpv3                             OBJECT IDENTIFIER ::= { snMspsCommon 59}

snMspsDNSClient                          OBJECT IDENTIFIER ::= { snMspsDns 3}
snMspsDhcpClient                         OBJECT IDENTIFIER ::= { snMspsDhcp 1}
snMspsDhcpClient6                        OBJECT IDENTIFIER ::= { snMspsDhcp 4}
snMspsDhcpRelay                          OBJECT IDENTIFIER ::= { snMspsDhcp 3}
snMspsDhcpRelay6                         OBJECT IDENTIFIER ::= { snMspsDhcp 6}
snMspsDhcpServer                         OBJECT IDENTIFIER ::= { snMspsDhcp 2}
snMspsQosCos                             OBJECT IDENTIFIER ::= { snMspsQos 3}
snMspsQosDscp                            OBJECT IDENTIFIER ::= { snMspsQos 4}
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 }  
		

          
-- 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
        }

snMspsPortIndex  OBJECT-TYPE
	    SYNTAX  INTEGER (1..26)
	    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 }




		snMspsTrapMSTPNewRootbridgeDetected  TRAP-TYPE
    ENTERPRISE  snMsps
    DESCRIPTION
        "(M)STP new Rootbridge detected."
		::= 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
            "Shows the CLI Script File status that is load at startup via DHCP"
    ::= 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

  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"
	    ::= { snMspsSfpEntry 10 }

snMspsSfpTemperatureMin  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Minimum supported temperature of the SFP device"
	    ::= { snMspsSfpEntry 11 }  
	    
snMspsSfpTemperatureMax  OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION	"Maximum supported temperature of the SFP device"
	    ::= { 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-required(0),
                  valid(1),
                  invalid(2)
                }
    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."
    ::= { 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 }

-- snMspsHttp 8-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
        The HTTP server must be disabled before this configuration is done"
   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)
}
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."

   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}

   



-- ----------------------------------------------------------------
-- 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 (only HRP) 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 }

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(1),
                    secondary(2),
                    secondaryhigh(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 }
 


    
-- ----------------------------------------------------------------
-- 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..255))
        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 }



     
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,
    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 }

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,
    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 }

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 }


-- ----------------------
-- snMspsDhcpClient6.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- RFC-3736 Stateless DHCPv6 Client MIB
--
-- Copyright (c) 2013 Siemens AG
-- All rights reserved.
-- ----------------------

    
snMspsDhcpClient6Config           OBJECT IDENTIFIER ::= { snMspsDhcpClient6 0 }
snMspsDhcpClient6Counters         OBJECT IDENTIFIER ::= { snMspsDhcpClient6 1 }

-- ******************************************************************
-- Textual conventions
-- ******************************************************************
SnMspsDhcpClient6DuidValue ::= 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)) 

SnMspsDhcpClient6DuidType ::= 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)
            }

-- ******************************************************************
-- Start of Interface Table {snMspsDhcpClient6IfTable)
-- ******************************************************************
snMspsDhcpClient6IfTable OBJECT-TYPE  
    SYNTAX SEQUENCE OF SnMspsDhcpClient6IfEntry  
    MAX-ACCESS  not-accessible  
    STATUS      current  
    DESCRIPTION  
       "This table contains the config info of DHCPv6 Client on each
        interface. using this table user can enable or disable DHCPv6
        client(statefull or stateless or prefix delegation) on each interface."
    ::=  { snMspsDhcpClient6Config 1 }  
  
snMspsDhcpClient6IfEntry OBJECT-TYPE  
    SYNTAX SnMspsDhcpClient6IfEntry  
    MAX-ACCESS  not-accessible  
    STATUS      current  
    DESCRIPTION  
       "Entries of the snMspsDhcpClient6CounterTable"
    INDEX {snMspsDhcpClient6IfIndex}
    ::=  { snMspsDhcpClient6IfTable 1 }  

SnMspsDhcpClient6IfEntry ::= SEQUENCE {
    snMspsDhcpClient6IfIndex            		Integer32,
    snMspsDhcpClient6IfMode             		INTEGER,
    snMspsDhcpClient6IfRapidCommitMode      		TruthValue,
    snMspsDhcpClient6IfSrvAddress       		OCTET STRING,
    snMspsDhcpClient6IfDuidType         		SnMspsDhcpClient6DuidType,
    snMspsDhcpClient6IfDuid             		SnMspsDhcpClient6DuidValue,
    snMspsDhcpClient6IfDuidIfIndex      		Integer32,
    snMspsDhcpClient6IfMinRefreshTime   		Unsigned32,
    snMspsDhcpClient6IfCurrRefreshTime  		Unsigned32,
    snMspsDhcpClient6IfRealmName        		OCTET STRING,
    snMspsDhcpClient6IfKey              		OCTET STRING,
    snMspsDhcpClient6IfKeyId           		Unsigned32,
    snMspsDhcpClient6IfPrefixName       		OCTET STRING,
    snMspsDhcpClient6IfIataOptStatus      		TruthValue,
    snMspsDhcpClient6IfPdExcludePrefix            	OCTET STRING,
    snMspsDhcpClient6IfPdExcludePrefixLen		Integer32,
    snMspsDhcpClient6IfReconfigAcceptMode		TruthValue,
    snMspsDhcpClient6IfRowStatus        		RowStatus
    }  

snMspsDhcpClient6IfIndex OBJECT-TYPE  
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current  
    DESCRIPTION  
       "Index of one entry in snMspsDhcpClient6IfTable.and indicates interface index"  
    ::= { snMspsDhcpClient6IfEntry 1 }  
 
snMspsDhcpClient6IfMode OBJECT-TYPE  
    SYNTAX  INTEGER 
    {
         sf-dhcp        (1),
         sl-dhcp        (2),
         pd             (3),
         ra-flags-based (4)
    }
    MAX-ACCESS  read-write
    STATUS      current  
    DESCRIPTION
       "Currently 3 different DHCP client types available.
        1.Statefull dhcp(sf-dhcp) client.Using sf-dhcp client node will get address
          and other information from server. RFC 3315 for sf-dhcp.
        2.Stateless dhcp(sl-dhcp) client.Using sl-dhcp client node will get other 
          informations from server.RFC 3736 for sl-dhcp.
        3.Prefix Delegation(pd) client.Using pd client node will get prefixs from server.
          RFC 3633 for pd.
        4.Router Advertisement flags based DHCP Client. This is an intermediate mode 
          in which the operating mode (i.e. stateless or stateful) is decided based on
          M-, and O-Flags of any received Router Advertisement on this interface. 
          RFC 4861 for router advertisement flags M and O"
    DEFVAL { 1 }
    ::= { snMspsDhcpClient6IfEntry 2 }  

snMspsDhcpClient6IfRapidCommitMode OBJECT-TYPE 
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Rapid Commit mode is used to signal the use of the two message exchange 
        for address or prefix assignment.if user set this option to true(1) then client will include 
        this option in solicit message and assign address after getting reply message from server.
        If user set this option to false(2) then client will use Four messages for assigning address.
        This option related to snMspsDhcpClient6IfMode is sf-dhcp(1) and pd(3)."
    DEFVAL { false }
    ::= { snMspsDhcpClient6IfEntry 3 } 

snMspsDhcpClient6IfSrvAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  read-only
    STATUS      current 
    DESCRIPTION
       "The object indicates the IP Address of the current DHCP server."
    ::= { snMspsDhcpClient6IfEntry 4 }
  
snMspsDhcpClient6IfDuidType OBJECT-TYPE
    SYNTAX      SnMspsDhcpClient6DuidType
    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 }
    ::= { snMspsDhcpClient6IfEntry 5 }

snMspsDhcpClient6IfDuid OBJECT-TYPE
    SYNTAX      SnMspsDhcpClient6DuidValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This Object contains the value of DUID used as client ID. Depending upon
        the snMspsDhcpClient6ClientIdType this will return the current value of the
        DUID."
    ::= { snMspsDhcpClient6IfEntry 6 }

snMspsDhcpClient6IfDuidIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
       "Interface which will be used for formation of DUID Based on
        Link-layer Address plus Time and DUID based on Link-layer 
        Address, if not specified then an arbitrary interface value 
        will be used."
    ::=  { snMspsDhcpClient6IfEntry 7 }
 
snMspsDhcpClient6IfMinRefreshTime OBJECT-TYPE
    SYNTAX      Unsigned32 (600..4294967295)  
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current  
    DESCRIPTION  
      "This objects specifies the minimum acceptable information refresh time.
       If the server sends an information refresh time option of less than the 
       configured minimum refresh time, the configured minimum refresh time 
       will be used instead.
       the information request message. The units of refresh timer is 10ms."
    DEFVAL    { 86400 }
    ::=  { snMspsDhcpClient6IfEntry 8 }
  
snMspsDhcpClient6IfCurrRefreshTime OBJECT-TYPE
    SYNTAX      Unsigned32 (600..4294967295)  
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current  
    DESCRIPTION  
      "This objects specifies the current information refresh time.
       The value of current refresh timer will be the minimum value of 
       snMspsDhcpClient6IfMinRefreshTime or received Refresh option request value in
       reply message . The units of refresh timer is sec."
    ::=  { snMspsDhcpClient6IfEntry 9 }  

snMspsDhcpClient6IfRealmName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object contains the unique name of the container for the
        HMAC-MD5 authentication key."
    ::=  { snMspsDhcpClient6IfEntry 10 }

snMspsDhcpClient6IfKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object indicates the HMAC-MD5 key string which will be 
        used to authenticate the client sending messages."
    ::=  { snMspsDhcpClient6IfEntry 11 }

snMspsDhcpClient6IfKeyId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object indentifies the key-ID to be used with snMspsDhcpClient6AuthKey
        object and is transmitted as part of authentication information in
        client sending messages, the server using this key-ID searches in
        its local database for the related key to calculate the HMAC."
    DEFVAL    { 1 }
    ::=  { snMspsDhcpClient6IfEntry 12 }

snMspsDhcpClient6IfPrefixName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The object indicates IPv6 Prefix name for prefix assigned by dhcpv6 server.
        This obeject should be set if snMspsDhcpClient6IfMode object is set to pd(3)."
    ::= { snMspsDhcpClient6IfEntry 13 }

snMspsDhcpClient6IfIataOptStatus OBJECT-TYPE 
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The object indicates IATA opt enable or disable status.if user set this option to true(1) 
        then client will get Temporary Addresses from server.
        If user set this option to false(2) then client will not get Temporary Addresses from server.
        This option related to snMspsDhcpClient6IfMode is sf-dhcp(1)."
    DEFVAL { false }
    ::= { snMspsDhcpClient6IfEntry 14 } 

snMspsDhcpClient6IfPdExcludePrefix OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The object indicates the IPv6 exclude prefix from the DHCPv6 server."
    ::= { snMspsDhcpClient6IfEntry 15 }

snMspsDhcpClient6IfPdExcludePrefixLen OBJECT-TYPE
    SYNTAX      Integer32 (1..128)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The length of the excluded prefix in bits.
        The prefix-len MUST be between 'OPTION_IAPREFIX prefix-length'+1 and
        128."
    ::= { snMspsDhcpClient6IfEntry 16 }

snMspsDhcpClient6IfReconfigAcceptMode OBJECT-TYPE 
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A client uses the Reconfigure Accept option to announce to the server
        whether the client is willing to accept Reconfigure messages, and a
        server uses this option to tell the client whether or not to accept
        Reconfigure messages.
        If user set true(1) then client will include this option in all client 
        sending messages. This option related to snMspsDhcpClient6IfMode is sf-dhcp(1) and pd(3)."
    DEFVAL { false }
    ::= { snMspsDhcpClient6IfEntry 17 } 

snMspsDhcpClient6IfRowStatus OBJECT-TYPE 
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to create/delete a row in the interface table.
        when the interface is deleted from the system the corresponding
        row from this table will also be deleted.
       
        To create a row in this table, a manager sets this
        object to either createAndGo(4) or createAndWait(5).
        
        If a manager sets this object to createAndGo(4) then by default 
        client act as sf-dhcp(1).

        Until instances of all corresponding columns are
        appropriately configured, the value of the
        corresponding instance of the
        'snMspsDhcpClient6IfRowStatus' column will be read as
        notReady(3).
        In particular, a newly created row cannot be made
        active(1) if snMspsDhcpClient6IfMode set to pd(3) until (minimally) 
        the corresponding instance of snMspsDhcpClient6IfPrefixName,
        has been set.
        if snMspsDhcpClient6IfMode set to sf-dhcp(1) or sl-dhcp(2) then before active(1)
        manager should configure required options in snMspsDhcpClient6OptionTable. 

        notInService(2) should be used to administratively
        bring the row down before changing any object.

        A typical order of operation to add a row is:
        1. Create a row in snMspsDhcpClient6IfTable with
        createAndWait(5).
        2. If required modify client type using snMspsDhcpClient6IfMode object.
        Any configure other required objects.
        3. Set snMspsDhcpClient6IfPrefixName if snMspsDhcpClient6IfMode set to pd(3).
        4. (OPTIONAL)Configure snMspsDhcpClient6OptionTable if snMspsDhcpClient6IfMode set 
        to sf-dhcp(1) or sl-dhcp(2).
        5.  Set to active(1)."
    ::= { snMspsDhcpClient6IfEntry 18 } 

-- ******************************************************************
-- End of Interface Table {snMspsDhcpClient6IfTable)
-- ******************************************************************

-- ******************************************************************
-- Start of Client Option Table {snMspsDhcpClient6OptionTable)
-- ******************************************************************
snMspsDhcpClient6OptionTable   OBJECT-TYPE 
    SYNTAX SEQUENCE OF SnMspsDhcpClient6OptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The Dhcpv6 options which are to be requested to server
        will be added as entries in this table.

        While sending out client sending messages(ex:solicit,information...), 
        the options entries which are avilable in this table will 
        be added with client sending messages(ex:solicit,information...).

        The option values which are received via server response messages
        (ex:advertise,conform,reply....) will be stored in this table.
        Following are valid options :- 
        1 User class option  15
        2 Vendor class option  16
        3 Vendor-specific Information  17
        4 DNS recursive name server  23
        5 Domain search list  24.
        6 Sntp server address 31.
        7 Posix time zone 41.
        8 Tzdb time zone  42.
        9 Ntp server address 56."

    ::= { snMspsDhcpClient6Config 2 }

snMspsDhcpClient6OptionEntry   OBJECT-TYPE 
    SYNTAX      SnMspsDhcpClient6OptionEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The Client Option Table entry. This entry is not lost upon reboot.
        It is backed up by stable storage. Each entry in this table
        contains the required attribute values."
    INDEX { snMspsDhcpClient6IfIndex, snMspsDhcpClient6OptionType }
    ::= { snMspsDhcpClient6OptionTable 1 }

SnMspsDhcpClient6OptionEntry ::=  SEQUENCE {
    snMspsDhcpClient6OptionType               Integer32,
    snMspsDhcpClient6OptionLength             Integer32,
    snMspsDhcpClient6OptionValue              OCTET STRING,
    snMspsDhcpClient6OptionRowStatus  	RowStatus
    }

snMspsDhcpClient6OptionType OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The object identifies the option, this is the tag octet of the DHCP 
        option."
    ::= { snMspsDhcpClient6OptionEntry 1}

snMspsDhcpClient6OptionLength OBJECT-TYPE
    SYNTAX      Integer32 
    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 octets specifying the type and length.
        This object has read-write support only for some options(15,16,17)." 
    ::= { snMspsDhcpClient6OptionEntry 2}

snMspsDhcpClient6OptionValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(1..256)) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object identifies the octets of data, of length
        specified by snMspsDhcpClient6OptionLength for that entry.
        This object has read-write support only for some options(15,16,17)." 
    ::= { snMspsDhcpClient6OptionEntry 3}

snMspsDhcpClient6OptionRowStatus  OBJECT-TYPE
         SYNTAX         RowStatus
         MAX-ACCESS     read-write
         STATUS         current
         DESCRIPTION
            "The RowStatus variable is for addition and deletion
             of snMspsDhcpClient6OptionEntry."
        ::= { snMspsDhcpClient6OptionEntry 4 }

-- ******************************************************************
-- End of Client Option Table {snMspsDhcpClient6OptionTable)
-- ******************************************************************

-- ******************************************************************
-- Start of Client Ia option Table {snMspsDhcpClient6IfIaOptTable)
-- ******************************************************************
snMspsDhcpClient6IfIaOptTable   OBJECT-TYPE 
    SYNTAX SEQUENCE OF SnMspsDhcpClient6IfIaOptEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
	"This table maintains the interface Ia option information
         got from server"
    ::= { snMspsDhcpClient6Config 3 }

snMspsDhcpClient6IfIaOptEntry   OBJECT-TYPE 
    SYNTAX      SnMspsDhcpClient6IfIaOptEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The client Ia Opt Table entry."
    INDEX { snMspsDhcpClient6IfIndex,snMspsDhcpClient6IfIaOptType}
    ::= { snMspsDhcpClient6IfIaOptTable 1 }

SnMspsDhcpClient6IfIaOptEntry ::=  SEQUENCE {
    snMspsDhcpClient6IfIaOptType			Integer32,
    snMspsDhcpClient6IfIaOptIaid               	Integer32,
    snMspsDhcpClient6IfIaOptRenewTime            	Unsigned32,
    snMspsDhcpClient6IfIaOptRebindTime             	Unsigned32,
    snMspsDhcpClient6IfIaOptPrefixAddress            	OCTET STRING,
    snMspsDhcpClient6IfIaOptPrefixLen            	Integer32,
    snMspsDhcpClient6IfIaOptPreferedLifeTime          Unsigned32,
    snMspsDhcpClient6IfIaOptValidLifeTime            	Unsigned32
    }

snMspsDhcpClient6IfIaOptType OBJECT-TYPE  
    SYNTAX      Integer32 (3..25)
    MAX-ACCESS  not-accessible
    STATUS      current  
    DESCRIPTION  
       "Index of the Ia option info.this obj contains IANA(3) or IATA(4) or IAPD(25)"  
    ::= { snMspsDhcpClient6IfIaOptEntry 1 }

snMspsDhcpClient6IfIaOptIaid OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The object indicates the Ia option of IAID value."
    ::= { snMspsDhcpClient6IfIaOptEntry 2 }

snMspsDhcpClient6IfIaOptRenewTime OBJECT-TYPE
    SYNTAX      Unsigned32  
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current  
    DESCRIPTION  
      "This objects specifies the prefix/address renew time."
    ::=  { snMspsDhcpClient6IfIaOptEntry 3 }  

snMspsDhcpClient6IfIaOptRebindTime OBJECT-TYPE
    SYNTAX      Unsigned32  
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current  
    DESCRIPTION  
      "This objects specifies the prefix/address rebind time."
    ::=  { snMspsDhcpClient6IfIaOptEntry 4 }  

snMspsDhcpClient6IfIaOptPrefixAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The object indicates the IPv6 Prefix or address from the DHCPv6 server."
    ::= { snMspsDhcpClient6IfIaOptEntry 5 }

snMspsDhcpClient6IfIaOptPrefixLen OBJECT-TYPE
    SYNTAX      Integer32 (1..128)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The length of the prefix or address (in bits)."
    ::= { snMspsDhcpClient6IfIaOptEntry 6 }


snMspsDhcpClient6IfIaOptPreferedLifeTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the Prefix or address preferred lifetime in seconds."
    ::= { snMspsDhcpClient6IfIaOptEntry 7 }

snMspsDhcpClient6IfIaOptValidLifeTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object specifies the Prefix or address valid lifetime in seconds."
    ::= { snMspsDhcpClient6IfIaOptEntry 8 }

-- ******************************************************************
-- End of Client Ia option Table {snMspsDhcpClient6IfIaOptTable)
-- ******************************************************************

-- ******************************************************************
-- Start of PD Sub Client Table {snMspsDhcpClient6PdSubClntIfTable)
-- ******************************************************************
snMspsDhcpClient6PdSubClntIfTable   OBJECT-TYPE 
    SYNTAX SEQUENCE OF SnMspsDhcpClient6PdSubClntIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
	"This table maintains the ipv6 address configuration information
         using PD client Prefix got from server"
    ::= { snMspsDhcpClient6Config 4 }

snMspsDhcpClient6PdSubClntIfEntry   OBJECT-TYPE 
    SYNTAX      SnMspsDhcpClient6PdSubClntIfEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The PD sub client Table entry."
    INDEX { snMspsDhcpClient6PdSubClntIfIndex,snMspsDhcpClient6PdSubClntIfPrefixName,
	    snMspsDhcpClient6PdSubClntIfPrefix, snMspsDhcpClient6PdSubClntIfPrefixLength}
    ::= { snMspsDhcpClient6PdSubClntIfTable 1 }

SnMspsDhcpClient6PdSubClntIfEntry ::=  SEQUENCE {
    snMspsDhcpClient6PdSubClntIfIndex			Integer32,
    snMspsDhcpClient6PdSubClntIfPrefixName               	OCTET STRING,
    snMspsDhcpClient6PdSubClntIfPrefix            	OCTET STRING,
    snMspsDhcpClient6PdSubClntIfPrefixLength             	Integer32,
    snMspsDhcpClient6PdSubClntIfPrefixAddress            	OCTET STRING,
    snMspsDhcpClient6PdSubClntIfRowStatus        		RowStatus
    }

snMspsDhcpClient6PdSubClntIfIndex OBJECT-TYPE  
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current  
    DESCRIPTION  
       "Index of the interface to configure ipv6 address using 
        PD client got prefix from server."  
    ::= { snMspsDhcpClient6PdSubClntIfEntry 1 }

snMspsDhcpClient6PdSubClntIfPrefixName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..128))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The object indicates the IPv6 PD Prefix name assigned by 
        user using snMspsDhcpClient6IfPrefixName object."
    ::= { snMspsDhcpClient6PdSubClntIfEntry 2 }

snMspsDhcpClient6PdSubClntIfPrefix OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The object indicates the IPv6 Prefix to configure address using 
	snMspsDhcpClient6PdSubClntIfPrefixName.This is a binary string
         of up to 16 octets in network byte-order.
         example is ::1."
    ::= { snMspsDhcpClient6PdSubClntIfEntry 3 }

snMspsDhcpClient6PdSubClntIfPrefixLength OBJECT-TYPE
    SYNTAX      Integer32 (1..128)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The length of the prefix (in bits).and should be greater than  
          snMspsDhcpClient6PrefixLength."
    ::= { snMspsDhcpClient6PdSubClntIfEntry 4 }

snMspsDhcpClient6PdSubClntIfPrefixAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The object indicates the IPv6 complete address configure to interface."
    ::= { snMspsDhcpClient6PdSubClntIfEntry 5 }

snMspsDhcpClient6PdSubClntIfRowStatus  OBJECT-TYPE
         SYNTAX         RowStatus
         MAX-ACCESS     read-write
         STATUS         current
         DESCRIPTION
            "The RowStatus variable is for addition and deletion
             of snMspsDhcpClient6PdSubClntIfEntry."
        ::= { snMspsDhcpClient6PdSubClntIfEntry 6 }

-- ******************************************************************
-- End of PD Sub Client Table {snMspsDhcpClient6PdSubClntIfTable)
-- ******************************************************************
-- ******************************************************************
-- Start of Client Counters Table {snMspsDhcpClient6IfCounterTable)
-- ******************************************************************
--- snMspsDhcpClient6Counters Group

snMspsDhcpClient6IfCounterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnMspsDhcpClient6IfCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                " This table contains the statistics of DHCPv6 Client on each
                interface. It will give the no of messages sent and received at
                any time"
        ::=  { snMspsDhcpClient6Counters 1 }

snMspsDhcpClient6IfCounterEntry OBJECT-TYPE
        SYNTAX SnMspsDhcpClient6IfCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entries of the dhcpClientCounterTable"
        INDEX {snMspsDhcpClient6IfIndex}
        ::=  { snMspsDhcpClient6IfCounterTable 1 }


SnMspsDhcpClient6IfCounterEntry ::= SEQUENCE {
    snMspsDhcpClient6IfSolicitSendCount        	Counter32,
    snMspsDhcpClient6IfAdvertiseRcvCount        	Counter32,
    snMspsDhcpClient6IfRequestSendCount        	Counter32,
    snMspsDhcpClient6IfConformSendCount        	Counter32,
    snMspsDhcpClient6IfRenewSendCount        		Counter32,
    snMspsDhcpClient6IfRebindSendCount        	Counter32,
    snMspsDhcpClient6IfReplyRcvCount        		Counter32,
    snMspsDhcpClient6IfReleaseSendCount        	Counter32,
    snMspsDhcpClient6IfDeclineSendCount        	Counter32,
    snMspsDhcpClient6IfReconfigureRcvCount        	Counter32,
    snMspsDhcpClient6IfInformSendCount        	Counter32,
    snMspsDhcpClient6IfInvalidPktRcvCount     	Counter32,
    snMspsDhcpClient6IfHmacFailCount    		Counter32,
    snMspsDhcpClient6IfCounterReset      		TruthValue
    }  

snMspsDhcpClient6IfSolicitSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of Solicit packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 1 } 
                 
snMspsDhcpClient6IfAdvertiseRcvCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of advertise packets received on the Interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 2 } 
                 
snMspsDhcpClient6IfRequestSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of request packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 3 } 

snMspsDhcpClient6IfConformSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of conform packets transmitted from the Interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 4 } 

snMspsDhcpClient6IfRenewSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of renew packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 5 } 

snMspsDhcpClient6IfRebindSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of rebind packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 6 } 

snMspsDhcpClient6IfReplyRcvCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of reply packets received on the Interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 7 }

snMspsDhcpClient6IfReleaseSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of release packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 8 } 

snMspsDhcpClient6IfDeclineSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of decline packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 9 } 

snMspsDhcpClient6IfReconfigureRcvCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of reconfigure packets received on the Interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 10 }

snMspsDhcpClient6IfInformSendCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of information packets transmitted from the
        interface." 
    ::= { snMspsDhcpClient6IfCounterEntry 11 } 

snMspsDhcpClient6IfInvalidPktRcvCount OBJECT-TYPE 
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current 
    DESCRIPTION 
       "The number of Invalid packet received on the interface"
    ::= { snMspsDhcpClient6IfCounterEntry 12 } 
             
snMspsDhcpClient6IfHmacFailCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object identifies the number of unauthenticated messages received
        on the interface. This counter increment only when Authentication
        TLV is present in the received message and Digest calculated by the
        realm and key id does not match with received digest present in the
        Authentication TLV."
    ::= { snMspsDhcpClient6IfCounterEntry 13 }

snMspsDhcpClient6IfCounterReset OBJECT-TYPE 
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to reset all the statistics counter
        objects present in this table. This will be done by setting the
        value of this column to 'true(1)'.This column always reads back to
        'false(2)'."
    ::= { snMspsDhcpClient6IfCounterEntry 14 } 

-- ******************************************************************
-- End of Client Counters Table {snMspsDhcpClient6IfCounterTable)
-- ******************************************************************

-- ----------------------
-- snMspsDhcpRelay6.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- This file contains MIB definitions for DHCPv6 Relay module.
--
-- Copyright (c) 2013 Siemens AG
-- All rights reserved.
-- ----------------------

	
snMspsDhcpRelay6Notify         OBJECT IDENTIFIER ::= { snMspsDhcpRelay6 0 }
snMspsDhcpRelay6System         OBJECT IDENTIFIER ::= { snMspsDhcpRelay6 1 }
snMspsDhcpRelay6Config         OBJECT IDENTIFIER ::= { snMspsDhcpRelay6 2 }
snMspsDhcpRelay6Traps          OBJECT IDENTIFIER ::= { snMspsDhcpRelay6 3 }
-- ******************************************************************
-- Start the Scalars defination
-- ******************************************************************
snMspsDhcpRelay6DebugTrace OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..255))    
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object stores the trace option string input given by the user.
        Based on the input to this object, trace statements corresponding
        to the given options are displayed. To enable particular
        trace the user has to enter the corresponding string(given below)
        assigned for that. For enabling more than one traces
        the user has to enter the corresponding strings with
        SPACE (delimiter) between each string.
        For example,
        To enable the below traces:
         - Init and Shutdown traces
         - Management traces
         - Data path traces
         - Control plane traces
         - Packet Dump traces
        The input should be fed as follows:
        enable init-shut mgmt data ctrl pkt-dump
        To disable the below traces:
         - Init and Shutdown traces
         - Data path traces
         - Control plane traces
        The input should be,disable init-shut data ctrl
        The entered input string is parsed to get the trace
         options.
         enable          - Enables the corresponding option.
         disable         - Disables the corresponding option.
         init-shut       - Init and Shutdown traces
         mgmt            - Management traces
         ctrl            - Control Plane traces
         pkt-dump        - Packet Dump traces
         resource        - Traces related to all
                           resources except buffers
         all-fail        - All Failure traces
         buffer          - Buffer allocation/
                           release traces
         critical        - Sl-DHCPv6 Relay Critical traces"
    DEFVAL  { "critical" }
    ::= { snMspsDhcpRelay6System 1 }

snMspsDhcpRelay6TrapAdminControl OBJECT-TYPE
    SYNTAX      BITS{
                      none(0),
                      trapInvalidPacketIn(1),
                      trapMaxHopCount(2)
                    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The Object is used to enable or disable the transmission of 
        TRAP notification messages. A vector of Boolean notification types, 
        used to enable or disable the slDhcp6 notification types:
        trapInvalidPacketIn (1)   
        trapMaxHopCount (2)  
        when Relay agent declares the received message as invalid then 
        the SNMP trap notification will come only when snMspsDhcpRelay6TrapAdminControl 
        is set with value 0.
        when Relay agent receives the relay forward message with  hop count 
        value is less then one configured hop count then SNMP trap 
        notification will come only when snMspsDhcpRelay6TrapAdminControl 
        is set with value trapInvalidPacketIn."
    DEFVAL { 0 }
    ::= { snMspsDhcpRelay6System 2 }

snMspsDhcpRelay6SysLogAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                         enabled (1),
                         disabled (2) 
                        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object is used to enable or disable the transmission of
        syslog notification messages. 
        DHCPv6 relay will generate the syslog messages only when 
        snMspsDhcpRelay6SysLogAdminStatus is set as enabled (1).

        disabled (2) means that DHCP server will not generate any 
        syslog messages."
    DEFVAL { disabled }
    ::= { snMspsDhcpRelay6System 3 }

snMspsDhcpRelay6ListenPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object is used to configure the port on which the
        DHCPv6 relay agent will listen on. This is in order to facilitate
        DHCPv6 relay to coexist with the DHCPv6 server which can listen on a
        different port."
    DEFVAL { 547 }
    ::= { snMspsDhcpRelay6System 4 }
snMspsDhcpRelay6ClientTransmitPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object is used to configure the port on which the
        DHCPv6 relay agent will send reply messages."
    DEFVAL { 546 }
    ::= { snMspsDhcpRelay6System 5 }
snMspsDhcpRelay6ServerTransmitPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object is used to configure the port on which the
        DHCPv6 relay agent will send relay-forward messages."
    DEFVAL { 547 }
    ::= { snMspsDhcpRelay6System 6 }
snMspsDhcpRelay6Option37Control OBJECT-TYPE
    SYNTAX      INTEGER {
                         enabled (1),
                         disabled (2)
                        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This Object is used to enable or disable the transmission of
        Remote-id option along with Relay-fwd message.
        DHCPv6 relay will insert remote-id with the relay-fwd message only when
        snMspsDhcpRelay6Option37Control is set as enabled (1).

        disabled (2) means that relay-fwd message will not be having remote-id
        option along with."
    DEFVAL { disabled }
    ::= { snMspsDhcpRelay6System 7 }

-- ******************************************************************
-- Start of Relay Interface Table {snMspsDhcpRelay6IfTable)
-- ******************************************************************

snMspsDhcpRelay6IfTable OBJECT-TYPE  
    SYNTAX SEQUENCE OF SnMspsDhcpRelay6IfEntry
    MAX-ACCESS  not-accessible  
    STATUS      current  
    DESCRIPTION  
       "This table contains the statistics of SL-DHCPv6 Relay on each 
        interface. It will give the Number of Information Request, Relay
        Forward, Relay reply messages received on the interface and 
        Number of Relay Reply, Relay Forward and Reply messages 
        transmitted from the interface.
        This Table includes remote-id support to transmit remote-id value  
        within the Relay-fwd message from the interface."
    ::= { snMspsDhcpRelay6Config 1 }  

snMspsDhcpRelay6IfEntry OBJECT-TYPE  
    SYNTAX      SnMspsDhcpRelay6IfEntry  
    MAX-ACCESS  not-accessible  
    STATUS      current  
    DESCRIPTION  
       "Entries of the snMspsDhcpRelay6IfTable"
    INDEX {snMspsDhcpRelay6IfIndex}
    ::=  { snMspsDhcpRelay6IfTable 1 }  

SnMspsDhcpRelay6IfEntry ::= SEQUENCE {  
    snMspsDhcpRelay6IfIndex           Integer32,
    snMspsDhcpRelay6IfHopThreshold    Integer32,
    snMspsDhcpRelay6IfInformIn        Counter32,
    snMspsDhcpRelay6IfRelayForwIn     Counter32, 
    snMspsDhcpRelay6IfRelayReplyIn    Counter32,
    snMspsDhcpRelay6IfInvalidPktIn    Counter32,
    snMspsDhcpRelay6IfCounterRest     TruthValue,
    snMspsDhcpRelay6IfRowStatus       RowStatus,
    snMspsDhcpRelay6IfRemoteIdOption  INTEGER,
    snMspsDhcpRelay6IfRemoteIdDUID    OCTET STRING,
    snMspsDhcpRelay6IfRemoteIdOptionValue DisplayString,
    snMspsDhcpRelay6IfRemoteIdUserDefined DisplayString,
    snMspsDhcpRelay6IfRemoteIdSuffixOptions BITS
}
snMspsDhcpRelay6IfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
       "This object identifies the unique Interface Index
        value mapped to this Server Address Table.."
    ::= { snMspsDhcpRelay6IfEntry 1}


snMspsDhcpRelay6IfHopThreshold OBJECT-TYPE
    SYNTAX      Integer32 (0..32)
    MAX-ACCESS  read-create
    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 
        snMspsDhcpRelay6HopsThreshold packet get dropped at the Relay Agent "
    DEFVAL { 4 }
    ::= { snMspsDhcpRelay6IfEntry 3 }
 
snMspsDhcpRelay6IfInformIn OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
       "This object identifies the number of INFORMATION REQUEST messages
        received on the Interface."
    ::= { snMspsDhcpRelay6IfEntry 4 }

snMspsDhcpRelay6IfRelayForwIn OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
       "This object identifies the number of RELAY FORWARD messages
        received on the Interface."
    ::= { snMspsDhcpRelay6IfEntry 5 }

snMspsDhcpRelay6IfRelayReplyIn OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
       "This object identifies the number of RELAY REPLY messages
        received on the Interface."
    ::= { snMspsDhcpRelay6IfEntry 6 }




snMspsDhcpRelay6IfInvalidPktIn OBJECT-TYPE
    SYNTAX      Counter32 
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
       "This object identifies the number of Invalid messages
        received on the Interface."
    ::= { snMspsDhcpRelay6IfEntry 10 }

snMspsDhcpRelay6IfCounterRest OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
       "This object is used to reset all the statistics counter objects present
        in this table. This will be done by setting the value of this column to
        'true(1)'.
        This column always reads back to 'false(2)'."
    ::= { snMspsDhcpRelay6IfEntry 11 }

snMspsDhcpRelay6IfRowStatus OBJECT-TYPE 
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to create/delete a row in the interface table.
        when the interface is deleted from the system the corresponding
        row from this table will also be deleted."
    ::= { snMspsDhcpRelay6IfEntry 12 } 

snMspsDhcpRelay6IfRemoteIdOption OBJECT-TYPE
     SYNTAX    INTEGER
        {
          duid (1),
          switchName (2),
          mgmtIp (3),
          userDefined (4)
        }
     MAX-ACCESS read-write
     STATUS     current
     DESCRIPTION
        "This object is used to specify which parameter has to be included
        as remote-id in the outgoing relay-fwd message.

        DUID (DHCP Unique Identifier) : If snMspsDhcpRelay6IfRemoteIdOption object
        is set as 1, then dhcp unique identifier will be sent with the relay
        forwarded message as remote-id. DUID can be configured by the use of
        snMspsDhcpRelay6IfRemote-IdDUID object.

        switchName : If snMspsDhcpRelay6IfRemoteIdOption object is set as 2, then
        current system name (switch name) will be included as remote-id.

        mgmtIp : If snMspsDhcpRelay6IfRemoteIdOption object is set as 3, then 
        remote-id will be set as the management IP of the system.

				userDefined : If snMspsDhcpRelay6IfRemoteIdOption object is set as 4, then 
				administrative configured ascii value will be sent with the relay forwarded 
				message as remote-id. This snMspsDhcpRelay6IfRemoteIdUserDefined object can be used 
				to configure the user specific ascii value.

        snMspsDhcpRelay6IfRemoteIdOption can be set only if snMspsDhcpRelay6Option37Control
        is set as enable.In case snMspsDhcpRelay6Option37Control is disable then 
        snMspsDhcpRelay6IfRemoteIdOption will not be applicable."
 DEFVAL  { switchName }
 ::= { snMspsDhcpRelay6IfEntry 13 }

snMspsDhcpRelay6IfRemoteIdDUID OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..100))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to define the appropriate DUID for DHCPv6
        Relay Agent.

        Any communicating device (in dhcpv6 perspective) have a unique
        DHCPv6 identifier (DUID). According to the RFC 4649, DHCPv6 servers
        can use the DUID to make decisions about the information such as
        addresses, delegated prefixes, configuration parameters etc. that
        the client is to receive.

        Relay Agent uses the DUID to have a unique remote-id for its enterprise
        number, as sequence of enterprise number followed by remote-id must be
        globally unique.

        DHCPv6 Relay DUID is a user defined parameter so it can be set to any  
        value within defined boundaries. 
        DHCPv6 Relay DUID is a 100 octets long identifier, which can have
        Link-Layer Address as DUID octets or can have Link-Layer address
        along with some other parameter having variable octets or can have 
        any sequence of octets representing unique DUID.

        This Object will be used only if value of snMspsDhcpRelay6IfRemoteIdOption object
        is set as DUID (1)."

 DEFVAL  { ''h }
 ::= { snMspsDhcpRelay6IfEntry 14 }

snMspsDhcpRelay6IfRemoteIdOptionValue OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "This object is used to get the current value of the remote-id option
         (specified by snMspsDhcpRelay6IfRemoteIdOption object ), which is being used as
         remote-id in dhcpv6 relay agent.

         This object is covering all the three options (system name,
         management ip, and duid value) although there is a specific object for
         duid parameter."

    ::= { snMspsDhcpRelay6IfEntry 15 }

snMspsDhcpRelay6IfRemoteIdUserDefined OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This object is used to configure the administrative specific unique ascii
         value for DHCPv6 Relay Agent.

         DHCPv6 servers can use this value to make decisions about the
         information such as addresses, delegated prefixes, configuration parameters etc,
         that the client is to receive.

         Relay Agent uses this unique ascii value to have a unique remote-id for its
         enterprise number, as sequence of enterprise number followed by remote-id must
         be globally unique.

         DHCPv6 Relay String is a user defined parameter so it can be set to any
         value within defined boundaries.
         DHCPv6 Relay ascii value is a 128 octets long identifier which can have any
         administrative configured ascii value representing the unique string.

         This Object will be used only if value of snMspsDhcpRelay6IfRemoteIdOption object
         is set as userDefined (4)."

    ::= { snMspsDhcpRelay6IfEntry 16 }
snMspsDhcpRelay6IfRemoteIdSuffixOptions OBJECT-TYPE
    SYNTAX       BITS
                 {
	            routerIndex(0),      -- Router Interface 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 suffixed in remote-id option and 
               according to snMspsDhcpRelay6IfRemoteIdOptions value. It is possible to set more 
               than one bit at a time, currently first three bits are used and remaining bits are 
               reserved for future purpose.
               DHCPv6 servers can use this value to make decisions about the information such as 
               addresses, delegated prefixes, configuration parameters etc. that the client is to receive.
               Relay Agent uses this unique value to have a unique remote-id for its enterprise number, 
               as sequence of enterprise number followed by remote-id must be globally unique.
               The default value for snMspsDhcpRelay6IfRemoteIdSuffixOptions object is empty set, 
               which means no enumerated values are set."
    DEFVAL { 0 }
    ::= { snMspsDhcpRelay6IfEntry 17 }

-- ******************************************************************
-- End of Relay Interface Table {snMspsDhcpRelay6IfTable)
-- ******************************************************************
-- ******************************************************************
-- Start of Relay Server Address Table {snMspsDhcpRelay6SrvAddressTable)
-- ******************************************************************
snMspsDhcpRelay6SrvAddressTable   OBJECT-TYPE 
    SYNTAX SEQUENCE OF SnMspsDhcpRelay6SrvAddressEntry
    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 or other relay agent . This object becomes 
        active only when snMspsDhcpRelay6ServersOnly is enabled."
    ::= { snMspsDhcpRelay6Config 2 }

snMspsDhcpRelay6SrvAddressEntry OBJECT-TYPE 
    SYNTAX      SnMspsDhcpRelay6SrvAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The Address table entry. This entry is not lost
        upon reboot. It is backed up by stable storage. Each entry
        in this table contains the required attribute values which
        define the Address Table Entry"
    INDEX { snMspsDhcpRelay6InIfIndex, snMspsDhcpRelay6SrvAddress }
    ::= { snMspsDhcpRelay6SrvAddressTable 1 }

SnMspsDhcpRelay6SrvAddressEntry ::= SEQUENCE {
    snMspsDhcpRelay6InIfIndex               Integer32,
    snMspsDhcpRelay6SrvAddress              OCTET STRING,
    snMspsDhcpRelay6SrvAddressRowStatus     RowStatus
    }

snMspsDhcpRelay6InIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
       "This object identifies the input Interface Index
        value mapped to this Server Address Table.."
    ::= { snMspsDhcpRelay6SrvAddressEntry 1}

snMspsDhcpRelay6SrvAddress OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  not-accessible
    STATUS      current 
    DESCRIPTION
       "The object indicates the IP Address of the DHCP server."
    ::= { snMspsDhcpRelay6SrvAddressEntry 2 }  

snMspsDhcpRelay6SrvAddressRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current 
    DESCRIPTION
       "This object is the status of the row "
    ::=  { snMspsDhcpRelay6SrvAddressEntry 3 }  

-- ******************************************************************
-- End of Relay Server Address Table {snMspsDhcpRelay6SrvAddressTable)
-- ******************************************************************

-- ******************************************************************
-- Start of Relay Output Interface Table {snMspsDhcpRelay6OutIfTable)
-- ******************************************************************
snMspsDhcpRelay6OutIfTable   OBJECT-TYPE 
    SYNTAX SEQUENCE OF SnMspsDhcpRelay6OutIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "This table contains interface that specifies output interface for a 
        destination. If this argument is configured, client messages are 
        forwarded to the destination address through the link to which the 
        output interface is connected."
    ::= { snMspsDhcpRelay6Config 3 }

snMspsDhcpRelay6OutIfEntry OBJECT-TYPE 
    SYNTAX      SnMspsDhcpRelay6OutIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
       "The output interface table entry. This entry is not lost
        upon reboot. It is backed up by stable storage. Each entry 
        in this table contains the required attribute values which
        define the output interface Table Entry"
    INDEX { snMspsDhcpRelay6InIfIndex, snMspsDhcpRelay6SrvAddress, snMspsDhcpRelay6OutIfIndex}
    ::= { snMspsDhcpRelay6OutIfTable 1 }

SnMspsDhcpRelay6OutIfEntry ::= SEQUENCE {
    snMspsDhcpRelay6OutIfIndex         Integer32,
    snMspsDhcpRelay6OutIfRowStatus     RowStatus
    }

snMspsDhcpRelay6OutIfIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647) 
    MAX-ACCESS  not-accessible 
    STATUS      current
    DESCRIPTION
       "This object identifies the output Interface Index
        value mapped to this Server Address Table.."
    ::= { snMspsDhcpRelay6OutIfEntry 1}

snMspsDhcpRelay6OutIfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current 
    DESCRIPTION
       "This object is the status of the row "
    ::=  { snMspsDhcpRelay6OutIfEntry 2 }  

-- ******************************************************************
-- End of Relay Server Interface Table {snMspsDhcpRelay6OutIfTable)
-- ******************************************************************

-- ******************************************************************
--                               TRAPS
-- ******************************************************************
snMspsDhcpRelay6TrapIfIndex OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
    "This object specifies the interface on which the trap is 
    was triggered."
    ::= { snMspsDhcpRelay6Traps 1 }
snMspsDhcpRelay6TrapInvalidMsgType OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
    "This object specifies the type of invalid message received
    on a relay enabled interface."
    ::= { snMspsDhcpRelay6Traps 2 }
-- ******************************************************************
--                       NOTIFICATION-TYPES
-- ******************************************************************
snMspsDhcpRelay6RlyInvalidPacketTrap NOTIFICATION-TYPE
    OBJECTS {
             snMspsDhcpRelay6TrapInvalidMsgType,
             snMspsDhcpRelay6TrapIfIndex
            }
    STATUS      deprecated
    DESCRIPTION
       "This trap is generated when received Message is Invalid."
    ::= {snMspsDhcpRelay6Notify 1}

snMspsDhcpRelay6RlyMaxHopCountTrap NOTIFICATION-TYPE
    OBJECTS {
             snMspsDhcpRelay6TrapIfIndex
            }
    STATUS      deprecated
    DESCRIPTION
      "This trap is generated when relay agent is not able to 
       add the relay header because the received hop count value is 
       equal to the configured hop count value."
    ::= {snMspsDhcpRelay6Notify 2}

-- ----------------------
-- snMspsDNSClient.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- object definitions for the management of the DNS client (resolver) side of
-- the Domain Name System (DNS) protocol.
--
-- Copyright (c) 2013 Siemens AG
-- All rights reserved.
-- ----------------------


snMspsDNSClientObjects          OBJECT-IDENTITY
    STATUS                      current
    DESCRIPTION
        "The MIB objects in this group extend the Management Information Base
        for DNS clients (resolvers) as defined by the DNS-RESOLVER-MIB. In
        certain agent implementations, this MIB may also be used in a
        stand-alone manner."
    ::= { snMspsDNSClient  1 }

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

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

        The global DNS client enable/disable flag."
    ::= { snMspsDNSClientConfig 1 }

snMspsDNSClientManualOverride   OBJECT-TYPE
    SYNTAX                      INTEGER {
    	                            public(1),
    	                            manual(2),
    	                            all(3)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "This is a control variable.
        It is written by the remote management entity.

        -public: only the public name servers in order given by provider 
        		are written in /etc/resolv.conf
        -manual: only the manual name servers given by user 
        		are written in /etc/resolv.conf
        -all: manual as well as public name servers
        		are written in /etc/resolv.conf in order from
        		manual to public."
    DEFVAL
        { public }
    ::= { snMspsDNSClientConfig 2 }

snMspsDNSNameServerTable        OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDNSNameServerEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDNSClientObjects  2 }

snMspsDNSNameServerEntry        OBJECT-TYPE
    SYNTAX                      SnMspsDNSNameServerEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDNSNameServerIndex }
    ::= { snMspsDNSNameServerTable  1 }

SnMspsDNSNameServerEntry ::= SEQUENCE {
    snMspsDNSNameServerIndex Unsigned32,
    snMspsDNSNameServerAddressType InetAddressType,
    snMspsDNSNameServerAddress InetAddress,
    snMspsDNSNameServerRowStatus RowStatus
    }

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

snMspsDNSNameServerAddressType  OBJECT-TYPE
    SYNTAX                      InetAddressType
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The IP version of the address."
    ::= { snMspsDNSNameServerEntry 2 }

snMspsDNSNameServerAddress      OBJECT-TYPE
    SYNTAX                      InetAddress
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "The IP address."
    ::= { snMspsDNSNameServerEntry 3 }

snMspsDNSNameServerRowStatus    OBJECT-TYPE
    SYNTAX                      RowStatus
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDNSNameServerEntry 9 }

snMspsDNSOperNameServerTable    OBJECT-TYPE
    SYNTAX                      SEQUENCE OF SnMspsDNSOperNameServerEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    ::= { snMspsDNSClientObjects  3 }

snMspsDNSOperNameServerEntry    OBJECT-TYPE
    SYNTAX                      SnMspsDNSOperNameServerEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        ""
    INDEX                       { snMspsDNSOperNameServerIndex }
    ::= { snMspsDNSOperNameServerTable  1 }

SnMspsDNSOperNameServerEntry ::= SEQUENCE {
    snMspsDNSOperNameServerIndex Unsigned32,
    snMspsDNSOperNameServerAddressType InetAddressType,
    snMspsDNSOperNameServerAddress InetAddress,
    snMspsDNSOperNameServerOrigin INTEGER
    }

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

snMspsDNSOperNameServerAddressType OBJECT-TYPE
    SYNTAX                      InetAddressType
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION
        "The IP version of the address."
    ::= { snMspsDNSOperNameServerEntry 2 }

snMspsDNSOperNameServerAddress  OBJECT-TYPE
    SYNTAX                      InetAddress
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION
        "The IP address."
    ::= { snMspsDNSOperNameServerEntry 3 }

snMspsDNSOperNameServerOrigin   OBJECT-TYPE
    SYNTAX                      INTEGER {
    	                            manual(1),
    	                            dhcp(2),
    	                            ipcp(3),
    	                            ipv6-rtr-advt(10)
                                }
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION
        "This is a status variable.
        It is written by the local management entity.

        The attribute denotes the origin of the entry's configuration data.
        - manually configured;
        - learned from dhcp;
        - learned from ipcp.
        - learned from ipv6 router advertisement packet."
    ::= { snMspsDNSOperNameServerEntry 4 }

-- This table is for configuring the Domain Name List
 
       snMspsDNSDomainNameTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF SnMspsDNSDomainNameEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
             "A table containing the Domain Name List"
         ::= { snMspsDNSClientObjects 8 }

       snMspsDNSDomainNameEntry OBJECT-TYPE
         SYNTAX        SnMspsDNSDomainNameEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
             "Domain Name List Entries "
         INDEX { snMspsDNSDomainNameIndex }
         ::= { snMspsDNSDomainNameTable 1 }

         SnMspsDNSDomainNameEntry ::=
          SEQUENCE {
                    snMspsDNSDomainNameIndex Unsigned32,
                    snMspsDNSDomainName DisplayString,
                    snMspsDNSDomainNameOrigin INTEGER,
                    snMspsDNSDomainNameRowStatus RowStatus
                   }

       snMspsDNSDomainNameIndex OBJECT-TYPE
         SYNTAX       Unsigned32
         MAX-ACCESS   not-accessible
         STATUS       current
         DESCRIPTION
           " An arbitrary integer value, greater than zero, 
             which uniquely identifies a Domain Name"
         ::= { snMspsDNSDomainNameEntry 1 }

       snMspsDNSDomainName OBJECT-TYPE        
         SYNTAX      DisplayString (SIZE(1..250))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
            "The type of object that represents the Domain Name"
         ::= { snMspsDNSDomainNameEntry 2 }

       snMspsDNSDomainNameOrigin   OBJECT-TYPE
         SYNTAX                      INTEGER 
                                {
    	                             manual(1),
    	                             dhcp(2),
    	                             ipv6-rtr-advt(10)
                                }
         MAX-ACCESS                  read-only
         STATUS                      current
         DESCRIPTION
           "This is a status variable.
            It is written by the local management entity.

            The attribute denotes the origin of the entry's configuration data.
            - manually configured;
            - learned from dhcp;
            - learned from ipv6 router advertisement packet."
         ::= { snMspsDNSDomainNameEntry 3 }

       snMspsDNSDomainNameRowStatus OBJECT-TYPE
          SYNTAX        RowStatus
          MAX-ACCESS    read-write
          STATUS        current
          DESCRIPTION
            "Specifies the Row Status of the Domain Name"
         ::= { snMspsDNSDomainNameEntry 100 }

    
-- ----------------------------------------------------------------
-- 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 applicable for  the 
       incoming packets on all ports.
       Even though the snMspsAclL2FilterInPortList is configured, It is applicable only
       if snMspsAclL2FilterDirection is configured as 'in'.
       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 applicable for  the 
      outgoing packets on all ports.
      Even though the snMspsAclL2FilterOutPortList is configured, It is applicable only
      if snMspsAclL2FilterDirection is configured as 'out'.
      By default outport list is maintained as '0'." 
   ::= { snMspsAclL2FilterEntry 12 }
   
snMspsAclL2FilterDirection 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 snMspsAclL2FilterInPortList.
      When the direction of this filter is 'out', It is applied on specified
      ports of the snMspsAclL2FilterOutPortList."
   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 applicable for all the 
      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 applicable for all the 
      outgoing packets in all ports.
      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) 
                       } 
   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."
   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 }




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 }

   


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
     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 }


-- ----------------------
-- 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
            "EnvData Warnings."
    ::= { snMspsTrapPrefix 1862 }
    
snMspsTrapConfigurationChange  NOTIFICATION-TYPE
        STATUS                  current 
        DESCRIPTION
            "EnvData Warnings."
    ::= { 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{
                                  web(1),  -- For WEB module
                                  msr(2),  -- For MSR module
                                  tftp(3), -- For TFTP module
                                  cli(4)   -- For CLI module
                                }
         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

            }

     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}
         
         
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
	}
	
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 }
	

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 { false }        
    	::= { 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 }          

-- ----------------------
-- snMspsIp6.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- IPv6 Proprietary MIB Definition
-- 
--
-- Copyright (c) 2014 Siemens AG
-- All rights reserved.
-- ----------------------


-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

InterfaceList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        interfaces, with the first octet specifying router-ports 1 through
        8, the second octet specifying router-ports 9 through 16, etc.
        Within each octet, the most significant bit represents the lowest 
        numbered router-port or L3 interface, and the least significant bit
        represents the highest numbered port.  Thus, each L3 interface
        of the switch is represented by a single bit within the
        value of this object.  If that bit has a value of '1',
        then that L3 interface is included in the set of interfaces; the interface 
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING
	
snMspsIpIp6  OBJECT IDENTIFIER ::= { snMspsIp6 1 }

snMspsIp6Icmp OBJECT IDENTIFIER ::= { snMspsIp6 2 }

snMspsIp6Udp OBJECT IDENTIFIER ::= { snMspsIp6 3 }

snMspsIp6Tunnel OBJECT IDENTIFIER ::= {snMspsIp6 5 }

snMspsIp6Route OBJECT IDENTIFIER ::= {snMspsIp6 6 }

-- the IPv6 general group
-- snMspsIpIp6 GROUP

snMspsIp6Scalars  OBJECT IDENTIFIER ::= { snMspsIpIp6 1 }
snMspsIp6Tables  OBJECT IDENTIFIER ::= { snMspsIpIp6 2 }

-- snMspsIp6Scalars BEGIN

          snMspsIp6NdCacheMaxRetries OBJECT-TYPE
              SYNTAX   Integer32 (1..10)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "This object specifies the maximum number of retries
                  that can be attempted upon resolving the 'physical'
                  address of an IPv6 address during address resolution
                  or unreachability detection."
              DEFVAL { 3 }
              ::= { snMspsIp6Scalars 1 }

         snMspsIp6PmtuConfigStatus OBJECT-TYPE
             SYNTAX  INTEGER {
                      enable(1),
                      disable(2)
                    }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
               "Flag to enable or disable Path MTU Discovery for the node."
             DEFVAL  { enable }
             ::= { snMspsIp6Scalars 2 }

         snMspsIp6PmtuTimeOutInterval OBJECT-TYPE
             SYNTAX Unsigned32 
             MAX-ACCESS  read-write
             STATUS  current
             DESCRIPTION
                "The time in minutes after which the path MTU entry times out."
             DEFVAL { 60 }
             ::= { snMspsIp6Scalars 3 }
         
         -- IPv6 Jumbograms Scalars

         snMspsIp6JumboEnable OBJECT-TYPE
             SYNTAX  INTEGER {
                      enable(1),
                      disable(2)
                    }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
               "Flag to enable or disable IPv6 Jumbogram facility for the node."
             DEFVAL  { enable }
             ::= { snMspsIp6Scalars 4 }


         snMspsIp6NumOfSendJumbo OBJECT-TYPE
             SYNTAX  Integer32 
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                "Number of IPv6 Jumbograms sent from the node."
             ::= { snMspsIp6Scalars 5 }
	
         snMspsIp6NumOfRecvJumbo OBJECT-TYPE
             SYNTAX  Integer32 
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                "Number of IPv6 Jumbograms received."
             ::= { snMspsIp6Scalars 6 }

         snMspsIp6ErrJumbo OBJECT-TYPE
             SYNTAX  Integer32 
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                "Number of IPv6 Error Jumbograms received or transmitted."
             ::= { snMspsIp6Scalars 7 }

         snMspsIp6GlobalDebug OBJECT-TYPE
              SYNTAX  Unsigned32
              MAX-ACCESS read-write
              STATUS  current
              DESCRIPTION
                   "Enables the tracing in the selected submodule in IP6. A 32 bit
              integer is used to store the Tracing level in the specified module.
              Different Tracing Levels -
                 BIT 0 - Initialisation and Shutdown Trace.
                 BIT 1 - Management trace.
                 BIT 2 - Data path trace.
                 BIT 3 - Control Plane trace.
                 BIT 4 - Packet Dump.
                 BIT 5 - OS Resource trace.
                 BIT 6 - All Failure trace (All failures including Packet Validation)
                 BIT 7 - Buffer Trace.

              Different submodule Tracing -
                 BIT 24 - Tracing in IP6 module.
                 BIT 25  - Tracing in ICMP6 submodule.
                 BIT 26 - Tracing in ND6 submodule.
                 BIT 27 - Tracing in UDP6 submodule.
                 BIT 29 - Tracing in PING6 submodule.
 
              The remaining bits are unused.The combination of levels and submodules
              are allowed i.e. Tracing can be allowed at all failure and data path
              level in All submodules by setting the BIT appropriately.
              For Example, setting the debug value to 00000001000000000000000001000000 
              will enable all failure trace prints in IP6 module."
             ::= {  snMspsIp6Scalars 8  }

-- sizing wanted scalars - begin

-- These Values would come into effect, if only the router is rebooted
-- after the configuration.  The value of all the objects range from 1
-- to configured value, if the Minumum value is not specified in the
-- 'DESCRIPTION' part.

              snMspsIp6MaxRouteEntries OBJECT-TYPE
              SYNTAX  Unsigned32 
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                "Maximum Number of Route Entries that could be configured in
              the system. Minumum value is 5."
              ::= { snMspsIp6Scalars 9 }

              snMspsIp6MaxLogicalIfaces OBJECT-TYPE
              SYNTAX  Unsigned32 
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                "Maximum Number of configurable Logical IPv6 Interfaces" 
              ::= { snMspsIp6Scalars 10 }

              snMspsIp6MaxTunnelIfaces OBJECT-TYPE
              SYNTAX  Unsigned32
              MAX-ACCESS read-write
              STATUS  current
              DESCRIPTION
                "Maximum Number of configurable Tunnel Interfaces"
              ::= { snMspsIp6Scalars 11 }

              snMspsIp6MaxAddresses OBJECT-TYPE
              SYNTAX  Unsigned32 
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                 "Maximum Number of Configurable IPv6 Interfaces."
              ::= { snMspsIp6Scalars 12 }

              snMspsIp6MaxFragReasmEntries OBJECT-TYPE
              SYNTAX Unsigned32  
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                 "This object could be used for 2 purpose. 
                  1. Maximum Number of IP6 datagrams awaiting reassembly.
                  2. Maximum Number of fragments that could be allowed in
                     a single reassembly list."
              ::= { snMspsIp6Scalars 13 }

              snMspsIp6Nd6MaxCacheEntries OBJECT-TYPE
              SYNTAX Unsigned32  
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                 "Maximum Number of ND Cache Entries."
              ::= { snMspsIp6Scalars 14 }

              snMspsIp6PmtuMaxDest OBJECT-TYPE
              SYNTAX Unsigned32  
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                 "Maximum Number of PMTU Table Entries"
              ::= { snMspsIp6Scalars 15 }

-- sizing wanted scalars - end

              snMspsIp6RFC5095Compatibility OBJECT-TYPE
              SYNTAX     INTEGER {
                            enabled(1),
                            disabled(2)
                        }
              MAX-ACCESS read-write 
              STATUS  current
              DESCRIPTION
                 "When the IPv6 node is configured to be RFC5095 compatible, 
                  then it should treat Type 0 Routing Header as invalid 
                  routing header type."
             DEFVAL  {enabled}
              ::= { snMspsIp6Scalars 16 }

-- snMspsIp6Scalars END

-- snMspsIp6Tables BEGIN
         -- IPv6 Interface Table

         -- The IPv6 Interface table defines the logical interfaces on which
         -- IPv6 protocol is running. These include LAN interfaces, Point-to-
         -- Point interfaces, IPv6 over IPv4 Tunnel interfaces and NBMA
         -- interfaces.

         -- Entries of this table are created/deleted from SNMP.


         snMspsIp6IfTable OBJECT-TYPE
             SYNTAX      SEQUENCE OF SnMspsIp6IfEntry
             MAX-ACCESS      not-accessible
             STATUS      current
             DESCRIPTION
               "The IPv6 Interface table contains information on the 
               entity's internetwork-layer interfaces on which IPv6.
               protocol is enabled. An IPv6 interface constitutes a logical 
               network layer attachment to the layer immediately below
               IPv6. These include LAN interfaces, Point-to-Point interfaces, 
               NBMA interfaces and IPv6 over IPv4 Tunnel interfaces."
             ::= { snMspsIp6Tables 1 }


         snMspsIp6IfEntry OBJECT-TYPE
             SYNTAX     SnMspsIp6IfEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
               "An interface entry containing objects about a particular 
               IPv6 interface. The entry is created or deleted from SNMP."
             INDEX   { snMspsIp6IfIndex }
             ::= { snMspsIp6IfTable 1 }


         SnMspsIp6IfEntry ::= SEQUENCE {
                 snMspsIp6IfIndex
                     InterfaceIndex,
                 snMspsIp6IfType   
                     INTEGER,
                 snMspsIp6IfPortNum
                     Integer32,
                 snMspsIp6IfCircuitNum
                     Integer32,
                 snMspsIp6IfToken    
                     OCTET STRING,
                 snMspsIp6IfAdminStatus
                     INTEGER,
                 snMspsIp6IfOperStatus
                     INTEGER,
                 snMspsIp6IfRouterAdvStatus
                     INTEGER,
                 snMspsIp6IfRouterAdvFlags
                     INTEGER,
                 snMspsIp6IfHopLimit
                     Integer32,
                 snMspsIp6IfDefRouterTime
                     Integer32,
                 snMspsIp6IfReachableTime
                     Integer32,
                 snMspsIp6IfRetransmitTime
                     Integer32,
                 snMspsIp6IfDelayProbeTime
                     Integer32,
                 snMspsIp6IfPrefixAdvStatus
                     INTEGER,
                 snMspsIp6IfMinRouterAdvTime
                     Integer32,
                 snMspsIp6IfMaxRouterAdvTime
                     Integer32,
                 snMspsIp6IfDADRetries
                     Integer32,
                 snMspsIp6IfForwarding
                     INTEGER,
                 snMspsIp6IfRoutingStatus
                     INTEGER,
                 snMspsIp6IfIcmpErrInterval
                     Integer32,
                 snMspsIp6IfIcmpTokenBucketSize
                     Integer32,
                 snMspsIp6IfDestUnreachableMsg
                     INTEGER,
                 snMspsIp6IfAddressAutoConfStatus
                     INTEGER
         }


         snMspsIp6IfIndex OBJECT-TYPE
             SYNTAX     InterfaceIndex
             MAX-ACCESS   not-accessible
             STATUS     current
             DESCRIPTION
               "A unique value identifying the particular IPv6 
               interface."
             ::= { snMspsIp6IfEntry 1 }


         snMspsIp6IfType OBJECT-TYPE
             SYNTAX     INTEGER {
                            ethernetcsmacd(6),
                            ppp(23),
                            framerelay(32),
                            tunnel(131),
                            l3ipvlan(136) 
                        }
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The type of interface immediately `below' the network layer 
               in the protocol stack."
             ::= { snMspsIp6IfEntry 2 }


         snMspsIp6IfPortNum OBJECT-TYPE
             SYNTAX     Integer32 (1..255)
             MAX-ACCESS     read-only
             STATUS    current
             DESCRIPTION
               "This object identifies the 'interface' over which this
               network interface operates and is dependent on the value of
               snMspsIp6IfType. This object reflects the ifindex value of
               ifTable."
             ::= { snMspsIp6IfEntry 3 }


         snMspsIp6IfCircuitNum OBJECT-TYPE
             SYNTAX     Integer32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "This object identifies the circuit over which this network
               interface operates and is dependent on the value of
               snMspsIp6IfType. If the data-link layer is Ethernet, PPP or
               IPv4 Tunnel, this object can have only value of zero. If the
               data-link layer is Frame Relay, this object requires a non-zero
               value which will identify the Frame Relay virtual circuit."
             ::= { snMspsIp6IfEntry 4 }


         snMspsIp6IfToken OBJECT-TYPE
             SYNTAX     OCTET STRING (SIZE (1..8))
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
               "The address token for this interface that is (at least) 
               unique on the link this interface is attached to. This token
               can be specified only if the snMspsIp6IfType is frame-relay(32). For
               other interface types, the interface token is autoconfigured
               according to the rules of the link type this interface is
               attached to. This address token is combined with the prefix
               'fe80' to form a link-local IPv6 address on this interface."
             ::= { snMspsIp6IfEntry 5 }


         snMspsIp6IfAdminStatus OBJECT-TYPE
             SYNTAX     INTEGER {
                            up(1),
                            down(2)
                        }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "Indicates whether IPv6 is enabled/disabled on this interface.
               When lower layer indicates the creation of the interface, an
               entry will be create in IPv6 interfac table with
               snMspsIp6IfAdminStatus in down(2) state. Either on setting this
               object as up(1) or configuring any IPv6 address over this
               interface, will set the snMspsIp6IfAdminStatus to up(1) state.
               If this object is set to down(2), and if no IPv6 address is
               configured for this interface, snMspsIp6IfAdminStatus goes
               down(2). Else the Status remains up(1), as long as the
               IPv6 address are present. Once these addresses are removed,
               the status goes to down(2)."
             ::= { snMspsIp6IfEntry 6 }


         snMspsIp6IfOperStatus OBJECT-TYPE
             SYNTAX     INTEGER {
                            up(1),
                            down(2),
                            stale(3)
                        }
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The operational state of interface. It is up(1) if the
                snMspsIp6IfAdminStatus is 'up' and the layer below the network
                layer is also operational. Otherwise it is down(2)."
             ::= { snMspsIp6IfEntry 7 }

         snMspsIp6IfRouterAdvStatus OBJECT-TYPE
            SYNTAX  INTEGER {
                     enabled(1),
                     disabled(2)
                 }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The router advertisement status on this interface. When
               the object is set to enabled(1), router advertisements can be
               allowed on the IPv6 interface. Otherwise, router advertisements
               are not allowed."
             DEFVAL  { disabled}
             ::= { snMspsIp6IfEntry 8 }


         snMspsIp6IfRouterAdvFlags OBJECT-TYPE
            SYNTAX  INTEGER {
                       mbit(1),
                       obit(2),
                       nombit(3),
                       noobit(4),
                       mobits(5),
                       none(6)
                    }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "This object specifies the bits to be set in the router
               advertisements sent by this entity on this interface.
               M-bit set in the router advertisement indicates hosts
               to configure an address by stateful protocol means. O-bit
               set in the router advertisement indicates hosts to configure
               other non-address information by stateful means."
             DEFVAL  { none }
             ::= { snMspsIp6IfEntry 9 }


         snMspsIp6IfHopLimit OBJECT-TYPE
             SYNTAX     Integer32 (1..255)
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The Hop Limit value to be placed in the router advertisements
               sent on this IPv6 interface."
             DEFVAL  { 64 }
             ::= { snMspsIp6IfEntry 10 }


         snMspsIp6IfDefRouterTime OBJECT-TYPE
             SYNTAX     Integer32
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The default router time to be indicated in the router 
               advertisements sent on this IPv6 interface. This defines the
               time in seconds for which this entity acts as the default
               router for all all hosts on the interface. A value of 0 
               indicates that the entity is not a default router.
               The value can be configured in the range between 
               snMspsIp6IfMaxRouterAdvTime and 9000 seconds."
             DEFVAL  { 0 }
             ::= { snMspsIp6IfEntry 11 }


         snMspsIp6IfReachableTime OBJECT-TYPE
             SYNTAX     Integer32 (0..3600)
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The reachable time to be indicated in the router
               advertisements sent on this IPv6 interface and also used by
               this entity. This defines the time in seconds that a neighboring
               node is considered to be reachable after having received the 
               reachability confirmation from that node."
             DEFVAL  { 30 }
             ::= { snMspsIp6IfEntry 12 }


         snMspsIp6IfRetransmitTime OBJECT-TYPE
             SYNTAX     Integer32 (1..3600)
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The retransmit time to be indicated in the router 
               advertisements sent on this IPv6 interface and also used by
               this entity. This defines the time in seconds between 
               retransmitted Neighbor Solicitations and is used during
               address resolution, unreachability detection and
               duplicate address detection."
             DEFVAL  { 1 }
             ::= { snMspsIp6IfEntry 13 }


         snMspsIp6IfDelayProbeTime OBJECT-TYPE
             SYNTAX     Integer32 (0..10)
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
               "The time in seconds to delay before starting unreachability
               probing of neighbor entries which are stale."
             DEFVAL  { 5 }
             ::= { snMspsIp6IfEntry 14 }


         snMspsIp6IfPrefixAdvStatus OBJECT-TYPE
            SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                    }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "The prefix advertisement status on this IPv6 interface. 
               Object value enabled(1) allows the configured prefixes to 
               be advertised in router advertisements. Otherwise, the prefixes
               are not sent in router advertisements."
             DEFVAL  { enabled }
             ::= { snMspsIp6IfEntry 15 }


          snMspsIp6IfMinRouterAdvTime OBJECT-TYPE
              SYNTAX   Integer32
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "The minimum time in seconds allowed between sending 
                 unsolicited router advertisements.The default value is
                 one-third the default value of snMspsIp6IfMaxRouterAdvTime.
                 The value can be configured in the range between 3 seconds
                 and three-fourth of snMspsIp6IfMaxRouterAdvTime."
             DEFVAL  { 198 }
             ::= { snMspsIp6IfEntry 16 }


          snMspsIp6IfMaxRouterAdvTime OBJECT-TYPE
              SYNTAX   Integer32 (4..1800)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "The maximum time in seconds between sending unsolicited 
                  router advertisements. Router advertisements are sent
                  periodically at a random interval between the values
                  specified by snMspsIp6IfMinRouterAdvTime and
                  snMspsIp6IfMaxRouterAdvTime."
             DEFVAL  { 600 }
             ::= { snMspsIp6IfEntry 17 }


          snMspsIp6IfDADRetries OBJECT-TYPE
              SYNTAX   Integer32 (0..10)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                  "The maximum number of neighbor solicitations sent for
                   the purpose of duplicate address detection on a tentative 
                   address."
             DEFVAL  { 1 }
             ::= { snMspsIp6IfEntry 18 }

          snMspsIp6IfForwarding OBJECT-TYPE
              SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                    }
              MAX-ACCESS     read-write
              STATUS     current
              DESCRIPTION
                  "This MIB object is used to configure IPv6 routing and forwarding
                   on this interface. The default value is set to enabled."
              DEFVAL  { 1 }
             ::= { snMspsIp6IfEntry 19 }

          snMspsIp6IfRoutingStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                    }
              MAX-ACCESS     read-only
              STATUS     current
              DESCRIPTION
                  "This MIB object indicates the current routing status
                   on this interface. This is based on the global IPv6
                   forwarding status of the mib object 'ipv6Forwarding'.
                   If 'ipv6Forwarding' is set to disabled, the routing
                   status is set to disabled on all the interfaces.
                   If 'ipv6Forwarding' is set to enabled, the value 
                   taken by this MIB objet is same as 'snMspsIp6IfForwarding'"
             ::= { snMspsIp6IfEntry 20 }

          snMspsIp6IfIcmpErrInterval OBJECT-TYPE
              SYNTAX   Integer32 (0..65535)
              UNITS       "milliseconds"
              MAX-ACCESS     read-write
              STATUS     current
              DESCRIPTION
                  "Time interval between tokens being added to the ICMPv6 token bucket."
              DEFVAL  { 100 }
              ::= { snMspsIp6IfEntry 21 }

           snMspsIp6IfIcmpTokenBucketSize OBJECT-TYPE
              SYNTAX  Integer32 (0..200)
              MAX-ACCESS     read-write
              STATUS     current
              DESCRIPTION
                  "Maximum number of tokens stored in the ICMPv6 bucket"
              DEFVAL  { 10 }
              ::= { snMspsIp6IfEntry 22 }

         snMspsIp6IfDestUnreachableMsg OBJECT-TYPE
              SYNTAX  INTEGER {
                   enabled(1),
                   disabled(2)
              }
              MAX-ACCESS     read-write
              STATUS     current
              DESCRIPTION
                  "Indicates whether ICMPv6 destination unreachable messages are
                   enabled/disabled on this interface."
              DEFVAL  { enabled }
              ::= { snMspsIp6IfEntry 23 }

         snMspsIp6IfAddressAutoConfStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                   enabled(1),
                   disabled(2)
              }
              MAX-ACCESS     read-write
              STATUS     current
              DESCRIPTION
                  "Indicates the status of stateless address 
                   auto-configuration (SLAAC) on this interface, i.e. whether to 
                   use prefix information from Router Advertisement packets to 
                   autoconfigure IPv6 address on this interface.
                   This is applicable when the device is IPv6 host"
              DEFVAL  { enabled }
              ::= { snMspsIp6IfEntry 24 }

         -- IPv6 Interface statistic table


         snMspsIp6IfStatsTable OBJECT-TYPE
             SYNTAX     SEQUENCE OF SnMspsIp6IfStatsEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
                 "IPv6 interface traffic statistics"
             ::= { snMspsIp6Tables 2 }


         snMspsIp6IfStatsEntry OBJECT-TYPE
             SYNTAX     SnMspsIp6IfStatsEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
                 "An interface statistics entry containing objects
                 at a particular IPv6 interface."
             INDEX   { snMspsIp6IfStatsIndex }
             ::= { snMspsIp6IfStatsTable 1 }


         SnMspsIp6IfStatsEntry ::= 
             SEQUENCE {
                 snMspsIp6IfStatsIndex
                     InterfaceIndex,
                 snMspsIp6IfStatsInReceives
                     Counter32,
                 snMspsIp6IfStatsInHdrErrors
                     Counter32,
                 snMspsIp6IfStatsTooBigErrors
                     Counter32,
                 snMspsIp6IfStatsInAddrErrors
                     Counter32,
                 snMspsIp6IfStatsForwDatagrams
                     Counter32,
                 snMspsIp6IfStatsInUnknownProtos
                     Counter32,
                 snMspsIp6IfStatsInDiscards
                     Counter32,
                 snMspsIp6IfStatsInDelivers
                     Counter32,
                 snMspsIp6IfStatsOutRequests
                     Counter32,
                 snMspsIp6IfStatsOutDiscards
                     Counter32,
                 snMspsIp6IfStatsOutNoRoutes
                     Counter32,
                 snMspsIp6IfStatsReasmReqds
                     Counter32,
                 snMspsIp6IfStatsReasmOKs
                     Counter32,
                 snMspsIp6IfStatsReasmFails
                     Counter32,
                 snMspsIp6IfStatsFragOKs
                     Counter32,
                 snMspsIp6IfStatsFragFails
                     Counter32,
                 snMspsIp6IfStatsFragCreates
                     Counter32,
                 snMspsIp6IfStatsInMcastPkts
                     Counter32,
                 snMspsIp6IfStatsOutMcastPkts
                     Counter32,
                 snMspsIp6IfStatsInTruncatedPkts
                     Counter32,
                 snMspsIp6IfStatsInRouterSols
                     Counter32,
                 snMspsIp6IfStatsInRouterAdvs
                     Counter32,
                 snMspsIp6IfStatsInNeighSols
                     Counter32,
                 snMspsIp6IfStatsInNeighAdvs
                     Counter32,
                 snMspsIp6IfStatsInRedirects
                     Counter32,
                 snMspsIp6IfStatsOutRouterSols
                     Counter32,
                 snMspsIp6IfStatsOutRouterAdvs
                     Counter32,
                 snMspsIp6IfStatsOutNeighSols
                     Counter32,
                 snMspsIp6IfStatsOutNeighAdvs
                     Counter32,
                 snMspsIp6IfStatsOutRedirects
                     Counter32,
                 snMspsIp6IfStatsLastRouterAdvTime
                     TimeTicks,
                 snMspsIp6IfStatsNextRouterAdvTime
                     TimeTicks,
                 snMspsIp6IfStatsIcmp6ErrRateLmtd
                     Counter32
             }


         snMspsIp6IfStatsIndex OBJECT-TYPE
             SYNTAX     InterfaceIndex
             MAX-ACCESS    not-accessible
             STATUS     current
             DESCRIPTION
                 "The index value which uniquely identifies the IPv6
                 interface for which this statistics are maintained.
                 The interface identified by a particular value of this 
                 index is the same interface as identified by the same 
                 value of snMspsIp6IfIndex."
             ::= { snMspsIp6IfStatsEntry 1 }


         snMspsIp6IfStatsInReceives OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The total number of input datagrams received from
                interfaces, including those received in error."
             ::= { snMspsIp6IfStatsEntry 2 }


         snMspsIp6IfStatsInHdrErrors OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
                "The number of input datagrams discarded due to
                errors in their IPv6 headers, including version
                number mismatch, other format errors, hop count
                exceeded, errors discovered in processing their
                IPv6 options, etc."
             ::= { snMspsIp6IfStatsEntry 3 }


         snMspsIp6IfStatsTooBigErrors OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
               "The number of datagrams that could not be forwarded
                because their size exceeded the Path MTU"
             ::= { snMspsIp6IfStatsEntry 4 }


         snMspsIp6IfStatsInAddrErrors OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of input datagrams discarded because
                the IPv6 address in their IPv6 header's destination
                field was not a valid address to be received at
                this entity.  This count includes invalid
                addresses (e.g., ::0) and unsupported addresses
                (e.g., addresses with unallocated prefixes).  For
                entities which are not IPv6 routers and therefore
                do not forward datagrams, this counter includes
                datagrams discarded because the destination address
                was not a local address."
             ::= { snMspsIp6IfStatsEntry 5 }


         snMspsIp6IfStatsForwDatagrams OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of input datagrams for which this
                entity was not their final IPv6 destination, as a
                result of which an attempt was made to find a
                route to forward them to that final destination.
                In entities which do not act as IPv6 routers, this
                counter will include only those packets which were
                Source-Routed via this entity, and the Source-
                Route option processing was successful."
             ::= { snMspsIp6IfStatsEntry 6 }


         snMspsIp6IfStatsInUnknownProtos OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS     current 
             DESCRIPTION
                "The number of locally-addressed datagrams
                received successfully but discarded because of an
                unknown or unsupported protocol."
             ::= { snMspsIp6IfStatsEntry 7 }


         snMspsIp6IfStatsInDiscards OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of input IPv6 datagrams for which no
                problems were encountered to prevent their
                continued processing, but which were discarded
                (e.g., for lack of buffer space).  Note that this
                counter does not include any datagrams discarded
                while awaiting re-assembly."
             ::= { snMspsIp6IfStatsEntry 8 }


         snMspsIp6IfStatsInDelivers OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
              "The total number of input datagrams successfully
              delivered to IPv6 user-protocols (including ICMP)."
             ::= { snMspsIp6IfStatsEntry 9 }


         snMspsIp6IfStatsOutRequests OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
              "The total number of IPv6 datagrams which local IPv6
              user-protocols (including ICMP) supplied to IPv6 in
              requests for transmission.  Note that this counter
              does not include any datagrams counted in
              snMspsIp6IfStatsForwDatagrams."
             ::= { snMspsIp6IfStatsEntry 10 }


         snMspsIp6IfStatsOutDiscards OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                 "The number of output IPv6 datagrams for which no
                 problem was encountered to prevent their
                 transmission to their destination, but which were
                 discarded (e.g., for lack of buffer space).  Note
                 that this counter would include datagrams counted
                 in snMspsIp6IfStatsForwDatagrams if any such packets
                 met this (discretionary) discard criterion."
             ::= { snMspsIp6IfStatsEntry 11 }


         snMspsIp6IfStatsOutNoRoutes OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of IPv6 datagrams discarded because no
                 route could be found to transmit them to their
                 destination.  Note that this counter includes any
                 packets counted in snMspsIp6IfStatsForwDatagrams which
                 meet this `no-route' criterion.  Note that this
                 includes any datagarms which a host cannot route
                 because all of its default routers are down."
             ::= { snMspsIp6IfStatsEntry 12 }


         snMspsIp6IfStatsReasmReqds OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of IPv6 fragments received which needed
                 to be reassembled at this entity."
             ::= { snMspsIp6IfStatsEntry 13 }


         snMspsIp6IfStatsReasmOKs OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
               "The number of IPv6 datagrams successfully
               reassembled."
             ::= { snMspsIp6IfStatsEntry 14 }


         snMspsIp6IfStatsReasmFails OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of failures detected by the IPv6 re-
                assembly algorithm (for whatever reason: timed
                out, errors, etc).  Note that this is not
                necessarily a count of discarded IPv6 fragments
                since some algorithms (notably the algorithm in
                RFC 815) can lose track of the number of fragments
                by combining them as they are received."
             ::= { snMspsIp6IfStatsEntry 15 }


         snMspsIp6IfStatsFragOKs OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of IPv6 datagrams that have been
                 successfully fragmented at this entity."
             ::= { snMspsIp6IfStatsEntry 16 }


         snMspsIp6IfStatsFragFails OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of IPv6 datagrams that have been
                 discarded because they needed to be fragmented
                 at this entity but could not be."
             ::= { snMspsIp6IfStatsEntry 17 }


         snMspsIp6IfStatsFragCreates OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of IPv6 datagram fragments that have
                 been generated as a result of fragmentation at
                 this entity."
             ::= { snMspsIp6IfStatsEntry 18 }


         snMspsIp6IfStatsInMcastPkts OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS     current
             DESCRIPTION
                "The number of multicast packets received
                 by the interface"
             ::= { snMspsIp6IfStatsEntry 19 }


         snMspsIp6IfStatsOutMcastPkts OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of multicast packets transmitted
                 by the interface"
             ::= { snMspsIp6IfStatsEntry 20 }


         snMspsIp6IfStatsInTruncatedPkts OBJECT-TYPE
             SYNTAX      Counter32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
                "The number of input datagrams discarded because
                 datagram frame didn't carry enough data"
             ::= { snMspsIp6IfStatsEntry 21 }


         snMspsIp6IfStatsInRouterSols OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Solicit messages
               received."
             ::= { snMspsIp6IfStatsEntry 22 }


         snMspsIp6IfStatsInRouterAdvs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Advertisement messages
              received."
             ::= { snMspsIp6IfStatsEntry 23 }


         snMspsIp6IfStatsInNeighSols OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Solicit messages
               received."
             ::= { snMspsIp6IfStatsEntry 24 }


         snMspsIp6IfStatsInNeighAdvs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Advertisement
              messages received."
             ::= { snMspsIp6IfStatsEntry 25 }

         snMspsIp6IfStatsInRedirects OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Redirect messages 
               received."
             ::= { snMspsIp6IfStatsEntry 26 }

         snMspsIp6IfStatsOutRouterSols OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Solicit messages
               sent."
             ::= { snMspsIp6IfStatsEntry 27 }


         snMspsIp6IfStatsOutRouterAdvs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Advertisement messages
               sent."
             ::= { snMspsIp6IfStatsEntry 28 }


         snMspsIp6IfStatsOutNeighSols OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Solicitation
               messages sent."
             ::= { snMspsIp6IfStatsEntry 29 }


         snMspsIp6IfStatsOutNeighAdvs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Advertisement
              messages sent."
             ::= { snMspsIp6IfStatsEntry 30 }


         snMspsIp6IfStatsOutRedirects OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of Redirect messages sent."
             ::= { snMspsIp6IfStatsEntry 31 }


          snMspsIp6IfStatsLastRouterAdvTime OBJECT-TYPE
              SYNTAX   TimeTicks
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
               "The time at which the last Periodic router advertisement
                was sent."
             ::= { snMspsIp6IfStatsEntry 32 }


          snMspsIp6IfStatsNextRouterAdvTime OBJECT-TYPE
              SYNTAX   TimeTicks
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
               "The time at which the next Periodic router advertisement
                is scheduled to be sent."
             ::= { snMspsIp6IfStatsEntry 33 }


         snMspsIp6IfStatsIcmp6ErrRateLmtd OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS     read-only
              STATUS     current
              DESCRIPTION
                   "No of rate limited ICMP6 error messages "
              ::= { snMspsIp6IfStatsEntry 34 }


          -- IPv6 Prefix Table
          
          -- The IPv6 Prefix table contains this entity's IPv6
          -- address prefix information that are advertised along
          -- with the route advertisement message.

          -- Entries are created/deleted from SNMP.

          snMspsIp6PrefixTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF SnMspsIp6PrefixEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The table containing entity's IPv6 address prefix information."
              ::= { snMspsIp6Tables 3 }

          snMspsIp6PrefixEntry   OBJECT-TYPE
              SYNTAX   SnMspsIp6PrefixEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The entry in the IPv6 Address Prefix Table which defines a
                  prefix to be advertised in the route advertisement message
                  send on an IPv6 interface."
              INDEX  {snMspsIp6PrefixIndex,
                      snMspsIp6PrefixAddress,
                      snMspsIp6PrefixAddrLen
                     }
              ::= { snMspsIp6PrefixTable 1 }

          SnMspsIp6PrefixEntry  ::=
              SEQUENCE {
                 snMspsIp6PrefixIndex
                     InterfaceIndex,
                 snMspsIp6PrefixAddress
                     OCTET STRING,
                 snMspsIp6PrefixAddrLen
                     Integer32,
                 snMspsIp6PrefixProfileIndex
                     Integer32,
                 snMspsIp6PrefixAdminStatus
                     RowStatus,
                 snMspsIp6SupportEmbeddedRp
                     TruthValue
              }

          snMspsIp6PrefixIndex OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS  not-accessible
              STATUS   current
              DESCRIPTION
                 "The index value which uniquely identifies the IPv6
                 interface on which this IPv6 address prefix entry is
                 to be advertised. The interface identified by a
                 particular value of this index is the same interface
                 as identified by the same value of snMspsIp6IfIndex."
              ::= { snMspsIp6PrefixEntry 1 }


          snMspsIp6PrefixAddress OBJECT-TYPE
              SYNTAX   OCTET STRING (SIZE (16))
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The IPv6 address prefix to which this entry's prefix
                  information pertains."
              ::= { snMspsIp6PrefixEntry 2 }


          snMspsIp6PrefixAddrLen OBJECT-TYPE
              SYNTAX   Integer32 (1..128)
              MAX-ACCESS  not-accessible
              STATUS   current
              DESCRIPTION
                 "The length of the prefix (in bits) associated with
                 the IPv6 address prefix of this entry."
              ::= { snMspsIp6PrefixEntry 3 }


          snMspsIp6PrefixProfileIndex OBJECT-TYPE
              SYNTAX   Integer32 (0..200)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "Indicates the index into the IPv6 Address Profile Table.
                 This entry of the IPv6 Address Profile table defines the
                 parameters for this prefix."
              DEFVAL { 0 }
              ::= { snMspsIp6PrefixEntry 4 }

          snMspsIp6PrefixAdminStatus OBJECT-TYPE
              SYNTAX            RowStatus
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                "Indicates the administrative status of the prefix.
                 CreateAndGo and NotInService are not supported."
              ::= { snMspsIp6PrefixEntry 5 }

         snMspsIp6SupportEmbeddedRp OBJECT-TYPE
   	     SYNTAX      TruthValue
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
               "Flag to control the usage of associated IPv6 Prefix address
                as a valid embedded-RP prefix on specified interface"
             DEFVAL  {false}
             ::= { snMspsIp6PrefixEntry 6 }


          -- IPv6 Address Table
          
          -- The IPv6 address table contains this entity's IPv6
          -- addressing information.

          -- Entries are created/deleted from SNMP.


          snMspsIp6AddrTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF SnMspsIp6AddrEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The table containing entity's IPv6 addressing information."
              ::= { snMspsIp6Tables 4 }


          snMspsIp6AddrEntry   OBJECT-TYPE
              SYNTAX   SnMspsIp6AddrEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The entry in the IPv6 Address Table which defines a
                 unicast, anycast or link-local address on an IPv6 interface."
              INDEX  {snMspsIp6AddrIndex,
                      snMspsIp6AddrAddress,
                      snMspsIp6AddrPrefixLen
                     }
              ::= { snMspsIp6AddrTable 1 }


          SnMspsIp6AddrEntry  ::=
              SEQUENCE {
                 snMspsIp6AddrIndex
                     InterfaceIndex,
                 snMspsIp6AddrAddress
                     OCTET STRING,
                 snMspsIp6AddrPrefixLen
                     Integer32,
                 snMspsIp6AddrAdminStatus
                     RowStatus,
                 snMspsIp6AddrType
                     INTEGER,
                 snMspsIp6AddrProfIndex
                     Integer32,
                 snMspsIp6AddrOperStatus    
                     INTEGER,
                 snMspsIp6AddrScope
                     InetScopeType
              }


          snMspsIp6AddrIndex OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS  not-accessible
              STATUS   current
              DESCRIPTION
                 "The index value which uniquely identifies the IPv6
                 interface on which this IPv6 address entry exists.
                 The interface identified by a particular value of this 
                 index is the same interface as identified by the same 
                 value of snMspsIp6IfIndex."
              ::= { snMspsIp6AddrEntry 1 }


          snMspsIp6AddrAddress OBJECT-TYPE
              SYNTAX   OCTET STRING (SIZE (16))
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The IPv6 address to which this entry's addressing
                  information pertains."
              ::= { snMspsIp6AddrEntry 2 }


          snMspsIp6AddrPrefixLen OBJECT-TYPE
              SYNTAX   Integer32 (0..128)
              MAX-ACCESS  not-accessible
              STATUS   current
              DESCRIPTION
                 "The length of the prefix (in bits) associated with
                 the IPv6 address of this entry. For a link-local address,
                 the prefix is always start with '0xfe80' and the prefix
                 length is 128 bits."
              ::= { snMspsIp6AddrEntry 3 }


          snMspsIp6AddrAdminStatus OBJECT-TYPE
              SYNTAX            RowStatus
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                "Indicates the desired status of the address. Also a creation
                 of an address can trigger IPv6 to be enabled over the
                 interface. Similarly deletion of all the address may trigger
                 IPv6 to be disabled on the interface. NotInService value is
                 not supported."
              ::= { snMspsIp6AddrEntry 4 }


          snMspsIp6AddrType OBJECT-TYPE
              SYNTAX   INTEGER {
                            unicast(1),
                            anycast(2),
                            linklocal(3)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "Indicates whether the address is a unicast, anycast or
                 link-local address. Syntactically there is no difference
                 between a unicast address and a anycast address while a
                 link-local address has the prefix '0xfe80'. This
                 object can be modified only if snMspsIp6AddrOperStatus is
                 down."
              ::= { snMspsIp6AddrEntry 5 }


          snMspsIp6AddrProfIndex OBJECT-TYPE
              SYNTAX   Integer32 (0..200)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "Indicates the index into the IPv6 Address Profile Table.
                 This entry of the IPv6 Address Profile table defines the
                 parameters for this address. For a link-local address,
                 this object always takes the value zero and cannot be
                 modified from SNMP."
              DEFVAL { 0 }
              ::= { snMspsIp6AddrEntry 6 }


          snMspsIp6AddrOperStatus OBJECT-TYPE
              SYNTAX   INTEGER {

                           tentative (1),    -- DAD resolution going
                                             -- on on the address

                           complete (2),     -- DAD completed on the address

                           down(3),          -- address is operationally
                                             -- down

                           failed(4)         -- DAD failed for the address

                       }
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                 "Indicates the operational status of the address. A
                 status of failed(4) indicates that a duplicate address has
                 been detected on this IPv6 interface. On interfaces on
                 which Duplicate Address Detection is not performed, this
                 object will take values only complete(2) and down(3)."
              ::= { snMspsIp6AddrEntry 7 }
          

          snMspsIp6AddrScope OBJECT-TYPE
              SYNTAX      InetScopeType
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                " Scope is a 4-bit value that describes the scope of
                  an IPV6 address.An unicast address can possibly have 2 
                  scopes (Linklocal and Global) only. A multicast address
                  can have a maximum of 11 scopes.The reserved scopes cannot be used by
                  the user/administrator.  Only unassigned multicast scoped can be configured 
                  and used in  a given IPv6 domain as per the need."
                   
                   ::= { snMspsIp6AddrEntry 8 }


          -- IPv6 Address Profile Table
    
          -- This table contains parameters related to the advertisement of 
          -- address prefixes. Since the prefix advertisement is done only on 
          -- LAN interfaces, this information is kept separately from the IPv6 
          -- address table which contains addresses on all interfaces.

          -- Entries are created/deleted from SNMP except for the first profile
          -- entry which is autocreated and cannot be deleted.


          snMspsIp6AddrProfileTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF SnMspsIp6AddrProfileEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The table containing information for an address or set of
                 addresses of the entity."
              ::= { snMspsIp6Tables 5 }


          snMspsIp6AddrProfileEntry   OBJECT-TYPE
              SYNTAX   SnMspsIp6AddrProfileEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "The entry in the IPv6 Address Profile Table which contains
                 parameters related to the advertisement of address prefixes.
                 One or more IPv6 addresses refer to this profile through the
                 object snMspsIp6AddrProfIndex in the snMspsIp6AddrTable. An entry of
                 this table other than the first entry is created/deleted 
                 from SNMP."
              INDEX  { snMspsIp6AddrProfileIndex }
              ::= { snMspsIp6AddrProfileTable 1 }


          SnMspsIp6AddrProfileEntry  ::=
              SEQUENCE {
                 snMspsIp6AddrProfileIndex
                     Unsigned32,
                 snMspsIp6AddrProfileStatus
                     INTEGER,
                 snMspsIp6AddrProfilePrefixAdvStatus
                     INTEGER,
                 snMspsIp6AddrProfileOnLinkAdvStatus
                     INTEGER,
                 snMspsIp6AddrProfileAutoConfAdvStatus
                     INTEGER,
                 snMspsIp6AddrProfilePreferredTime
                     Unsigned32,
                 snMspsIp6AddrProfileValidTime
                     Unsigned32,
                 snMspsIp6AddrProfileValidLifeTimeFlag
                     INTEGER,
                 snMspsIp6AddrProfilePreferredLifeTimeFlag
                     INTEGER
              }


          snMspsIp6AddrProfileIndex OBJECT-TYPE
              SYNTAX   Unsigned32 (0..200)
              MAX-ACCESS    not-accessible
              STATUS   current
              DESCRIPTION
                 "A unique value identifying the particular IPv6 Address
                  profile entry. This is referred by snMspsIp6AddrProfIndex of
                  IPv6 Address Table. The index 0 is created with default value
                  during system start-up and this entry is not configurable."
              ::= { snMspsIp6AddrProfileEntry 1 }


          snMspsIp6AddrProfileStatus OBJECT-TYPE
              SYNTAX   INTEGER {
                           valid (1),
                           invalid (2)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "Indicates that the entry is valid or not. An entry other
                 than the first entry can be deleted by setting this object
                 to invalid(2)."
              ::= { snMspsIp6AddrProfileEntry 2 }


          snMspsIp6AddrProfilePrefixAdvStatus OBJECT-TYPE
              SYNTAX   INTEGER {
                           on(1),
                           off(2)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "If this object has value on(1), the address prefixes
                 corresponding to those addresses which use this profile
                 will be advertised in router advertisements sent by this
                 entity. If it has value off(2), these address prefixes
                 will not be advertised."
              DEFVAL { on }
              ::= { snMspsIp6AddrProfileEntry 3 }


          snMspsIp6AddrProfileOnLinkAdvStatus OBJECT-TYPE
              SYNTAX   INTEGER {
                           on(1),
                           off(2)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "If this object has value on(1), the address prefixes
                 corresponding to those addresses which use this profile
                 will be advertised with on-link flag set in the router 
                 advertisements sent by this entity. These prefixes can be
                 used for on-link determination by hosts which receive these
                 router advertisements. If the object has value off(2), 
                 these address prefixes will not not have the on-link flag
                 set if advertised."
              DEFVAL { on }
              ::= { snMspsIp6AddrProfileEntry 4 }


          snMspsIp6AddrProfileAutoConfAdvStatus OBJECT-TYPE
              SYNTAX   INTEGER {
                            on(1),
                            off(2)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "If this object has value on(1), the address prefixes
                 corresponding to those addresses which use this profile
                 will be advertised with autonomous address configuration 
                 flag set in the router advertisements sent by this entity. 
                 These prefixes can be used for autonomous address 
                 configuration (i.e. can be used to form a local interface 
                 address) by hosts which receive these router advertisements. 
                 If the object has value off(2), these address prefixes will 
                 not not have the autonomous address configuration flag set 
                 if advertised."
              DEFVAL { on }
              ::= { snMspsIp6AddrProfileEntry 5 }


          snMspsIp6AddrProfilePreferredTime OBJECT-TYPE
              SYNTAX   Unsigned32 (0..4294967295)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "This object specifies the preferred lifetime in seconds
                 for the address prefixes corresponding to those addresses 
                 which use this profile. This is sent in router advertisements
                 by this entity. A value of 4,294,967,295 represents
                 infinity.This value should be less than snMspsIp6AddrProfileValidTime"
              DEFVAL { 604800 }
              ::= { snMspsIp6AddrProfileEntry 6 }


          snMspsIp6AddrProfileValidTime OBJECT-TYPE
              SYNTAX   Unsigned32 (0..4294967295)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "This object specifies the valid lifetime in seconds
                 for the address prefixes corresponding to those addresses 
                 which use this profile. This is sent in router advertisements
                 by this entity. A value of 4,294,967,295 represents
                 infinity."
              DEFVAL { 4294967295 }
              ::= { snMspsIp6AddrProfileEntry 7 }

         snMspsIp6AddrProfileValidLifeTimeFlag OBJECT-TYPE
              SYNTAX  INTEGER  {
                          fixed    (1),
                          variable (2)
			  }
             MAX-ACCESS  read-write
             STATUS  current
             DESCRIPTION
	            "By setting this flag to fixed (1),the router 
                     advertisement Valid life time value is set 
                     to fixed and by setting to variable(2), the 
                     router advertisement Valid life time value 
                     can decrease in real time. This flag will 
                     synchronise the router clocks."
              DEFVAL  { fixed }
              ::= { snMspsIp6AddrProfileEntry 8 }

         snMspsIp6AddrProfilePreferredLifeTimeFlag OBJECT-TYPE
              SYNTAX  INTEGER  {
                          fixed    (1),
                          variable (2)
			  }
             MAX-ACCESS  read-write
             STATUS  current
             DESCRIPTION
	            "By setting this flag to fixed (1),the router 
                     advertisement Preferred life time value is set 
                     to fixed and by setting to variable(2), the 
                     router advertisement preferred life time value 
                     can decrease in real time. This flag will 
                     synchronise the router clocks."
              DEFVAL  { fixed }
              ::= { snMspsIp6AddrProfileEntry 9 }


        -- Path MTU for IPv6
         
         snMspsIp6PmtuTable OBJECT-TYPE
             SYNTAX     SEQUENCE OF SnMspsIp6PmtuEntry
             MAX-ACCESS not-accessible
             STATUS     current
             DESCRIPTION
               "IPv6 Path MTU table. This table contains
               an entry for a specific path traversed by
               packets exchanged between the source and
               destination nodes."
             ::= { snMspsIp6Tables 6 }

         snMspsIp6PmtuEntry OBJECT-TYPE
             SYNTAX     SnMspsIp6PmtuEntry
             MAX-ACCESS not-accessible
             STATUS     current
             DESCRIPTION
                     "A Path MTU entry."
             INDEX   { snMspsIp6PmtuDest }
             ::= { snMspsIp6PmtuTable 1 }

         SnMspsIp6PmtuEntry ::= SEQUENCE {
                 snMspsIp6PmtuDest     OCTET STRING,
                 snMspsIp6Pmtu      Integer32,
                 snMspsIp6PmtuTimeStamp Integer32,
                 snMspsIp6PmtuAdminStatus INTEGER
             }

         snMspsIp6PmtuDest OBJECT-TYPE
             SYNTAX      OCTET STRING (SIZE (16))
             MAX-ACCESS  not-accessible
             STATUS     current
             DESCRIPTION
               "The destination IPv6 address of the packets
               to be exchanged."
             ::= { snMspsIp6PmtuEntry 1 }

         snMspsIp6Pmtu OBJECT-TYPE
             SYNTAX     Integer32
             MAX-ACCESS read-write 
             STATUS     current
             DESCRIPTION
               "Indicates the path MTU value for the path."
             ::= { snMspsIp6PmtuEntry 2 }

         snMspsIp6PmtuTimeStamp   OBJECT-TYPE
             SYNTAX  Integer32 
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                "Indicates the entry created time in the PMTU table."
             ::= { snMspsIp6PmtuEntry 3 }


         snMspsIp6PmtuAdminStatus   OBJECT-TYPE
             SYNTAX  INTEGER{
				valid(1),
				invalid(2)
			} 
             MAX-ACCESS  read-write
             STATUS  current
             DESCRIPTION
                "The desired status of the PmtuTable. This variable
                 has to be made valid(1) for creating a entry in the PmtuTable.
                 If set to invalid(2), the entry is deleted."
             ::= { snMspsIp6PmtuEntry 4 }


         -- IPv6 Address Translation table for LAN interfaces

         -- The snMspsIp6NdLanCacheTable contain the Ipv6Address
         -- to `physical' address equivalences for on-link nodes
         -- on Ethernet. 
         -- Static entries can be created/deleted from SNMP. Dynamic
         -- entries get created for neighbors upon IPv6 packet forwarding.


         snMspsIp6NdLanCacheTable OBJECT-TYPE
             SYNTAX      SEQUENCE OF SnMspsIp6NdLanCacheEntry
             MAX-ACCESS      not-accessible
             STATUS      current
             DESCRIPTION
               "The IPv6 Address Translation table used for
               mapping from IPv6 addresses to physical addresses
               on Ethernet."
             ::= { snMspsIp6Tables 7 }


         snMspsIp6NdLanCacheEntry OBJECT-TYPE
             SYNTAX     SnMspsIp6NdLanCacheEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
               "Each entry contains one IPv6 address to `physical'
               address equivalence. Entries are created dynamically upon
               address resolution or statically from SNMP."
             INDEX   { snMspsIp6NdLanCacheIfIndex,
                       snMspsIp6NdLanCacheIPv6Addr }
             ::= { snMspsIp6NdLanCacheTable 1 }


         SnMspsIp6NdLanCacheEntry ::= 
             SEQUENCE {
                 snMspsIp6NdLanCacheIfIndex
                     InterfaceIndex,
                 snMspsIp6NdLanCacheIPv6Addr
                     OCTET STRING,
                 snMspsIp6NdLanCacheStatus
                     INTEGER,
                 snMspsIp6NdLanCachePhysAddr
                     OCTET STRING,
                 snMspsIp6NdLanCacheState
                     INTEGER,
                 snMspsIp6NdLanCacheUseTime
                     TimeTicks
             }


          snMspsIp6NdLanCacheIfIndex OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS    not-accessible
              STATUS   current
              DESCRIPTION
                "The index value which uniquely identifies the IPv6
                 interface on which this snMspsIp6NdLanCache entry exists.
                 The interface identified by a particular value of this
                 index is the same interface as identified by the same 
                 value of snMspsIp6IfIndex."
              ::= { snMspsIp6NdLanCacheEntry 1 }


         snMspsIp6NdLanCacheIPv6Addr OBJECT-TYPE
             SYNTAX     OCTET STRING (SIZE (16))
             MAX-ACCESS   not-accessible
             STATUS     current
             DESCRIPTION
               "The IPv6 Address corresponding to the `physical' address
                on Ethernet."
             ::= { snMspsIp6NdLanCacheEntry 2 }


         snMspsIp6NdLanCacheStatus OBJECT-TYPE
             SYNTAX     INTEGER  {
                          valid (1),
                          invalid(2)
                        }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "Setting this object to the value invalid(2)
               effects in invalidating the corresponding entry
               in the snMspsIp6NdLanCacheTable. Otherwise, the entry
               remains valid."
             DEFVAL  { valid }
             ::= { snMspsIp6NdLanCacheEntry 3 }


         snMspsIp6NdLanCachePhysAddr OBJECT-TYPE
             SYNTAX     OCTET STRING (SIZE (6))
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
               "The `physical' address on Ethernet."
             ::= { snMspsIp6NdLanCacheEntry 4 }


         snMspsIp6NdLanCacheState OBJECT-TYPE
             SYNTAX     INTEGER {
                         static(1),    
                         reachable(2),
                         incomplete(3),
                         stale(4),
                         delay(5),
                         probe(6)
                        }
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The reachability state of NdLanCacheEntry. Upon creation of
               an entry from SNMP, this object takes the value as 'static'.
               Otherwise takes the value that correspond to the states of 
               dynamically created entries."
             ::= { snMspsIp6NdLanCacheEntry 5 }


          snMspsIp6NdLanCacheUseTime OBJECT-TYPE
              SYNTAX   TimeTicks
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
               "The value of sysUpTime at the time the entry was consulted
                upon IPv6 packet forwarding."
              ::= { snMspsIp6NdLanCacheEntry 6 }



         -- IPv6 Address Translation table for NBMA interfaces

         -- The snMspsIp6NdWanCacheTable contain the Ipv6Address
         -- to `physical' address equivalences for on-link nodes
         -- on NBMA interfaces. The 'physical address' actually refers
         -- to the IPv6 interface on which the Ipv6Address is on-link.

         -- Static entries can be created/deleted from SNMP. Dynamic 
         -- entries get created for on-link nodes upon reception of 
         -- IPv6 packet.


         snMspsIp6NdWanCacheTable OBJECT-TYPE
             SYNTAX      SEQUENCE OF SnMspsIp6NdWanCacheEntry
             MAX-ACCESS      not-accessible
             STATUS      current
             DESCRIPTION
               "The IPv6 Address Translation table used for
               mapping from IPv6 addresses to physical addresses
               on NBMA interface. The 'physical address' actually refers
               to the IPv6 interface on which the Ipv6Address is on-link."
             ::= { snMspsIp6Tables 8 }


         snMspsIp6NdWanCacheEntry OBJECT-TYPE
             SYNTAX     SnMspsIp6NdWanCacheEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
               "Each entry contains one IPv6 address to `physical'
               address equivalence.  Entries are created dynamically upon
               reception of IPv6 packet from an on-link source or statically 
               from SNMP."
             INDEX   { snMspsIp6NdWanCacheIfIndex,
                       snMspsIp6NdWanCacheIPv6Addr }
             ::= { snMspsIp6NdWanCacheTable 1 }


         SnMspsIp6NdWanCacheEntry ::= 
             SEQUENCE {
                 snMspsIp6NdWanCacheIfIndex
                     InterfaceIndex,
                 snMspsIp6NdWanCacheIPv6Addr
                     OCTET STRING,
                 snMspsIp6NdWanCacheStatus
                     INTEGER,
                 snMspsIp6NdWanCacheState
                     INTEGER,
                 snMspsIp6NdWanCacheUseTime
                     TimeTicks
             }


          snMspsIp6NdWanCacheIfIndex OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS  not-accessible
              STATUS   current
              DESCRIPTION
                "The index value which uniquely identifies the IPv6
                 interface on which this snMspsIp6NdWanCache entry exists.
                 The interface identified by a particular value of this 
                 index is the same interface as identified by the same 
                 value of snMspsIp6IfIndex."
              ::= { snMspsIp6NdWanCacheEntry 1 }


         snMspsIp6NdWanCacheIPv6Addr OBJECT-TYPE
             SYNTAX     OCTET STRING (SIZE (16))
             MAX-ACCESS   not-accessible  
             STATUS     current
             DESCRIPTION
                "The IPv6 Address of the on-link node on this NBMA interface."
             ::= { snMspsIp6NdWanCacheEntry 2 }


         snMspsIp6NdWanCacheStatus OBJECT-TYPE
             SYNTAX     INTEGER  {
                          valid (1),
                          invalid(2)
                        }
             MAX-ACCESS     read-write
             STATUS     current
             DESCRIPTION
              "Setting this object to the value 'invalid(2)'
              effects in invalidating the corresponding entry
              in the snMspsIp6NdWanCacheTable. Otherwise, the entry
              remains valid."
             DEFVAL  { valid }
             ::= { snMspsIp6NdWanCacheEntry 3 }


         snMspsIp6NdWanCacheState OBJECT-TYPE
             SYNTAX     INTEGER {
                          static(1),
                          reachable(2)
                        }
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
                     "The reachability state of NdWanCacheEntry. 
                      Upon creation of an entry from SNMP, this object 
                      takes the value as 'static'. Otherwise takes the 
                      value as 'reachable' that corresponds to the state 
                      of dynamically created entries."
             ::= { snMspsIp6NdWanCacheEntry 4 }


          snMspsIp6NdWanCacheUseTime OBJECT-TYPE
              SYNTAX   TimeTicks
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                      "The value of sysUpTime at the time the entry
                       was consulted upon IPv6 packet forwarding."
             ::= { snMspsIp6NdWanCacheEntry 5 }



          -- The IPv6 Ping table

          -- This table is used to generate IPv6 Echo requests from this
          -- entity to destinations.

          -- Entries are created/deleted from SNMP.


          snMspsIp6PingTable     OBJECT-TYPE
              SYNTAX  SEQUENCE OF SnMspsIp6PingEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "This entity's IPv6 Ping Table."
              ::= { snMspsIp6Tables 12 }

          
          snMspsIp6PingEntry     OBJECT-TYPE
              SYNTAX  SnMspsIp6PingEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "Contains the information about a particular IPv6 Ping 
                 operation. An entry is created/deleted from SNMP."
              INDEX   { snMspsIp6PingIndex } 
              ::= { snMspsIp6PingTable 1 }
          

          SnMspsIp6PingEntry     ::=     
               SEQUENCE { 
                  snMspsIp6PingIndex
                      Integer32,
                  snMspsIp6PingDest              
                      OCTET STRING,
                  snMspsIp6PingIfIndex              
                      InterfaceIndex,
                  snMspsIp6PingAdminStatus       
                      INTEGER,
                  snMspsIp6PingInterval          
                      Integer32,
                  snMspsIp6PingRcvTimeout        
                      Integer32,
                  snMspsIp6PingTries             
                      Integer32,
                  snMspsIp6PingSize              
                      Integer32,
                  snMspsIp6PingSentCount         
                      Integer32,
                  snMspsIp6PingAverageTime       
                      Integer32,
                  snMspsIp6PingMaxTime           
                      Integer32,
                  snMspsIp6PingMinTime           
                      Integer32,
                  snMspsIp6PingOperStatus        
                      INTEGER,
                  snMspsIp6PingSuccesses         
                      Counter32,
                  snMspsIp6PingPercentageLoss    
                      Integer32,
                  snMspsIp6PingData
                      OCTET STRING,
                  snMspsIp6PingSrcAddr
                      OCTET STRING, 
                  snMspsIp6PingZoneId
                      DisplayString, 
                  snMspsIp6PingDestAddrType
                      INTEGER
              }
          

          snMspsIp6PingIndex      OBJECT-TYPE
              SYNTAX  Integer32(0..5)
              MAX-ACCESS   not-accessible
              STATUS  current
              DESCRIPTION
                "A unique value identifying the particular IPv6 Ping entry."
              ::= { snMspsIp6PingEntry 1 }      

          
          snMspsIp6PingDest      OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (16))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                "The IPv6 address of the destination to be pinged. This
                 should be a unicast or link-local address"
              ::= { snMspsIp6PingEntry 2 }
          

          snMspsIp6PingIfIndex    OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "The index value which uniquely identifies the IPv6
                 interface on which this Ping is to be sent. The interface 
                 identified by a particular value of this index is the same 
                 interface as identified by the same value of snMspsIp6IfIndex.
                 The value of this object is needed when pinging to a
                 link-local destination, otherwise it is ignored."
              ::= { snMspsIp6PingEntry 3 }


          snMspsIp6PingAdminStatus       OBJECT-TYPE
              SYNTAX  INTEGER {
                          up(1),
                          down(2),
                          invalid(3),
                          create(4)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "The desired status for the ping operation. This variable
                 has to be made up(1) for starting the ping operation.
                 If set to down(2), the ping is stopped but the statistics 
                 will still be available. The entry is created when this 
                 variable is set to create(4) and deleted on setting this
                 variable to invalid(3)."
              ::= { snMspsIp6PingEntry 4 }
          
          
          snMspsIp6PingInterval   OBJECT-TYPE
              SYNTAX  Integer32 (1..100)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "The time interval in seconds between successive pings
                 sent to the destination."
              DEFVAL { 1 }
              ::= { snMspsIp6PingEntry 5 }
          

          snMspsIp6PingRcvTimeout   OBJECT-TYPE
              SYNTAX  Integer32 (0..100)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "The time in seconds after which this entity times out
                 waiting for a particular ping response."
              DEFVAL { 5 }
              ::= { snMspsIp6PingEntry 6 }
          

          snMspsIp6PingTries     OBJECT-TYPE
              SYNTAX  Integer32 (1..1000)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "The number of times the destination is to be pinged."
              DEFVAL { 5 }
              ::= { snMspsIp6PingEntry 7 }
          

          snMspsIp6PingSize      OBJECT-TYPE
              SYNTAX  Integer32  (32..2080)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "The size of the data portion of the Ping packet."
              DEFVAL { 100 }
              ::= { snMspsIp6PingEntry 8 }
          

          snMspsIp6PingSentCount OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "Total number of packets sent to destination."
              ::= { snMspsIp6PingEntry 9 }
          

          snMspsIp6PingAverageTime       OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The average value of the round trip time in seconds to this
                 destination."
              ::= { snMspsIp6PingEntry 10 }
          
          
          snMspsIp6PingMaxTime   OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The maximum value of the round trip time in seconds to this
                 destination."
              ::= { snMspsIp6PingEntry 11 }
          

          snMspsIp6PingMinTime   OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The minimum value of the round trip time in seconds to this
                 destination."
              ::= { snMspsIp6PingEntry 12 }
          

          snMspsIp6PingOperStatus        OBJECT-TYPE
              SYNTAX  INTEGER { 
                          inprogress(1),
                          notinprogress(2)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The current status of this ping operation."
              ::= { snMspsIp6PingEntry 13 }
          

          snMspsIp6PingSuccesses OBJECT-TYPE
              SYNTAX  Counter32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The number of ping responses received."
              ::= { snMspsIp6PingEntry 14 }
          

          snMspsIp6PingPercentageLoss OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "Percentage of lost packets for which no responses were
                 received till timeout."
              ::= { snMspsIp6PingEntry 15 }


          snMspsIp6PingData      OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (6))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                "Data that should be sent in the Ping message"
              ::= { snMspsIp6PingEntry 16 }

          snMspsIp6PingSrcAddr      OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (16))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                "Source address to be used for the ping"
              ::= { snMspsIp6PingEntry 17 }

          snMspsIp6PingZoneId   OBJECT-TYPE
              SYNTAX      DisplayString
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "Zone-Id shoule be able to identify a particular zone 
                  of the address's scope. This Zone id applies 
                  to all kinds of unicast and multicast addresses of
                  non-global scope except the unspecified address.             
                  The zone-id is not supported for global address."
              REFERENCE "RFC4007"
              ::= { snMspsIp6PingEntry 18 }

          snMspsIp6PingDestAddrType      OBJECT-TYPE
              SYNTAX  INTEGER { 
                          other (0),
                          anycast (2)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                 "The address type of the destination to be pinged.
                  other   - unicast or linklocal address
                  anycast - anycast address .An IPv6 packet cannot have anycast
                  address as source address. So snMspsIp6PingDestAddrType is used
                  to distinguish the anycast destination from other
                  types."
              DEFVAL { 0 }
              ::= { snMspsIp6PingEntry 19 }
          
-- Supoort for Proxy ND - START

--snMspsIp6NDProxyTable BEGIN

          snMspsIp6NDProxyListTable  OBJECT-TYPE
             SYNTAX   SEQUENCE OF SnMspsIp6NDProxyListEntry
             MAX-ACCESS   not-accessible
             STATUS   current
             DESCRIPTION       
                 "Configurable list of IPv6 Addresses for which
                  Proxy Neighbor Discovery is desired."
             ::= { snMspsIp6Tables 13 }


          snMspsIp6NDProxyListEntry  OBJECT-TYPE
              SYNTAX  SnMspsIp6NDProxyListEntry
             MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION       
                 "An entry in the ND Proxy Table. Each 
                  entry specifies the IPv6 address for
                  which proxy feature is needed, and
                  the adminstatus for the row."
             INDEX   { snMspsIp6NdProxyAddr }
              ::= { snMspsIp6NDProxyListTable 1 }


          SnMspsIp6NDProxyListEntry ::= SEQUENCE {
               snMspsIp6NdProxyAddr 
                   OCTET STRING,
               snMspsIp6NdProxyAdminStatus
                   INTEGER
               }

          snMspsIp6NdProxyAddr  OBJECT-TYPE 
              SYNTAX  OCTET STRING (SIZE (16))
              MAX-ACCESS   not-accessible
              STATUS  current
              DESCRIPTION
                  "IPv6 address for Proxy ND."
              ::= { snMspsIp6NDProxyListEntry 1 }

          snMspsIp6NdProxyAdminStatus  OBJECT-TYPE 
              SYNTAX  INTEGER  {
                          create  	(1),
                          invalid   (2)
                      }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                  "The desired state of the ND Proxy list entry. 
                   When set to create(4) the IPv6 interface is 
                   created and invalid(4) to delete the interface."
              ::= { snMspsIp6NDProxyListEntry 2 }


-- Supprot for Proxy ND - END

-- Support for Address Selection Policy Table -START

-- snMspsIp6AddrSelPolicyTable BEGIN

   
           snMspsIp6AddrSelPolicyTable  OBJECT-TYPE
             SYNTAX   SEQUENCE OF SnMspsIp6AddrSelPolicyEntry
             MAX-ACCESS   not-accessible
             STATUS   current
             DESCRIPTION
                 "This table is used for default address selection in IPv6. This table is used to configure the Precedence
                  and Label associated with a source/destination address. The Address Selection Policy Table
                  contains the following default entries -

                  Prefix        Precedence  Label
                  ::1/128               50     0
                  ::/0                  40     1
                  2002::/16             30     2
                  ::/96                 20     3
                  ::ffff:0:0/96         10     4
                  
                 A lookup of this table aids in selection of best source/destination address from amongst a candidate list.
                 "
             ::= { snMspsIp6Tables 14 }


            snMspsIp6AddrSelPolicyEntry OBJECT-TYPE
             SYNTAX SnMspsIp6AddrSelPolicyEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
                 "This table entry is used to configure the following parameters for an IPv6 source/destination address -
                  Prefix, PrefixLen,Ifindex,Preference,Label,Address Type,IsSelfAddress, IsAddressPublic,
                  IsAddressDeprecated, ReachabilityStatus, ConfigStatus and Rowstatus"
             INDEX {
              snMspsIp6AddrSelPolicyPrefix,
              snMspsIp6AddrSelPolicyPrefixLen,
              snMspsIp6AddrSelPolicyIfIndex
             }
              ::= { snMspsIp6AddrSelPolicyTable 1 }



            SnMspsIp6AddrSelPolicyEntry ::= SEQUENCE {
              snMspsIp6AddrSelPolicyPrefix   
                 OCTET STRING,
              snMspsIp6AddrSelPolicyPrefixLen     
                 Integer32,
              snMspsIp6AddrSelPolicyIfIndex
                 InterfaceIndex,
              snMspsIp6AddrSelPolicyScope  
                 Integer32,
              snMspsIp6AddrSelPolicyPrecedence    
                 Integer32,
              snMspsIp6AddrSelPolicyLabel     
                 Integer32,
              snMspsIp6AddrSelPolicyAddrType
                 INTEGER,
              snMspsIp6AddrSelPolicyIsPublicAddr      
                 INTEGER,
              snMspsIp6AddrSelPolicyIsSelfAddr         
                 INTEGER,
              snMspsIp6AddrSelPolicyReachabilityStatus    
                 INTEGER,
              snMspsIp6AddrSelPolicyConfigStatus           
                 INTEGER,
              snMspsIp6AddrSelPolicyRowStatus                
                 RowStatus
            }

            snMspsIp6AddrSelPolicyPrefix OBJECT-TYPE
               SYNTAX OCTET STRING (SIZE (16))
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                   "The IPv6 Address/Prefix for which the policy needs to be configured."
            ::= { snMspsIp6AddrSelPolicyEntry 1 }


            snMspsIp6AddrSelPolicyPrefixLen OBJECT-TYPE
               SYNTAX Integer32 (0..128)
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                  "The Prefix length associated with the IPV6 address identified by 'snMspsIp6AddrSelPolicyPrefix."
            ::= { snMspsIp6AddrSelPolicyEntry 2 }

             
            snMspsIp6AddrSelPolicyIfIndex OBJECT-TYPE
               SYNTAX InterfaceIndex
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                 "The index value that uniquely identifies the interface to
                 which this entry is applicable. A value of 0 indicates that the associated address is reachable 
                 via any interface."
             ::= { snMspsIp6AddrSelPolicyEntry 3 }

            snMspsIp6AddrSelPolicyScope OBJECT-TYPE
                SYNTAX   Integer32 (0..15)
                MAX-ACCESS read-only
                STATUS   current
                DESCRIPTION
                    " This MIB object identifies the scope of the IPv6 address. This can take the following values based on
                      whether the address is unicast/anycast or multicast.
                        0  reserved
                        1  Interface-Local scope
                        2  Link-Local scope
                        3  reserved
                        4  Admin-Local scope
                        5  Site-Local scope
                        6  (unassigned)
                        7  (unassigned)
                        8  Organization-Local scope
                        9  (unassigned)
                        10  (unassigned)
                        11  (unassigned)
                        12  (unassigned)
                        13  (unassigned)
                        14  Global scope
                        15  reserved

                   Link-local and global scopes are applicable for unicast/anycast addresses.

                   The following are valid multicast scopes -
                   Interface-Local scope spans only a single interface on a node
                   and is useful only for loopback transmission of multicast.

                   Link-Local is used for uniquely identifying interfaces within a single link.

                   Admin-Local scope is the smallest scope that must be
                   administratively configured, i.e., not automatically derived
                   from physical connectivity or other, non-multicast-related
                   configuration.

                   Site-Local scope is intended to span a single site.

                   Organization-Local scope is intended to span multiple sites
                   belonging to a single organization.

                   Global scope is used for uniquely identifying interfaces anywhere in the Internet
                   scopes labeled (unassigned) are available for administrators
                   to define additional multicast regions."

               ::= { snMspsIp6AddrSelPolicyEntry 4 }

               snMspsIp6AddrSelPolicyPrecedence OBJECT-TYPE
                 SYNTAX   Integer32 (1..128)
                 MAX-ACCESS  read-write
                 STATUS   current
                 DESCRIPTION
                        "The precedence value associated with the address in the policy table. This value is applicable for
                 destination addresses.Higher the value, higher the precedence."
               DEFVAL { 30 }
               ::= { snMspsIp6AddrSelPolicyEntry 5 }

               snMspsIp6AddrSelPolicyLabel OBJECT-TYPE
                 SYNTAX   Integer32 (0..255)
                 MAX-ACCESS  read-write
                 STATUS   current
                 DESCRIPTION
                      "The label value  associated with the address in the policy table."
               DEFVAL { 2 }
                ::= { snMspsIp6AddrSelPolicyEntry 6}

              snMspsIp6AddrSelPolicyAddrType OBJECT-TYPE
                SYNTAX   INTEGER {
                            unicast(1),
                            anycast(2),
                            multicast(3)
                       }
                MAX-ACCESS   read-write
                STATUS   current
                DESCRIPTION
                        "This MIB object is used to configure an address as unicast/anycast/multicast, provided the 
                         IPv6 address meets the validation criteria for the address type."  
              ::= { snMspsIp6AddrSelPolicyEntry 7 }

              snMspsIp6AddrSelPolicyIsPublicAddr OBJECT-TYPE
                 SYNTAX  INTEGER  {
                         true             (1),
                         false            (2)
                       }
                  MAX-ACCESS  read-only
                  STATUS  current
                  DESCRIPTION
                      " This MIB object indicates whether the address configured in the policy table is a private or public
                        address."
                  ::= { snMspsIp6AddrSelPolicyEntry 8 }

                snMspsIp6AddrSelPolicyIsSelfAddr OBJECT-TYPE
                   SYNTAX  INTEGER  {
                         true             (1),
                         false            (2)
                       }
                   MAX-ACCESS  read-only
                   STATUS  current
                   DESCRIPTION
                       "This MIB object indicates whether the given address is configured on the associated interface 
                        and represents a self-address. The associated MIB object snMspsIp6AddrSelPolicyIfIndex takes value true
                        if the associated IPv6 address is a self-node address.."
                    ::= { snMspsIp6AddrSelPolicyEntry 9 }

                 snMspsIp6AddrSelPolicyReachabilityStatus OBJECT-TYPE
                 SYNTAX  INTEGER  {
                          reachable        (1),
                          unreachable      (2)
                      }
                 MAX-ACCESS read-only
                 STATUS     current
                 DESCRIPTION
                      "This MIB object indicates whether the address configured in the Policy Table is reachable/unreachable
                      "
                 ::= { snMspsIp6AddrSelPolicyEntry 10 }

               snMspsIp6AddrSelPolicyConfigStatus OBJECT-TYPE
                SYNTAX  INTEGER  {
                          automatic      (1),
                          management     (2)
                      }
                MAX-ACCESS read-only
                STATUS     current
                DESCRIPTION
                  "This MIB object indicates whether the associated entry in the Policy table is created automatically or
                   via the administrator."
                 ::= { snMspsIp6AddrSelPolicyEntry 11 }

                 snMspsIp6AddrSelPolicyRowStatus OBJECT-TYPE
                 SYNTAX RowStatus
                 MAX-ACCESS read-create
                 STATUS current
                 DESCRIPTION
                   "Administrative Status of the policy table. This object is used
                    to create or delete the entry in the policy table. The following values 
                    are not supported for this MIB object - CREATE_AND_GO." 
                ::= { snMspsIp6AddrSelPolicyEntry 12 }


-- snMspsIp6AddrSelPolicyTable END


-- Support for Scope Zone Interface Map Table - START

--snMspsIp6IfScopeZoneMapTable BEGIN

snMspsIp6IfScopeZoneMapTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsIp6IfScopeZoneMapEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "A zone index identifies an instance of  a specific scope uniquely 
            within the system.The zone index is used to associate unambiguously 
            an IPv6 address to a specific zone.
            
            Following are the changes that has been done in snMspsIp6IfScopeZoneMapTable

                1) The Zone-Index which is of type InetZoneIndex in stdipvx.mib
                   is changed to DisplayString for user convenience.As the user is 
                   aware of the zones by the scope-zone name rather than the index
                   (i.e Linklocal1 or sitelocal1,scope61,scope71) it has been changed 
                   to DisplayString. But the index associated with the scope-zone is 
                   displayed by ipv6ScopeZoneIndexTable.
                2) The InetZoneIndex definition in INET-ADDRESS-MIB says that the zone-index 
                   will typically be the interface index for link-local address, but as per 
                   the Siemens design the Zone-Index is taken as a free flowing number starting 
                   from the value 1, hence the value of ipv6ScopeZoneIndexLinkLocal shall not be                                                 complaint with InetZoneIndex definition.
                 3) It is also mentioned that the zone-index value of 0 refers to the default 
                   zone. But the Siemens design implements the default scope-zone index for every                                                scope by the snMspsIp6ScopeMemberEntry mib table. Hence the default-zone index 
                   of value 0 is also not supported 
                4) The scope-zone index that are not configured on an interface shall take a
                   alpha numeric value of invalid in SnMspsIp6IfScopeZoneMapEntry and -1 for the 
                   index value in ipv6ScopeZoneIndexTable. "
            

    REFERENCE "Section 2.7 of RFC 4291"
    ::= { snMspsIp6Tables 15 }

snMspsIp6IfScopeZoneMapEntry OBJECT-TYPE
    SYNTAX     SnMspsIp6IfScopeZoneMapEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Each entry contains the list of scope identifiers on a given
            interface. Its a unique value assigned for each scope on an 
            interface."
    INDEX { snMspsIp6ScopeZoneIndexIfIndex }
    ::= { snMspsIp6IfScopeZoneMapTable 1 }

SnMspsIp6IfScopeZoneMapEntry ::= SEQUENCE {
        snMspsIp6ScopeZoneIndexIfIndex            InterfaceIndex,
        snMspsIp6ScopeZoneIndexInterfaceLocal     DisplayString,
        snMspsIp6ScopeZoneIndexLinkLocal          DisplayString,
        snMspsIp6ScopeZoneIndex3                  DisplayString,
        snMspsIp6ScopeZoneIndexAdminLocal         DisplayString,
        snMspsIp6ScopeZoneIndexSiteLocal          DisplayString,
        snMspsIp6ScopeZoneIndex6                  DisplayString,
        snMspsIp6ScopeZoneIndex7                  DisplayString,
        snMspsIp6ScopeZoneIndexOrganizationLocal  DisplayString,
        snMspsIp6ScopeZoneIndex9                  DisplayString,
        snMspsIp6ScopeZoneIndexA                  DisplayString,
        snMspsIp6ScopeZoneIndexB                  DisplayString,
        snMspsIp6ScopeZoneIndexC                  DisplayString,
        snMspsIp6ScopeZoneIndexD                  DisplayString,
        snMspsIp6ScopeZoneIndexE                  DisplayString,
        snMspsIp6IfScopeZoneCreationStatus            INTEGER,
        snMspsIp6IfScopeZoneRowStatus               RowStatus
    }

snMspsIp6ScopeZoneIndexIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The index value that uniquely identifies the interface to
            which these scopes belong.  The interface identified by a
            particular value of this index is the same interface as
            identified by the same value of the IF-MIB's ifIndex."
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 1 }

snMspsIp6ScopeZoneIndexInterfaceLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the Interface local scope on this interface."
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 2 }

snMspsIp6ScopeZoneIndexLinkLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the link-local scope on this interface.
            The index value corresponding to this scope-zone can be known from
            ipv6ScopeZoneIndexLinkLocal"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 3 }

snMspsIp6ScopeZoneIndex3 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 3 on this interface.  The index value corresponding 
            to this scope-zone can be known from ipv6ScopeZoneIndex3"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 4 }

snMspsIp6ScopeZoneIndexAdminLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the admin-local scope on this interface.The index value 
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndexAdminLocal"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 5 }

snMspsIp6ScopeZoneIndexSiteLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the site-local scope on this interface.The index value
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndexSiteLocal "
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 6 }

snMspsIp6ScopeZoneIndex6 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 6 on this interface.The index value
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndex6 "
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 7 }

snMspsIp6ScopeZoneIndex7 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 7 on this interface.The index value
            corresponding to this scope-zone can be known from ipv6ScopeZoneIndex7"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 8 }

snMspsIp6ScopeZoneIndexOrganizationLocal OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for the organization-local scope on this
            interface.The index value corresponding to this scope-zone 
            can be known from ipv6ScopeZoneIndexOrganizationLocal"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 9 }

snMspsIp6ScopeZoneIndex9 OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope 9 on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndex9"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 10 }

snMspsIp6ScopeZoneIndexA OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope A on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexA"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 11 }

snMspsIp6ScopeZoneIndexB OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope B on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexB"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 12 }

snMspsIp6ScopeZoneIndexC OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope C on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexC"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 13 }

snMspsIp6ScopeZoneIndexD OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope D on this interface.The index value
            corresponding to this scope-zone can be known from 
            ipv6ScopeZoneIndexD"
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 14 }
 
snMspsIp6ScopeZoneIndexE OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The zone index for scope E on this interface."
    DEFVAL  { "Invalid" }
    ::= { snMspsIp6IfScopeZoneMapEntry 15 }

snMspsIp6IfScopeZoneCreationStatus OBJECT-TYPE
    SYNTAX  INTEGER {
               notcreated(0),
               automatic(1),
                mgmt(2),
                overridden(3)
              }
    MAX-ACCESS     read-only
    STATUS     current
    DESCRIPTION
       "Flag to determine if the scope-zone index is configured automatically
       or by configuration.When an IPv6 interface is created by default the
       linklocal scope is created and the creation status of it is automatic.When
       a user creates a scope-zone the creation status is updated as manual.When
       an indication is receievd from higher layer protocol regarding the detection
       of interfaces on the same link, in that case whatever might be the configuration
       status (i.e automatic or manual) is changed to overridden. It means if the
       scope-zone on the standby links if its automatic or manually created both will
       be over-ridden and configured with the scope-zone of the active link"
    DEFVAL  { notcreated }
    ::= { snMspsIp6IfScopeZoneMapEntry 16 }

snMspsIp6IfScopeZoneRowStatus OBJECT-TYPE
    SYNTAX     RowStatus 
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION 
          "The rowstatus of the scope-zone index table, used in 
           accordance to creation and deletion of scope-zones.To create
           a row in this table manager sets this object to createAndGo(4).
           The rowentry can be deleted automatically only when the creation 
           status is set to auto,else the rowstatus is set to NotInService. "
    ::= { snMspsIp6IfScopeZoneMapEntry 17 }

-- Support for Scope-Zone   - END 

-- Support for Scope-Zone Table - START

--snMspsIp6ScopeZoneTable BEGIN

snMspsIp6ScopeZoneTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsIp6ScopeZoneEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            " The table is used to map each scope-zone index 
              with the interface to which it has been associated.
              This table is indeed used while forwarding packets 
              to find out what all interfaces belong to a particular 
              scope-zone"
    ::= { snMspsIp6Tables 16 }

snMspsIp6ScopeZoneEntry OBJECT-TYPE
    SYNTAX     SnMspsIp6ScopeZoneEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry in the Scope-Zone Index Member Table.Each
             entry specifies the interface indices associated with 
             a particular scope-zone index "
    INDEX   { snMspsIp6ScopeZoneName }
     ::= { snMspsIp6ScopeZoneTable 1 }

SnMspsIp6ScopeZoneEntry ::= SEQUENCE {
	snMspsIp6ScopeZoneName                    DisplayString,
        snMspsIp6ScopeZoneIndex                   InetZoneIndex,
        snMspsIp6ScopeZoneCreationStatus          INTEGER,
        snMspsIp6ScopeZoneInterfaceList           InterfaceList,
        snMspsIp6IsDefaultScopeZone               INTEGER
 }

snMspsIp6ScopeZoneName OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           " Displays the scope zone name value(i.e linklocal1,
             interfacelocal2) for the scope-zone index"
    ::= { snMspsIp6ScopeZoneEntry 1 }

snMspsIp6ScopeZoneIndex OBJECT-TYPE
    SYNTAX     InetZoneIndex 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "A unique value for each scope
            on an interface. It is recommended that values are
            assigned contiguously starting from 1. "
    ::= { snMspsIp6ScopeZoneEntry 2 }

snMspsIp6ScopeZoneCreationStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                automatic(1),
                mgmt(2),
                overridden(3)
              }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "Flag to determine if the scope-zone index is configured automatically
       or by configuration.When an IPv6 interface is created by default the
       linklocal scope is created and the creation status of it is automatic.When
       a user creates a scope-zone the creation status is updated as manual.When
       an indication is receievd from higher layer protocol regarding the detection
       of interfaces on the same link, in that case whatever might be the configuration
       status (i.e automatic or manual) is changed to overridden. It means if the  
       scope-zone on the standby links is overridden by the scope-zone of the active 
       link regardless Of whether the associated zone is created manually/automatically"
    ::= { snMspsIp6ScopeZoneEntry 3 }

snMspsIp6ScopeZoneInterfaceList OBJECT-TYPE
    SYNTAX     InterfaceList 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           " This MIB object displays all the interfaces that are part of/members of this 
             scope-zone index. These interfaces have the corresponding bit set in the octetlist. "
    ::= { snMspsIp6ScopeZoneEntry 4 }

snMspsIp6IsDefaultScopeZone OBJECT-TYPE
    SYNTAX     INTEGER {
                 yes(1),
                 no(2)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           " yes- indicates that zone is default zone for the associated scope
             No - indicates that zone is not the default zone for the associated scope"
    DEFVAL { no }
    ::= { snMspsIp6ScopeZoneEntry 5 }


--snMspsIp6ScopeZoneTable END


-- snMspsIp6Tables END

         -- IPv6 ICMP statistics


         snMspsIp6IcmpInMsgs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
                 "The total number of ICMP messages which
                 the entity received.  Note that this counter
                 includes all those counted by snMspsIp6IcmpInErrors."
             ::= { snMspsIp6Icmp 1 }


         snMspsIp6IcmpInErrors OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP messages which the entity
              received but determined as having ICMP-specific
              errors (bad ICMP checksums, bad length, etc.)."
             ::= { snMspsIp6Icmp 2 }


         snMspsIp6IcmpInDestUnreachs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Destination Unreachable
              messages received."
             ::= { snMspsIp6Icmp 3 }


         snMspsIp6IcmpInTimeExcds OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Time Exceeded messages
               received."
             ::= { snMspsIp6Icmp 4 }


         snMspsIp6IcmpInParmProbs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Parameter Problem messages
               received."
             ::= { snMspsIp6Icmp 5 }


         snMspsIp6IcmpInPktTooBigs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Packet Too Big messages
              received."
             ::= { snMspsIp6Icmp 6 }


         snMspsIp6IcmpInEchos OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Echo (request) messages
               received."
             ::= { snMspsIp6Icmp 7 }


         snMspsIp6IcmpInEchoReps OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Echo Reply messages received."
             ::= { snMspsIp6Icmp 8 }


         snMspsIp6IcmpInRouterSolicits OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Solicit messages
               received."
             ::= { snMspsIp6Icmp 9 }


         snMspsIp6IcmpInRouterAdvertisements OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Advertisement messages
              received."
             ::= { snMspsIp6Icmp 10 }


         snMspsIp6IcmpInNeighborSolicits OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Solicit messages
               received."
             ::= { snMspsIp6Icmp 11 }


         snMspsIp6IcmpInNeighborAdvertisements OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Advertisement
              messages received."
             ::= { snMspsIp6Icmp 12 }


         snMspsIp6IcmpInRedirects OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of Redirect messages received."
             ::= { snMspsIp6Icmp 13 }


         snMspsIp6IcmpInAdminProhib OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "Number of ICMP destination unreachable/communication
              administratively prohibited messages received."
             ::= { snMspsIp6Icmp 14 }


         snMspsIp6IcmpOutMsgs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The total number of ICMP messages which this
              entity attempted to send.  Note that this counter
              includes all those counted by icmpOutErrors."
             ::= { snMspsIp6Icmp 15 }


         snMspsIp6IcmpOutErrors OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP messages which this entity did
              not send due to problems discovered within ICMP
              such as a lack of buffers.  This value should not
              include errors discovered outside the ICMP layer
              such as the inability of IPv6 to route the resultant
              datagram.  In some implementations there may be no
              types of error which contribute to this counter's
              value."
             ::= { snMspsIp6Icmp 16 }


         snMspsIp6IcmpOutDestUnreachs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Destination Unreachable
              messages sent."
             ::= { snMspsIp6Icmp 17 }


         snMspsIp6IcmpOutTimeExcds OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Time Exceeded messages sent."
             ::= { snMspsIp6Icmp 18 }


         snMspsIp6IcmpOutParmProbs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Parameter Problem messages
              sent."
             ::= { snMspsIp6Icmp 19 }


         snMspsIp6IcmpOutPktTooBigs OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Packet Too Big messages sent."
             ::= { snMspsIp6Icmp 20 }


         snMspsIp6IcmpOutEchos OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Echo (request) messages sent."
             ::= { snMspsIp6Icmp 21 }


         snMspsIp6IcmpOutEchoReps OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Echo Reply messages sent."
             ::= { snMspsIp6Icmp 22 }


         snMspsIp6IcmpOutRouterSolicits OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Solicitation messages
               sent."
             ::= { snMspsIp6Icmp 23 }


         snMspsIp6IcmpOutRouterAdvertisements OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Router Advertisement messages
              received."
             ::= { snMspsIp6Icmp 24 }


         snMspsIp6IcmpOutNeighborSolicits OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Solicitation
               messages sent."
             ::= { snMspsIp6Icmp 25 }


         snMspsIp6IcmpOutNeighborAdvertisements OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of ICMP Neighbor Advertisement
              messages
              received."
             ::= { snMspsIp6Icmp 26 }


         snMspsIp6IcmpOutRedirects OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
              "The number of Redirect messages sent. For
              a host, this object will always be zero,
              since hosts do not send redirects."
             ::= { snMspsIp6Icmp 27 }


         snMspsIp6IcmpOutAdminProhib OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "Number of ICMP destination unreachable/
               communication administratively prohibited
               messages sent."
             ::= { snMspsIp6Icmp 28 }


         snMspsIp6IcmpInBadCode OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "Number of received ICMP messages having unrecognized type of
                message "
             ::= { snMspsIp6Icmp 29 }

         snMspsIp6IcmpInNARouterFlagSet OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of ICMP Neighbor Advertisement received with Router
                Flag Set"
             ::= { snMspsIp6Icmp 30 }

         snMspsIp6IcmpInNASolicitedFlagSet OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of ICMP Neighbor Advertisement received with Solicited
                Flag Set"
             ::= { snMspsIp6Icmp 31 }

         snMspsIp6IcmpInNAOverrideFlagSet OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of ICMP Neighbor Advertisement received with Override
                Flag Set"
             ::= { snMspsIp6Icmp 32 }

         snMspsIp6IcmpOutNARouterFlagSet OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of ICMP Neighbor Advertisement sent with Router
                Flag Set"
             ::= { snMspsIp6Icmp 33 }

         snMspsIp6IcmpOutNASolicitedFlagSet OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of ICMP Neighbor Advertisement sent with Solicited
                Flag Set"
             ::= { snMspsIp6Icmp 34 }

         snMspsIp6IcmpOutNAOverrideFlagSet OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of ICMP Neighbor Advertisement sent with Override
                Flag Set"
             ::= { snMspsIp6Icmp 35 }


         -- The IPv6 UDP group

snMspsIp6UdpScalars  OBJECT IDENTIFIER ::= { snMspsIp6Udp 1 }

--snMspsIp6UdpScalars BEGIN

         snMspsIp6UdpInDatagrams OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The total number of UDP datagrams delivered to
                UDP users."
             ::= { snMspsIp6UdpScalars 1 }


         snMspsIp6UdpNoPorts OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The total number of received UDP datagrams
                for which there was no application at
                the destination port."
             ::= { snMspsIp6UdpScalars 2 }


         snMspsIp6UdpInErrors OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The number of received UDP datagrams that
                could not be delivered for reasons other
                than the lack of an application at
                the destination port."
             ::= { snMspsIp6UdpScalars 3 }


         snMspsIp6UdpOutDatagrams OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS     read-only
             STATUS     current
             DESCRIPTION
               "The total number of UDP datagrams sent
                from this entity."
             ::= { snMspsIp6UdpScalars 4 }

-- snMspsIp6UdpScalars END

-- IPv6 Routing Table

          -- The IPv6 routing table contains an entry for each
          -- valid IPv6 unicast routes that can be used for packet
          -- forwarding. There are no entries for Multicast and Link-Local
          -- addresses.

          -- This table contains static and dynamic routes as well as routes
          -- to directly connected networks which are derived from the
          -- configured address prefixes. Thus entries exist in this table
          -- even if RIPng protocol is not running.

          -- Entries created/deleted from SNMP, dynamically through RIPng
          -- protocol or derived from configured address prefixes.

	 snMspsIp6RouteTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF SnMspsIp6RouteEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "This table contains dynamic routes that are learnt
                 through dynamic routing protocol as well as local routes
                 derived from configured address prefixes and statically
                 configured routes."
              ::= { snMspsIp6Route 1 }


         snMspsIp6RouteEntry   OBJECT-TYPE
              SYNTAX   SnMspsIp6RouteEntry
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "An entry in the IPv6 Routing Table. An entry can be created
                 by means of the routing protocol, derived from configured
                 address prefixes as well as statically configured. There
                 can be a static route as well as dynamic routes with the
                 same destination and prefix length."
              INDEX  { snMspsIp6RouteDest,
                       snMspsIp6RoutePfxLength,
                       snMspsIp6RouteProtocol,
                       snMspsIp6RouteNextHop
                     }
              ::= { snMspsIp6RouteTable 1 }


         SnMspsIp6RouteEntry  ::=
              SEQUENCE {
                 snMspsIp6RouteDest
                     OCTET STRING,
                 snMspsIp6RoutePfxLength
                     Integer32,
                 snMspsIp6RouteProtocol
                     INTEGER,
                 snMspsIp6RouteNextHop
                     OCTET STRING,
                 snMspsIp6RouteIfIndex
                     InterfaceIndex,
                 snMspsIp6RouteMetric
                     Unsigned32,
                 snMspsIp6RouteType
                     INTEGER,
                 snMspsIp6RouteTag
                     Unsigned32,
                 snMspsIp6RouteAge
                     Integer32,
                 snMspsIp6RouteAdminStatus
                     RowStatus,
                 snMspsIp6RouteAddrType
                     INTEGER
              }


          snMspsIp6RouteDest  OBJECT-TYPE
              SYNTAX   OCTET STRING (SIZE (16))
              MAX-ACCESS  not-accessible
              STATUS   current
              DESCRIPTION
                 "The destination IPv6 address of this route.
                  This object will not take a Link-Local or Multicast address
                  value."
              ::= { snMspsIp6RouteEntry 1 }


          snMspsIp6RoutePfxLength OBJECT-TYPE
              SYNTAX   Integer32 (1..128)
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "Indicates the prefix length of the destination
                  address."
              ::= { snMspsIp6RouteEntry 2 }


          snMspsIp6RouteProtocol OBJECT-TYPE
              SYNTAX     INTEGER {
                            other(1),        -- none of the following


                            local(2),        -- non-protocol information,
                                             -- e.g., manually configured
                                             -- entries

                            netmgmt(3),      -- static route

                            ndisc(4),        -- e.g., Redirect
                                             -- the following are all
                                             -- dynamic routing protocols

                            rip(5),          -- RIPng

                            ospf(6),         -- Open Shortest Path First

                            bgp(7),          -- Border Gateway Protocol
                            idrp(8),         -- InterDomain Routing Protocol
                            igrp(9)          -- InterGateway Routing Protocol

                         }
              MAX-ACCESS    not-accessible
              STATUS   current
              DESCRIPTION
                 "The routing mechanism via which this route was
                 learned. If it has value local(2), it indicates this
                 route was derived from a configured address prefix."
              ::= { snMspsIp6RouteEntry 3 }


          snMspsIp6RouteNextHop  OBJECT-TYPE
              SYNTAX   OCTET STRING (SIZE (16))
              MAX-ACCESS   not-accessible
              STATUS   current
              DESCRIPTION
                 "Next hop IPv6 Address for this route. For direct routes
                 it has the value ::0."
              ::= { snMspsIp6RouteEntry 4 }


          snMspsIp6RouteIfIndex  OBJECT-TYPE
              SYNTAX   InterfaceIndex
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "The index value which uniquely identifies the interface
                  through which the next hop of this route should be reached.
                  The interface identified by a particular value of this index
                  is the same interface as identified by the same value of
                  snMspsIp6IfIndex."
              ::= { snMspsIp6RouteEntry 5 }


          snMspsIp6RouteMetric  OBJECT-TYPE
              SYNTAX   Unsigned32 (1..4294967295)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "The routing metric associated with this route."
              DEFVAL { 1 }
              ::= { snMspsIp6RouteEntry 6 }


          snMspsIp6RouteType OBJECT-TYPE
              SYNTAX   INTEGER  {
                            other(1),     -- none of the following
                            
                                          -- an route indicating that
                                          -- packets to destinations
                                          -- matching this route are
                            discard(2),   -- to be discarded
    
                                          -- route to directly
                            local(3),     -- connected (sub-)network

                                          -- route to a remote
                            remote(4)     -- destination
                       }
              MAX-ACCESS   read-write
              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; 'discard(2)' refers to a route
                indicating that packets to destinations matching
                this route are to be discarded (sometimes called
                black-hole route). In this implementation
                discard(2) is not supported."
              ::= { snMspsIp6RouteEntry 7 }


          snMspsIp6RouteTag OBJECT-TYPE
              SYNTAX   Unsigned32 (0..4294967295)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "This object specifies whether this route is an internal
                 or external route. Value 0 represent routes are internal
                 to the routing domain and Value > 0 represent routes
                 are external to the routing domain. For routes learnt
                 through dynamic routing protocol, this object derives its
                 value from the packet. For routes which are statically
                 configured, this object should be configured. The higher
                 order 2 bytes refers to the tag value and the lower order
                 2 byter refers to the next-hop AS number. "
              ::= { snMspsIp6RouteEntry 8 }


          snMspsIp6RouteAge  OBJECT-TYPE
              SYNTAX   Integer32
              MAX-ACCESS   read-only
              STATUS   current
              DESCRIPTION
                "The number of seconds since this route was last
                updated or otherwise determined to be correct. For
                statically configured routes and locally derived routes,
                this object has value 0."
              ::= { snMspsIp6RouteEntry 9 }

          snMspsIp6RouteAdminStatus  OBJECT-TYPE
              SYNTAX    RowStatus
              MAX-ACCESS   read-create
              STATUS   current
              DESCRIPTION
                "Administrative Status of the route. This object is used
                 to create or delete the route entry. The snMspsIp6RouteIfIndex
                 needs to be set, before the route entry is made active. 
                 CreateAndGo is not supported."
              ::= { snMspsIp6RouteEntry 10 }

          snMspsIp6RouteAddrType OBJECT-TYPE
              SYNTAX   INTEGER {
                            unicast(1),
                            anycast(2)
                       }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                "Indicates whether the destination address in the route entry
                 is unicast or  anycast."
              DEFVAL { 1 }
              ::= { snMspsIp6RouteEntry 11 }



--ipv6RouteTable END

-- snMspsIp6PrefTable BEGIN
         -- IPv6 Protocol Preference 

         -- The IPv6 Protocol Preference table defines the preference value
         -- for each protocol and the best routes will be determined based
         -- on this preference value. Protocol with lower value is the
         -- preferred.

         snMspsIp6PrefTable OBJECT-TYPE
             SYNTAX      SEQUENCE OF SnMspsIp6PrefEntry
             MAX-ACCESS      not-accessible
             STATUS      current
             DESCRIPTION
               "The IPv6 Preference table contains information on the 
                Preference Value for each supported protocol."
             ::= { snMspsIp6Route 2 }


         snMspsIp6PrefEntry OBJECT-TYPE
             SYNTAX     SnMspsIp6PrefEntry
             MAX-ACCESS     not-accessible
             STATUS     current
             DESCRIPTION
               "An entry containing objects about a particular protocols
                preference value."
             INDEX   { snMspsIp6Protocol }
             ::= { snMspsIp6PrefTable 1 }


         SnMspsIp6PrefEntry ::= SEQUENCE {
                 snMspsIp6Protocol
                     INTEGER,
                 snMspsIp6Preference
                     Unsigned32
         }


         snMspsIp6Protocol OBJECT-TYPE
             SYNTAX     INTEGER {
                            other(1), 
                            local(2),
                            netmgmt(3),
                            ndisc(4),
                            rip(5),
                            ospf(6),
                            bgp(7),
                            idrp(8),
                            igrp(9)
                         }
             MAX-ACCESS   not-accessible
             STATUS     current
             DESCRIPTION
               "A unique value identifying the protocol whose preference
                value needs to be processed."
             ::= { snMspsIp6PrefEntry 1 }


          snMspsIp6Preference OBJECT-TYPE
              SYNTAX   Unsigned32 (0..255)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
    		  "Preference of the route learned by a particular protocol. 
               This value is used while choosing the best path. 
               Lesser the value, highest is the preference. "
              ::= { snMspsIp6PrefEntry 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}



-- ------------------------------------------------------------  
-- 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 }

                


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
-- -------------------------------------------------------------
    



snMspsRip2GeneralGroup OBJECT IDENTIFIER     ::=  { snMspsRip 1 }
snMspsRipRRDGeneralGroup OBJECT IDENTIFIER ::=  { snMspsRip 2 }


snMspsRip2Security OBJECT-TYPE
    SYNTAX  INTEGER {
        minimumSecurity(1),
        maximumSecurity(2)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "A variable denotes the security level of RIP-2
    in the system. The value `minimumSecurity` denotes
    that the RIP1 packets will be accepted even when
    authentication is in use. The value `maximumSecurity`
    denotes that RIP1 packets will be ignored when
    authentication is in use"
    DEFVAL  { maximumSecurity }
    ::= { snMspsRip2GeneralGroup  1 }

snMspsRip2Peers OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The maximum number of peers that can be in conversation
    with the RIP2 system simultaneously"
    ::= { snMspsRip2GeneralGroup  2 }

snMspsRip2TrustNBRListEnable OBJECT-TYPE
    SYNTAX INTEGER {
        enabled      (1),
        disabled     (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The status of neighbor list in the router.
        The value 'enabled' denotes that a list of
        router's IP address can be configured and 
        RIP Packets from those router's will be processed 
        by RIP and packets from other Routers will be dropped.
        'Disabled' denotes that RIP Packet from all the
        router's will be processed."
    DEFVAL  { disabled }
      ::= { snMspsRip2GeneralGroup  3 }

snMspsRip2NumberOfDroppedPkts OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of RIP Packets dropped because of
        neighbor list check."
    ::= { snMspsRip2GeneralGroup 4 }

snMspsRip2SpacingEnable OBJECT-TYPE
    SYNTAX INTEGER {
        enabled	      (1),
        disabled	      (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Whether spacing is enabled or not. If spacing 
        is enabled, generation of periodic update packet 
        will be split and send."
    DEFVAL  { disabled }
    ::= { snMspsRip2GeneralGroup 5 }

snMspsRip2AutoSummaryStatus OBJECT-TYPE
    SYNTAX INTEGER {
        enabled	      (1),
        disabled	      (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object specify the auto-summary status.If  
        enabled, summary routes are sent in regular updates for 
        both rip v1 and v2.If split hoizon is enabled, summary 
        is sent only if atlest one subnet route is learned over 
        an interface which is different from the interface over 
        which the update is sent.If all the subnet routes 
        are learned over the same interface over which updates
        are sent, then summary is not send.
        With poisson reverse enabled, summary is sent either 
        with metric 16 or with proper metric according to the 
        interfaces over which subnet routes were learnt.
        If summary is disabled, either individual subnet route 
        are sent or subnet routes are sent based on the 
        specfic aggregation configured over the interface."
    DEFVAL  { enabled }
    ::= { snMspsRip2GeneralGroup 6 }

-- MIB Objects for Triggered RIP
    
snMspsRip2RetransTimeoutInt    OBJECT-TYPE
    SYNTAX   Integer32 (5..10)
    MAX-ACCESS  read-write
    STATUS   current
    DESCRIPTION
       "The timeout interval to be used to retransmit the Update 
       request packet or an unacknowledged update response packet."
    DEFVAL { 5 }
    ::= { snMspsRip2GeneralGroup 7 } 

snMspsRip2MaxRetransmissions    OBJECT-TYPE
    SYNTAX   Integer32 (10..40)
    MAX-ACCESS  read-write
    STATUS   current
    DESCRIPTION
        "The maximum number of retransmissions of the update request and 
        update response packets. If no response is received then the routes 
        via the next hop router are marked unreachable." 
    DEFVAL { 36 }
    ::= { snMspsRip2GeneralGroup 8 }

snMspsRip2OverSubscriptionTimeout  OBJECT-TYPE
    SYNTAX   Integer32 (100..300)
    MAX-ACCESS read-write
    STATUS   current
    DESCRIPTION
        "Over subscription timeout value as mentioned in RFC 2091.When a
        Circuit DOWN message is received from the circuit manager, this 
        timer will be started for the specified timeout value."
    DEFVAL { 180 }
    ::= { snMspsRip2GeneralGroup 9 }

snMspsRip2Propagate  OBJECT-TYPE
    SYNTAX	    INTEGER  {
        enable (1),
        disable (2)
    }
    MAX-ACCESS	    read-write
    STATUS	    current
    DESCRIPTION
        "Is propagation of static route is enabled or not. If it
        is enabled then routing protocols (like RIP) are allowed
        to include static routes in the update messages."
    DEFVAL { disable }
    ::= { snMspsRip2GeneralGroup 10 }

snMspsRipTrcFlag  OBJECT-TYPE
    SYNTAX   Integer32 (0..255)
    MAX-ACCESS read-write
    STATUS   current
    DESCRIPTION
        "Enables the tracing in the RIP. A 32 bit integer
        is used to store the Tracing level in the specified module.
        Different Tracing Levels -
        BIT 0 - Initialisation and Shutdown Trace.
        BIT 1 - Management trace.
        BIT 2 - Data path trace.
        BIT 3 - Control Plane trace.
        BIT 4 - Packet Dump.
        BIT 5 - OS Resource trace.
        BIT 6 - All Failure trace (All failures including Packet Validation)
        BIT 7 - Buffer Trace."
    DEFVAL { 0 }
    ::= { snMspsRip2GeneralGroup 12 }  
    
snMspsRipAdminStatus  OBJECT-TYPE
    SYNTAX  INTEGER { enabled (1), disabled (2) }
    MAX-ACCESS read-write
    STATUS   current
    DESCRIPTION
       "The administrative status of RIP in the router.
        The value 'enabled' denotes that the RIP Process 
        is active; 'disabled' disables it on all inter-faces."
    DEFVAL { disabled }
    ::= { snMspsRip2GeneralGroup 13 }

-- snMspsRip2GeneralGroup 14-20 reserved   

--SCALAR_END snMspsRip2GeneralGroup

-- snMspsRip2NBRsTrustListTable

snMspsRip2NBRTrustListTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF SnMspsRip2NBRTrustListEntry
    MAX-ACCESS    not-accessible
    STATUS	current
    DESCRIPTION
        "This table contains a list of Router addresses 
        from which you can receive RIP Packets"
    ::= { snMspsRip2GeneralGroup  21 }

snMspsRip2NBRTrustListEntry OBJECT-TYPE
    SYNTAX    SnMspsRip2NBRTrustListEntry
    MAX-ACCESS    not-accessible
    STATUS    current
    DESCRIPTION
        "An entry of snMspsRip2NBRTrustListTable."
    INDEX	 { snMspsRip2TrustNBRIpAddr }
    ::= { snMspsRip2NBRTrustListTable 1 }


    SnMspsRip2NBRTrustListEntry ::=
    SEQUENCE {
        snMspsRip2TrustNBRIpAddr
            IpAddress,
        snMspsRip2TrustNBRRowStatus
            RowStatus
    }

snMspsRip2TrustNBRIpAddr OBJECT-TYPE
    SYNTAX	 IpAddress
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION
        "Ipaddress of the Router from which this router 
        can accept RIP Packets"
    ::= { snMspsRip2NBRTrustListEntry 1 }

snMspsRip2TrustNBRRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS      read-write
    STATUS	  current
    DESCRIPTION
    "The row status variable, used according to
    row installation and removal conventions."
    ::= { snMspsRip2NBRTrustListEntry 2 }


      

--snMspsRip2IfConfTable 

snMspsRip2IfConfTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SnMspsRip2IfConfEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A list of subnets which require separate
        configuration in RIP."
    ::= { snMspsRip2GeneralGroup 22 }

snMspsRip2IfConfEntry OBJECT-TYPE
    SYNTAX  SnMspsRip2IfConfEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A Single Routing Domain in a single Subnet."
    INDEX   { snMspsRip2IfConfAddress }
    ::= { snMspsRip2IfConfTable  1 }

    SnMspsRip2IfConfEntry ::=
    SEQUENCE {
        snMspsRip2IfConfAddress
            IpAddress,
        snMspsRip2IfAdminStat
            INTEGER,
        snMspsRip2IfConfOperState
            INTEGER,
        snMspsRip2IfConfUpdateTmr
            Integer32,
        snMspsRip2IfConfGarbgCollectTmr
            Integer32,
        snMspsRip2IfConfRouteAgeTmr
            Integer32,
        snMspsRip2IfSplitHorizonStatus
            INTEGER,
        snMspsRip2IfConfDefRtInstall
            INTEGER,
        snMspsRip2IfConfSpacingTmr
            Integer32
    }

snMspsRip2IfConfAddress OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The IP Address of this system on the indicated
        subnet.  For unnumbered interfaces, the value 0.0.0.N,
        where the least significant 24 bits (N) is the ifIndex
        for the IP Interface in network byte order."
    ::= { snMspsRip2IfConfEntry  1 }
  
snMspsRip2IfAdminStat OBJECT-TYPE
   SYNTAX  INTEGER {
       enabled(1),
       disabled(2),
       passive(3)
   }
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
       "The  administrative  status  of  RIP-2  in  the
       router.   The  value 'enabled' denotes that the
       RIP2 Process is active throughout the system.
       'disabled'	 disables RIP2 Process in the system.
       'passive'	denotes that the RIP2 Process runs as
       a passive one"
   ::= { snMspsRip2IfConfEntry 2 }

snMspsRip2IfConfOperState OBJECT-TYPE
    SYNTAX   INTEGER	  {
        operup (1),
        operdown (2)
    }
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        " This gives the Operational Status of the Interface "
    DEFVAL { operdown }
    ::= { snMspsRip2IfConfEntry 3 }

snMspsRip2IfConfUpdateTmr OBJECT-TYPE
    SYNTAX  Integer32 (10..3600)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
        "Interval Time Between Updates"
    DEFVAL  { 30 }
    ::= { snMspsRip2IfConfEntry 4 }

snMspsRip2IfConfGarbgCollectTmr OBJECT-TYPE
    SYNTAX   Integer32(120..180)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
        " Interval before deleting an entry after not hearing
        it. Also the advertisements of this entry is set to
        INFINITY while sending to others "
    DEFVAL { 120 }
    ::= { snMspsRip2IfConfEntry 5 }

snMspsRip2IfConfRouteAgeTmr OBJECT-TYPE
    SYNTAX   Integer32 (30..500)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
        " Time after which the entry is put into garbage collect
        interval "
    DEFVAL { 180 }
    ::= { snMspsRip2IfConfEntry 6 }

snMspsRip2IfSplitHorizonStatus OBJECT-TYPE
    SYNTAX INTEGER {
        splitHorizon(1),
        splitHorizonWithPoisRev(2),
        disable(3)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A flag to denote the split horizon operational status
         in the system. The value `splitHorizon` denotes that
         splitHorizon should be applied in the response packets
         that are going out"
    DEFVAL  { splitHorizonWithPoisRev }
    ::= { snMspsRip2IfConfEntry 7 }

snMspsRip2IfConfDefRtInstall OBJECT-TYPE
    SYNTAX INTEGER {
        installDefRt(1),
        doNotInstallDefRt(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A flag that decides whether the default route received over this 
        interface should be installed to rip database or not."
    DEFVAL  { doNotInstallDefRt }
    ::= { snMspsRip2IfConfEntry 8 }

snMspsRip2IfConfSpacingTmr OBJECT-TYPE
    SYNTAX   Integer32(0..360)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
        "Number of route entries are greater than 25 , regular updates 
         (response packets are sent for every snMspsRip2IfConfUpdateTmr 
         interval) are sent in multiple packets.
         Spacing Provides the interval between the 
         packets.For value zero spacing will be disabled.Maximum value is 10%
         of the snMspsRip2IfConfUpdateTmr object maximum value."
    DEFVAL { 0 }
    ::= { snMspsRip2IfConfEntry 9 }


-- MD5 Authentiacation table for RIP.

snMspsRipMd5AuthTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnMspsRipMd5AuthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "The MD5 Authentication table for RIP." 
    ::= { snMspsRip2GeneralGroup 23 }

snMspsRipMd5AuthEntry    OBJECT-TYPE
    SYNTAX      SnMspsRipMd5AuthEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in to the MD5 Authentiaction table. More than one
        entry can be configured for an interface."
    INDEX       { snMspsRipMd5AuthAddress, snMspsRipMd5AuthKeyId }
    ::= { snMspsRipMd5AuthTable 1 }

SnMspsRipMd5AuthEntry ::= 
    SEQUENCE {
        snMspsRipMd5AuthAddress IpAddress,
        snMspsRipMd5AuthKeyId   Integer32,
        snMspsRipMd5AuthKey OCTET STRING,
        snMspsRipMd5KeyStartTime Integer32,
        snMspsRipMd5KeyExpiryTime Integer32,
        snMspsRipMd5KeyRowStatus  RowStatus
    }

snMspsRipMd5AuthAddress     OBJECT-TYPE
    SYNTAX       IpAddress
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The IP Address of this system on the indicated
        subnet.  For unnumbered interfaces, the value 0.0.0.N,
        where the least significant 24 bits (N) is the ifIndex
        for the IP Interface in network byte order. RIP should
        have been enabled for this IP address and the rip2IfConfAuthType 
        should be MD5 for creating this entry."
    ::= { snMspsRipMd5AuthEntry 1 }

snMspsRipMd5AuthKeyId     OBJECT-TYPE
    SYNTAX       Integer32 (0..255)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION  
        "The key ID for this key. This should be unique for the same 
        snMspsRipMd5AuthAddress. This enables the configuration of more than
        one key for an interface."
    ::= { snMspsRipMd5AuthEntry 2 }


snMspsRipMd5AuthKey OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The value to be used as the Authentication Key.
        If a string shorter than 16 octets is supplied, it will be 
        left- justified and padded to 16 octets, on the right,
        with nulls (0x00).
        Reading this object always results in an  OCTET
        STRING of length zero; authentication may not
        be bypassed by reading the MIB object."
    ::= { snMspsRipMd5AuthEntry  3 }
          
snMspsRipMd5KeyStartTime   OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The time the router will start accepting or generating the 
        packets that have been created with this key. 
        The start time of the key should be less than the expiry time of
        the previous key.
        During the overlap interval, the next key will be used in the 
        generation of the authentication messages.The start time of the first
        key should be zero."
    ::= { snMspsRipMd5AuthEntry 4 }

snMspsRipMd5KeyExpiryTime   OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The time the router will stop accepting the packets that have
        been created with this key. This time will be indicated (in the 
        number of seconds) from the start time of the key. If the expiry time    
        of a key is zero, it means that, the key should be used for the           
        infinite amount of time. If this key is the last key then that key
        will be used for the infinite amount of time or until the new key 
        is configured." 
    ::= { snMspsRipMd5AuthEntry 5 }

snMspsRipMd5KeyRowStatus    OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of this row by which a new entry can be created or
        deleted by setting this object to the appropriate value as 
        mentioned in SMI-v2.If this entry is made active, then no other 
        entry in the table will be allowed to modify. The entry can be in     
        deleted from the table."
    ::= { snMspsRipMd5AuthEntry 6 }

 -- snMspsRip2NBRsUnicastListTable

snMspsRip2NBRUnicastListTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF SnMspsRip2NBRUnicastListEntry
    MAX-ACCESS    not-accessible
    STATUS	current
    DESCRIPTION
        "This table contains a list of Router addresses 
        from which you can receive RIP Packets"
    ::= { snMspsRip2GeneralGroup  24 }

snMspsRip2NBRUnicastListEntry OBJECT-TYPE
    SYNTAX    SnMspsRip2NBRUnicastListEntry
    MAX-ACCESS    not-accessible
    STATUS    current
    DESCRIPTION
        "An entry of snMspsRip2NBRUnicastListTable."
    INDEX	 { snMspsRip2NBRUnicastIpAddr }
    ::= { snMspsRip2NBRUnicastListTable 1 }

SnMspsRip2NBRUnicastListEntry ::=
    SEQUENCE {
        snMspsRip2NBRUnicastIpAddr
            IpAddress,
        snMspsRip2NBRUnicastNBRRowStatus
            RowStatus
    }

snMspsRip2NBRUnicastIpAddr OBJECT-TYPE
    SYNTAX	 IpAddress
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION
        "Ipaddress of the neighbour Router to which unicast 
        update has to be sent"
    ::= { snMspsRip2NBRUnicastListEntry 1 }

snMspsRip2NBRUnicastNBRRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS      read-write
    STATUS	  current
    DESCRIPTION
        "The row status variable, used according to
         row installation and removal conventions."
    ::= { snMspsRip2NBRUnicastListEntry 2 }


--snMspsRip2LocalRoutingTable

snMspsRip2LocalRouteTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF SnMspsRip2LocalRouteEntry
    MAX-ACCESS    not-accessible
    STATUS	current
    DESCRIPTION
        "This table contain Local routing table entries "
    ::= { snMspsRip2GeneralGroup  25 }

snMspsRip2LocalRouteEntry OBJECT-TYPE
    SYNTAX SnMspsRip2LocalRouteEntry 
    MAX-ACCESS  not-accessible 
    STATUS  current
    DESCRIPTION
        "A list of routes in local routing table" 
	INDEX     { snMspsRip2DestNet,
		snMspsRip2DestMask,
		snMspsRip2Tos,
		snMspsRip2NextHop
	}
    ::= { snMspsRip2LocalRouteTable 1 }

SnMspsRip2LocalRouteEntry ::=
    SEQUENCE {
        snMspsRip2DestNet
            IpAddress,
        snMspsRip2DestMask
            IpAddress,
        snMspsRip2Tos
            Integer32,
        snMspsRip2NextHop
            IpAddress,
        snMspsRip2RtIfIndex
            Integer32,
        snMspsRip2RtType
            Integer32,
        snMspsRip2Proto
            Integer32,
        snMspsRip2ChgTime
            Integer32,
        snMspsRip2Metric
            Integer32,
        snMspsRip2RowStatus
            Integer32,
        snMspsRip2Gateway
            IpAddress
    }

snMspsRip2DestNet	OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  not-accessible 
    STATUS  current
    DESCRIPTION
        "The IP Address of the destination network" 
    ::= { snMspsRip2LocalRouteEntry  1 }
      
snMspsRip2DestMask OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The Destination mask for the destination network" 
    ::= { snMspsRip2LocalRouteEntry  2 }

snMspsRip2Tos OBJECT-TYPE
    SYNTAX  Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The  value for Rip is always zero" 
    ::= { snMspsRip2LocalRouteEntry 3 }

snMspsRip2NextHop OBJECT-TYPE
    SYNTAX IpAddress 
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The The nexthop address to which any datagrams 
        destined to the destination,to be 
        forwarded. (In some special cases)"
 
    ::= { snMspsRip2LocalRouteEntry 4 }
    
snMspsRip2RtIfIndex OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        " The interface through which the route is learnt"
    ::= { snMspsRip2LocalRouteEntry 5 }

snMspsRip2RtType OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The  value for Rip is always zero" 
    ::= { snMspsRip2LocalRouteEntry 6 }
    
snMspsRip2Proto OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The protocol id   == RIP (8 - 1)here" 
    ::= { snMspsRip2LocalRouteEntry 7 }

snMspsRip2ChgTime OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The time when the route is installed" 
    ::= { snMspsRip2LocalRouteEntry 8 }
      
snMspsRip2Metric OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The reachability cost for the destination" 
    ::= { snMspsRip2LocalRouteEntry 9 }
    
snMspsRip2RowStatus OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Row status for perticular route entry" 
    ::= { snMspsRip2LocalRouteEntry 10}

snMspsRip2Gateway OBJECT-TYPE
    SYNTAX  IpAddress 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The gateway address to which any datagrams
        destined to the destination, to be forwarded" 
    ::= { snMspsRip2LocalRouteEntry 11}

--  The CIDR group

snMspsRipAggTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsRipAggEntry
    MAX-ACCESS     not-accessible
    STATUS     current
    DESCRIPTION
        "The (conceptual) table listing the router's
        supernet routes.RIP advertises only supernet
        routes on the speicified interface. And it
        suppresses all routes which are subset of the supernet."
    ::= { snMspsRip2GeneralGroup  26 }

snMspsRipAggEntry OBJECT-TYPE
    SYNTAX	SnMspsRipAggEntry
    MAX-ACCESS    not-accessible
    STATUS	current
    DESCRIPTION
        "An entry (conceptual row) in the
        snMspsRipAggTable representing supertnet route for
        the domain."
    INDEX  { snMspsRipIfIndex, snMspsRipAggAddress, snMspsRipAggAddressMask }
    ::= { snMspsRipAggTable 1 }

SnMspsRipAggEntry ::=
    SEQUENCE {
        snMspsRipIfIndex           Integer32,       
        snMspsRipAggAddress		IpAddress,
        snMspsRipAggAddressMask	IpAddress,
        snMspsRipAggStatus	     	RowStatus
    }

snMspsRipIfIndex OBJECT-TYPE
    SYNTAX	 Integer32 (1..2147483647)
    MAX-ACCESS not-accessible
    STATUS	 current
    DESCRIPTION
        "The interface index over which the aggregation is configured."
    ::= { snMspsRipAggEntry 1 }

snMspsRipAggAddress OBJECT-TYPE
    SYNTAX	 IpAddress
    MAX-ACCESS not-accessible
    STATUS	 current
    DESCRIPTION
        "The aggregated address which when combined with the
        corresponding value of snMspsRipAggAddressMask
        identifies the supernet route for this domain."
    ::= { snMspsRipAggEntry 2 }

snMspsRipAggAddressMask OBJECT-TYPE
    SYNTAX	 IpAddress
    MAX-ACCESS not-accessible
    STATUS	 current
    DESCRIPTION
        "The aggregated address mask which when combined with
        the corresponding value of snMspsRipAggAddress
        identifies the supernet route for the domain."
    ::= { snMspsRipAggEntry 3 }

snMspsRipAggStatus OBJECT-TYPE
    SYNTAX	 RowStatus
    MAX-ACCESS read-write
    STATUS	 current
    DESCRIPTION
        "The status of this row , by which new entries may be 
        created or old entries deleted from this table"
    ::= { snMspsRipAggEntry 4 }


-- MIB Definitions for the RIP Protocol to Support Route Redistribution:

-- MIB Definition for RRD Support Starts here 

snMspsRipRRDGlobalStatus OBJECT-TYPE
    SYNTAX INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This MIB object enables / disables RIP to participate
        in Route Redistribution. If set to enabled then RIP will start 
        advertising the routes learned by other protocols. If set to
        disabled then RIP will stop redistribution of routes
        but will continue to send updates to the RTM."
    DEFVAL { disabled }
    ::= { snMspsRipRRDGeneralGroup 1 }

snMspsRipRRDSrcProtoMaskEnable OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object determines the protocols from which the routes 
        have to be imported to RIP
        Bit 1, if set indicates the routes have to be imported from the 
        local interface.
        Bit 2, if set indicates the routes have to be imported from static route.
        Bit 12, if set indicates the routes have to be imported from OSPF.
        Bit 13, if set indicates the routes have to be imported from BGP."
    DEFVAL { 0 }
    ::= { snMspsRipRRDGeneralGroup 2 }

snMspsRipRRDSrcProtoMaskDisable OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object determines the protocols from which the importing of 
        routes should be stopped to RIP
        Bit 1, if set indicates the routes have to be imported from the 
        local interface.
        Bit 2, if set indicates the routes have to be imported from static route.
        Bit 12, if set indicates the routes have to be imported from OSPF.
        Bit 13,if set indicates the routes have to be imported from BGP."
    DEFVAL { 0 }
    ::= { snMspsRipRRDGeneralGroup 3 }

snMspsRipRRDRouteTagType OBJECT-TYPE
    SYNTAX INTEGER {
        manual (1),
        automatic (2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Tag Type MIB object describes whether Tags
        will be automatically generated or will be manually 
        configured. If tags are manually configured , the 
        snMspsRipRRDRouteTag MIB has to be set with the Tag
        value needed."
    DEFVAL { automatic }
    ::= { snMspsRipRRDGeneralGroup 4 }

snMspsRipRRDRouteTag OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        " The Route Tag in case the user configures a Manual option for
        the tags ."
    DEFVAL { 0 }
    ::= { snMspsRipRRDGeneralGroup 5 }

snMspsRipRRDRouteDefMetric OBJECT-TYPE
    SYNTAX Integer32 (1..16)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The default metric to be used for the imported routes from RTM."
    DEFVAL { 3 }
    ::={ snMspsRipRRDGeneralGroup 6 }

snMspsRipRRDRouteMapEnable OBJECT-TYPE
    SYNTAX             DisplayString (SIZE(0..20))
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION        "Name  Identifies the  specified route-map
                        in the list of route-maps. If this Object needs to be 
                        changed, first reset this object and then configure the 
                        new value."
    ::={ snMspsRipRRDGeneralGroup 7 }

-- FILTERING OBJECT DEFINITION BEGIN

 snMspsRipDistInOutRouteMap OBJECT IDENTIFIER ::= { snMspsRip 3 }

    snMspsRipDistInOutRouteMapTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnMspsRipDistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "A table describing the configuration of filtering for route map."
    ::= { snMspsRipDistInOutRouteMap 1 }

    snMspsRipDistInOutRouteMapEntry OBJECT-TYPE
        SYNTAX SnMspsRipDistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Information describing the filtering configuration of single entry."
        INDEX { snMspsRipDistInOutRouteMapName, snMspsRipDistInOutRouteMapType}
    ::=  { snMspsRipDistInOutRouteMapTable 1 }

    SnMspsRipDistInOutRouteMapEntry ::= SEQUENCE {
        snMspsRipDistInOutRouteMapName         DisplayString,
        snMspsRipDistInOutRouteMapType         Integer32,
        snMspsRipDistInOutRouteMapValue        Integer32,
        snMspsRipDistInOutRouteMapRowStatus    RowStatus
    }

    snMspsRipDistInOutRouteMapName OBJECT-TYPE
        SYNTAX              DisplayString (SIZE(1..20))
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Route map name."
    ::=  { snMspsRipDistInOutRouteMapEntry 1 }

    snMspsRipDistInOutRouteMapType OBJECT-TYPE
        SYNTAX              Integer32(1..3)
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Type of route map to indicate the route map is for
            distribute in or for distribute out or for distance.
            1 - distance
            2 - distribute in
            3 - distribute out"
    ::=  { snMspsRipDistInOutRouteMapEntry 2 }

    snMspsRipDistInOutRouteMapValue  OBJECT-TYPE
        SYNTAX              Integer32(1..255)
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "Distance value ( this will be unused for distribute list )"
    ::=  { snMspsRipDistInOutRouteMapEntry 3 }

    snMspsRipDistInOutRouteMapRowStatus OBJECT-TYPE
        SYNTAX              RowStatus
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::=  { snMspsRipDistInOutRouteMapEntry 4 }

-- FILTERING OBJECT DEFINITION END

-- PREFERENCE OBJECT DEFINITION BEGIN

 snMspsRipPreferenceGroup OBJECT IDENTIFIER ::=  { snMspsRip 4 }
    
 snMspsRipPreferenceValue OBJECT-TYPE
       SYNTAX Integer32 (0..255)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "Preference value for RIP routes. If the value is set as '0' it will
            inturn be mapped to  default value"
       DEFVAL { 0 }
       ::= { snMspsRipPreferenceGroup 1 }

-- PREFERENCE OBJECT DEFINITION END




snMspsOspfGeneralGroup OBJECT IDENTIFIER ::=  { snMspsOspf 1 }
snMspsOspfRRDGroup OBJECT IDENTIFIER ::=  { snMspsOspf 13 }
snMspsOspfRRDGeneralGroup OBJECT IDENTIFIER ::=  { snMspsOspfRRDGroup 1}


-- snMspsOspfGeneralGroup 1-4 reserved

snMspsOspfRFC1583Compatibility OBJECT-TYPE
       SYNTAX Status
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " Controls the preference rules, when choosing among multiple AS 
             external LSAs advertising the same destination.
             When set to enabled, the preference rules remain those specified
             by RFC1583. 
             When set to disabled the preference rules are those stated in 
             RFC2178. Set to enabled by default."
       REFERENCE
           " OSPF Version 2, Appendix on Demand Routing"
       DEFVAL { enabled } 
       ::=  {snMspsOspfGeneralGroup 5}

snMspsOspfDefaultPassiveInterface OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "When set to true all OSPF interfaces created after this
	    setting will be passive interfaces. 
	    If set to false OSPF interfaces created after this setting 
	    will not be passive."
       DEFVAL { false }
         ::= { snMspsOspfGeneralGroup 6 }
-- snMspsOspf 2-3 reserved

--  OSPF Interface Table
--  The  snmspsospfIfTable is an extension to the ospfIfTable
--  and has statistical information associated with each interface.

   snMspsOspfIfTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspfIfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPF Interface Table describes the  inter-
              faces from the viewpoint of OSPF."
       REFERENCE
           "OSPF Version 2, Appendix C.3  Router  interface
             parameters"
       ::=  { snMspsOspf 4 }
   
   snMspsOspfIfEntry OBJECT-TYPE
       SYNTAX SnMspsOspfIfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPF Interface Entry describes one  inter-
              face from the viewpoint of OSPF."
       INDEX { snMspsOspfIfIpAddress, snMspsOspfAddressLessIf}
       ::=  { snMspsOspfIfTable 1 }
   
   SnMspsOspfIfEntry ::= SEQUENCE {
       snMspsOspfIfIpAddress    IpAddress,
       snMspsOspfAddressLessIf  InterfaceIndex,
       snMspsOspfIfOperState    INTEGER,
       snMspsOspfIfPassive      TruthValue,
       snMspsOspfIfNbrCount     Gauge32,
       snMspsOspfIfAdjCount     Gauge32,
       snMspsOspfIfHelloRcvd    Counter32,
       snMspsOspfIfHelloTxed    Counter32,
       snMspsOspfIfHelloDisd    Counter32,
       snMspsOspfIfDdpRcvd      Counter32,
       snMspsOspfIfDdpTxed      Counter32,
       snMspsOspfIfDdpDisd      Counter32,
       snMspsOspfIfLrqRcvd      Counter32,
       snMspsOspfIfLrqTxed      Counter32,
       snMspsOspfIfLrqDisd      Counter32,
       snMspsOspfIfLsuRcvd      Counter32,
       snMspsOspfIfLsuTxed      Counter32,
       snMspsOspfIfLsuDisd      Counter32,
       snMspsOspfIfLakRcvd      Counter32,
       snMspsOspfIfLakTxed      Counter32,
       snMspsOspfIfLakDisd      Counter32
   }
   
   snMspsOspfIfIpAddress OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The IP address of this OSPF interface."
       ::=  { snMspsOspfIfEntry 1 }
   
   snMspsOspfAddressLessIf OBJECT-TYPE
       SYNTAX      InterfaceIndex (0..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "For the purpose of easing  the  instancing  of
              addressed   and  addressless  interfaces;  This
              variable takes the value 0 on  interfaces  with
              IP  Addresses,  and  the corresponding value of
              ifIndex for interfaces having no IP Address."
       ::=  { snMspsOspfIfEntry 2 }
   
   snMspsOspfIfOperState OBJECT-TYPE
       SYNTAX      INTEGER {
                 operup          (1),
                 operdown        (2),
                 loopback        (3),
                 unloop          (4)
              }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Operational Status of the Interface."
       ::=  { snMspsOspfIfEntry 3 }

   snMspsOspfIfPassive OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This object is used to make the interface as passive.
	      If set to TRUE, then interface will be passive
	      If set to FALSE then interface will be normal"
       DEFVAL { false }
       ::=  { snMspsOspfIfEntry 4 }

   snMspsOspfIfNbrCount OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Neighbours through 
                    that Interface."
       ::=  { snMspsOspfIfEntry 5 }
   
   snMspsOspfIfAdjCount OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Adjacencies through 
                    that Interface."
       ::=  { snMspsOspfIfEntry 6 }
   
   snMspsOspfIfHelloRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Hello packets received
                    through that Interface."
       ::=  { snMspsOspfIfEntry 7 }
   
   snMspsOspfIfHelloTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Hello packets 
                    transmitted through that Interface."
       ::=  { snMspsOspfIfEntry 8 }
   
   snMspsOspfIfHelloDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Hello packets 
                    discarded through that Interface."
       ::=  { snMspsOspfIfEntry 9 }
   
   snMspsOspfIfDdpRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Ddp packets received
                    through that Interface."
       ::=  { snMspsOspfIfEntry 10 }
   
   snMspsOspfIfDdpTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Ddp packets 
                    transmitted through that Interface."
       ::=  { snMspsOspfIfEntry 11 }
   
   snMspsOspfIfDdpDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Ddp packets discarded
                    through that Interface."
       ::=  { snMspsOspfIfEntry 12 }
   
   snMspsOspfIfLrqRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lrq packets received
                    through that Interface."
       ::=  { snMspsOspfIfEntry 13 }
   
   snMspsOspfIfLrqTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lrq packets 
                    transmitted through that Interface."
       ::=  { snMspsOspfIfEntry 14 }
   
   snMspsOspfIfLrqDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lrq packets discarded
                    through that Interface."
       ::=  { snMspsOspfIfEntry 15 }
   
   snMspsOspfIfLsuRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lsu packets received
                    through that Interface."
       ::=  { snMspsOspfIfEntry 16 }
   
   snMspsOspfIfLsuTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lsu packets 
                    transmitted through that Interface."
       ::=  { snMspsOspfIfEntry 17 }
   
   snMspsOspfIfLsuDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lsu packets discarded
                    through that Interface."
       ::=  { snMspsOspfIfEntry 18 }
   
   snMspsOspfIfLakRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lak packets received
                    through that Interface."
       ::=  { snMspsOspfIfEntry 19 }
   
   snMspsOspfIfLakTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lak packets 
                    transmitted through that Interface."
       ::=  { snMspsOspfIfEntry 20 }
   
   snMspsOspfIfLakDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lak packets discarded
                    on that Interface."
       ::=  { snMspsOspfIfEntry 21 }
   
-- OSPF Interface MD5 Authentication Table

snMspsOspfIfMD5AuthTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspfIfMD5AuthEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPF Interface Authentication Table describes the parameters
            required for MD5 cryptographic Authentication."
       REFERENCE
           "OSPF Version 2, Appendix D.3  Cryptographic Authentication"
       ::=  { snMspsOspf 5 }
   
snMspsOspfIfMD5AuthEntry OBJECT-TYPE
       SYNTAX      SnMspsOspfIfMD5AuthEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPF Interface MD5 Authentication Entry describes one  
            Authentication Key from the viewpoint of OSPF."
       INDEX { snMspsOspfIfMD5AuthIpAddress, snMspsOspfIfMD5AuthAddressLessIf, 
              snMspsOspfIfMD5AuthKeyId}
       ::=  { snMspsOspfIfMD5AuthTable 1 }
   
SnMspsOspfIfMD5AuthEntry ::= SEQUENCE {
       snMspsOspfIfMD5AuthIpAddress         IpAddress,
       snMspsOspfIfMD5AuthAddressLessIf     InterfaceIndex,
       snMspsOspfIfMD5AuthKeyId             Integer32,
       snMspsOspfIfMD5AuthKey               OCTET STRING,
       snMspsOspfIfMD5AuthKeyStartAccept    Integer32,
       snMspsOspfIfMD5AuthKeyStartGenerate  Integer32,
       snMspsOspfIfMD5AuthKeyStopGenerate   Integer32,
       snMspsOspfIfMD5AuthKeyStopAccept     Integer32,
       snMspsOspfIfMD5AuthKeyStatus         INTEGER
       }
   
snMspsOspfIfMD5AuthIpAddress OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The IP address of this OSPF interface."
       ::=  { snMspsOspfIfMD5AuthEntry 1 }
   
snMspsOspfIfMD5AuthAddressLessIf OBJECT-TYPE
       SYNTAX      InterfaceIndex (0..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "For the purpose of easing  the  instancing  of
              addressed   and  addressless  interfaces;  This
              variable takes the value 0 on  interfaces  with
              IP  Addresses,  and  the corresponding value of
              ifIndex for interfaces having no IP Address."
       ::=  { snMspsOspfIfMD5AuthEntry 2 }
   
snMspsOspfIfMD5AuthKeyId OBJECT-TYPE
       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " This object identifies the secret key used to create the 
             message digest appended to the OSPF packet."
       ::=  { snMspsOspfIfMD5AuthEntry 3 }
   
snMspsOspfIfMD5AuthKey OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (0..16))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This is the secret key which is used to create the 
             message digest appended to the OSPF packet."
       ::=  { snMspsOspfIfMD5AuthEntry 4 }
   
snMspsOspfIfMD5AuthKeyStartAccept OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will start accepting packets that have 
             been created with this key. The value shown will be configured 
	     time + system time at which the value is configured."
       DEFVAL { 0 }
       ::=  { snMspsOspfIfMD5AuthEntry 5 }
   
snMspsOspfIfMD5AuthKeyStartGenerate OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will start using this key for  packets 
             generation.The value shown will be configured
             time + system time at which the value is configured. "
       DEFVAL { 0 }
       ::=  { snMspsOspfIfMD5AuthEntry 6 }
   
snMspsOspfIfMD5AuthKeyStopGenerate OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will stop using this key for  packets 
             generation.  The value -1 indicates infinite lifetime.The 
	     value shown will be configured time + system time at which 
	     the value is configured."
       DEFVAL { -1 }
       ::=  { snMspsOspfIfMD5AuthEntry 7 }
   
snMspsOspfIfMD5AuthKeyStopAccept OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will stop accepting packets that have 
             been created with this key. The value -1 indicates infinite 
	     lifetime.The value shown will be configured
             time + system time at which the value is configured. "
       DEFVAL { -1 }
       ::=  { snMspsOspfIfMD5AuthEntry 8 }
   
snMspsOspfIfMD5AuthKeyStatus OBJECT-TYPE
       SYNTAX      INTEGER { valid(1), delete(3) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " Identifies the status of the key. 
	     NOTE:invalid (2) currently not supported"
       ::=  { snMspsOspfIfMD5AuthEntry 9 }

--  OSPF Virtual Interface MD5 Authentication Table

snMspsOspfVirtIfMD5AuthTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspfVirtIfMD5AuthEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPF Interface Authentication Table describes the parameters
            required for MD5 cryptographic Authentication."
       REFERENCE
           "OSPF Version 2, Appendix D.3  Cryptographic Authentication"
       ::=  { snMspsOspf 6 }
   
snMspsOspfVirtIfMD5AuthEntry OBJECT-TYPE
       SYNTAX SnMspsOspfVirtIfMD5AuthEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPF Interface MD5 Authentication Entry describes one  
             Authentication Key from the viewpoint of OSPF."
       INDEX {snMspsOspfVirtIfMD5AuthAreaId,snMspsOspfVirtIfMD5AuthNeighbor, 
              snMspsOspfVirtIfMD5AuthKeyId}
       ::=  { snMspsOspfVirtIfMD5AuthTable 1 }
   
SnMspsOspfVirtIfMD5AuthEntry ::= SEQUENCE {
       snMspsOspfVirtIfMD5AuthAreaId            AreaID,
       snMspsOspfVirtIfMD5AuthNeighbor          RouterID,
       snMspsOspfVirtIfMD5AuthKeyId             Integer32,
       snMspsOspfVirtIfMD5AuthKey               OCTET STRING,
       snMspsOspfVirtIfMD5AuthKeyStartAccept    Integer32,
       snMspsOspfVirtIfMD5AuthKeyStartGenerate  Integer32,
       snMspsOspfVirtIfMD5AuthKeyStopGenerate   Integer32,
       snMspsOspfVirtIfMD5AuthKeyStopAccept     Integer32,
       snMspsOspfVirtIfMD5AuthKeyStatus         INTEGER
       }
   
snMspsOspfVirtIfMD5AuthAreaId OBJECT-TYPE
       SYNTAX      AreaID
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " The  Transit  Area  that  the   Virtual   Link
              traverses.  By definition, this should not be 0.0.0.0."
       ::=  { snMspsOspfVirtIfMD5AuthEntry 1 }
   
snMspsOspfVirtIfMD5AuthNeighbor OBJECT-TYPE
       SYNTAX      RouterID
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
            " The Router ID of the Virtual Neighbor."
       ::=  { snMspsOspfVirtIfMD5AuthEntry 2 }
   
snMspsOspfVirtIfMD5AuthKeyId OBJECT-TYPE
       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " This object identifies the secret key used to create the 
             message digest appended to the OSPF packet."
       ::=  { snMspsOspfVirtIfMD5AuthEntry 3 }
   
snMspsOspfVirtIfMD5AuthKey OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (0..16))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This is the secret key which is used to create the 
             message digest appended to the OSPF packet."
       ::=  { snMspsOspfVirtIfMD5AuthEntry 4 }
   
snMspsOspfVirtIfMD5AuthKeyStartAccept OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will start accepting packets that have 
             been created with this key.The value shown will be configured
             time + system time at which the value is configured."
       DEFVAL { 0 }
       ::=  { snMspsOspfVirtIfMD5AuthEntry 5 }
   
snMspsOspfVirtIfMD5AuthKeyStartGenerate OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will start using this key for  packet 
             generation.The value shown will be configured
             time + system time at which the value is configured."
       DEFVAL { 0 }
       ::=  { snMspsOspfVirtIfMD5AuthEntry 6 }
   
snMspsOspfVirtIfMD5AuthKeyStopGenerate OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will stop using this key for  packets 
             generation. The value -1 indicates infinite lifetime.The value 
	     shown will be configured time + system time at which the value 
	     is configured."
       DEFVAL { -1 }
       ::=  { snMspsOspfVirtIfMD5AuthEntry 7 }
   
snMspsOspfVirtIfMD5AuthKeyStopAccept OBJECT-TYPE
       SYNTAX      Integer32 
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " The time the router will stop accepting packets that have 
             been created with this key. The value -1 indicates infinite 
	     lifetime. The value shown will be configured
             time + system time at which the value is configured."
       DEFVAL { -1 }
       ::=  { snMspsOspfVirtIfMD5AuthEntry 8 }
   
snMspsOspfVirtIfMD5AuthKeyStatus OBJECT-TYPE
       SYNTAX      INTEGER { valid(1), delete(3) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " Identifies the status of the key. 
	     NOTE: invalid (2) is currently not supported"
       ::=  { snMspsOspfVirtIfMD5AuthEntry 9 }  

	   
-- snMspsOspf 7-9 reserved

-- The snMspsOspfAreaAggregateTable is an extension to the 
-- ospfAreaAggregateTable to support external Tag for address
-- range configured.

snMspsOspfAreaAggregateTable OBJECT-TYPE
           SYNTAX   SEQUENCE OF SnMspsOspfAreaAggregateEntry
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "Supports configuration of External Tag for
               Type-7 Address ranges configured. "
          ::= { snMspsOspf 10 }

snMspsOspfAreaAggregateEntry OBJECT-TYPE
        SYNTAX   SnMspsOspfAreaAggregateEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Supports configuration of External Tag for
            Type-7 Address ranges configured. "
      INDEX { snMspsOspfAreaAggregateAreaID, snMspsOspfAreaAggregateLsdbType,
              snMspsOspfAreaAggregateNet, snMspsOspfAreaAggregateMask }
      ::= {snMspsOspfAreaAggregateTable 1 }

SnMspsOspfAreaAggregateEntry ::=
       SEQUENCE {
           snMspsOspfAreaAggregateAreaID
               AreaID,
           snMspsOspfAreaAggregateLsdbType
               INTEGER,
           snMspsOspfAreaAggregateNet
               IpAddress,
           snMspsOspfAreaAggregateMask
               IpAddress,
           snMspsOspfAreaAggregateExternalTag
               Integer32
                }

snMspsOspfAreaAggregateAreaID OBJECT-TYPE
           SYNTAX   AreaID
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "The Area the Address Aggregate is to be  found
               within."
           REFERENCE
              "OSPF Version 2, Appendix C.2 Area parameters"
           ::= { snMspsOspfAreaAggregateEntry 1 }

snMspsOspfAreaAggregateLsdbType OBJECT-TYPE
           SYNTAX   INTEGER    {
                       summaryLink (3),
                       nssaExternalLink (7)
                     }
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "The type of the Address Aggregate.  This field
               specifies  the  Lsdb type that this Address Ag-
               gregate applies to."
           REFERENCE
              "OSPF Version 2, Appendix A.4.1 The  Link  State
               Advertisement header"
           ::= { snMspsOspfAreaAggregateEntry 2 }

snMspsOspfAreaAggregateNet OBJECT-TYPE
           SYNTAX   IpAddress
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "The IP Address of the Net or Subnet  indicated
               by the range."
           REFERENCE
              "OSPF Version 2, Appendix C.2 Area parameters"
           ::= { snMspsOspfAreaAggregateEntry 3 }

snMspsOspfAreaAggregateMask OBJECT-TYPE
           SYNTAX   IpAddress
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "The Subnet Mask that pertains to  the  Net  or
               Subnet."
           REFERENCE
              "OSPF Version 2, Appendix C.2 Area parameters"
           ::= { snMspsOspfAreaAggregateEntry 4 }

snMspsOspfAreaAggregateExternalTag OBJECT-TYPE
           SYNTAX   Integer32
           MAX-ACCESS   read-create
           STATUS   current
           DESCRIPTION
              "A 32-bit field attached to each external route.
               This is not used by OSPF protocol itself. It may
               be used to communicate information between AS 
               boundary routers. The precise nature of this information
               is outside the scope of OSPF. " 
           ::= { snMspsOspfAreaAggregateEntry 5 }

snMspsOspfRRDStatus OBJECT-TYPE
       SYNTAX Status
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "This MIB object enables/disables OSPF to participate in Route 
            Redistribution. If set to enabled, OSPF will start advertising 
            the routes learned by other protocols. If set to disabled, OSPF 
            will stop redistribution of routes. However, OSPF will continue 
            updating the Common Routing Table using the queue interface."
       DEFVAL { disabled }
       ::= { snMspsOspfRRDGeneralGroup 1 }

snMspsOspfRRDSrcProtoMaskEnable OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "The bit mask of source protocols from which routes are 
            imported to OSPF.

            Bit 1, if set, indicates that local routes are
            redistributed into OSPF. (value = 2)

            Bit 2, if set, indicates that static routes are
            redistributed into OSPF. (value = 4)

            Bit 7, if set, indicates that routes from RIP are
            redistributed into OSPF. (value = 128)

            Bit 13, if set, indicates that routes from BGP are
            redistributed into OSPF. (value = 8192)

            Other bits are reserved for future use."
       DEFVAL { 0 }
       ::= { snMspsOspfRRDGeneralGroup 2 }
		  
snMspsOspfRRDRouteMapEnable OBJECT-TYPE
       SYNTAX             DisplayString (SIZE(0..20))
       MAX-ACCESS         read-write
       STATUS             current
       DESCRIPTION        "Name  Identifies the  specified route-map
                           in the list of route-maps. If this Object needs to be
                           changed, first reset this object and then configure
                           the new value."
       ::={ snMspsOspfRRDGeneralGroup 3 }	   
	   
snMspsOspfRRDRouteConfigTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspfRRDRouteConfigEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "A table describing the configuration of Metric Cost and Route
            Type information to be applied to the routes learnt from the RTM."
       ::= { snMspsOspfRRDGroup 3 }

   snMspsOspfRRDRouteConfigEntry OBJECT-TYPE
       SYNTAX SnMspsOspfRRDRouteConfigEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "Information describing the configuration of single route entry."
       INDEX {snMspsOspfRRDRouteDest,snMspsOspfRRDRouteMask}
       ::=  { snMspsOspfRRDRouteConfigTable 1 }

   SnMspsOspfRRDRouteConfigEntry ::= SEQUENCE {
       snMspsOspfRRDRouteDest       IpAddress,
       snMspsOspfRRDRouteMask       IpAddress,
       snMspsOspfRRDRouteMetric     BigMetric,
       snMspsOspfRRDRouteMetricType INTEGER,
       snMspsOspfRRDRouteTagType    INTEGER, 
       snMspsOspfRRDRouteTag        Unsigned32, 
       snMspsOspfRRDRouteStatus     RowStatus
       }

   snMspsOspfRRDRouteDest OBJECT-TYPE
       SYNTAX IpAddress
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "Ip Address of the Destination route."
       ::=  { snMspsOspfRRDRouteConfigEntry 1 }

   snMspsOspfRRDRouteMask OBJECT-TYPE
       SYNTAX IpAddress
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "Mask of the Destination route."
       ::=  { snMspsOspfRRDRouteConfigEntry 2 }

   snMspsOspfRRDRouteMetric OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "The Metric value applied to the route before it is adv. into the
            OSPF Domain."
       DEFVAL { 10 }
       ::=  { snMspsOspfRRDRouteConfigEntry 3 }

   snMspsOspfRRDRouteMetricType OBJECT-TYPE
       SYNTAX INTEGER {
              asexttype1 (1),
              asexttype2 (2)
              }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "The Metric Type applied to the route before it is adv. into the
            OSPF Domain"
       DEFVAL { asexttype2 }
       ::=  { snMspsOspfRRDRouteConfigEntry 4 }
    
   snMspsOspfRRDRouteTagType OBJECT-TYPE 
          SYNTAX INTEGER { 
              manual (1), 
              automatic (2) 
              } 
          MAX-ACCESS read-write 
          STATUS current 
          DESCRIPTION 
              "The Tag Type MIB object describes whether Tags will be 
               automatically generated or will be manually configured. 
               If tags are manually configured , the snMspsOspfRRDRouteTag 
               MIB has to be set with the Tag value needed." 
          DEFVAL { manual } 
          ::= { snMspsOspfRRDRouteConfigEntry 5 } 
    
   snMspsOspfRRDRouteTag OBJECT-TYPE 
          SYNTAX Unsigned32 
          MAX-ACCESS read-write 
          STATUS current 
          DESCRIPTION 
              "The Route Tag in case the user configures a Manual option for 
               the tags." 
          DEFVAL { 0 } 
          ::= { snMspsOspfRRDRouteConfigEntry 6 } 

   snMspsOspfRRDRouteStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-create
       STATUS current
       DESCRIPTION
           "The variable displays the status of the entry.Setting it to
            'invalid' has the effect of rendering it inoperative."
       ::=  { snMspsOspfRRDRouteConfigEntry 7 }

		  
-- snMspsOspf 14 reserved

	snMspsOspfLsdbTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF SnMspsOspfLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Process's Link State Database."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { snMspsOspf 17 }


    snMspsOspfLsdbEntry OBJECT-TYPE
        SYNTAX   SnMspsOspfLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { snMspsOspfLsdbAreaId, snMspsOspfLsdbType,
               snMspsOspfLsdbLsid, snMspsOspfLsdbRouterId }
       ::= { snMspsOspfLsdbTable 1 }

	SnMspsOspfLsdbEntry ::=
    SEQUENCE {
        snMspsOspfLsdbAreaId
            AreaID,
        snMspsOspfLsdbType
            INTEGER,
        snMspsOspfLsdbLsid
            IpAddress,
        snMspsOspfLsdbRouterId
            RouterID,
        snMspsOspfLsdbSequence
            Integer32,
        snMspsOspfLsdbAge
            Integer32,
        snMspsOspfLsdbChecksum
            Integer32,
        snMspsOspfLsdbAdvertisement
            OCTET STRING
              }
    snMspsOspfLsdbAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32 bit identifier of the Area  from  which
           the LSA was received. In case of external Link, this object is not relevant."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { snMspsOspfLsdbEntry 1 }

    snMspsOspfLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    routerLink (1),
                    networkLink (2),
                    summaryLink (3),
                    asSummaryLink (4),
                    asExternalLink (5),
                    multicastLink (6),
                    nssaExternalLink (7)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The type  of  the  link  state  advertisement.
           Each  link state type has a separate advertise-
           ment format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { snMspsOspfLsdbEntry 2 }

    snMspsOspfLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { snMspsOspfLsdbEntry 3 }
    snMspsOspfLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { snMspsOspfLsdbEntry 4 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer.  It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--  Thus, a typical sequence number will be very negative.

    snMspsOspfLsdbSequence OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer.   It  is used to detect old and dupli-
           cate link state advertisements.  The  space  of
           sequence  numbers  is  linearly  ordered.   The
           larger the sequence number the more recent  the
           advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
      ::= { snMspsOspfLsdbEntry 5 }


    snMspsOspfLsdbAge OBJECT-TYPE
        SYNTAX   Integer32    -- Should be 0..MaxAge
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
      ::= { snMspsOspfLsdbEntry 6 }

    snMspsOspfLsdbChecksum OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This field is the  checksum  of  the  complete
           contents  of  the  advertisement, excepting the
           age field.  The age field is excepted  so  that
           an   advertisement's  age  can  be  incremented
           without updating the  checksum.   The  checksum
           used  is  the same that is used for ISO connec-
           tionless datagrams; it is commonly referred  to
           as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
      ::= { snMspsOspfLsdbEntry 7 }


    snMspsOspfLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (1..65535))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { snMspsOspfLsdbEntry 8 }
   

-- FILTERING OBJECT DEFINITION BEGIN

snMspsOspfDistInOutRouteMap OBJECT IDENTIFIER ::= { snMspsOspf 15 }

    snMspsOspfDistInOutRouteMapTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnMspsOspfDistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "A table describing the configuration of filtering for route map."
    ::= { snMspsOspfDistInOutRouteMap 1 }

    snMspsOspfDistInOutRouteMapEntry OBJECT-TYPE
        SYNTAX SnMspsOspfDistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Information describing the filtering configuration of single entry."
        INDEX {snMspsOspfDistInOutRouteMapName, snMspsOspfDistInOutRouteMapType}
    ::=  { snMspsOspfDistInOutRouteMapTable 1 }

    SnMspsOspfDistInOutRouteMapEntry ::= SEQUENCE {
        snMspsOspfDistInOutRouteMapName         DisplayString,
        snMspsOspfDistInOutRouteMapType         Integer32,
        snMspsOspfDistInOutRouteMapValue        Integer32,
        snMspsOspfDistInOutRouteMapRowStatus    RowStatus
    }

    snMspsOspfDistInOutRouteMapName OBJECT-TYPE
        SYNTAX              DisplayString (SIZE(1..20))
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Route map name."
    ::=  { snMspsOspfDistInOutRouteMapEntry 1 }

    snMspsOspfDistInOutRouteMapType OBJECT-TYPE
        SYNTAX              Integer32(1..3)
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Type of route map to indicate the route map is for 
            distribute in or for distribute out or for distance.
            1 - distance
            2 - distribute in
            3 - distribute out"
    ::=  { snMspsOspfDistInOutRouteMapEntry 3 }

    snMspsOspfDistInOutRouteMapValue  OBJECT-TYPE
        SYNTAX              Integer32(1..255)
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "Distance value ( this will be unused for distribute list )"
    ::=  { snMspsOspfDistInOutRouteMapEntry 4 }

    snMspsOspfDistInOutRouteMapRowStatus OBJECT-TYPE
        SYNTAX              RowStatus
        MAX-ACCESS          read-write
        STATUS              current 
        DESCRIPTION     
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::=  { snMspsOspfDistInOutRouteMapEntry 5 }

-- FILTERING OBJECT DEFINITION END
   
-- PREFERENCE OBJECT DEFINITION BEGIN

snMspsOspfPreferenceGroup OBJECT IDENTIFIER ::=  { snMspsOspf 16 }

    snMspsOspfPreferenceValue OBJECT-TYPE
        SYNTAX Integer32 (0..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Preference value for OSPF routes. Use '0' to set default value"
        DEFVAL { 0 }
        ::= { snMspsOspfPreferenceGroup 1 }

-- PREFERENCE OBJECT DEFINITION END

-- snMspsOspf 18-20 reserved

-- Secondary Address Support OBJECT DEFINITION BEGIN
-- Secondary IP Address Table
   snMspsOspfSecIfTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspfSecIfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "A table of Secondary IP Address information."
       ::=  { snMspsOspf 21 }
   
   snMspsOspfSecIfEntry OBJECT-TYPE
       SYNTAX SnMspsOspfSecIfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The information regarding a single route."
       INDEX {snMspsOspfPrimIpAddr,snMspsOspfPrimAddresslessIf,snMspsOspfSecIpAddr,snMspsOspfSecIpAddrMask}
       ::=  { snMspsOspfSecIfTable 1 }
   
   SnMspsOspfSecIfEntry ::= SEQUENCE {
       snMspsOspfPrimIpAddr           IpAddress,
       snMspsOspfPrimAddresslessIf    InterfaceIndex,
       snMspsOspfSecIpAddr            IpAddress,
       snMspsOspfSecIpAddrMask        IpAddress,
       snMspsOspfSecIfStatus          RowStatus
       }
   
   snMspsOspfPrimIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Primary Interface IP Address."
       ::=  { snMspsOspfSecIfEntry 1 }
   
   snMspsOspfPrimAddresslessIf OBJECT-TYPE
       SYNTAX InterfaceIndex (0..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Primary Interface Addressless Index."
       ::=  { snMspsOspfSecIfEntry 2 }
   
   snMspsOspfSecIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Secondary Interface IP Address."
       ::=  { snMspsOspfSecIfEntry 3 }
   
   snMspsOspfSecIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Secondary Interface IP Address Mask."
       ::=  { snMspsOspfSecIfEntry 4 }
      
   snMspsOspfSecIfStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This variable displays the status of  the  entry.  
	     Setting it to 'invalid' has the effect of
             rendering it inoperative.  The internal  effect
             (row removal) is implementation dependent."
       ::=  { snMspsOspfSecIfEntry 5 }

-- Secondary Address Support OBJECT DEFINITION END
-- Overview Table containing both primary and secondary addresses OBJECT DEFINITION BEGIN
   snMspsOspfOverviewIfTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspfOverviewIfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "A table of Primary and Secondary IP Address information."
       ::=  { snMspsOspf 25 }
   
   snMspsOspfOverviewIfEntry OBJECT-TYPE
       SYNTAX SnMspsOspfOverviewIfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The information regarding a single route."
       INDEX {snMspsOspfOverviewIfPrimIpAddr,snMspsOspfOverviewIfPrimAddresslessIf,snMspsOspfOverviewIfSecIpAddr,snMspsOspfOverviewIfSecIpAddrMask }
       ::=  { snMspsOspfOverviewIfTable 1 }
   
   SnMspsOspfOverviewIfEntry ::= SEQUENCE {
       snMspsOspfOverviewIfPrimIpAddr           IpAddress,
       snMspsOspfOverviewIfPrimAddresslessIf    InterfaceIndex,
       snMspsOspfOverviewIfSecIpAddr            IpAddress,
       snMspsOspfOverviewIfSecIpAddrMask        IpAddress,
       snMspsOspfOverviewIfStatus            Integer32
       }
   
   snMspsOspfOverviewIfPrimIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Primary Interface IP Address."
       ::=  { snMspsOspfOverviewIfEntry 1 }
   
   snMspsOspfOverviewIfPrimAddresslessIf OBJECT-TYPE
       SYNTAX InterfaceIndex (0..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Primary Interface Addressless Index."
       ::=  { snMspsOspfOverviewIfEntry 2 }
   
   snMspsOspfOverviewIfSecIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Secondary Interface IP Address."
       ::=  { snMspsOspfOverviewIfEntry 3 }

   snMspsOspfOverviewIfSecIpAddrMask OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Secondary Interface IP Address Mask."
       ::=  { snMspsOspfOverviewIfEntry 4 }       

   snMspsOspfOverviewIfStatus OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This variable displays the status of  the  entry."
       ::=  { snMspsOspfOverviewIfEntry 5 }       
   
-- Secondary Address Support OBJECT DEFINITION END

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

snMspsTrapOSPFStateChange      NOTIFICATION-TYPE
     STATUS                  current 
         DESCRIPTION
            "Device changed OSPF route state."
         ::= { snMspsTrapPrefix 2301 }

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

   



-- snMspsRip6 GROUP

snMspsRip6Scalars  OBJECT IDENTIFIER ::= { snMspsRip6 1 }
snMspsRip6Tables   OBJECT IDENTIFIER ::= { snMspsRip6 2 }

-- rip6Scalars BEGIN


    snMspsRip6RoutePreference OBJECT-TYPE
              SYNTAX   INTEGER {
                                static(1),
                                dynamic(2),
                                bestmetric(3)
                               }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "The route prefered for forwarding a packet to a 
                  destination when a statically configured route, 
                  as well as a dynamically learnt route exists for 
                  a particular destination. If the value is set
                  to bestmetric(3), the route with the best metric 
                  is the one to be used. Note that, this object would
                  be referred only if both a static route and a 
                  dynamic route exists to the same destination."
              DEFVAL { bestmetric }
              ::= { snMspsRip6Scalars 1 }

    snMspsRip6GlobalDebug OBJECT-TYPE
              SYNTAX  Integer32 (0..255)
              MAX-ACCESS read-write
              STATUS  current
              DESCRIPTION
                   "Enables the tracing in RIP6. A 32 bit
              integer is used to store the Tracing level.  
              Different Tracing Levels -
                 BIT 0 - Initialisation and Shutdown Trace.
                 BIT 1 - Management trace.
                 BIT 2 - Data path trace.
                 BIT 3 - Control Plane trace.
                 BIT 4 - Packet Dump.
                 BIT 5 - OS Resource trace.
                 BIT 6 - All Failure trace (including Packet Validation)
                 BIT 7 - Buffer Trace.

              The remaining bits are unused. If a Particular Bit 
              is set, the corresponding trace would be enabled. For
              Example, setting the debug value to 00000001000000000000000000000000 
              would enable all failure trace prints in RIP6 SubSystem."
              ::= { snMspsRip6Scalars 2 }

    snMspsRip6GlobalInstanceIndex OBJECT-TYPE
              SYNTAX Integer32 
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                    "This object specifes Instance Index, used to 
                     indicate the instance w.r.t which all the 
                     configuration will be performed. Before any 
                     configuration this object has to be set to the 
                     specific Instance Index. This object will be of use 
                     only in case the RIPng module is supporting Multiple
                     Instance. Ripng comes up with 0 as the default instance."
              ::= { snMspsRip6Scalars 3 }

    snMspsRip6PeerFilter OBJECT-TYPE
              SYNTAX INTEGER
                           {
                              allow (1),
                              deny (2)
                           }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                    "Flag to set peer list to allow or deny.
                     if the flag set to allow, then responses from the 
                     peers in the list can be allowed to be processed.
                     If the flag is set to deny, the responses from the 
                     peers in the list are not allowed to be processed."
              DEFVAL { deny }
              ::= { snMspsRip6Scalars 4 }

    snMspsRip6AdvFilter OBJECT-TYPE
              SYNTAX INTEGER
                           {
                               enable (1),
                               disable (2)
                           }
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
                    "Flag to enable filtering of routes in the Ripng 
                     responses to be advertised. Setting the flag to 
                     enable(1) will filter the corresponding routing 
                     entries in the response, that are matching with 
                     the AdvFilter list. Setting it to disable(2) 
                     will disable the filter, meaning that all the 
                     entries in the response message are going to be 
                     advertised."
              DEFVAL { disable }
              ::= { snMspsRip6Scalars 5 }


    snMspsRip6RRDAdminStatus         OBJECT-TYPE
              SYNTAX                   INTEGER {
                                            enable(1),
                                            disable(2)
                                       }
              MAX-ACCESS               read-write
              STATUS                   current
              DESCRIPTION
                    "Controls redistribution of Direct, Static, OSPF and BGP
                     routes into RIP. If this object is set to enable, then
                     routes from protocols as specified by
                     snMspsRip6RRDProtoMaskForEnable will be imported into RIP and
                     the RIP learnt routes will be distributed to BGP and OSPF.
                     If this object is set as disable, then the routes learned
                     from protocols specified by snMspsRip6RRDProtoMaskForEnable
                     will be removed from RIP and no route will be either
                     distributed to or imported from OSPF anf BGP. This object
                     can be set only if snMspsRip6GlobalAdminStatus is up. When the
                     global admin state changes the snMspsRip6RRDAdminStatus also
                     changes."
              DEFVAL { enable }
              ::= { snMspsRip6Scalars 6 }

 
    snMspsRip6RRDProtoMaskForEnable       OBJECT-TYPE
              SYNTAX                       Integer32
                                               -- See the description
              MAX-ACCESS                   read-write
              STATUS                       current
              DESCRIPTION
                    "The bit mask of source protocols from which routes are
                     imported to RIP.(LSB corresponds to Bit 0)

                     Bit 1, if set, indicates that direct routes can be
                     redistributed into RIP. (value = 2)

                     Bit 2, if set, indicates that static routes can be
                     redistributed into RIP. (value = 4)

                     Bit 5, if set to 1, indicates that routes from OSPF can be
                     redistributed into  RIP. (value = 32)

                     Bit 6, if set to 2, indicates that BGP routes can be
                     redistributed into RIP. (value = 64)

                     Other bits are reserved for future use."
              ::= { snMspsRip6Scalars 7 }


    snMspsRip6RRDSrcProtoMaskForDisable      OBJECT-TYPE
              SYNTAX                           Integer32
                                                    -- See the description
              MAX-ACCESS                       read-write
              STATUS                           current
              DESCRIPTION
                    "The bit mask of source protocols from which redistribution
                     to BGP is disabled.(LSB corresponds to Bit 0)

                     Bit 1, if set, indicates that direct routes cannot be
                     redistributed into RIP. (value = 2)

                     Bit 2, if set, indicates that static routes cannot be
                     redistributed into RIP. (value = 4)

                     Bit 5, if set to 1, indicates that routes from OSPF cannot
                     be redistributed into RIP. (value = 32)

                     Bit 6, if set to 2, indicates that BGP routes cannot be
                     redistributed into RIP. (value = 64)

                     Other bits are reserved for future use."
              ::= { snMspsRip6Scalars 8 }
 
      snMspsRip6RRDRouteDefMetric            OBJECT-TYPE
              SYNTAX                           Integer32 (0..16)
              MAX-ACCESS                       read-write
              STATUS                           current
              DESCRIPTION
                    "The default metric to be used for the imported routes
                     from RTM6. If 0, then metric value from the RTM6 will
                     be used."
              DEFVAL { 0 }
              ::= { snMspsRip6Scalars 9 }

      snMspsRip6RRDRouteMapName              OBJECT-TYPE
              SYNTAX             OCTET STRING (SIZE (0..20))
              MAX-ACCESS         read-write
              STATUS             current
              DESCRIPTION        "Name  Identifies the  specified route-map
                                  in the list of route-maps. If this Object needs to be
                                  changed, first reset this object and then configure the
                                  new value."
              ::= { snMspsRip6Scalars 10 }


-- ripngScalars END

-- ripngTable BEGIN

-- IPv6 RIP Instance Table
      -- This table is relevent only when RIPng is supporting Multiple
      -- Instance Feature.

      -- This table contains Instance related parameters.

      -- The entry is created or deleted whenever a new Instance is to 
      -- be created or deleted. 

    snMspsRip6InstanceTable   OBJECT-TYPE
        SYNTAX   SEQUENCE OF SnMspsRip6InstanceEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
           "The table contains Instance related parameters. This table is
            a global table i.e. its not instance specific."
        ::= { snMspsRip6Tables 1 }

    snMspsRip6InstanceEntry   OBJECT-TYPE
        SYNTAX   SnMspsRip6InstanceEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The entry in the IPv6 RIP Instance Table. An entry is
            created/deleted in this table when the corresponding
            RIP6 instance is created/deleted."
        INDEX  { snMspsRip6InstanceIndex }
        ::= { snMspsRip6InstanceTable 1 }

    SnMspsRip6InstanceEntry  ::=
              SEQUENCE {
                 snMspsRip6InstanceIndex
                     Integer32,
                 snMspsRip6InstanceStatus
                     INTEGER
              }

          snMspsRip6InstanceIndex    OBJECT-TYPE
              SYNTAX          Integer32 (0..100)
              MAX-ACCESS      not-accessible
              STATUS          current
              DESCRIPTION
                 "The index value which uniquely identifies the RIPng Instance."
              ::= { snMspsRip6InstanceEntry 1 }


          snMspsRip6InstanceStatus    OBJECT-TYPE
              SYNTAX        INTEGER   {
                                       down(0), -- Instance Deleted
                                       up(1)    -- Instance Created
                                      }
              MAX-ACCESS    read-write
              STATUS        current
              DESCRIPTION
                 "The status of the specific Instance whether UP or DOWN."
              DEFVAL { 1 }
              ::= { snMspsRip6InstanceEntry 2 }

-- End of Instance Table

-- IPv6 RIP Instance Interface Map Table
      -- This table is relevent only when RIPng is supporting Multiple
      -- Instance Feature.

      -- This table contains Instance-Interface Mapping parameters.

      -- The entry in this table is created whenever an Interface gets 
      -- attached to an Instance and deleted whenever and Instance get 
      -- deleted or an Interface gets detached from an Instance.

    snMspsRip6InstIfMapTable   OBJECT-TYPE
        SYNTAX   SEQUENCE OF SnMspsRip6InstIfMapEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            "The table contains Instance-If mapping parametersits. This is 
             a global table ie its not instance specific."
        ::= { snMspsRip6Tables 2 }

    snMspsRip6InstIfMapEntry  OBJECT-TYPE
        SYNTAX   SnMspsRip6InstIfMapEntry  
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The entry in this table is created whenever an Interface gets 
             attached to an Instance and deleted whenever and Instance get 
             deleted or an Interface gets detached from an Instance."
        INDEX  { snMspsRip6IfIndex }
        ::= { snMspsRip6InstIfMapTable 1 }

    SnMspsRip6InstIfMapEntry  ::=
              SEQUENCE {
                 snMspsRip6IfIndex
                     Integer32,
                 snMspsRip6InstIfMapInstId
                     Integer32,
                 snMspsRip6InstIfMapIfAtchStatus
                     INTEGER
              }

          snMspsRip6IfIndex    OBJECT-TYPE
              SYNTAX          Integer32 (1..2147483647)
              MAX-ACCESS      not-accessible
              STATUS          current
              DESCRIPTION
                 "The index value which uniquely identifies 
                 the RIPng Interface."
              ::= { snMspsRip6InstIfMapEntry  1 }

          snMspsRip6InstIfMapInstId    OBJECT-TYPE
              SYNTAX          Integer32
              MAX-ACCESS      read-only
              STATUS          current
              DESCRIPTION
                 "The index value which uniquely identifies the 
                 RIPng Instance to which a RIPng Interface is 
                 attached. When a row is created in this table
                 this object is assigned the value of 
                 snMspsRip6GlobalInstanceIndex "
              ::= { snMspsRip6InstIfMapEntry  2 }

          snMspsRip6InstIfMapIfAtchStatus    OBJECT-TYPE
              SYNTAX        INTEGER   {
                                       detached(0),  -- Interface is detached
                                                     -- from Instance
                                       attached(1)   -- Interface attached 
                                                     -- to an Instance

                                      }
              MAX-ACCESS    read-write
              STATUS        current
              DESCRIPTION
                 "The attachment status of a RIPng Interface, whether attached 
                  to an instance or not."
              ::= { snMspsRip6InstIfMapEntry  3 }

-- END of Instance Interface Map Table.

-- IPv6 RIP Interface Table

          -- This table contains interface-based RIPng parameters

          -- Entries created/deleted in this table when corresponding
          -- IPv6 interface is created/deleted.

          -- Entries exist in this table even if RIPng protocol is not
          -- running on the interface as static routes are also maintained
          -- in the RIP routing table.

    snMspsRip6RipIfTable   OBJECT-TYPE
        SYNTAX   SEQUENCE OF SnMspsRip6RipIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The table containing interface-related RIPng parameters."
        ::= { snMspsRip6Tables 3 }


    snMspsRip6RipIfEntry   OBJECT-TYPE
        SYNTAX   SnMspsRip6RipIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
            "The entry in the IPv6 RIP Interface Table. An entry is
             created/deleted in this table when corresponding
             IPv6 interface is created/deleted."
        INDEX  { snMspsRip6RipIfIndex }
        ::= { snMspsRip6RipIfTable 1 }

    SnMspsRip6RipIfEntry  ::=
              SEQUENCE {
                 snMspsRip6RipIfIndex
                     Integer32,
                 snMspsRip6RipIfProfileIndex
                     Integer32,
                 snMspsRip6RipIfCost
                     Integer32,
                 snMspsRip6RipIfOperStatus
                     INTEGER,
                 snMspsRip6RipIfProtocolEnable
                     INTEGER,
                 snMspsRip6RipIfInMessages
                     Counter32,
                 snMspsRip6RipIfInRequests
                     Counter32,
                 snMspsRip6RipIfInResponses
                     Counter32,
                 snMspsRip6RipIfUnknownCmds
                     Counter32,
                 snMspsRip6RipIfInOtherVer
                     Counter32,
                 snMspsRip6RipIfInDiscards
                     Counter32,
                 snMspsRip6RipIfOutMessages
                     Counter32,
                 snMspsRip6RipIfOutRequests
                     Counter32,
                 snMspsRip6RipIfOutResponses
                     Counter32,
                 snMspsRip6RipIfOutTrigUpdates
                     Counter32,
                 snMspsRip6RipIfDefRouteAdvt
                     INTEGER
              }

          snMspsRip6RipIfIndex    OBJECT-TYPE
              SYNTAX          Integer32 (1..2147483647)
              MAX-ACCESS      not-accessible
              STATUS          current
              DESCRIPTION
                 "The index value which uniquely identifies the IPv6
                 interface on which this snMspsRip6RipIfEntry exists.
                 The interface identified by a particular value of this
                 index is the same interface as identified by the same
                 value of snMspsRip6IfIndex."
              ::= { snMspsRip6RipIfEntry 1 }


          snMspsRip6RipIfProfileIndex    OBJECT-TYPE
              SYNTAX        Integer32 (0..9)
              MAX-ACCESS    read-write
              STATUS        current
              DESCRIPTION
                 "Index into the RIPng Profile Table which contains the
                 RIPng parameters for this interface." 
              DEFVAL { 0 }
              ::= { snMspsRip6RipIfEntry 2 }

          snMspsRip6RipIfCost   OBJECT-TYPE
              SYNTAX        Integer32 (1..15)
              MAX-ACCESS    read-write
              STATUS        current
              DESCRIPTION
              "The 'cost' associated with this interface. This 'cost'
                 is added to the metric of all routes learnt over this
                 interface before they are installed in the routing table."
              DEFVAL { 1 }
              ::= { snMspsRip6RipIfEntry 3 }

	  snMspsRip6RipIfOperStatus    OBJECT-TYPE
              SYNTAX        INTEGER {
                                     enabledup(1),-- Interface operational
                                                  -- and RIPng is enabled on it

                                     enableddown(2),-- Interface not operational
                                                   -- but RIPng is enabled on it

                                     disabledup(3),-- Interface operational
                                                  -- and RIPng not enabled on it

                                     disableddown(4)-- Interface not operational
                                                  -- and RIPng not enabled on it
                                    }
              MAX-ACCESS        read-only
              STATUS            current
              DESCRIPTION
                 "The operational status of this interface and whether
                 RIPng is enabled/disabled on it."
              ::= { snMspsRip6RipIfEntry 4 }


          snMspsRip6RipIfProtocolEnable   OBJECT-TYPE
              SYNTAX        INTEGER {
                                     enable(1), -- RIPng is Enabled 
                                                -- Over this Interface

                                     disable(2) --RIPng is Disabled
                                                 --Over this Interface
                                     } 
              MAX-ACCESS    read-write
              STATUS        current
              DESCRIPTION
              "RIPng is enabled over this Interface or Not."
              DEFVAL { disable }
              ::= { snMspsRip6RipIfEntry 5 }

          snMspsRip6RipIfInMessages  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of RIPng messages received on this interface. "
              ::= { snMspsRip6RipIfEntry 6 }


          snMspsRip6RipIfInRequests  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of RIPng Requests received on this interface. "
              ::= { snMspsRip6RipIfEntry 7 }


          snMspsRip6RipIfInResponses OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of RIPng Responses received on this interface. "
              ::= { snMspsRip6RipIfEntry 8 }


          snMspsRip6RipIfUnknownCmds  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                 "Number of RIPng packets with unknown command received
                 on this interface."
              ::= { snMspsRip6RipIfEntry 9 }

          snMspsRip6RipIfInOtherVer  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                 "Number of RIPng packets received with other version
                 on this interface."
              ::= { snMspsRip6RipIfEntry 10 }


         snMspsRip6RipIfInDiscards  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                 "Number of received RIPng packets that were discarded."
              ::= { snMspsRip6RipIfEntry 11 }

         snMspsRip6RipIfOutMessages  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of RIPng messages sent out on this interface."
              ::= { snMspsRip6RipIfEntry 12 }


          snMspsRip6RipIfOutRequests  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of RIPng Requests sent out on this interface."
              ::= { snMspsRip6RipIfEntry 13 }


          snMspsRip6RipIfOutResponses OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of RIPng Responses sent out on this interface."
              ::= { snMspsRip6RipIfEntry 14 }


          snMspsRip6RipIfOutTrigUpdates  OBJECT-TYPE
              SYNTAX        Counter32
              MAX-ACCESS    read-only
              STATUS        current
              DESCRIPTION
                  "Number of triggered updates sent out on this interface."
              ::= { snMspsRip6RipIfEntry 15 }

          snMspsRip6RipIfDefRouteAdvt OBJECT-TYPE
             SYNTAX                   INTEGER {
                                            disable(0),
                                            enable(1)
                                       }
              MAX-ACCESS               read-write
              STATUS                   current
              DESCRIPTION
                  "This Object controls the advertisement of default route
                   over this interface."
              DEFVAL { 0 }
              ::= { snMspsRip6RipIfEntry 16 }
 
-- IPv6 RIP Profile Table

          -- This table specifies the RIPng related parameters which are
          -- referred by interfaces on which RIPng protocol is enabled.

          -- Entries are created/deleted from SNMP except for the first profile
          -- entry which is autocreated and cannot be deleted.


          snMspsRip6RipProfileTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF SnMspsRip6RipProfileEntry
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "The table containing RIPng related configurable parameters
                 which are maintained as a profile and referred by the
                 snMspsRip6RipIfTable."
              ::= { snMspsRip6Tables 4 }

          snMspsRip6RipProfileEntry   OBJECT-TYPE
              SYNTAX       SnMspsRip6RipProfileEntry
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "The entry in the IPv6 Address Profile Table which contains
                 RIPng parameters. One or more RIP interfaces refer to this
                 profile through the object snMspsRip6RipIfProfileIndex in the
                 snMspsRip6RipIfTable. An entry of this table other than the first
                 entry is created/deleted from SNMP."
              INDEX  { snMspsRip6RipProfileIndex }
              ::= { snMspsRip6RipProfileTable 1 }


          SnMspsRip6RipProfileEntry  ::=
              SEQUENCE {
                 snMspsRip6RipProfileIndex
                     Integer32,
                 snMspsRip6RipProfileStatus
                     INTEGER,
                 snMspsRip6RipProfileHorizon
                     INTEGER,
                 snMspsRip6RipProfilePeriodicUpdTime
                     Integer32,
                 snMspsRip6RipProfileTrigDelayTime
                     Integer32,
                 snMspsRip6RipProfileRouteAge
                     Integer32,
                 snMspsRip6RipProfileGarbageCollectTime
                     Integer32
              }


          snMspsRip6RipProfileIndex OBJECT-TYPE
              SYNTAX       Integer32 (0..9)
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "A unique value identifying the particular IPv6
                 RIP profile. This is referred by snMspsRip6RipIfProfileIndex of
                 the IPv6 RIP interface Table."
              ::= { snMspsRip6RipProfileEntry 1 }


          snMspsRip6RipProfileStatus  OBJECT-TYPE
              SYNTAX   INTEGER {
                                valid (1),
                                invalid (2)
                               }
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                 "Indicates that the entry is valid or not. An entry other
                 than the first entry can be deleted by setting this object
                 to invalid(2)."
              ::= { snMspsRip6RipProfileEntry 2 }


          snMspsRip6RipProfileHorizon  OBJECT-TYPE
              SYNTAX   INTEGER {
                                              -- indicates that no-horizoning
                                              -- be done on the interface
                            nohorizon(1) ,    -- while sending updates

                                              -- indicates that split-
                                              -- horizoning be done on the
                                              -- interface while sending
                            splithorizon(2),  -- updates

                                              -- indicates that poison
                                              -- reverse be done on the
                                              -- interface while sending
                            poisonreverse(3) -- updates
              }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "Indicates the type of horizoning to be done while sending
                  routing informations (learnt on that interface) over that
                  interface. If the configured value is split-horizon(2) then
                  routes learnt on a interface are not sent over that
                  interface. If the configured value is poison-reverse(3) then
                  such routes are sent with a metric of 16."
              DEFVAL { poisonreverse }
              ::= { snMspsRip6RipProfileEntry 3 }

          snMspsRip6RipProfilePeriodicUpdTime    OBJECT-TYPE
              SYNTAX       Integer32 (30..500)
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                 "Indicates the interval in seconds between the periodic
                 RIPng updates."
              DEFVAL { 30 }
              ::= { snMspsRip6RipProfileEntry 4 }


          snMspsRip6RipProfileTrigDelayTime  OBJECT-TYPE
              SYNTAX       Integer32 (1..10)
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                 "Indicates the time interval in seconds by which further
                 triggered updates are delayed after one triggered update
                 is sent."
              DEFVAL { 5 }
              ::= { snMspsRip6RipProfileEntry 5 }

          snMspsRip6RipProfileRouteAge  OBJECT-TYPE
              SYNTAX       Integer32 (180..500)
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                 "Indicates the period in seconds for which a dynamic route
                 will be kept in the IPv6 RIP routing table without receiving
                 any updates for the route. After this time interval, the
                 route will not be valid and will be aged out."
              DEFVAL { 180 }
              ::= { snMspsRip6RipProfileEntry 6 }


          snMspsRip6RipProfileGarbageCollectTime OBJECT-TYPE
              SYNTAX       Integer32 (120..180)
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                 "Indicates the period in seconds for which a route which
                 has aged out is retained in the IPv6 RIP Routing Table. After
                 this time interval the route is deleted from the IPv6
                 RIP Routing Table."
              DEFVAL { 120 }
              ::= { snMspsRip6RipProfileEntry 7 }

-- RIPng Routing Table

          -- The RIPng routing table contains an entry for each
          -- valid IPv6 unicast routes that can be used for packet
          -- forwarding. There are no entries for Multicast and
          -- Link-Local addresses.

          -- This table contains non-RIPng routes learnt via redistribution
          -- from IPv6 and dynamic routes (updated by RIPng). 

          -- Entries are created/deleted to this table through 
          --             1. Redistributed from IPv6
          --             2. routes learnt from other RIPng Peers

	 snMspsRip6RipRouteTable   OBJECT-TYPE
              SYNTAX   SEQUENCE OF SnMspsRip6RipRouteEntry
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "This table contains dynamic routes that are learnt
                 through RIPng protocol as well as non-RIPng routes learnt
                 via redistribution."
              ::= { snMspsRip6Tables 5 }


         snMspsRip6RipRouteEntry   OBJECT-TYPE
              SYNTAX   SnMspsRip6RipRouteEntry
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "An entry in the RIPng Routing Table. An entry can be created
                 by means of the RIPng protocol and redistributed routes from
                 IPv6. There can be a non-RIPng route as well as a RIPng route
                 with the same destination and prefix length."
              INDEX  { snMspsRip6RipRouteDest,
                       snMspsRip6RipRoutePfxLength,
                       snMspsRip6RipRouteProtocol,
                       snMspsRip6RipRouteIfIndex
                     }
              ::= { snMspsRip6RipRouteTable 1 }


         SnMspsRip6RipRouteEntry  ::=
              SEQUENCE {
                 snMspsRip6RipRouteDest
                     OCTET STRING, 
                 snMspsRip6RipRoutePfxLength
                     Integer32,
                 snMspsRip6RipRouteProtocol
                     INTEGER,
                 snMspsRip6RipRouteIfIndex
                     Integer32,
                 snMspsRip6RipRouteNextHop
                     OCTET STRING ,
                 snMspsRip6RipRouteMetric
                     Integer32,
                 snMspsRip6RipRouteTag
                     Integer32,
                 snMspsRip6RipRouteAge
                     Integer32
              }


          snMspsRip6RipRouteDest  OBJECT-TYPE
              SYNTAX       OCTET STRING (SIZE (16))
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "The destination IPv6 address of this route.
                  This object will not take a Link-Local or Multicast address
                  value."
              ::= { snMspsRip6RipRouteEntry 1 }


          snMspsRip6RipRoutePfxLength OBJECT-TYPE
              SYNTAX       Integer32 (1..128)
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "Indicates the prefix length of the destination
                  address."
              ::= { snMspsRip6RipRouteEntry 2 }


          snMspsRip6RipRouteProtocol OBJECT-TYPE
              SYNTAX     INTEGER {
                            other(1),        -- none of the following


                            local(2),        -- non-protocol information,
                                             -- e.g., manually configured
                                             -- entries

                            netmgmt(3),      -- static route

                            ndisc(4),        -- e.g., Redirect
                                             -- the following are all
                                             -- dynamic routing protocols

                            rip(5),          -- RIPng

                            ospf(6),         -- Open Shortest Path First

                            idrp(7)          -- InterDomain Routing Protocol

                         }
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "The routing mechanism via which this route was
                 learned. If it has value local(2), it indicates this
                 route was derived from a configured address prefix."
              ::= { snMspsRip6RipRouteEntry 3 }


          snMspsRip6RipRouteIfIndex  OBJECT-TYPE
              SYNTAX       Integer32 (1..2147483647)
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION
                 "The index value which uniquely identifies the local
                 interface through which the next hop of this
                 route should be reached.  The interface identified
                 by a particular value of this index is the same
                 interface as identified by the same value of snMspsRip6IfIndex."
              ::= { snMspsRip6RipRouteEntry 4 }


          snMspsRip6RipRouteNextHop  OBJECT-TYPE
              SYNTAX       OCTET STRING (SIZE (16))
              MAX-ACCESS   read-only
              STATUS       current
              DESCRIPTION
                 "Next hop IPv6 Address for this route. For direct routes
                 it has the value ::0."
              ::= { snMspsRip6RipRouteEntry 5 }


          snMspsRip6RipRouteMetric  OBJECT-TYPE
              SYNTAX       Integer32 (1..16)
              MAX-ACCESS   read-write
              STATUS       current
              DESCRIPTION
                 "The routing metric associated with this route. A metric
                 of 16 indicates infinity implying the route is no longer
                 valid."
              DEFVAL { 1 }
              ::= { snMspsRip6RipRouteEntry 6 }


          snMspsRip6RipRouteTag OBJECT-TYPE
              SYNTAX     Integer32 (0..65535)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                 "This object specifies whether this route is an internal
                 or external route. Value 0 represent routes are internal
                 to the routing domain and Value > 0 represent routes
                 are external to the routing domain."
              ::= { snMspsRip6RipRouteEntry 7 }


          snMspsRip6RipRouteAge  OBJECT-TYPE
              SYNTAX       Integer32
              MAX-ACCESS   read-only
              STATUS       current
              DESCRIPTION
                "The number of seconds since this route was last
                updated or otherwise determined to be correct. For
                statically configured routes and locally derived routes,
                this object has value 0."
              ::= { snMspsRip6RipRouteEntry 8 }

-- SnMspsRip6PeerTable
          snMspsRip6RipPeerTable OBJECT-TYPE
              SYNTAX SEQUENCE OF SnMspsRip6RipPeerEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                 "This table contains the Addresses of those Peers  
                  whose RIPng Responses are to be accepted or denied"
              ::= { snMspsRip6Tables  6 }
          
          snMspsRip6RipPeerEntry OBJECT-TYPE
              SYNTAX SnMspsRip6RipPeerEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                     "Single entity in the snMspsRip6RipPeerTable."
              INDEX 
                   { snMspsRip6RipPeerAddr }
              ::= { snMspsRip6RipPeerTable 1 } 

          SnMspsRip6RipPeerEntry ::=
              SEQUENCE {
                           snMspsRip6RipPeerAddr
                                OCTET STRING, 
                           snMspsRip6RipPeerEntryStatus
                                INTEGER
                       }
           
          snMspsRip6RipPeerAddr OBJECT-TYPE
              SYNTAX       OCTET STRING (SIZE (16))
              MAX-ACCESS   not-accessible
              STATUS       current
              DESCRIPTION 
                     "The Address of the Peer, from whom Responses are 
                      to be Allowed or Denied"
              ::= { snMspsRip6RipPeerEntry 1 }
 
          snMspsRip6RipPeerEntryStatus OBJECT-TYPE
              SYNTAX  INTEGER
                            {
                               valid (1),
                               invalid (2)
                            }
              MAX-ACCESS read-write
              STATUS     current
              DESCRIPTION
                     "'valid' indicated presence of the entry. 
                      'invalid' means the entry is unavailable. "
              ::= { snMspsRip6RipPeerEntry 2}

          
-- SnMspsRip6RipAdvFilterTable

          snMspsRip6RipAdvFilterTable  OBJECT-TYPE
              SYNTAX SEQUENCE OF SnMspsRip6RipAdvFilterEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                 "This table contains the routes which are 
                  NOT to be advertised in the RIPng Responses sent
                  by the router, if snMspsRip6AdvFilter is enabled"
              ::= { snMspsRip6Tables 7 }

          snMspsRip6RipAdvFilterEntry OBJECT-TYPE
              SYNTAX SnMspsRip6RipAdvFilterEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION 
                     "Single entity in the snMspsRip6RipAdvFilterTable"
              INDEX 
                  {
                      snMspsRip6RipAdvFilterAddress
                  }
              ::= { snMspsRip6RipAdvFilterTable 1 }
 
           SnMspsRip6RipAdvFilterEntry ::=
              SEQUENCE {
                         snMspsRip6RipAdvFilterAddress
                               OCTET STRING,
                         snMspsRip6RipAdvFilterStatus
                               INTEGER
                       }

           snMspsRip6RipAdvFilterAddress OBJECT-TYPE
               SYNTAX OCTET STRING (SIZE(16))
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                      "The route(s) with this address is NOT to be 
                      advertised to the Peers, if snMspsRip6AdvFilter 
                      is enabled"
                      
               ::= { snMspsRip6RipAdvFilterEntry 1 }
 
           snMspsRip6RipAdvFilterStatus OBJECT-TYPE
               SYNTAX INTEGER
                            {
                               valid (1),
                               invalid(2)
                            }
               MAX-ACCESS read-write
               STATUS current
               DESCRIPTION
                     "'valid' indicated presence of the entry. 
                      'invalid' means the entry is unavailable. "
              ::= { snMspsRip6RipAdvFilterEntry 2 }

--ripngTable END

-- FILTERING OBJECT DEFINITION BEGIN

 snMspsRip6DistInOutRouteMap OBJECT IDENTIFIER ::= { snMspsRip6 3 }

    snMspsRip6DistInOutRouteMapTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnMspsRip6DistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "A table describing the configuration of filtering for route map."
    ::= { snMspsRip6DistInOutRouteMap 1 }

    snMspsRip6DistInOutRouteMapEntry OBJECT-TYPE
        SYNTAX SnMspsRip6DistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Information describing the filtering configuration of single entry."
        INDEX {snMspsRip6DistInOutRouteMapName, snMspsRip6DistInOutRouteMapType}
    ::=  { snMspsRip6DistInOutRouteMapTable 1 }

    SnMspsRip6DistInOutRouteMapEntry ::= SEQUENCE {
        snMspsRip6DistInOutRouteMapName         DisplayString,
        snMspsRip6DistInOutRouteMapType         Integer32,
        snMspsRip6DistInOutRouteMapValue        Integer32,
        snMspsRip6DistInOutRouteMapRowStatus    RowStatus
    }

    snMspsRip6DistInOutRouteMapName OBJECT-TYPE
        SYNTAX              DisplayString (SIZE(1..20))
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Route map name."
    ::=  { snMspsRip6DistInOutRouteMapEntry 1 }

    snMspsRip6DistInOutRouteMapType OBJECT-TYPE
        SYNTAX              Integer32(1..3)
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Type of route map to indicate the route map is for
            distribute in or for distribute out or for distance.
            1 - distance
            2 - distribute in
            3 - distribute out"
    ::=  { snMspsRip6DistInOutRouteMapEntry 3 }

    snMspsRip6DistInOutRouteMapValue  OBJECT-TYPE
        SYNTAX              Integer32(1..255)
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "Distance value ( this will be unused for distribute list )"
    ::=  { snMspsRip6DistInOutRouteMapEntry 4 }

    snMspsRip6DistInOutRouteMapRowStatus OBJECT-TYPE
        SYNTAX              RowStatus
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::=  { snMspsRip6DistInOutRouteMapEntry 5 }

-- FILTERING OBJECT DEFINITION END

-- PREFERENCE OBJECT DEFINITION BEGIN


 snMspsRip6PreferenceGroup OBJECT IDENTIFIER ::=  { snMspsRip6 4 }

   snMspsRip6PreferenceValue OBJECT-TYPE
       SYNTAX Integer32 (0..255)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "Preference value for RIP6 routes. If the value is set as '0',it
            will inturn be mapped to default value "
       DEFVAL { 120 }
       ::= { snMspsRip6PreferenceGroup 1 }

-- PREFERENCE OBJECT DEFINITION END


-- ----------------------
-- snmspsospf3.mib
--
-- SIEMENS AG
-- Industry Automation Division
--
-- OSPFv3 Proprietary MIB.  
-- 
--
-- Copyright (c) 2014 Siemens AG
-- All rights reserved.
-- ----------------------

--  OSPF General Variables
--  These parameters apply globally to the Router's
--  OSPF Process.

    snMspsOspf3GeneralGroup OBJECT IDENTIFIER ::=  { snMspsOspf3 1 }
	snMspsOspf3Notification OBJECT IDENTIFIER ::=  { snMspsOspf3 101 }
	
--  SCALAR_TABLE_BEGIN snMspsOspf3GeneralGroup 7

   snMspsOspf3OverFlowState OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Indicates whether router is in overflow state or not."
       DEFVAL { false }
       ::=  { snMspsOspf3GeneralGroup 1 }
   
   snMspsOspf3TraceLevel OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This object is used to define level of trace required for OSPF. 
	     Levels are defined as follows.
	     0x00000100 -- Packet High Level Dump Trace.
	     0x00000200 -- Packet Low Level Dump Trace.
	     0x00000400 -- Packet Hex Dump Trace.
	     0x00000800 -- Critical Trace.
	     0x00001000 -- Function Entry Trace.
	     0x00002000 -- Function Exit Trace.
	     0x00004000 -- Memory Allocation Success Trace.
	     0x00008000 -- Memory Allocation Failure Trace.
	     0x00010000 -- Hello packet Trace.
             0x00020000 -- DDP packet Trace.
	     0x00040000 -- Link State Request Packet Trace.
	     0x00080000 -- Link State Update Packet Trace.
	     0x00100000 -- Link State Acknowledge Packet Trace.
             0x00200000 -- Interface State Machine Trace.
	     0x00400000 -- Neighbor State Machine Trace.
	     0x00800000 -- Routing Table Calculation Trace.
	     0x01000000 -- RTM Module Trace.  
	     0x02000000 -- Interface Trace.  
	     0x04000000 -- NSSA Trace.
	     0x08000000 -- Route Aggregation Trace.
	     0x10000000 -- Configuration Trace.
	     0x20000000 -- Adjacency formation Trace.
	     0x40000000 -- Link State Database Trace.
	     0x80000000 -- Protocol Packet Processing Trace."

       DEFVAL { '00000800'H }
         ::= { snMspsOspf3GeneralGroup 2 }
 
   snMspsOspf3ABRType OBJECT-TYPE
       SYNTAX   INTEGER    {
                    standardABR (1),
                    ciscoABR (2),
                    ibmABR (3)
                  }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Different Types of ABRs supported"
       REFERENCE
           "RFC-3509 -- Alternative Implementations of OSPF Area Border 
	                Routers"
       DEFVAL { standardABR }
         ::= { snMspsOspf3GeneralGroup 3 }

   snMspsOspf3NssaAsbrDefRtTrans OBJECT-TYPE
       SYNTAX      INTEGER {
                             enabled (1) ,
                             disabled (2)
                           }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Specifies the P-Bit setting for the default Type-7
            LSA generated by ASBR(which is not ABR).When set 
            disabled, P-Bit is clear in the generated default Lsa.
            When set to enabled, P-Bit is set in the generated
            Type-7 default Lsa. "
       DEFVAL { disabled }
         ::= { snMspsOspf3GeneralGroup 4 }

   snMspsOspf3DefaultPassiveInterface OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
          "When set to true all OSPF interfaces created after this
	    setting will be passive interfaces. 
	    If set to false OSPF interfaces created after this setting 
	    will not be passive."
       DEFVAL { false }
         ::= { snMspsOspf3GeneralGroup 5 }

   snMspsOspf3SpfDelay OBJECT-TYPE
        SYNTAX	     Integer32 (0..65535)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            " The Delay at which routing calculation is carried after a
			topology change."
        DEFVAL {5}
        ::= { snMspsOspf3GeneralGroup 6 }

   snMspsOspf3SpfHoldTime OBJECT-TYPE
        SYNTAX	     Integer32 (0..65535)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            " The minimum time between two consecutive SPF calculations."
        DEFVAL {10}
        ::= { snMspsOspf3GeneralGroup 7 }
		
   snMspsOspf3RTStaggeringInterval OBJECT-TYPE
        SYNTAX       Integer32 (1000..2147483647)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "This object denotes the time interval in milliseconds after which the route
            calculation is suspended for doing all other OSPFv3 operations. Refault value of
            this object is equal to Hello Interval"
        DEFVAL {10000}
        ::= { snMspsOspf3GeneralGroup 8 }

   snMspsOspf3RTStaggeringStatus  OBJECT-TYPE
        SYNTAX      INTEGER {
                        enable (1),
                        disable (2)
                        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the status of route table calculation
            staggering option"
        DEFVAL { enable }
        ::= { snMspsOspf3GeneralGroup 9 }

--  OSPFv3 Graceful Restart related MIB objects
    
    snMspsOspf3RestartStrictLsaChecking OBJECT-TYPE
		SYNTAX      TruthValue
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Indicates if strict LSA checking is enabled for graceful restart.
			 This object is persistent and when written
			 the entity SHOULD save the change to non-volatile
			 storage."
		DEFVAL { false }
		::= { snMspsOspf3GeneralGroup 10 }

    snMspsOspf3HelperSupport OBJECT-TYPE
       SYNTAX      BITS {
                            unknown (0),
                            softwareRestart (1),
                            swReloadUpgrade (2),
                            switchToRedundant(3)
                          }

       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The router's helper support for OSPFv3 graceful restart.
            Options include: unknown,softwarerestart,swreloadupgrade,
            switchtoredundant.
            snMspsOspf3HelperSupport is indicated by bitmap.

            This object is persistent and when written
            the entity SHOULD save the change to non-volatile
            storage.
            By default, all bits are set."

      ::= { snMspsOspf3GeneralGroup 11 }

    snMspsOspf3HelperGraceTimeLimit  OBJECT-TYPE
       SYNTAX      Integer32 (0..1800)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Configured OSPFv3 graceful restart interval limit in helper side. 
	    Time is configured in seconds. If this object is set to 0, then the helper accepts the restarting router's
            grace period received from grace LSA.
	    This object is persistent and when written the entity
            SHOULD save the change to non-volatile storage."
       DEFVAL {0}
      ::= { snMspsOspf3GeneralGroup 12 }

    snMspsOspf3RestartAckState OBJECT-TYPE
       SYNTAX      INTEGER  {
                            enabled(1),
                            disabled(2)
                           }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Indicates Reception required / not-required . whether GraceLSAs
            sent by this router are expected to be acknowledged by peers.

            This object is persistent and when written
            the entity SHOULD save the change to non-volatile
            storage."
       DEFVAL {enabled}
      ::= { snMspsOspf3GeneralGroup 13 }

    snMspsOspf3GraceLsaRetransmitCount OBJECT-TYPE
       SYNTAX      Integer32 (0..180)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "Number of retransmissions for unacknowledged GraceLSAs"
       DEFVAL {2}
      ::= { snMspsOspf3GeneralGroup 14 }

    snMspsOspf3RestartReason  OBJECT-TYPE
       SYNTAX      INTEGER {
                            unknown (0),
                            softwareRestart (1),
                            swReloadUpgrade (2),
                            switchToRedundant(3)
                          }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The router's restarter reason code of OSPFv3 graceful restart.
            Options include: unknown,softwarerestart,swreloadupgrade,
            switchtoredundant.
            This object is persistent and when written
            the entity SHOULD save the change to non-volatile
            storage."

       DEFVAL {unknown}
      ::= { snMspsOspf3GeneralGroup 15 }

   snMspsOspf3ExtTraceLevel OBJECT-TYPE
	  SYNTAX      Integer32
	  MAX-ACCESS  read-write
	  STATUS      current
	  DESCRIPTION
		" This object is used to define level of trace required for OSPFv3 GR.  
		  Levels are defined as follows.
                  0x00000000 -- No Trace Support.
		  0x00000001 -- Restarting Router Trace.
		  0x00000002 -- Helper Trace."
	  ::= { snMspsOspf3GeneralGroup 16 }

   snMspsOspf3SetTraps OBJECT-TYPE
	  SYNTAX   Integer32 
	  MAX-ACCESS   read-write
	  STATUS   current
	  DESCRIPTION
		 " This object is used to enable and disable  specific
		  OSPFv3 traps. Currently the following are defined
		  0x00000000 - Traps are not enabled.
		  0x00000001 - Restarting router status changes
		  0x00000002 - Nieghbor Helper status changes
		  0x00000004 - Virtual Neighbor Helper Status Changes.
                  0x00000008 - Hot Standby state changes"
	  ::= { snMspsOspf3GeneralGroup 17 }

-- Start of Scalar MIB objects related to OSPFv3 Hot-Standby

    snMspsOspf3HotStandbyAdminStatus OBJECT-TYPE
      SYNTAX    INTEGER { 
                          enabled (1),
                          disabled (2)
                        }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
                 "High Availabilty feature enabled or disabled in OSPFv3"
      ::= { snMspsOspf3GeneralGroup 18 }

    snMspsOspf3HotStandbyState OBJECT-TYPE
       SYNTAX      INTEGER { 
                             init(1),
                             activeStandbyUp(2),
                             activeStandbyDown(3),
                             standby(4)
                           }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
                "Internal State of the OSPFv3 instance.
                 init(1) - OSPFv3 instance is up and RM State is undetermined.
                 activeStandbyUp(2) - The RM state is active & standby is up.
                 activeStandbyDown(3) - The RM state is active & standby down.
                 standby(4) - The RM state is standby."

       ::= { snMspsOspf3GeneralGroup 19 }

    snMspsOspf3DynamicBulkUpdStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                             notStarted(1),
                             inProgress(2),
                             completed(3),
                             aborted(4)
                           }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
                   "Status of dynamic bulk update between active and dynamic
                    OSPFv3 instance.
                         notStarted(1): Dynamic Bulk Update has not yet been started.
			 inProgress(2): Dynamic Bulk Update is in Progress.
			 completed (3): Dynamic Bulk Update is complete.
			 aborted   (4): Dynamic Bulk Update is aborted."
       ::= { snMspsOspf3GeneralGroup 20 }

    snMspsOspf3StandbyHelloSyncCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
                 "Total number of hello packets synced to standby node."
       ::= { snMspsOspf3GeneralGroup 21 }

    snMspsOspf3StandbyLsaSyncCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
                 "Total number of LSAs synced to standby node."
       ::= { snMspsOspf3GeneralGroup 22 }

--  SCALAR_TABLE_END snMspsOspf3GeneralGroup

--  Siemens OSPF Interface Table
--  The  snMspsOspf3IfTable is an extention to the ospfIfTable
--  and has statistical information associted with each interface.

   snMspsOspf3IfTable OBJECT-TYPE
       SYNTAX 	SEQUENCE OF SnMspsOspf3IfEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "The OSPFv3 Interface Table describes the  inter-
              faces from the viewpoint of OSPFv3."
       REFERENCE
           "OSPF Version 2, Appendix C.3  Router  interface
             parameters."
       ::=  { snMspsOspf3 2 }
   
   snMspsOspf3IfEntry OBJECT-TYPE
       SYNTAX SnMspsOspf3IfEntry
       MAX-ACCESS not-accessible
       STATUS      current
       DESCRIPTION
           "The OSPFv3 Interface Entry describes one  inter-
              face from the viewpoint of OSPFv3."
       INDEX { snMspsOspf3IfIndex }
       ::=  { snMspsOspf3IfTable 1 }
   
   SnMspsOspf3IfEntry ::= SEQUENCE {
       snMspsOspf3IfIndex        InterfaceIndex,
       snMspsOspf3IfOperState    INTEGER,
       snMspsOspf3IfPassive      TruthValue,
       snMspsOspf3IfNbrCount     Gauge32,
       snMspsOspf3IfAdjCount     Gauge32,
       snMspsOspf3IfHelloRcvd    Counter32,
       snMspsOspf3IfHelloTxed    Counter32,
       snMspsOspf3IfHelloDisd    Counter32,
       snMspsOspf3IfDdpRcvd      Counter32,
       snMspsOspf3IfDdpTxed      Counter32,
       snMspsOspf3IfDdpDisd      Counter32,
       snMspsOspf3IfLrqRcvd      Counter32,
       snMspsOspf3IfLrqTxed      Counter32,
       snMspsOspf3IfLrqDisd      Counter32,
       snMspsOspf3IfLsuRcvd      Counter32,
       snMspsOspf3IfLsuTxed      Counter32,
       snMspsOspf3IfLsuDisd      Counter32,
       snMspsOspf3IfLakRcvd      Counter32,
       snMspsOspf3IfLakTxed      Counter32,
       snMspsOspf3IfLakDisd      Counter32,
       snMspsOspf3IfLinkLSASuppression TruthValue
   }
   
   snMspsOspf3IfIndex OBJECT-TYPE 
            SYNTAX          InterfaceIndex 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
                "The interface index of this OSPFv3 interface. 
                 It corresponds to the interface index of the 
                 IPv6 interface on which OSPFv3 is configured." 
            ::= { snMspsOspf3IfEntry 1 } 
 
   snMspsOspf3IfOperState OBJECT-TYPE
       SYNTAX      INTEGER {
                 operup          (1),
                 operdown        (2),
                 loopback        (3),
                 unloop          (4)
              }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Operational Status of the Interface."
       ::=  { snMspsOspf3IfEntry 2 }

   snMspsOspf3IfPassive OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           " This object is used to make the inteface as passive.
	      If set to TRUE, then interface will be passive
	      If set to FALSE then interface will be normal"
       DEFVAL { false }
       ::=  { snMspsOspf3IfEntry 3 }

   snMspsOspf3IfNbrCount OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Neighbour's through 
                    that Interface."
       ::=  { snMspsOspf3IfEntry 4 }
   
   snMspsOspf3IfAdjCount OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Adjacencies through 
                    that Interface."
       ::=  { snMspsOspf3IfEntry 5 }
   
   snMspsOspf3IfHelloRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Hello packets received
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 6 }
   
   snMspsOspf3IfHelloTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Hello packets 
                    transmitted through that Interface."
       ::=  { snMspsOspf3IfEntry 7 }
   
   snMspsOspf3IfHelloDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Hello packets 
                    discarded through that Interface."
       ::=  { snMspsOspf3IfEntry 8 }
   
   snMspsOspf3IfDdpRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Ddp packets received
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 9 }
   
   snMspsOspf3IfDdpTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Ddp packets 
                    transmitted through that Interface."
       ::=  { snMspsOspf3IfEntry 10 }
   
   snMspsOspf3IfDdpDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Ddp packets discarded
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 11 }
   
   snMspsOspf3IfLrqRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lrq packets received
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 12 }
   
   snMspsOspf3IfLrqTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lrq packets 
                    transmitted through that Interface."
       ::=  { snMspsOspf3IfEntry 13 }
   
   snMspsOspf3IfLrqDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lrq packets discarded
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 14 }
   
   snMspsOspf3IfLsuRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lsu packets received
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 15 }
   
   snMspsOspf3IfLsuTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lsu packets 
                    transmitted through that Interface."
       ::=  { snMspsOspf3IfEntry 16 }
   
   snMspsOspf3IfLsuDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lsu packets discarded
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 17 }
   
   snMspsOspf3IfLakRcvd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lak packets received
                    through that Interface."
       ::=  { snMspsOspf3IfEntry 18 }
   
   snMspsOspf3IfLakTxed OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lak packets 
                    transmitted through that Interface."
       ::=  { snMspsOspf3IfEntry 19 }
   
   snMspsOspf3IfLakDisd OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " This gives the Total number of Lak packets discarded
                    on that Interface."
       ::=  { snMspsOspf3IfEntry 20 }
   
   snMspsOspf3IfLinkLSASuppression  OBJECT-TYPE
   SYNTAX       TruthValue
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "Specifies whether or not link LSA origination is 
       suppressed for networks other than broadcast or NBMA. 
       The object is set to value true (1) to suppress 
       the origination."
   REFERENCE 
      "OSPF for IPv6, Appendix C.3, Router Interface 
       Parameters" 
   DEFVAL { false } 
   ::= { snMspsOspf3IfEntry 21 } 
   
-- Routing Table

   snMspsOspf3RoutingTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnMspsOspf3RoutingEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of routing information."
       ::=  { snMspsOspf3 3 }
   
   snMspsOspf3RoutingEntry OBJECT-TYPE
       SYNTAX      SnMspsOspf3RoutingEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The information regarding a single route."
       INDEX { snMspsOspf3RouteDestType,snMspsOspf3RouteDest,
	       snMspsOspf3RoutePfxLength,snMspsOspf3RouteNextHopType,
	        snMspsOspf3RouteNextHop }
       ::=  { snMspsOspf3RoutingTable 1 }
   
   SnMspsOspf3RoutingEntry ::= SEQUENCE {
       snMspsOspf3RouteDestType        InetAddressType,
       snMspsOspf3RouteDest            InetAddress,
       snMspsOspf3RoutePfxLength       InetAddressPrefixLength,
       snMspsOspf3RouteNextHopType     InetAddressType,
       snMspsOspf3RouteNextHop         InetAddress,
       snMspsOspf3RouteType            INTEGER,
       snMspsOspf3RouteAreaId          AreaID,
       snMspsOspf3RouteCost            BigMetric,
       snMspsOspf3RouteType2Cost       BigMetric,
       snMspsOspf3RouteInterfaceIndex  Integer32
       }
   
   snMspsOspf3RouteDestType OBJECT-TYPE 
       SYNTAX          InetAddressType 
       MAX-ACCESS      not-accessible 
       STATUS          current 
       DESCRIPTION 
           "The prefix type of snMspsOspf3RouteDestType. Only 
           IPv6 addresses are expected." 
       ::= { snMspsOspf3RoutingEntry 1 } 

   snMspsOspf3RouteDest OBJECT-TYPE
       SYNTAX      InetAddress (SIZE(16))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " The Desitnation IPv6 Address of this route."
       ::=  { snMspsOspf3RoutingEntry 2 }
   
   snMspsOspf3RoutePfxLength OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Indicates the prefix length of the destination Address."
       ::=  { snMspsOspf3RoutingEntry 3 }
   
   snMspsOspf3RouteNextHopType OBJECT-TYPE 
       SYNTAX          InetAddressType 
       MAX-ACCESS      not-accessible 
       STATUS          current 
       DESCRIPTION 
           "The prefix type ofsnMspsOspf3RouteNextHopType. Only 
           IPv6 addresses are expected." 
       ::= { snMspsOspf3RoutingEntry 4 } 

   snMspsOspf3RouteNextHop OBJECT-TYPE
       SYNTAX      InetAddress (SIZE(16))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Next Hop IPv6 Address for this route. For direct routes it has the
           value ::0."
       ::=  { snMspsOspf3RoutingEntry 5 }
   
   snMspsOspf3RouteType OBJECT-TYPE
       SYNTAX      INTEGER {
                    intraArea (1), 
                    interArea (2), 
                    type1External (3), 
                    type2External (4)
                	}
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Type of the route"
       ::=  { snMspsOspf3RoutingEntry 6 }
   
   snMspsOspf3RouteAreaId OBJECT-TYPE
       SYNTAX      AreaID
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Area ID associated with the route "
       ::=  { snMspsOspf3RoutingEntry 7 }
   
   snMspsOspf3RouteCost OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          " It is a Type 1 external metrics which is 
	    expressed in the same units as OSPF interface
	    cost ie. in terms of the OSPF link state metric. 
	    If Type1 and Type2 cost are present, Type1 external
	    metrics always take precedence."
       ::=  { snMspsOspf3RoutingEntry 8 }
   
   snMspsOspf3RouteType2Cost OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Type 2 external metrics are configured with  
	     the cost greater than any path internal to the AS. 
	     Use of Type 2 external metrics assumes that routing 
	     between AS is the major cost of routing a packet, and
             eliminates the need for conversion of external costs to
	     internal link state metrics."
       ::=  { snMspsOspf3RoutingEntry 9 }
   
   snMspsOspf3RouteInterfaceIndex OBJECT-TYPE
       SYNTAX Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Interface Index associated with the route"
       ::=  { snMspsOspf3RoutingEntry 10 }
   

-- Siemens AsExternalAggregation  Table
   snMspsOspf3AsExternalAggregationTable OBJECT-TYPE
           SYNTAX   SEQUENCE OF SnMspsOspf3AsExternalAggregationEntry
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "Indicates whether for the specified address range
               Type-7/Type-5 LSA will be aggregated or not generated. "   
          ::= { snMspsOspf3 4 }

    snMspsOspf3AsExternalAggregationEntry OBJECT-TYPE
        SYNTAX   SnMspsOspf3AsExternalAggregationEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION 
            "Supports configuration of Type-5,Type-7 Address Range specifying
             whether for the configured range, Type-5,Type-7 LSA will be 
             generated or not, and if generated whether aggregation is performed. "
      INDEX { snMspsOspf3AsExternalAggregationNetType, snMspsOspf3AsExternalAggregationNet, 
	      snMspsOspf3AsExternalAggregationPfxLength,
              snMspsOspf3AsExternalAggregationAreaId }
      ::= {snMspsOspf3AsExternalAggregationTable 1 }

    SnMspsOspf3AsExternalAggregationEntry ::=
       SEQUENCE {
           snMspsOspf3AsExternalAggregationNetType
               InetAddressType,
           snMspsOspf3AsExternalAggregationNet
               InetAddress,
           snMspsOspf3AsExternalAggregationPfxLength
               InetAddressPrefixLength,     
           snMspsOspf3AsExternalAggregationAreaId
               AreaID,
           snMspsOspf3AsExternalAggregationEffect
               INTEGER,
           snMspsOspf3AsExternalAggregationTranslation
               INTEGER,
           snMspsOspf3AsExternalAggregationStatus
               RowStatus
                }

    snMspsOspf3AsExternalAggregationNetType OBJECT-TYPE 
       	   SYNTAX          InetAddressType 
           MAX-ACCESS      not-accessible 
           STATUS          current 
           DESCRIPTION 
              "The prefix type of snMspsOspf3AsExternalAggregationNetType. Only 
              IPv6 addresses are expected." 
           ::= { snMspsOspf3AsExternalAggregationEntry 1 } 

    snMspsOspf3AsExternalAggregationNet OBJECT-TYPE
           SYNTAX   InetAddress (SIZE(16))
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "The IPv6 address of the Net indicated by 
               the range. "
           ::= { snMspsOspf3AsExternalAggregationEntry 2 }

    snMspsOspf3AsExternalAggregationPfxLength OBJECT-TYPE
           SYNTAX   InetAddressPrefixLength
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
              "The prefix length that pertains to the 
               range. "
           ::= { snMspsOspf3AsExternalAggregationEntry 3 }

    snMspsOspf3AsExternalAggregationAreaId OBJECT-TYPE
           SYNTAX  AreaID
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION
               "Refer to description in snMspsOspf3AsExternalAggregationEffect."
           ::= { snMspsOspf3AsExternalAggregationEntry 4 }


    snMspsOspf3AsExternalAggregationEffect OBJECT-TYPE
           SYNTAX   INTEGER {
                       advertise (1),
                       doNotAdvertise (2),
                       allowAll (3),
                       denyAll (4)
                       }
           MAX-ACCESS   read-create
           STATUS   current
           DESCRIPTION
              "Indicates whether Type-5/Type-7 will be aggregated or not
               generated for the specified range. 
               When set to 'allowAll' (3) and associated areaId is 0.0.0.0
               aggregated Type-5 are generated for the specified range. In
               addition aggregated Type-7 are generated in all attached NSSA
               areas, for the specified range.Value allowAll (3) is not valid
               for areaId other than 0.0.0.0. 
               When set to 'denyAll' (4) neither Type-5 nor Type-7 will be
               generated for the specified range. Value denyAll (4) is not
               valid for areaID other than 0.0.0.0.
	       When set to 'advertise' (1) and associated areaId is 0.0.0.0, 
	       aggregated Type-5 LSA is generated and all the NSSA LSAs falling 
	       in this address range are flushed out and no aggregated LSA of this 
	       address range is generated for NSSA Areas.Otherwise, if associated 
	       area-id is x.x.x.x (other than 0.0.0.0) aggregated Type-7 LSA is 
	       generated in NSSA area x.x.x.x.
	       When set to 'doNotAdvertise' (2) and associated area-id is 0.0.0.0, 
	       Type-5 LSA is not generated for the specified range, while all 
	       the NSSA LSA falling in this range is flushed out and aggregated 
	       Type-7 NSSA LSA of this address range is generated in all attached 
               NSSA areas.Otherwise, if associated area-id is x.x.x.x(other than 0.0.0.0), 
	       Type-7 are not generated in NSSA area x.x.x.x for the specified range. "
           DEFVAL { advertise }
           ::= { snMspsOspf3AsExternalAggregationEntry 5 }

    snMspsOspf3AsExternalAggregationTranslation OBJECT-TYPE
           SYNTAX   INTEGER {
                       enabled (1),
                       disabled (2)
                       }
           MAX-ACCESS   read-create
           STATUS   current
           DESCRIPTION
              "This when set to enabled, P Bit is set in
               the generated Type-7 LSA. When set disabled
               P Bit is clear in the generated Type-7 LSA
               for the range. "
           DEFVAL { enabled }
           ::= { snMspsOspf3AsExternalAggregationEntry 6 }

    snMspsOspf3AsExternalAggregationStatus OBJECT-TYPE
           SYNTAX   RowStatus
           MAX-ACCESS   read-create
           STATUS   current
           DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative."
           ::= { snMspsOspf3AsExternalAggregationEntry 7 }


-- ABR/ASBR Routes Table
   snMspsOspf3BRRouteTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnMspsOspf3BRRouteEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of routing information."
       ::=  { snMspsOspf3 5 }
   
   snMspsOspf3BRRouteEntry OBJECT-TYPE
       SYNTAX      SnMspsOspf3BRRouteEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The information regarding a single route."
	 INDEX {snMspsOspf3BRRouteDest, snMspsOspf3BRRouteNextHopType, 
                snMspsOspf3BRRouteNextHop,snMspsOspf3BRRouteDestType}
       ::=  { snMspsOspf3BRRouteTable 1 }
   
   SnMspsOspf3BRRouteEntry ::= SEQUENCE {
       snMspsOspf3BRRouteDest          	IpAddress,
       snMspsOspf3BRRouteNextHopType     	InetAddressType,
       snMspsOspf3BRRouteNextHop       	InetAddress,
       snMspsOspf3BRRouteDestType      	INTEGER,
       snMspsOspf3BRRouteType          	INTEGER,
       snMspsOspf3BRRouteAreaId       	AreaID,
       snMspsOspf3BRRouteCost          	BigMetric,
       snMspsOspf3BRRouteInterfaceIndex  	InterfaceIndex
       }
   
   snMspsOspf3BRRouteDest OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Router Id of the destination router. 
	     ABR/ASBR entries will have Router Id as 
	     the destination network Id "
       ::=  { snMspsOspf3BRRouteEntry 1 }

    snMspsOspf3BRRouteNextHopType OBJECT-TYPE 
       	   SYNTAX          InetAddressType 
           MAX-ACCESS      not-accessible 
           STATUS          current 
           DESCRIPTION 
              "The prefix type of snMspsOspf3BRRouteNextHopType. Only 
              IPv6 addresses are expected." 
           ::= { snMspsOspf3BRRouteEntry 2 } 
      
   snMspsOspf3BRRouteNextHop OBJECT-TYPE
       SYNTAX      InetAddress (SIZE(16))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
		 " Next Hop IPv6 Address for this route. For direct 
		   routes it has the value ::0."
       ::=  { snMspsOspf3BRRouteEntry 3 }

   snMspsOspf3BRRouteDestType OBJECT-TYPE
       SYNTAX      INTEGER {
		            areaBorder (2), 
			    asBoundary (3) 
		      	   }
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           " Type of the route. The route can be ABR route
	     entry or ASBR route entry "
       ::=  { snMspsOspf3BRRouteEntry 4 }

   snMspsOspf3BRRouteType OBJECT-TYPE
       SYNTAX      INTEGER {
                        intraArea (1), 
		      	interArea (2) 
		 	   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Type of the route "
       ::=  { snMspsOspf3BRRouteEntry 5 }
   
   snMspsOspf3BRRouteAreaId OBJECT-TYPE
       SYNTAX      AreaID
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Area ID associated with the route "
       ::=  { snMspsOspf3BRRouteEntry 6 }
   
   snMspsOspf3BRRouteCost OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          " The cost associated with the route "
       ::=  { snMspsOspf3BRRouteEntry 7 }
   
   snMspsOspf3BRRouteInterfaceIndex OBJECT-TYPE
       SYNTAX InterfaceIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           " Interface Index associated with the route "
       ::=  { snMspsOspf3BRRouteEntry 8 }

-- Redistribution configuration table. Attributes configured for this
-- table will be applied during redistribution.

   snMspsOspf3RedistRouteCfgTable OBJECT-TYPE
       SYNTAX SEQUENCE OF SnMspsOspf3RedistRouteCfgEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "A table describing the configuration of Metric Cost and Route
            Type information to be applied to the routes learnt from the RTM."
       ::= { snMspsOspf3 6 }

   snMspsOspf3RedistRouteCfgEntry OBJECT-TYPE
       SYNTAX SnMspsOspf3RedistRouteCfgEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "Information describing the configuration of single route entry."
       INDEX {snMspsOspf3RedistRouteDestType, snMspsOspf3RedistRouteDest, 
              snMspsOspf3RedistRoutePfxLength}
       ::=  { snMspsOspf3RedistRouteCfgTable 1 }

   SnMspsOspf3RedistRouteCfgEntry ::= SEQUENCE {
       snMspsOspf3RedistRouteDestType    InetAddressType,
       snMspsOspf3RedistRouteDest        InetAddress,
       snMspsOspf3RedistRoutePfxLength   InetAddressPrefixLength,
       snMspsOspf3RedistRouteMetric      BigMetric,
       snMspsOspf3RedistRouteMetricType  INTEGER,
       snMspsOspf3RedistRouteTagType     INTEGER, 
       snMspsOspf3RedistRouteTag         Integer32, 
       snMspsOspf3RedistRouteStatus      RowStatus
       }

    snMspsOspf3RedistRouteDestType OBJECT-TYPE 
       SYNTAX          InetAddressType 
       MAX-ACCESS      not-accessible 
       STATUS          current 
       DESCRIPTION 
          "The prefix type of snMspsOspf3RedistRouteDestType. Only 
          IPv6 addresses are expected." 
       ::= { snMspsOspf3RedistRouteCfgEntry 1 } 
      
   snMspsOspf3RedistRouteDest OBJECT-TYPE
       SYNTAX InetAddress (SIZE(16))
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "IPv6 Address of the Destination route."
       ::=  { snMspsOspf3RedistRouteCfgEntry 2 }

   snMspsOspf3RedistRoutePfxLength OBJECT-TYPE
       SYNTAX  InetAddressPrefixLength
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
           "Prefix Length of the Destination route."
       ::=  { snMspsOspf3RedistRouteCfgEntry 3 }

   snMspsOspf3RedistRouteMetric OBJECT-TYPE
       SYNTAX BigMetric
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "The Metric value applied to the route before it is adv. into the
            OSPFv3 Domain."
       DEFVAL { 10 }
       ::=  { snMspsOspf3RedistRouteCfgEntry 4 }

   snMspsOspf3RedistRouteMetricType OBJECT-TYPE
       SYNTAX INTEGER {
              type1External (3),
              type2External (4)
              }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "The Metric Type applied to the route before it is adv. into the
            OSPFv3 Domain"
       DEFVAL { type2External }
       ::=  { snMspsOspf3RedistRouteCfgEntry 5 }
    
   snMspsOspf3RedistRouteTagType OBJECT-TYPE 
          SYNTAX INTEGER { 
              manual (1), 
              automatic (2) 
              } 
          MAX-ACCESS read-write 
          STATUS current 
          DESCRIPTION 
              "The Tag Type MIB object describes whether Tags will be 
               automatically generated or will be manually configured. 
               If tags are manually configured , the snMspsOspf3RedistRouteTag 
               MIB has to be set with the Tag value needed." 
          DEFVAL { manual } 
          ::= { snMspsOspf3RedistRouteCfgEntry 6 } 
    
   snMspsOspf3RedistRouteTag OBJECT-TYPE 
          SYNTAX Integer32 
          MAX-ACCESS read-write 
          STATUS current 
          DESCRIPTION 
              "The Route Tag in case the user configures a Manual option for 
               the tags." 
          DEFVAL { 0 } 
          ::= { snMspsOspf3RedistRouteCfgEntry 7 } 

   snMspsOspf3RedistRouteStatus OBJECT-TYPE
       SYNTAX RowStatus
       MAX-ACCESS read-create
       STATUS current
       DESCRIPTION
           "The variable dispalys the status of the entry.Setting it to
            'invalid' has the effect of rendering it inoperative."
       ::=  { snMspsOspf3RedistRouteCfgEntry 8 }


-- RRD OBJECT DEFINITION BEGIN

   snMspsOspf3RRDGroup OBJECT IDENTIFIER ::=  { snMspsOspf3 7 }

   snMspsOspf3RRDGeneralGroup OBJECT IDENTIFIER ::=  { snMspsOspf3RRDGroup 1}

--   SCALAR_TABLE_BEGIN snMspsOspf3RRDGeneralGroup 3

   snMspsOspf3RRDStatus OBJECT-TYPE
       SYNTAX Status
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "This MIB object enables/disables OSPFv3 to participate in Route 
            Redistribution. If set to enabled, OSPFv3 will start advertising 
            the routes learned by other protocols. If set to disabled, OSPFv3 
            will stop redisbution of routes. However, OSPFv3 will continue 
	    updating the Common Routing Table using the queue interface."
       DEFVAL { disabled }
       ::= { snMspsOspf3RRDGeneralGroup 1 }

   snMspsOspf3RRDSrcProtoMask OBJECT-TYPE
       SYNTAX Integer32
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "The bit mask of source protocols from which routes are 
            imported to OSPFv3.

            Bit 1, if set, indicates that local routes are
            redistributed into OSPFv3. (value = 2)
	    if reset, indicates that local routes are not
            redistributed into OSPFv3.

            Bit 2, if set, indicates that static routes are
            redistributed into OSPFv3. (value = 4)
            if reset, indicates that static routes are not
            redistributed into OSPFv3.

            Bit 4, if set, indicates that routes from RIP are
            redistributed into OSPFv3. (value = 16)
            if reset, indicates that routes from RIP are not
            redistributed into OSPFv3. 

            Bit 6, if set, indicates that routes from BGP are
            redistributed into OSPFv3. (value = 64)
            if reset, indicates that routes from BGP are not
            redistributed into OSPFv3.

            Other bits are reserved for future use."
       DEFVAL { 0 }
       ::= { snMspsOspf3RRDGeneralGroup 2 }

    snMspsOspf3RRDRouteMapName    OBJECT-TYPE
       SYNTAX       OCTET STRING (SIZE (0..20))
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION  "Name  Identifies the  specified route-map 
                     in the list of route-maps."
       ::= { snMspsOspf3RRDGeneralGroup 3 }


--   SCALAR_TABLE_END snMspsOspf3RRDGeneralGroup 

-- FILTERING OBJECT DEFINITION BEGIN

 snMspsOspf3DistInOutRouteMap OBJECT IDENTIFIER ::= { snMspsOspf3 8 }

    snMspsOspf3DistInOutRouteMapTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SnMspsOspf3DistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "A table describing the configuration of filtering for route map."
    ::= { snMspsOspf3DistInOutRouteMap 1 }

    snMspsOspf3DistInOutRouteMapEntry OBJECT-TYPE
        SYNTAX SnMspsOspf3DistInOutRouteMapEntry
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Information describing the filtering configuration of single entry."
        INDEX {snMspsOspf3DistInOutRouteMapName, snMspsOspf3DistInOutRouteMapType}
    ::=  { snMspsOspf3DistInOutRouteMapTable 1 }

    SnMspsOspf3DistInOutRouteMapEntry ::= SEQUENCE {
        snMspsOspf3DistInOutRouteMapName         DisplayString,
        snMspsOspf3DistInOutRouteMapType         Integer32,
        snMspsOspf3DistInOutRouteMapValue        Integer32,
        snMspsOspf3DistInOutRouteMapRowStatus    RowStatus
    }

    snMspsOspf3DistInOutRouteMapName OBJECT-TYPE
        SYNTAX              DisplayString (SIZE (1..20))
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Route map name."
    ::=  { snMspsOspf3DistInOutRouteMapEntry 1 }

    snMspsOspf3DistInOutRouteMapType OBJECT-TYPE
        SYNTAX              Integer32(1..3)
        MAX-ACCESS          not-accessible
        STATUS              current
        DESCRIPTION
            "Type of route map to indicate the route map is for
            distribute in or for distribute out or for distance.
            1 - distance
            2 - distribute in
            3 - distribute out"
    ::=  { snMspsOspf3DistInOutRouteMapEntry 2 }

    snMspsOspf3DistInOutRouteMapValue  OBJECT-TYPE
        SYNTAX              Integer32(1..255)
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "Distance value ( this will be unused for distribute list )"
    ::=  { snMspsOspf3DistInOutRouteMapEntry 3 }

    snMspsOspf3DistInOutRouteMapRowStatus OBJECT-TYPE
        SYNTAX              RowStatus
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::=  { snMspsOspf3DistInOutRouteMapEntry 4 }

-- FILTERING OBJECT DEFINITION END

-- PREFERENCE OBJECT DEFINITION BEGIN

 snMspsospf3PreferenceGroup OBJECT IDENTIFIER ::=  { snMspsOspf3 9 }


   snMspsOspf3PreferenceValue OBJECT-TYPE
       SYNTAX Integer32 (0..255)
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "Preference value for OSPFv3 routes. Use '0' to set default value"
       DEFVAL { 0 }
       ::= { snMspsospf3PreferenceGroup 1 }

-- PREFERENCE OBJECT DEFINITION END
-- Trap Notification types for Graceful restart

    snMspsOspf3Traps  OBJECT IDENTIFIER ::= { snMspsOspf3Notification 0 }
    snMspsOspf3TrapObject OBJECT IDENTIFIER ::= { snMspsOspf3Notification 1 }

--  Trap objects for index variable to be used in notifications

    snMspsOspf3TrapNbrIfIndex OBJECT-TYPE 
            SYNTAX          InterfaceIndex 
            MAX-ACCESS      accessible-for-notify
            STATUS          current 
            DESCRIPTION 
                "The local link ID of the link over which the
                 neighbor can be reached. This is used for Trap"
            ::= { snMspsOspf3TrapObject 1 } 

    snMspsOspf3TrapVirtNbrRtrId OBJECT-TYPE 
            SYNTAX          RouterID 
            MAX-ACCESS      accessible-for-notify
            STATUS          current 
            DESCRIPTION 
                "A  32-bit  integer  uniquely  identifying  the 
                neighboring router in the Autonomous System.
                This is used for Trap" 
            ::= { snMspsOspf3TrapObject 2 } 

    snMspsOspf3TrapNbrRtrId OBJECT-TYPE
            SYNTAX          RouterID
            MAX-ACCESS      accessible-for-notify
            STATUS          current
            DESCRIPTION
                "A 32-bit integer (represented as a type  IpAd-
                dress)  uniquely  identifying  the  neighboring
                router in the Autonomous System.
                This is used for Trap"
            ::= { snMspsOspf3TrapObject 3 }

    snMspsOspf3TrapVirtNbrArea OBJECT-TYPE
            SYNTAX          AreaID
            MAX-ACCESS      accessible-for-notify
            STATUS          current 
            DESCRIPTION 
                "The Transit Area Identifier. This is used for Trap"
            ::= { snMspsOspf3TrapObject 4 }

    snMspsOspf3TrapBulkUpdAbortReason OBJECT-TYPE
            SYNTAX        INTEGER {
                            none(1),
                            memAllocFailed(2),
                            sendFailed(3),
                            processFailed(4)
                                   }
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION
                "The reason for the failure of particular Bulk Update Abort."
            ::= { snMspsOspf3TrapObject 5 }


--  END

    snMspsOspf3RestartStatusChange NOTIFICATION-TYPE
        OBJECTS  {
                   ospfv3RouterId, -- The originator of the trap
                   ospfv3RestartStatus,
                   ospfv3RestartInterval,
                   ospfv3RestartExitReason
                 }
        STATUS   deprecated
        DESCRIPTION
            "An ospfv3RestartStatusChange trap signifies that
             there has been a change in the graceful restart
             state for the router. This trap should be
             generated when the router restart status
             changes."
        ::= { snMspsOspf3Traps 1 }

    snMspsOspf3NbrRestartHelperStatusChange NOTIFICATION-TYPE
        OBJECTS {
                  ospfv3RouterId, -- The originator of the trap
                  snMspsOspf3TrapNbrIfIndex,
                  snMspsOspf3TrapNbrRtrId,
                  ospfv3NbrRestartHelperStatus,
                  ospfv3NbrRestartHelperAge,
                  ospfv3NbrRestartHelperExitReason
                }
        STATUS  deprecated
        DESCRIPTION
            "An snMspsOspf3NbrRestartHelperStatusChange trap signifies that
            there has been a change in the graceful restart
            helper state for the neighbor. This trap should be
            generated when the neighbor restart helper status
            transitions for a neighbor."
        ::= { snMspsOspf3Traps 2 }

    snMspsOspf3VirtNbrRestartHelperStatusChange NOTIFICATION-TYPE
        OBJECTS {
                  ospfv3RouterId, -- The originator of the trap
                  snMspsOspf3TrapVirtNbrArea,
                  snMspsOspf3TrapVirtNbrRtrId,
                  ospfv3VirtNbrRestartHelperStatus,
                  ospfv3VirtNbrRestartHelperAge,
                  ospfv3VirtNbrRestartHelperExitReason
                }
        STATUS  deprecated
        DESCRIPTION
            "An snMspsOspf3VirtNbrRestartHelperStatusChange trap signifies
            that there has been a change in the graceful restart
            helper state for the virtual neighbor. This trap should
            be generated when the virtual neighbor restart helper
            status transitions for a virtual neighbor."
        ::= { snMspsOspf3Traps 3 }

-- Trap Notification for HA

    snMspsOspf3HotStandbyStateChgTrap NOTIFICATION-TYPE
         OBJECTS {
                     ospfv3RouterId, -- The originator of the trap
                     snMspsOspf3HotStandbyState
                 }
         STATUS   deprecated
         DESCRIPTION 
		    "A notification is sent to the management entity whenever
            there is a state change in the OSPFv3 hotstandby Module." 
         ::= {snMspsOspf3Traps 4}

    snMspsOspf3HotStandbyBulkUpdAbortTrap NOTIFICATION-TYPE
         OBJECTS {
                     ospfv3RouterId, -- The originator of the trap
                     snMspsOspf3DynamicBulkUpdStatus,
                     snMspsOspf3TrapBulkUpdAbortReason
                 }
         STATUS   deprecated
         DESCRIPTION
            "A notification is sent to the management entity whenever
            the bulk update is aborted"
         ::= {snMspsOspf3Traps 5}

-- End of Trap notifications



-- Textual Convention
-- This Textual Convention enhance the readability of the specification.

CompList          ::=     TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            components, with the first octet specifying components 
            1 through 8, the second octet specifying components 9 
            through 16, etc.  Within each octet, the most significant 
            bit represents the lowest numbered component, and the 
            least significant bit represents the highest numbered 
            component.  Thus, each component is represented by a 
            single bit within the value of this object.  If that bit 
            has a value of '1', then that component is included in 
            the set of components; the component is not included 
            if its bit has a value of '0'."
        SYNTAX      OCTET STRING


snMspsPimMIBObjects       OBJECT IDENTIFIER ::= { snMspsPimMIB 1 }

snMspsPimScalars          OBJECT IDENTIFIER ::= { snMspsPimMIBObjects 1 }
snMspsPimTables           OBJECT IDENTIFIER ::= { snMspsPimMIBObjects 2 }
snMspsPimTrapsControl     OBJECT IDENTIFIER ::= { snMspsPimMIBObjects 3 }
snMspsPimTraps            OBJECT IDENTIFIER ::= { snMspsPimMIBObjects 4 }
-- PRIVATE MIB implementation of standard PIM MIB for supporting
-- both PIMv4 and PIMv6                                     
snMspsPimStdScalars       OBJECT IDENTIFIER ::= { snMspsPimMIBObjects 5 }
snMspsPimStdTables        OBJECT IDENTIFIER ::= { snMspsPimMIBObjects 6 }


-- SCALAR_TABLE_BEGIN

snMspsPimVersionString      OBJECT-TYPE
    SYNTAX	    DisplayString
    MAX-ACCESS	    read-only
    STATUS	    current
    DESCRIPTION
	    "The version number of the PIM protocol in the router"
    ::= { snMspsPimScalars 1 }

--
-- Start of mib objects for data rate monitoring by the last hop router
--

snMspsPimSPTGroupThreshold	OBJECT-TYPE
    SYNTAX	      Integer32 (0..2147483647)
    MAX-ACCESS	      read-write
    STATUS	      current
    DESCRIPTION
	  "The threshold of data rate for any group when exceeded,
	   source specific counters are initiated for that particular group
	   It is based on number of bits per sec.
	  To initiate SPT switching counter, this threshold MUST be
	  configured"
    DEFVAL     { 0 }
    ::= { snMspsPimScalars 2 }

snMspsPimSPTSourceThreshold	OBJECT-TYPE
    SYNTAX	      Integer32 (0..2147483647)
    MAX-ACCESS	      read-write
    STATUS	      current
    DESCRIPTION
	  "The threshold of data rate for any source when exceeded,
           switching to Shortest Path Tree is initiated.
	   It is based on number of bits per sec.
           To switch to SPT, this threshold MUST be configured"
    DEFVAL     { 0 }
    ::= { snMspsPimScalars 3 }

snMspsPimSPTSwitchingPeriod  OBJECT-TYPE
    SYNTAX		 Integer32 (0..2147483647)
    MAX-ACCESS		 read-write
    STATUS		 current
    DESCRIPTION
	   "The period (in seconds)over which the data rate
            is to be monitored for initiating source specific
	     counting or initiating switch to shortest path tree.
	     Same period is used for monitoring data rate for
	     both source and group.
	  To switch to SPT, this period MUST be configured"
    DEFVAL     { 0 }
    ::= { snMspsPimScalars 4 }

--
-- End of mib objects for data rate monitoring by the last hop router
--


--
-- Start of mib objects for monitoring number of register message by the RP
--

snMspsPimSPTRpThreshold OBJECT-TYPE
    SYNTAX	      Integer32 (0..2147483647)
    MAX-ACCESS	      read-write
    STATUS	      current
    DESCRIPTION
      "The threshold at which the RP initiates switching to
		Source specific shortest path.It is based on number
		of registered packets received.
	   To switch to SPT, this threshold MUST be configured"
    DEFVAL     { 0 }
    ::= { snMspsPimScalars 5 }

snMspsPimSPTRpSwitchingPeriod OBJECT-TYPE
    SYNTAX	      Integer32 (0..2147483647)
    MAX-ACCESS	      read-write
    STATUS	      current
    DESCRIPTION
       "The period (in seconds) over which RP monitors
       register packets for switching to the source specific
       shortest path tree.
	    To switch to SPT, this period MUST be configured"
    DEFVAL     { 0 }
    ::= { snMspsPimScalars 6 }

--
-- End of mib objects for monitoring number of register message by the RP
--


--
-- Start of mib objects for Register stop rate limitation
--


snMspsPimRegStopRateLimitingPeriod     OBJECT-TYPE
    SYNTAX            Integer32(0..2147483647)
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
           "The period (in seconds) over which RP monitors number of
            register packets after sending the register stop message
            to the source of the register message for rate limiting the
            sending of register stop message"
    DEFVAL     { 5 }
    ::= { snMspsPimScalars 7 }

--
-- End of mib objects for register stop rate limitation
--


snMspsPimMemoryAllocFailCount	     OBJECT-TYPE
    SYNTAX	      Integer32
    MAX-ACCESS	      read-only
    STATUS	      current
    DESCRIPTION
	    " This counter holds the number of memory allocation failures "
    ::= { snMspsPimScalars 8 }

snMspsPimGlobalTrace	  OBJECT-TYPE
	SYNTAX	      Integer32 (0..65535)
	MAX-ACCESS    read-write
	STATUS	      current
	DESCRIPTION
		" This is used to enable Trace Statements in PIM Module.
		A four byte integer value is specified for enabling the level
		of tracing.Each Bit in the four byte integer variable represents
		a level of Trace. The bits represents the levels as
		follows: 0 - Init and Shutdown, 1 - Management, 2 - Data Path,
		3 - Control Plane, 4 - packet Dump, 5 - All resources except
		buffer, 6 - All Failures, 7 - Buffer.  The remaining
		bits are unused. The combination of levels are also allowed.
		For example if the bits 1 and 2 are set, then the Trace
		statements related to management and Data Path will be printed.
		The administrator have to enter the corresponding integer value
		 for the bits set. For example if bits 1 and 2 are set then
		 admin has to give the value 6."
	DEFVAL	{ 0 }
	::= { snMspsPimScalars 9 }

snMspsPimGlobalDebug	 OBJECT-TYPE
	SYNTAX	      Integer32 (0..65535)
	MAX-ACCESS    read-write
	STATUS	      current
	DESCRIPTION
		" This is used to enable Debug statements in PIM.
                  A Four byte integer value is specified for enabling the 
                  level of debugging. Each bit in the four byte integer 
                  variable represents a level of debugging. The combination of 
                  levels are also allowed. The user have to enter the 
                  corresponding integer value for the bit set.
		  The following values enable Debugging in following different
		  modules of PIM.
		  PIM_NBR_MODULE	:0x00000001
		  PIM_GRP_MODULE	:0x00000002
		  PIM_JP_MODULE		:0x00000004
		  PIM_AST_MODULE	:0x00000008
		  PIM_BSR_MODULE	:0x00000010
		  PIM_IO_MODULE		:0x00000020
		  PIM_PMBR_MODULE	:0x00000040
		  PIM_MRT_MODULE	:0x00000080
		  PIM_MDH_MODULE	:0x00000100
		  PIM_MGMT_MODULE	:0x00000200
		  PIMDM_DBG_SRM_MODULE	:0x00000400
		  PIM_HA_MODULE		:0x00000800
		  PIM_DF_MODULE         :0x00001000
		  PIM_BMRT_MODULE       :0x00002000
		  PIM_NPAPI_MODULE      :0x00004000
		  PIM_INIT_SHUT_MODULE  :0x00008000
		  PIM_OSRESOURCE_MODULE :0x00010000
		  PIM_BUFFER_MODULE     :0x00020000
		  PIM_ENTRY_MODULE      :0x00040000
		  PIM_EXIT_MODULE       :0x00080000
		  PIM_ALL_MODULES	:0x000fffff
		  PIM_MAX_INT4		:0x7fffffff
		  PIM_TRACE_DIS_FLAG	:0x80000000
		  "
	DEFVAL	{ 0 }
	::= { snMspsPimScalars 10 }

snMspsPimPmbrStatus          OBJECT-TYPE
    SYNTAX            INTEGER { disable (1),enable (2) }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The border bit which identifies the router as a border router"
    DEFVAL   { 1 }
    ::= { snMspsPimScalars 11 }

snMspsPimRouterMode          OBJECT-TYPE
    SYNTAX            INTEGER { ssmonly (1), smssm (2) }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The Mode of the Pim-SM router (ssm_only or sm_ssm )"
    DEFVAL   { 2 }
    ::= { snMspsPimScalars 12 }

snMspsPimStaticRpEnabled           OBJECT-TYPE
    SYNTAX            INTEGER { disable (0),enable (1) }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The flag which indicating that static configuration of RP is 
available"

    DEFVAL   { 0 }
    ::= { snMspsPimScalars 13 }

snMspsPimIpStatus           OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The enabled status of IPv4 Multicast Routing by PIM on this router."
    ::= { snMspsPimScalars 14 }

snMspsPimIpv6Status           OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The enabled status of IPv6 Multicast Routing by PIM on this router."
    ::= { snMspsPimScalars 15 }

--
-- start of Scalar MIB Objects related to State Refresh Module.
--

snMspsPimSRProcessingStatus         OBJECT-TYPE
    SYNTAX     INTEGER {
                 disable (0),
                           enable  (1)
                  }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            " The value indicates the whether to process and forward
              the state Refresh message"

    DEFVAL   { 1 }
    ::= { snMspsPimScalars 16 }

snMspsPimRefreshInterval OBJECT-TYPE
    SYNTAX     Integer32 (-1 | 4..100)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The interval between successive State Refresh messages sent
            by an Originator.  This timer period is called the
            RefreshInterval in the PIM-DM specification.  This object is
            used only by PIM-DM. Minus one indicates that Generation of
            State Refresh Message is disabled"

    REFERENCE "RFC 3973 section 4.8"
    DEFVAL { -1 }
    ::= { snMspsPimScalars 17 }

snMspsPimSourceActiveInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (120..210)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The Period of time after receiving a multicast message
            a Originator router (Directly connected to source)
            will continue to send State Refresh Message"

    DEFVAL { 210 }
    ::= { snMspsPimScalars 18 }

-- End of Scalar MIB objects related to State Refresh Module
--
-- Start of Scalar MIB objects related to PIM Hot-Standby Module
--
snMspsPimHAAdminStatus OBJECT-TYPE
	SYNTAX		INTEGER { disabled (0), enabled (1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            " High Availability feature enabled or disabled in PIM."
    DEFVAL   { 0 }
    ::= { snMspsPimScalars 19 }

snMspsPimHAState OBJECT-TYPE
	SYNTAX		INTEGER {
						init(1),
						activeStandbyUp(2),
						activeStandbyDown(3),
						standby(4)
						}
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
			"Internal State of the PIM instance.
			 init(1) implies that the PIM instance is up, but is unaware 
			 of the status of its peer.
			 activeStandbyUp(2) implies that the current PIM instance is up
			 and functioning as active node and its peer is functioning as the
			 standby.
			 activeStandbyDown(3) implies that the current PIM instance is up
			 and functioning as active node but its peer is down/not 
			 functioning.
			 standby(4) implies that current PIM instance is the standby
			 Instance. "
	DEFVAL	{ 1 }
	::= { snMspsPimScalars 20}

snMspsPimHADynamicBulkUpdStatus OBJECT-TYPE
	SYNTAX		INTEGER {
				 notStarted(1),
				 inProgress(2),
				 completed(3),
				 aborted(4)
				}
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
			"Status of dynamic bulk update between active and
			 dynamic PIM instance.
			 notStarted(1): Dynamic Bulk Update has not yet been started.
			 inProgress(2): Dynamic Bulk Update is in Progress.
			 completed (3): Dynamic Bulk Update is complete.
			 aborted   (4): dynamic Bulk Update is aborted."
	DEFVAL	{ 1 }
	::= { snMspsPimScalars 21}
	
snMspsPimHAForwardingTblEntryCnt	OBJECT-TYPE
	SYNTAX		Integer32 (0..65535)			   
	MAX-ACCESS  read-only
	STATUS		current
	DESCRIPTION
		        "Number entries in the shadow table of active 
			 PIM instance."
	::= { snMspsPimScalars 22}


--
-- End of Scalar MIB objects related to PIM Hot-Standby Module
--


--
-- Start of Scalar MIB objects related to PIM RPF-Vector feature
--
snMspsPimIpRpfVector           OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          "The status of IPv4 Multicast RPF Vector Feature." 
	DEFVAL	{ 2 }
    ::= { snMspsPimScalars 23 }

--
-- End of Scalar MIB objects related to PIM RPF Vector feature
--
 
--
-- Start of Scalar MIB objects related to Bidir-PIM feature
--
snMspsPimIpBidirPIMStatus           OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          "The status of Bidir-PIM Feature.Enabling/Disabling this feature 
           is applicable for both PIMv4 and PIMv6" 
	DEFVAL	{ 2 }
    ::= { snMspsPimScalars 24 }

snMspsPimIpBidirOfferInterval           OBJECT-TYPE
    SYNTAX     Integer32 (1..20000000)
    UNITS      "milliseconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The time interval between the DF election Offer messages to be sent."
    DEFVAL  { 100 }
    ::= { snMspsPimScalars 25 }

snMspsPimIpBidirOfferLimit           OBJECT-TYPE
    SYNTAX     Integer32 (3..100)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The number of unanswered offers before the router changes as the 
         designated forwarder (DF)"
    DEFVAL  { 3 }
    ::= { snMspsPimScalars 26 }

--
-- End of Scalar MIB objects related to Bidir-PIM feature
--


--
-- SCALAR_TABLE_END
--


--
-- The PIM Interface Table
--

snMspsPimInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table listing the router's PIM interfaces.
	    IGMP and PIM are enabled on all interfaces listed in this
	    table."
    ::= { snMspsPimTables 1 }

snMspsPimInterfaceEntry OBJECT-TYPE
    SYNTAX     SnMspsPimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimInterfaceTable."
    INDEX      { snMspsPimInterfaceIfIndex , snMspsPimInterfaceAddrType}
    ::= { snMspsPimInterfaceTable 1 }

SnMspsPimInterfaceEntry ::= SEQUENCE {
    snMspsPimInterfaceIfIndex		            Integer32,
    snMspsPimInterfaceAddrType		            InetAddressType,
    snMspsPimInterfaceCompId                     Integer32,
    snMspsPimInterfaceDRPriority                 Unsigned32,
    snMspsPimInterfaceHelloHoldTime              Integer32,
    snMspsPimInterfaceLanPruneDelayPresent       INTEGER,
    snMspsPimInterfaceLanDelay                   Integer32,
    snMspsPimInterfaceOverrideInterval           Integer32,
    snMspsPimInterfaceGenerationId               Integer32,
    snMspsPimInterfaceSuppressionInterval        Integer32,
    snMspsPimInterfaceAdminStatus                Integer32,
    snMspsPimInterfaceBorderBit                  Integer32,
    snMspsPimInterfaceGraftRetryInterval         Unsigned32,
    snMspsPimInterfaceSRPriorityEnabled          TruthValue,
    snMspsPimInterfaceTtl                        Integer32, 
    snMspsPimInterfaceProtocol                   IANAipMRouteProtocol,
    snMspsPimInterfaceRateLimit                  Integer32,
    snMspsPimInterfaceInMcastOctets              Counter32,
    snMspsPimInterfaceOutMcastOctets             Counter32,
    snMspsPimInterfaceHCInMcastOctets            Counter64,
    snMspsPimInterfaceHCOutMcastOctets           Counter64,
    snMspsPimInterfaceCompIdList                 CompList,
    snMspsPimInterfaceDFOfferSentPkts            Counter32,
    snMspsPimInterfaceDFOfferRcvdPkts            Counter32,
    snMspsPimInterfaceDFWinnerSentPkts           Counter32,
    snMspsPimInterfaceDFWinnerRcvdPkts           Counter32,
    snMspsPimInterfaceDFBackoffSentPkts          Counter32,
    snMspsPimInterfaceDFBackoffRcvdPkts          Counter32,
    snMspsPimInterfaceDFPassSentPkts             Counter32,
    snMspsPimInterfaceDFPassRcvdPkts             Counter32,
    snMspsPimInterfaceCKSumErrorPkts             Counter32,
    snMspsPimInterfaceInvalidTypePkts            Counter32,
    snMspsPimInterfaceInvalidDFSubTypePkts       Counter32,
    snMspsPimInterfaceAuthFailPkts               Counter32,
    snMspsPimInterfaceFromNonNbrsPkts            Counter32,
    snMspsPimInterfaceJPRcvdOnRPFPkts            Counter32,
    snMspsPimInterfaceJPRcvdNoRPPkts             Counter32,
    snMspsPimInterfaceJPRcvdWrongRPPkts          Counter32,
    snMspsPimInterfaceJoinSSMGrpPkts             Counter32,
    snMspsPimInterfaceJoinBidirGrpPkts           Counter32,
    snMspsPimInterfaceHelloRcvdPkts              Counter32,
    snMspsPimInterfaceHelloSentPkts              Counter32,
    snMspsPimInterfaceJPRcvdPkts                 Counter32,
    snMspsPimInterfaceJPSentPkts                 Counter32,
    snMspsPimInterfaceAssertRcvdPkts             Counter32,
    snMspsPimInterfaceAssertSentPkts             Counter32,
    snMspsPimInterfaceGraftRcvdPkts              Counter32,
    snMspsPimInterfaceGraftSentPkts              Counter32,
    snMspsPimInterfaceGraftAckRcvdPkts           Counter32,
    snMspsPimInterfaceGraftAckSentPkts           Counter32,
    snMspsPimInterfacePackLenErrorPkts           Counter32,
    snMspsPimInterfaceBadVersionPkts             Counter32,
    snMspsPimInterfacePktsfromSelf               Counter32,
    snMspsPimInterfaceExtBorderBit               Integer32,
    snMspsPimInterfaceJoinSSMBadPkts		Counter32

}

snMspsPimInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The ifIndex value of this PIM interface."
    ::= { snMspsPimInterfaceEntry 1 }

snMspsPimInterfaceAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP address type of the PIM Interface for which this entry
	    contains information."
    ::= { snMspsPimInterfaceEntry 2 }

snMspsPimInterfaceCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          " This object is the component Id of the component to which the 
          interface belongs to"   
    DEFVAL     { 1 }
    ::= { snMspsPimInterfaceEntry 3 }      


snMspsPimInterfaceDRPriority    OBJECT-TYPE
    SYNTAX            Unsigned32
    MAX-ACCESS  read-write
    STATUS            current
    DESCRIPTION
            "The DR priority value configured for Hello message for that     
router per interface"
    DEFVAL     { 1 }
    ::= {snMspsPimInterfaceEntry 4 }

snMspsPimInterfaceHelloHoldTime            OBJECT-TYPE
    SYNTAX            Integer32 (1..65535)
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
            "The hold time configured for the Hello message for that     
              router per interface"
      ::= { snMspsPimInterfaceEntry 5 }

snMspsPimInterfaceLanPruneDelayPresent     OBJECT-TYPE
    SYNTAX            INTEGER {disable (0), enable (1)}
    MAX-ACCESS  read-write
    STATUS            current
    DESCRIPTION
            "The LanPruneDelayPresent bit configured for the router per  
             interface"
    DEFVAL     { 0 }
    ::= { snMspsPimInterfaceEntry 6 }

snMspsPimInterfaceLanDelay      OBJECT-TYPE
    SYNTAX            Integer32 (0..65535)
    UNITS             "milliseconds" 
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The LanPruneDelayPresent bit configured for the router per     
             interface"
    DEFVAL     { 0 }
    ::= { snMspsPimInterfaceEntry 7 }    

snMspsPimInterfaceOverrideInterval           OBJECT-TYPE
    SYNTAX            Integer32 (0..65535)
    UNITS             "milliseconds" 
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The Override Interval configured for the router per interface"
    DEFVAL     { 0 }
    ::= { snMspsPimInterfaceEntry 8}

snMspsPimInterfaceGenerationId            OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The Generation identifier of the router. This is used by
            neighbour routers to quickly detect router reboot and             
            synchronize RP-Set information and forwarding states by triggering         
            Bootstrap and Join/Prune messages to the rebooted router"
    ::= { snMspsPimInterfaceEntry 9 }

snMspsPimInterfaceSuppressionInterval OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The interface suppression period "
    ::= { snMspsPimInterfaceEntry 10 }    

snMspsPimInterfaceAdminStatus OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The interface Administrative Status "
    ::= { snMspsPimInterfaceEntry 11 }   
 
snMspsPimInterfaceBorderBit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "This indicates this interface is border interface or not,
             1-- border interface, 0(default value)-- Normal interface."
    ::= { snMspsPimInterfaceEntry 12 }    

snMspsPimInterfaceGraftRetryInterval OBJECT-TYPE
    SYNTAX     Unsigned32 (1..10)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The minimum interval that must transpire between two
            successive Grafts sent by a router.  This object corresponds
            to the 'Graft_Retry_Period' timer value defined in the
            PIM-DM specification.  This object is used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.8"
    DEFVAL { 3 }
    ::= { snMspsPimInterfaceEntry 13 }

snMspsPimInterfaceSRPriorityEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if all routers on this interface are
            using the State Refresh option.  This object is used only by
            PIM-DM."
    ::= { snMspsPimInterfaceEntry 14 }

snMspsPimInterfaceTtl OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The datagram TTL threshold for the interface. Any IP
            multicast datagrams with a TTL less than this threshold will
            not be forwarded out the interface. The default value of 0
            means all multicast packets are forwarded out the
            interface."
    ::= { snMspsPimInterfaceEntry 15 }

snMspsPimInterfaceProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing protocol running on this interface."
    ::= { snMspsPimInterfaceEntry 16}

snMspsPimInterfaceRateLimit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The rate-limit, in kilobits per second, of forwarded
            multicast traffic on the interface.  A rate-limit of 0
            indicates that no rate limiting is done."
    DEFVAL     { 0 }
    ::= { snMspsPimInterfaceEntry 17}

snMspsPimInterfaceInMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have arrived
            on the interface, including framing characters.  This object
            is similar to ifInOctets in the Interfaces MIB, except that
            only multicast packets are counted."
    ::= { snMspsPimInterfaceEntry 18}

snMspsPimInterfaceOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have been
            sent on the interface."
    ::= { snMspsPimInterfaceEntry 19}

snMspsPimInterfaceHCInMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have arrived
            on the interface, including framing characters.  This object
            is a 64-bit version of snMspsPimInterfaceInMcaestOctets.  It
            is similar to ifHCInOctets in the Interfaces MIB, except
            that only multicast packets are counted.  "
    ::= { snMspsPimInterfaceEntry 20}

snMspsPimInterfaceHCOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have been
             sent on the interface. This object is a 64-bit version of
             snMspsPimInterfaceOutMcastOctets."
   ::= { snMspsPimInterfaceEntry 21}
snMspsPimInterfaceCompIdList OBJECT-TYPE
    SYNTAX     CompList
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          " This object is the component Id List of the components which are 
            associated with this interface"   
    ::= { snMspsPimInterfaceEntry 22 }      

snMspsPimInterfaceDFOfferSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF Offer packets sent by an interface"
    ::= { snMspsPimInterfaceEntry 23 }


snMspsPimInterfaceDFOfferRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF Offer packets received on an interface"
    ::= { snMspsPimInterfaceEntry 24 }

snMspsPimInterfaceDFWinnerSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF winner packets sent by an interface"
    ::= { snMspsPimInterfaceEntry 25 }

snMspsPimInterfaceDFWinnerRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
          "This object displays the number of DF winner packets received on an interface"
    ::= { snMspsPimInterfaceEntry 26 }

snMspsPimInterfaceDFBackoffSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF Backoff packets sent  per interface"
    ::= { snMspsPimInterfaceEntry 27 }

snMspsPimInterfaceDFBackoffRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF Backoff packets Received  per interface"
    ::= { snMspsPimInterfaceEntry 28 }

snMspsPimInterfaceDFPassSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF pass packets sent per interface"
    ::= { snMspsPimInterfaceEntry 29 }

snMspsPimInterfaceDFPassRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of DF pass packets received on an interface"
    ::= { snMspsPimInterfaceEntry 30 }

snMspsPimInterfaceCKSumErrorPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of packets received on an interface with incorrect checksum"
    ::= { snMspsPimInterfaceEntry 31 }

snMspsPimInterfaceInvalidTypePkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of packets received on an interface with incorrect PIM packet type"
    ::= { snMspsPimInterfaceEntry 32 }

snMspsPimInterfaceInvalidDFSubTypePkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of packets received on an interface with incorrect DF subtype"
    ::= { snMspsPimInterfaceEntry 33 }

snMspsPimInterfaceAuthFailPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of packets dropped due to Authentication Failure"
    ::= { snMspsPimInterfaceEntry 34 }

snMspsPimInterfaceFromNonNbrsPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of PIM control packets received on an interface from non-neighbors"
    ::= { snMspsPimInterfaceEntry 35 }

snMspsPimInterfaceJPRcvdOnRPFPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of Join and Prune packets received on an RPF interface."
    ::= { snMspsPimInterfaceEntry 36 }

snMspsPimInterfaceJPRcvdNoRPPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of (*,G) join and prune packets for which there is no RP in that specified group(G)"
    ::= { snMspsPimInterfaceEntry 37 }

snMspsPimInterfaceJPRcvdWrongRPPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of (*,G) join and prune packets with wrong RP information in that group(G)"
    ::= { snMspsPimInterfaceEntry 38 }

snMspsPimInterfaceJoinSSMGrpPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of (S,G) join packets received on an interface whose group range is in SSM Group range"
    ::= { snMspsPimInterfaceEntry 39 }

snMspsPimInterfaceJoinBidirGrpPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of (*,G) or (S,G) join packets received on an interface whose group is configured as Bidir group"
    ::= { snMspsPimInterfaceEntry 40 }

snMspsPimInterfaceHelloRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of hello packtes received on an interface"
    ::= { snMspsPimInterfaceEntry 41 }

snMspsPimInterfaceHelloSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of hello packets sent by an interface"
    ::=  { snMspsPimInterfaceEntry 42 }

snMspsPimInterfaceJPRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of join/prune packets received on an interface"
    ::= { snMspsPimInterfaceEntry 43 }

snMspsPimInterfaceJPSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of join/prune packets sent by an interface"
    ::= { snMspsPimInterfaceEntry 44 }

snMspsPimInterfaceAssertRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of assert packets received on an interface"
    ::= { snMspsPimInterfaceEntry 45  }
snMspsPimInterfaceAssertSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of assert packets sent by an interfcace"
    ::= { snMspsPimInterfaceEntry 46 }
snMspsPimInterfaceGraftRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of graft packets received on an interface"
    ::= { snMspsPimInterfaceEntry 47 }
 snMspsPimInterfaceGraftSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of graft packets sent by an interface"
    ::= {snMspsPimInterfaceEntry 48 }
snMspsPimInterfaceGraftAckRcvdPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of graft ACK packets received on an interface"
    ::= { snMspsPimInterfaceEntry 49 }
snMspsPimInterfaceGraftAckSentPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of graft ACK packets sent by an interface"
    ::= { snMspsPimInterfaceEntry 50 }
snMspsPimInterfacePackLenErrorPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of packets with packet length error"
    ::= { snMspsPimInterfaceEntry 51 }
snMspsPimInterfaceBadVersionPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of bad version packets"
    ::= { snMspsPimInterfaceEntry 53 }
snMspsPimInterfacePktsfromSelf OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of packets sent from the interface"
    ::= { snMspsPimInterfaceEntry 54 }

snMspsPimInterfaceExtBorderBit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
    "This object displays the interface connected to a non-PIM Domain"
    ::= { snMspsPimInterfaceEntry 55 }

snMspsPimInterfaceJoinSSMBadPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object displays the number of join packets discarded on an interface whose group range is in SSM Group range"
    ::= { snMspsPimInterfaceEntry 56 }


--
-- The PIM Neighbor Table
--

snMspsPimNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
	    "The (conceptual) table listing the router's PIM neighbors.
        This table has been superseded by snMspsPimNeighborExtTable.
        This table may be used as long as two neighbors on different
        interfaces do not have the same IPv6 link-local address."
    ::= { snMspsPimTables 2 }

snMspsPimNeighborEntry OBJECT-TYPE
    SYNTAX     SnMspsPimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimNeighborTable."
    INDEX      { snMspsPimNeighborCompId, snMspsPimNeighborAddrType, 
                 snMspsPimNeighborAddress }
    ::= { snMspsPimNeighborTable 1 }

SnMspsPimNeighborEntry ::= SEQUENCE {

    snMspsPimNeighborCompId                Integer32,
    snMspsPimNeighborAddrType 	          InetAddressType,
    snMspsPimNeighborAddress	              InetAddress,
    snMspsPimNeighborIfIndex	              Integer32,
    snMspsPimNeighborUpTime	              TimeTicks,
    snMspsPimNeighborExpiryTime            TimeTicks,
    snMspsPimNeighborGenerationId          Integer32,
    snMspsPimNeighborLanDelay              Integer32,
    snMspsPimNeighborDRPriority            Unsigned32,
    snMspsPimNeighborOverrideInterval      Integer32,
    snMspsPimNeighborSRCapable             TruthValue,
    snMspsPimNeighborRPFCapable            TruthValue,
    snMspsPimNeighborBidirCapable          TruthValue
}

snMspsPimNeighborCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
          " The component Id of this neighbor table "
    ::= { snMspsPimNeighborEntry 1 }      

snMspsPimNeighborAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
	    "The address Type of the PIM neighbor for which this entry
	    contains information."
    ::= { snMspsPimNeighborEntry 2 }

snMspsPimNeighborAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
	    "The IP address of the PIM neighbor for which this entry
	    contains information."
    ::= { snMspsPimNeighborEntry 3 }

snMspsPimNeighborIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
	    "The value of ifIndex for the interface used to reach this
	    PIM neighbor."
    ::= { snMspsPimNeighborEntry 4 }

snMspsPimNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
	    "The time since this PIM neighbor (last) became a neighbor
	    of the local router."
    ::= { snMspsPimNeighborEntry 5 }

snMspsPimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
	    "The minimum time remaining before this PIM neighbor will be
	    aged out."
    ::= { snMspsPimNeighborEntry 6 }
    
snMspsPimNeighborGenerationId OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The Generation identifier of the router. This is used by
             neighbour routers to quickly detect router reboot and synchronize
             RP-Set information and forwarding states by triggering Bootstrap
             and Join/Prune messages to the rebooted router"
    ::= { snMspsPimNeighborEntry 7 }


snMspsPimNeighborLanDelay           OBJECT-TYPE
    SYNTAX            Integer32
    MAX-ACCESS        read-only
    STATUS            deprecated
    DESCRIPTION
            "The LanDelay configured for this PIM neighbor"
    ::= { snMspsPimNeighborEntry 8 }

snMspsPimNeighborDRPriority             OBJECT-TYPE
    SYNTAX            Unsigned32
    MAX-ACCESS        read-only
    STATUS            deprecated
    DESCRIPTION
            "The DR priority value configured for this PIM neighbor"
    ::= { snMspsPimNeighborEntry 9 }

snMspsPimNeighborOverrideInterval           OBJECT-TYPE
    SYNTAX            Integer32
    MAX-ACCESS        read-only
    STATUS            deprecated
    DESCRIPTION
            "The Override Interval configured for this PIM neighbor"
    ::= { snMspsPimNeighborEntry 10 }
    
snMspsPimNeighborSRCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is using the State
            Refresh Capable option.  This object is used only by
            PIM-DM."
    REFERENCE "RFC 3973 section 4.3.4"
    ::= { snMspsPimNeighborEntry 11 }

snMspsPimNeighborRPFCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is RPF Vector Capable."
    ::= { snMspsPimNeighborEntry 12 }    

snMspsPimNeighborBidirCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "Evaluates to TRUE if this neighbor is Bidir-PIM Capable."
    ::= { snMspsPimNeighborEntry 13 }    


--
-- The PIM IP Multicast Route Table
--

snMspsPimIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table listing PIM multicast routing information"
    ::= { snMspsPimTables 3 }

snMspsPimIpMRouteEntry OBJECT-TYPE
    SYNTAX     SnMspsPimIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimIpMRouteTable.	 There
	    is one entry for each incoming interface running PIM"
    INDEX      { snMspsPimIpMRouteCompId, snMspsPimIpMRouteAddrType, 
                 snMspsPimIpMRouteGroup, snMspsPimIpMRouteSource, 
                 snMspsPimIpMRouteSourceMasklen } 
    ::= { snMspsPimIpMRouteTable 1 }

SnMspsPimIpMRouteEntry ::= SEQUENCE {
    snMspsPimIpMRouteCompId                    Integer32,
    snMspsPimIpMRouteAddrType	              InetAddressType,
    snMspsPimIpMRouteGroup	                  InetAddress,
    snMspsPimIpMRouteSource	                  InetAddress,
    snMspsPimIpMRouteSourceMasklen             Integer32,
    snMspsPimIpMRouteUpstreamNeighbor          InetAddress,
    snMspsPimIpMRouteInIfIndex	              Integer32,
    snMspsPimIpMRouteUpTime	                  TimeTicks,
    snMspsPimIpMRoutePkts		              Counter32,
    snMspsPimIpMRouteUpstreamAssertTimer       TimeTicks,
    snMspsPimIpMRouteAssertMetric	          Integer32,
    snMspsPimIpMRouteAssertMetricPref          Integer32,
    snMspsPimIpMRouteAssertRPTBit	          TruthValue,
    snMspsPimIpMRouteTimerFlags	              Integer32,
    snMspsPimIpMRouteFlags	                  Integer32,
    snMspsPimIpMRouteUpstreamPruneState        INTEGER,
    snMspsPimIpMRouteUpstreamPruneLimitTimer   TimeTicks,
    snMspsPimIpMRouteOriginatorState           INTEGER,
    snMspsPimIpMRouteSourceActiveTimer         TimeTicks,
    snMspsPimIpMRouteStateRefreshTimer         TimeTicks,
    snMspsPimIpMRouteExpiryTime                TimeTicks,
    snMspsPimIpMRouteDifferentInIfPackets      Counter32,
    snMspsPimIpMRouteOctets                    Counter32,
    snMspsPimIpMRouteProtocol                  IANAipMRouteProtocol,
    snMspsPimIpMRouteRtProto                   IANAipRouteProtocol,
    snMspsPimIpMRouteRtAddress                 InetAddress,
    snMspsPimIpMRouteRtMasklen                 Integer32,
    snMspsPimIpMRouteRtType                    INTEGER,
    snMspsPimIpMRouteHCOctets                  Counter64,
    snMspsPimIpMRouteOIfList                   PortList,
    snMspsPimIpMRouteRPFVectorAddr             InetAddress,
    snMspsPimIpMRoutePimMode                   INTEGER
}

snMspsPimIpMRouteCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
         "The component Id of this table"
    ::= { snMspsPimIpMRouteEntry 1 }    
 
snMspsPimIpMRouteAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP family in which the route belongs to."
    ::= { snMspsPimIpMRouteEntry 2 }

snMspsPimIpMRouteGroup OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP multicast group address for which this entry
	    contains multicast routing information."
    ::= { snMspsPimIpMRouteEntry 3 }

snMspsPimIpMRouteSource OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network address which when combined with the
	    corresponding value of ipMRouteSourceMask identifies the
	    sources for which this entry contains multicast routing
	    information."
    ::= { snMspsPimIpMRouteEntry 4 }

snMspsPimIpMRouteSourceMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network mask which when combined with the corresponding
	    value of ipMRouteSource identifies the sources for which
	    this entry contains multicast routing information."
    ::= { snMspsPimIpMRouteEntry 5 }

snMspsPimIpMRouteUpstreamNeighbor OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The address of the upstream neighbor (e.g., RPF neighbor)
	    from which IP datagrams from these sources to this multicast
	    address are received."
    ::= { snMspsPimIpMRouteEntry 6 }

snMspsPimIpMRouteInIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The value of ifIndex for the interface on which IP
	    datagrams sent by these sources to this multicast address
	    are received."
    ::= { snMspsPimIpMRouteEntry 7 }

snMspsPimIpMRouteUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The time since the multicast routing information
	    represented by this entry was learned by the router."
    ::= { snMspsPimIpMRouteEntry 8 }

snMspsPimIpMRoutePkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The number of packets which this router has received from
	    these sources and addressed to this multicast group
	    address."
    ::= { snMspsPimIpMRouteEntry 9 }

snMspsPimIpMRouteUpstreamAssertTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The time remaining before the router changes its upstream
	    neighbor back to its RPF neighbor.	This timer is called the
	    Assert timer in the PIM Sparse and Dense mode specification.
	    A value of 0 indicates that no Assert has changed the
	    upstream neighbor away from the RPF neighbor."
    ::= { snMspsPimIpMRouteEntry 10 }

snMspsPimIpMRouteAssertMetric OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The metric advertised by the assert winner on the upstream
	    interface, or 0 if no such assert is in received."
    ::= { snMspsPimIpMRouteEntry 11 }

snMspsPimIpMRouteAssertMetricPref OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The preference advertised by the assert winner on the
	    upstream interface, or 0 if no such assert is in effect."
    ::= { snMspsPimIpMRouteEntry 12 }

snMspsPimIpMRouteAssertRPTBit OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The value of the RPT-bit advertised by the assert winner on
	    the upstream interface, or false if no such assert is in
	    effect."
    ::= { snMspsPimIpMRouteEntry 13 }

snMspsPimIpMRouteTimerFlags OBJECT-TYPE
    SYNTAX     Integer32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object describes PIM-specific Timer flags related to a
	    Multicast Route Entry. If the bit is 1 indicates that timer 
            is started for that entry.  The bits corresponding to the 
            timers are as follows:
            0 - JP Suppression Timer, 1 - Oif Timer, 2 - Entry Timer,
            3 - Reg Suppression Timer, 4 - Assert Timer, 
            5 - RandomDelayJoin Timer.
            For example, If this object value is 3 (0000 0011), then
            it means that JPSuppression timer and  Oif timer are running.
            This is for both SM and DM. The bits which are not applicable 
            to DM/SM will be filled with 0 "
    ::= { snMspsPimIpMRouteEntry 14 }

snMspsPimIpMRouteFlags OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object describes PIM-specific flags related to a
	    multicast state entry.  See the PIM Sparse Mode
	    specification for the meaning of the RPT and SPT bits."
    ::= { snMspsPimIpMRouteEntry 15 }

snMspsPimIpMRouteUpstreamPruneState OBJECT-TYPE
    SYNTAX     INTEGER {
                  forwarding (1),
                  ackpending (2),
                  pruned (3)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether the local router has pruned itself from the tree.
            This corresponds to the state of the upstream prune (S,G)
            state machine in the PIM-DM specification.  This object is
            used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.4.1"
    ::= { snMspsPimIpMRouteEntry 16 }

snMspsPimIpMRouteUpstreamPruneLimitTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining before the local router may send a (S,G)
            Prune message on pimSGRPFIfIndex.  This timer is called the
            (S,G) Prune Limit Timer in the PIM-DM specification.  This
            object is zero if the timer is not running.  This object is
            used only by PIM-DM."
    REFERENCE "RFC 2973 section 4.8"
    ::= { snMspsPimIpMRouteEntry 17 }

snMspsPimIpMRouteOriginatorState OBJECT-TYPE
    SYNTAX     INTEGER {
                  notOriginator (1),
                  originator (2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Whether the router is an originator for an (S,G) message
            flow.  This corresponds to the state of the per-(S,G)
            Originator state machine in the PIM-DM specification.  This
            object is used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.5.2"
    ::= { snMspsPimIpMRouteEntry 18 }

snMspsPimIpMRouteSourceActiveTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "If pimSGOriginatorState is 'originator', this is the time
            remaining before the local router reverts to a notOriginator
            state.  Otherwise, this is zero.  This timer is called the
            Source Active Timer in the PIM-DM specification.  This
            object is used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.8"
    ::= { snMspsPimIpMRouteEntry 19 }

snMspsPimIpMRouteStateRefreshTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "If pimSGOriginatorState is 'originator', this is the time
            remaining before the local router sends a State Refresh
            message.  Otherwise, this is zero.  This timer is called the
            State Refresh Timer in the PIM-DM specification.  This
            object is used only by PIM-DM."
    REFERENCE "RFC 3973 section 4.8"
    ::= { snMspsPimIpMRouteEntry 20 }

snMspsPimIpMRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
             be aged out."
    ::= { snMspsPimIpMRouteEntry 21 }

snMspsPimIpMRouteDifferentInIfPackets OBJECT-TYPE
    SYNTAX     Counter32  
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            " The number of packets which this router has received from
            these sources and addressed to this multicast group address,
            which were dropped because they were not received on the
            interface indicated by snMspsPimIpMRouteInIfIndex."
    ::= { snMspsPimIpMRouteEntry 22 }

snMspsPimIpMRouteOctets OBJECT-TYPE
    SYNTAX     Counter32    
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            " The number of octets contained in IP datagrams which were
            received from these sources and addressed to this multicast
            group address, and which were forwarded by this router."
    ::= { snMspsPimIpMRouteEntry 23 }

snMspsPimIpMRouteProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol   
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The multicast routing protocol via which this multicast
             forwarding entry was learned."
    ::= { snMspsPimIpMRouteEntry 24 }

snMspsPimIpMRouteRtProto OBJECT-TYPE
    SYNTAX     IANAipRouteProtocol 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing mechanism via which the route used to find the
            upstream or parent interface for this multicast forwarding
            entry was learned.  Inclusion of values for routing
            protocols is not intended to imply that those protocols need
            be supported."
    ::= { snMspsPimIpMRouteEntry 25}

snMspsPimIpMRouteRtAddress OBJECT-TYPE
    SYNTAX     InetAddress 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address portion of the route used to find the upstream
            or parent interface for this multicast forwarding entry."
    ::= { snMspsPimIpMRouteEntry 26 }

snMspsPimIpMRouteRtMasklen OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The mask associated with the route used to find the upstream
            or parent interface for this multicast forwarding entry."
    ::= { snMspsPimIpMRouteEntry 27 }

snMspsPimIpMRouteRtType OBJECT-TYPE
    SYNTAX     INTEGER {
                unicast (1),  -- Unicast route used in multicast RIB
                multicast (2) -- Multicast route
               }   
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "Route type"
    ::= { snMspsPimIpMRouteEntry 28 }

snMspsPimIpMRouteHCOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets contained in IP datagrams which were
            received from these sources and addressed to this multicast
            group address, and which were forwarded by this router.
            This object is a 64-bit version of snMspsPimIpMRouteOctets."
    ::= { snMspsPimIpMRouteEntry 29 }

snMspsPimIpMRouteOIfList OBJECT-TYPE
    SYNTAX     PortList
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object is the Outgoing Interface List of the mroute"
    ::= { snMspsPimIpMRouteEntry 30 }

snMspsPimIpMRouteRPFVectorAddr       OBJECT-TYPE 
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "It shows the RPF vector Address to reach the actual destination:
             either RP for creating (*,G) entry,
             multicast Source for creating (S,G) entry.This Vector is stored
             from the received Join/Prune Packet."
    ::= { snMspsPimIpMRouteEntry 31 }

snMspsPimIpMRoutePimMode OBJECT-TYPE
    SYNTAX     INTEGER { 
                        dm (1),
                        sm (2),
                        ssm (3),
                        bidir (4) 
                        }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The value shows the PIM mode of the group present
         in the Mroute entry"
    ::= { snMspsPimIpMRouteEntry 32 }


--
-- The PIM Next Hop Table
--

snMspsPimIpMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimIpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table listing PIM information on the next hops
	    on outgoing interfaces for forwarding multicast datagrams"
    ::= { snMspsPimTables 4 }

snMspsPimIpMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     SnMspsPimIpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimIpMRouteNextHopTable.
	    There is one entry per entry in the ipMRouteNextHopTable
	    whose interface is running PIM and whose
	    snMspsPimIpMRouteNextHopState is pruned(1)."
    INDEX      { snMspsPimIpMRouteNextHopCompId, snMspsPimIpMRouteNextHopAddrType,
                 snMspsPimIpMRouteNextHopGroup, snMspsPimIpMRouteNextHopSource,
		 snMspsPimIpMRouteNextHopSourceMasklen, snMspsPimIpMRouteNextHopIfIndex,
		 snMspsPimIpMRouteNextHopAddress }
    ::= { snMspsPimIpMRouteNextHopTable 1 }

SnMspsPimIpMRouteNextHopEntry ::= SEQUENCE {
    snMspsPimIpMRouteNextHopCompId           Integer32,
    snMspsPimIpMRouteNextHopAddrType         InetAddressType,
    snMspsPimIpMRouteNextHopGroup		 InetAddress,
    snMspsPimIpMRouteNextHopSource		 InetAddress,
    snMspsPimIpMRouteNextHopSourceMasklen	 Integer32,
    snMspsPimIpMRouteNextHopIfIndex		 Integer32,
    snMspsPimIpMRouteNextHopAddress		 InetAddress,
    snMspsPimIpMRouteNextHopPruneReason	 INTEGER,
    snMspsPimIpMRouteNextHopState	      INTEGER,
    snMspsPimIpMRouteNextHopUpTime             TimeTicks,
    snMspsPimIpMRouteNextHopExpiryTime         TimeTicks,
    snMspsPimIpMRouteNextHopProtocol           IANAipMRouteProtocol,
    snMspsPimIpMRouteNextHopPkts               Counter32
}

snMspsPimIpMRouteNextHopCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
         " The component Id for this table "
   ::= { snMspsPimIpMRouteNextHopEntry 1 }
 
snMspsPimIpMRouteNextHopAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP family in which the Next hop address  belongs to."
    ::= { snMspsPimIpMRouteNextHopEntry  2 }
    
snMspsPimIpMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP multicast group for which this entry specifies a
	    next-hop on an outgoing interface."
    ::= { snMspsPimIpMRouteNextHopEntry 3 }

snMspsPimIpMRouteNextHopSource OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network address which when combined with the
	    corresponding value of snMspsPimIpMRouteNextHopSourceMask identifies
	    the sources for which this entry specifies a next-hop on an
	    outgoing interface."
    ::= { snMspsPimIpMRouteNextHopEntry 4 }

snMspsPimIpMRouteNextHopSourceMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network mask which when combined with the corresponding
	    value of snMspsPimIpMRouteNextHopSource identifies the sources for
	    which this entry specifies a next-hop on an outgoing interface"
    ::= { snMspsPimIpMRouteNextHopEntry 5 }

snMspsPimIpMRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The ifIndex value of the interface for the outgoing
	    interface for this next-hop."
    ::= { snMspsPimIpMRouteNextHopEntry 6 }

snMspsPimIpMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The address of the next-hop specific to this entry.  For
	    most interfaces, this is identical to snMspsPimIpMRouteNextHopGroup.
	    NBMA interfaces, however, may have multiple next-hop
	    addresses out a single outgoing interface."
    ::= { snMspsPimIpMRouteNextHopEntry 7 }

snMspsPimIpMRouteNextHopPruneReason OBJECT-TYPE
    SYNTAX     INTEGER {
                  forwarding (0),
		  other (1),
		  prune (2),
		  assert (3)
	       }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object indicates why the downstream interface was
	    pruned, whether in response to a PIM prune message or due to
	    PIM Assert processing."
    ::= { snMspsPimIpMRouteNextHopEntry 8 }

snMspsPimIpMRouteNextHopState OBJECT-TYPE
    SYNTAX     INTEGER { pruned(1), forwarding(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "An indication of whether the outgoing interface and next-
	    hop represented by this entry is currently being used to
	    forward IP datagrams.  The value 'forwarding' indicates it
	    is currently being used; the value 'pruned' indicates it is
	    not."
    ::= { snMspsPimIpMRouteNextHopEntry 9 }

snMspsPimIpMRouteNextHopUpTime OBJECT-TYPE
    SYNTAX     TimeTicks 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "The time since the multicast routing information
              represented by this entry was learned by the router"
    ::= { snMspsPimIpMRouteNextHopEntry 10 }

snMspsPimIpMRouteNextHopExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "The minimum amount of time remaining before this entry will
            be aged out.  If ipMRouteNextHopState is pruned(1), the
            remaining time until the prune expires and the state reverts
            to forwarding(2).  Otherwise, the remaining time until this
            entry is removed from the table.  The time remaining may be
            copied from ipMRouteExpiryTime if the protocol in use for
            this entry does not specify next-hop timers.  The value 0
            indicates that the entry is not subject to aging."
    ::= { snMspsPimIpMRouteNextHopEntry 11 }

snMspsPimIpMRouteNextHopProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "The routing mechanism via which this next-hop was learned."
    ::= { snMspsPimIpMRouteNextHopEntry 12 }

snMspsPimIpMRouteNextHopPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "The number of packets which have been forwarded using this
              route."
    ::= { snMspsPimIpMRouteNextHopEntry 13 }

    
--
-- The PIM Candidate-RP Table
--

snMspsPimCandidateRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimCandidateRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table listing the IP multicast groups for
	    which the local router is to advertise itself as a
	    Candidate-RP when the value of snMspsPimStdComponentCRPHoldTime is
	    non-zero.  If this table is empty, then the local router
	    will advertise itself as a Candidate-RP for all groups
	    (providing the value of snMspsPimStdComponentCRPHoldTime is non-
	    zero)."
    ::= { snMspsPimTables 6 }

snMspsPimCandidateRPEntry OBJECT-TYPE
    SYNTAX     SnMspsPimCandidateRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimCandidateRPTable."
    INDEX      { snMspsPimCandidateRPCompId,
                 snMspsPimCandidateRPAddrType,
                 snMspsPimCandidateRPGroupAddress,
		         snMspsPimCandidateRPGroupMasklen,
                 snMspsPimCandidateRPAddress
                 }
    ::= { snMspsPimCandidateRPTable 1 }

SnMspsPimCandidateRPEntry ::= SEQUENCE {
    snMspsPimCandidateRPCompId        Integer32,
    snMspsPimCandidateRPAddrType    InetAddressType,
    snMspsPimCandidateRPGroupAddress  InetAddress,
    snMspsPimCandidateRPGroupMasklen  Integer32,
    snMspsPimCandidateRPAddress	  InetAddress,
    snMspsPimCandidateRPPriority      Integer32, 
    snMspsPimCandidateRPRowStatus	  RowStatus,
    snMspsPimCandidateRPPimMode        INTEGER
}

snMspsPimCandidateRPCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
       "Component Id for this table "
    ::= { snMspsPimCandidateRPEntry 1 }   
 
snMspsPimCandidateRPAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP Address type  in which the multicast group address, 
            and RP address belong to."
    ::= { snMspsPimCandidateRPEntry 2 }

snMspsPimCandidateRPGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP multicast group address which, when combined with
	    snMspsPimCandidateRPGroupMask, identifies a group prefix for which
	    the local router will advertise itself as a Candidate-RP."
    ::= { snMspsPimCandidateRPEntry 3 }

snMspsPimCandidateRPGroupMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The multicast group address mask which, when combined with
	    snMspsPimCandidateRPGroupMask, identifies a group prefix for which
	    the local router will advertise itself as a Candidate-RP."
    ::= { snMspsPimCandidateRPEntry 4 }

snMspsPimCandidateRPAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible 
    STATUS     current
    DESCRIPTION
	    "The (unicast) address of the interface which will be
	    advertised as a Candidate-RP."
    ::= { snMspsPimCandidateRPEntry 5 }


snMspsPimCandidateRPPriority OBJECT-TYPE
    SYNTAX     Integer32  (0..255)
    MAX-ACCESS read-write 
    STATUS     current
    DESCRIPTION
	    "The priority of the interface which will be
	    advertised as a Candidate-RP."
    ::= { snMspsPimCandidateRPEntry 6 }

snMspsPimCandidateRPRowStatus 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."
    ::= { snMspsPimCandidateRPEntry 7 }

snMspsPimCandidateRPPimMode OBJECT-TYPE
    SYNTAX     INTEGER {
                        sm (2),
                        bidir (4)
                       }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
	    "The value shows the PIM mode of the group for
         which candidate RP is configured."
    ::= { snMspsPimCandidateRPEntry 8 }


--
-- The PIM Static RP-Set Table
--

snMspsPimStaticRPSetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStaticRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which the routers are available as the RP through static 
configuration."

    ::= { snMspsPimTables 7 }

snMspsPimStaticRPSetEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStaticRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimStaticRPSetTable."
    INDEX      { snMspsPimStaticRPSetCompId, snMspsPimStaticRPAddrType, 
                 snMspsPimStaticRPSetGroupAddress,
                 snMspsPimStaticRPSetGroupMasklen}
    ::= { snMspsPimStaticRPSetTable 1 }

SnMspsPimStaticRPSetEntry ::= SEQUENCE {
    snMspsPimStaticRPSetCompId         Integer32, 
    snMspsPimStaticRPAddrType          InetAddressType,
    snMspsPimStaticRPSetGroupAddress   InetAddress,
    snMspsPimStaticRPSetGroupMasklen   Integer32,
    snMspsPimStaticRPAddress           InetAddress,
    snMspsPimStaticRPRowStatus         RowStatus,
    snMspsPimStaticRPEmbdFlag          INTEGER,
    snMspsPimStaticRPPimMode           INTEGER
}    

snMspsPimStaticRPSetCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
       "Component Id for this table "
    ::= { snMspsPimStaticRPSetEntry 1 }   
 
snMspsPimStaticRPAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP address type in which the RP address belongs to."
    ::= { snMspsPimStaticRPSetEntry 2 }

snMspsPimStaticRPSetGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address which, when combined with
            pimStaticRPSetGroupMask, gives the group prefix for which this
            entry contains information about the RP."
    ::= { snMspsPimStaticRPSetEntry 3 }

snMspsPimStaticRPSetGroupMasklen OBJECT-TYPE
    SYNTAX     Integer32 (0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address mask which, when combined with
            pimStaticRPSetGroupAddress, gives the group prefix for which this
            entry contains information about the RP."
    ::= { snMspsPimStaticRPSetEntry 4 }

snMspsPimStaticRPAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The  address of the interface which will be
            static configured as the RP."
    ::= { snMspsPimStaticRPSetEntry 5 }

snMspsPimStaticRPRowStatus 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."
    ::= { snMspsPimStaticRPSetEntry 6 }

snMspsPimStaticRPEmbdFlag OBJECT-TYPE
    SYNTAX            INTEGER { disable (0), enable (1) }
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            "The value of the flag indicates if entry is configured 
             for static RP or embedded-RP. 
             disabled -  entry configured for Static RP
             enabled  -  entry configured for Embedded RP."

    DEFVAL   { 0 }
    ::= { snMspsPimStaticRPSetEntry 7 }

snMspsPimStaticRPPimMode OBJECT-TYPE
    SYNTAX     INTEGER {
                        sm (2),
                        bidir (4)
                        }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
	    "The value shows the PIM mode of the group for
         which static RP is configured."
    ::= { snMspsPimStaticRPSetEntry 8 }


--
-- snMspsPimComponentModeTable
--


snMspsPimComponentModeTable OBJECT-TYPE

    SYNTAX     SEQUENCE OF SnMspsPimComponentModeEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table listing the components modes)."
    ::= { snMspsPimTables 8 }

snMspsPimComponentModeEntry OBJECT-TYPE
    SYNTAX     SnMspsPimComponentModeEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimComponentModeTable."
    INDEX      { snMspsPimComponentId }
    ::= { snMspsPimComponentModeTable 1 }

SnMspsPimComponentModeEntry ::= SEQUENCE {
    snMspsPimComponentId          Integer32,    
    snMspsPimComponentMode	      INTEGER,
    snMspsPimCompGraftRetryCount  Integer32
}

snMspsPimComponentId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
       "Component Id for this table "
    ::= { snMspsPimComponentModeEntry 1 }    

snMspsPimComponentMode OBJECT-TYPE
    SYNTAX     INTEGER {
                 dense (1),
		         sparse (2)
	           }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
	    "This object indicates the mode of the component. A value of 
         1 indicates the component is running in DM mode and value of 
         2 indicated that the component is running in DM mode"

    DEFVAL   { 2 }
    ::= { snMspsPimComponentModeEntry 2 }

snMspsPimCompGraftRetryCount         OBJECT-TYPE
    SYNTAX            Integer32 (0..255)
    MAX-ACCESS        read-write
    STATUS            current
    DESCRIPTION
            " The value indicates the number of retries that can be made to
              send the graft message"

    DEFVAL   { 1 }
    ::= { snMspsPimComponentModeEntry 3 }

-- Register Checksum Config Table

snMspsPimRegChkSumCfgTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimRegChkSumCfgEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing RPs configured in CISCO Router"
    ::= { snMspsPimTables 9 }


snMspsPimRegChkSumCfgEntry OBJECT-TYPE
    SYNTAX     SnMspsPimRegChkSumCfgEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the snMspsPimRegChkSumCfgTable."
    INDEX      {snMspsPimRegChkSumTblCompId, snMspsPimRegChkSumTblRPAddrType, snMspsPimRegChkSumTblRPAddress}
    ::= { snMspsPimRegChkSumCfgTable 1 }

SnMspsPimRegChkSumCfgEntry ::= SEQUENCE {
    snMspsPimRegChkSumTblCompId     Integer32,
    snMspsPimRegChkSumTblRPAddrType  InetAddressType,
    snMspsPimRegChkSumTblRPAddress  InetAddress,
    snMspsPimRPChkSumStatus         INTEGER
}

snMspsPimRegChkSumTblCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
       "Component Id for this table, This configuration is valid
        only for a sparse mode component."
    ::= { snMspsPimRegChkSumCfgEntry 1 }

snMspsPimRegChkSumTblRPAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP address type  of this entry"
    ::= { snMspsPimRegChkSumCfgEntry 2 }

snMspsPimRegChkSumTblRPAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The RP Address of the router to which the Register 
             checksum should be calculated."
    ::= { snMspsPimRegChkSumCfgEntry 3 }

snMspsPimRPChkSumStatus OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The status of this Row, by which new entries may be created
            If the RowStatus is set, then the Register Message checksum
            should be calculated including the data packet other wise for
            for any RP address not part of this table checksum
            should be sent as per the draft-ietf-pim-sm-new-v2"
    ::= { snMspsPimRegChkSumCfgEntry 4 }

--
-- The BIDIR-PIM DF Table
--

snMspsPimDFTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimDFEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table shows the Elected RP 
        for the IP multicast group"
    ::= { snMspsPimTables 10 }

snMspsPimDFEntry OBJECT-TYPE
    SYNTAX     SnMspsPimDFEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimDFTable."
    INDEX      { snMspsPimDFIfAddrType,
                 snMspsPimDFElectedRP,
                 snMspsPimDFIfIndex
                 }
    ::= { snMspsPimDFTable 1 }

SnMspsPimDFEntry ::= SEQUENCE {
    snMspsPimDFIfAddrType             InetAddressType,
    snMspsPimDFElectedRP              InetAddress,
    snMspsPimDFIfIndex                Integer32,
    snMspsPimDFState                  INTEGER,
    snMspsPimDFWinnerAddr             InetAddress,
    snMspsPimDFWinnerUptime           TimeTicks,
    snMspsPimDFElectionStateTimer     TimeTicks,
    snMspsPimDFWinnerMetric           Unsigned32,
    snMspsPimDFWinnerMetricPref       Unsigned32,
    snMspsPimDFMessageCount           Integer32
}
snMspsPimDFIfAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP family for which DF state to be retrieved."
    ::= { snMspsPimDFEntry  1 }


snMspsPimDFElectedRP OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible 
    STATUS     current
    DESCRIPTION
	    "The (unicast) address of the Elected RP for which the DF state of the 
         interface to be retrieved."
    ::= { snMspsPimDFEntry 2 }

snMspsPimDFIfIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The ifIndex value of the interface for which the 
         DF state to be retrieved."
    ::= { snMspsPimDFEntry 3 }


snMspsPimDFState OBJECT-TYPE
    SYNTAX     INTEGER {
                        offer (1),
                        winner (2),
                        backoff (3),
                        lose (4)
                       }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The DF state on the PIM interface for the Elected RP."
    ::= { snMspsPimDFEntry 4 }

snMspsPimDFWinnerAddr OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
	    "The (Link-Local) address of the DFWinner(the PIM neighbor)
         for the Elected RP in the PIM interface"
    ::= { snMspsPimDFEntry 5 }

snMspsPimDFWinnerUptime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The time since this DF Winner got elected."
    ::= { snMspsPimDFEntry 6 }

snMspsPimDFElectionStateTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The timer for DF election state, on the expiry of this timer 
        the existing DF state gets expired and changes to the appropriate state.
        If the timer is not running, then the existing state is permanent, till
        the occurence of next event."
    ::= { snMspsPimDFEntry 7 }

snMspsPimDFWinnerMetric OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The winner metric advertised by the DF winner or zero if there is no
        DF exist"
    ::= { snMspsPimDFEntry 8 }

snMspsPimDFWinnerMetricPref OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The winner metric preference advertised by the DF winner 
        or zero if there is no DF exist"
    ::= { snMspsPimDFEntry 9 }

snMspsPimDFMessageCount OBJECT-TYPE
    SYNTAX     Integer32 (0..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
    "The DF election Message Count(MC) for the DF state of RPA (I)"
    ::= { snMspsPimDFEntry 10 }


--
-- The PIM Elected-RP Table
--

snMspsPimElectedRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimElectedRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The (conceptual) table shows the Elected RP 
        for the IP multicast group"
    ::= { snMspsPimTables 11 }

snMspsPimElectedRPEntry OBJECT-TYPE
    SYNTAX     SnMspsPimElectedRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimElectedRPTable."
    INDEX      { snMspsPimElectedRPCompId,
                 snMspsPimElectedRPAddrType,
                 snMspsPimElectedRPGroupAddress,
                 snMspsPimElectedRPGroupMasklen
                 }
    ::= { snMspsPimElectedRPTable 1 }

SnMspsPimElectedRPEntry ::= SEQUENCE {
    snMspsPimElectedRPCompId        Integer32,
    snMspsPimElectedRPAddrType      InetAddressType,
    snMspsPimElectedRPGroupAddress  InetAddress,
    snMspsPimElectedRPGroupMasklen  Integer32,
    snMspsPimElectedRPAddress	   InetAddress,
    snMspsPimElectedRPPriority      Integer32, 
    snMspsPimElectedRPHoldTime      Integer32, 
    snMspsPimElectedRPUpTime      Integer32 
}

snMspsPimElectedRPCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
       "Component Id for this table "
    ::= { snMspsPimElectedRPEntry 1 }   
 
snMspsPimElectedRPAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP Address type  in which the multicast group address, 
            and RP address belong to."
    ::= { snMspsPimElectedRPEntry 2 }

snMspsPimElectedRPGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP multicast group address for which
	    the Elected RP to be identified."
    ::= { snMspsPimElectedRPEntry 3 }


snMspsPimElectedRPGroupMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The multicast group address mask which, when combined with
	    snMspsPimElectedRPGroupMask, identifies a group prefix for which
	    Elected-RP to be identified."
    ::= { snMspsPimElectedRPEntry 4 }


snMspsPimElectedRPAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
	    "The (unicast) address of the interface which is
	    Elected as RP for the IP multicast Group address."
    ::= { snMspsPimElectedRPEntry 5 }

snMspsPimElectedRPPriority OBJECT-TYPE
    SYNTAX     Integer32  (0..255)
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
	    "The priority of the interface which is
	    Elected as an RP for the IP multicast group address."
    ::= { snMspsPimElectedRPEntry 6 }

snMspsPimElectedRPHoldTime OBJECT-TYPE
    SYNTAX            Integer32 (1..65535)
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
        "The HoldTime of the Elected RP for the IP multicast group address."
    ::= { snMspsPimElectedRPEntry 7 }

snMspsPimElectedRPUpTime OBJECT-TYPE
    SYNTAX            Integer32 (1..65535)
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
        "This object displays the up time of the Elected RP for the IP multicast group address."
    ::= { snMspsPimElectedRPEntry 8 }



--
-- The PIM Extended Neighbor Table
--

snMspsPimNeighborExtTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimNeighborExtEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The extended (conceptual) table listing the router's PIM Neighbors. 
        This table differs from snMspsPimNeighborTable as it has 
        snMspsPimNeighborExtIfIndex as an index instead of the Component ID. This
         is because in IPv6, two neighbors on different interfaces can have the 
        same link-local address. A Component ID List is added as an interface 
        can be associated with multiple components."
    ::= { snMspsPimTables 12 }

snMspsPimNeighborExtEntry OBJECT-TYPE
    SYNTAX     SnMspsPimNeighborExtEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "An entry (conceptual row) in the snMspsPimNeighborExtTable."
    INDEX      { snMspsPimNeighborExtIfIndex, snMspsPimNeighborExtAddrType, 
                 snMspsPimNeighborExtAddress } 
    ::= { snMspsPimNeighborExtTable 1 }

SnMspsPimNeighborExtEntry ::= SEQUENCE {

    snMspsPimNeighborExtIfIndex               Integer32,
    snMspsPimNeighborExtAddrType              InetAddressType,
    snMspsPimNeighborExtAddress               InetAddress,
    snMspsPimNeighborExtCompIdList            CompList,
    snMspsPimNeighborExtUpTime                TimeTicks,
    snMspsPimNeighborExtExpiryTime            TimeTicks,
    snMspsPimNeighborExtGenerationId          Integer32,
    snMspsPimNeighborExtLanDelay              Integer32,
    snMspsPimNeighborExtDRPriority            Unsigned32,
    snMspsPimNeighborExtOverrideInterval      Integer32,
    snMspsPimNeighborExtSRCapable             TruthValue,
    snMspsPimNeighborExtRPFCapable            TruthValue,
    snMspsPimNeighborExtBidirCapable          TruthValue
}

snMspsPimNeighborExtIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The value of ifIndex for the interface used to reach this
	    PIM Neighbor."
    ::= { snMspsPimNeighborExtEntry 1 }

snMspsPimNeighborExtAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The address Type of the PIM Neighbor for which this entry
	    contains information."
    ::= { snMspsPimNeighborExtEntry 2 }

snMspsPimNeighborExtAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP address of the PIM Neighbor for which this entry
	    contains information."
    ::= { snMspsPimNeighborExtEntry 3 }

snMspsPimNeighborExtCompIdList OBJECT-TYPE
    SYNTAX     CompList
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
          " The components associated with the interface on which the PIM
            neighbor for this entry is found."
    ::= { snMspsPimNeighborExtEntry 4 }

snMspsPimNeighborExtUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The time since this PIM Neighbor (last) became a Neighbor
	    of the local router."
    ::= { snMspsPimNeighborExtEntry 5 }

snMspsPimNeighborExtExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "The minimum time remaining before this PIM Neighbor will be
	    aged out."
    ::= { snMspsPimNeighborExtEntry 6 }
    
snMspsPimNeighborExtGenerationId OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Generation identifier of the router. This is used by
             neighbour routers to quickly detect router reboot and synchronize
             RP-Set information and forwarding states by triggering Bootstrap
             and Join/Prune messages to the rebooted router"
    ::= { snMspsPimNeighborExtEntry 7 }


snMspsPimNeighborExtLanDelay           OBJECT-TYPE
    SYNTAX            Integer32
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
            "The LanDelay configured for this PIM Neighbor"
    ::= { snMspsPimNeighborExtEntry 8 }

snMspsPimNeighborExtDRPriority             OBJECT-TYPE
    SYNTAX            Unsigned32
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
            "The DR priority value configured for this PIM Neighbor"
    ::= { snMspsPimNeighborExtEntry 9 }

snMspsPimNeighborExtOverrideInterval           OBJECT-TYPE
    SYNTAX            Integer32
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
            "The Override Interval configured for this PIM Neighbor"
    ::= { snMspsPimNeighborExtEntry 10 }
    
snMspsPimNeighborExtSRCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this Neighbor is using the State
            Refresh Capable option.  This object is used only by
            PIM-DM."
    REFERENCE "RFC 3973 section 4.3.4"
    ::= { snMspsPimNeighborExtEntry 11 }

snMspsPimNeighborExtRPFCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this Neighbor is RPF Vector Capable."
    ::= { snMspsPimNeighborExtEntry 12 }    

snMspsPimNeighborExtBidirCapable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Evaluates to TRUE if this Neighbor is Bidir-PIM Capable."
    ::= { snMspsPimNeighborExtEntry 13 }    

--  ----------------
--   TRAP MIB BEGIN
--  ----------------

snMspsHARtrId OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  accessible-for-notify	
   STATUS      current
   DESCRIPTION
        " The  MIB object snMspsHARtrId,is the configured Router-Id for the 
          router.This ID is obtained from IP module"
   ::= { snMspsPimTrapsControl 1 } 
   
   
snMspsPimHAEvent OBJECT-TYPE
   SYNTAX 	INTEGER {
                      standbyInstanceUP(1),
                      standbyInstanceDown(2),
                      instancesSwitchover(3),
                      dynamicBulkupdateStart(4),
                      dynamicBulkupdateComplete(5),
                      dynamicBulkupdateAborted(6)
                      }
   MAX-ACCESS accessible-for-notify
   STATUS	current
   DESCRIPTION
      "
       Trap Events:

       StandbyInstanceUP: generated when the Active PIM instance detects
       Standby instance becoming Up.

       StandbyInstanceDown: generated when the Active PIM instance detects
       Standby instance going Down.

       InstancesSwitchover: generated When both the Active and Standby PIM
       instances change their roles and transits to Standby and Active state
       respectively.

       DynamicBulkupdateStart: generated when the Active PIM instance starts 
       sending dynamic Bulk updates to the Standby instance.

       DynamicBulkupdateComplete: genreated when the Active PIM instance 
       receives an event from Standby PIM instance indicating Completion of 
       Bulk Update.

       DynamicBulkupdateAborted: generated when Bulk Update is aborted."
   ::= { snMspsPimTrapsControl 3 }

snMspsPimHAEventTrap NOTIFICATION-TYPE
  OBJECTS {
           snMspsHARtrId,
           snMspsPimHAEvent
           }
  STATUS  deprecated
  DESCRIPTION
      "A notification is sent to the management entity whenever there is a 
       state change in the PIM hotstandby Module."
::= { snMspsPimTraps 1 }

snMspsPimBidirEventTrap NOTIFICATION-TYPE
  OBJECTS {
           snMspsHARtrId,
           snMspsPimNeighborAddress,
           snMspsPimNeighborIfIndex
           }
  STATUS  deprecated
  DESCRIPTION
      "A notification is sent to the management entity whenever a Bidirectional 
       mode enabled router receives a Hello Msg from a Bidirectional disabled
       router, in a rate limited manner."
::= { snMspsPimTraps 2 }
-- -----------------
-- TRAP MIB END
-- -----------------

--
-- The PIM IP Multicast Route Table for Bidir
--

snMspsPimIpGenMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimIpGenMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The table list the PIM multicast routing information in Bidir Mode"
    ::= { snMspsPimTables 13 }

snMspsPimIpGenMRouteEntry OBJECT-TYPE
    SYNTAX     SnMspsPimIpGenMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object specifies an  entry (conceptual row) in the snMspsPimIpGenMRouteTable. 
	    One entry is listed for incoming interface on which PIM is enabled"
    INDEX      { snMspsPimIpGenMRouteCompId, snMspsPimIpGenMRouteAddrType, 
                 snMspsPimIpGenMRouteGroup, snMspsPimIpGenMRouteGroupMasklen,
                  snMspsPimIpGenMRouteSource, snMspsPimIpGenMRouteSourceMasklen} 
    ::= { snMspsPimIpGenMRouteTable 1 }

SnMspsPimIpGenMRouteEntry ::= SEQUENCE {
    snMspsPimIpGenMRouteCompId                    Integer32,
    snMspsPimIpGenMRouteAddrType	              InetAddressType,
    snMspsPimIpGenMRouteGroup	                  InetAddress,
    snMspsPimIpGenMRouteGroupMasklen             Integer32,
    snMspsPimIpGenMRouteSource	                  InetAddress,
    snMspsPimIpGenMRouteSourceMasklen             Integer32,
    snMspsPimIpGenMRouteUpstreamNeighbor          InetAddress,
    snMspsPimIpGenMRouteInIfIndex	              Integer32,
    snMspsPimIpGenMRouteUpTime	                  TimeTicks,
    snMspsPimIpGenMRoutePkts		              Counter32,
    snMspsPimIpGenMRouteUpstreamAssertTimer       TimeTicks,
    snMspsPimIpGenMRouteAssertMetric	          Integer32,
    snMspsPimIpGenMRouteAssertMetricPref          Integer32,
    snMspsPimIpGenMRouteAssertRPTBit	          TruthValue,
    snMspsPimIpGenMRouteTimerFlags	              Integer32,
    snMspsPimIpGenMRouteFlags	                  Integer32,
    snMspsPimIpGenMRouteUpstreamPruneState        INTEGER,
    snMspsPimIpGenMRouteUpstreamPruneLimitTimer   TimeTicks,
    snMspsPimIpGenMRouteOriginatorState           INTEGER,
    snMspsPimIpGenMRouteSourceActiveTimer         TimeTicks,
    snMspsPimIpGenMRouteStateRefreshTimer         TimeTicks,
    snMspsPimIpGenMRouteExpiryTime                TimeTicks,
    snMspsPimIpGenMRouteDifferentInIfPackets      Counter32,
    snMspsPimIpGenMRouteOctets                    Counter32,
    snMspsPimIpGenMRouteProtocol                  IANAipMRouteProtocol,
    snMspsPimIpGenMRouteRtProto                   IANAipRouteProtocol,
    snMspsPimIpGenMRouteRtAddress                 InetAddress,
    snMspsPimIpGenMRouteRtMasklen                 Integer32,
    snMspsPimIpGenMRouteRtType                    INTEGER,
    snMspsPimIpGenMRouteHCOctets                  Counter64,
    snMspsPimIpGenMRouteOIfList                   PortList,
    snMspsPimIpGenMRouteRPFVectorAddr             InetAddress,
    snMspsPimIpGenMRoutePimMode                   INTEGER,
    snMspsPimIpGenMRouteType                      INTEGER,
    snMspsPimIpGenMRouteNPStatus                  INTEGER
}

snMspsPimIpGenMRouteCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
         "This object displays the component Id of snMspsPimIpGenMRouteTable"
    ::= { snMspsPimIpGenMRouteEntry 1 }    
 
snMspsPimIpGenMRouteAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the The IP family on which the route is present"
    ::= { snMspsPimIpGenMRouteEntry 2 }

snMspsPimIpGenMRouteGroup OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the The IP multicast group address 
	     for which the specified entry contain multicast routing information"
    ::= { snMspsPimIpGenMRouteEntry 3 }

snMspsPimIpGenMRouteGroupMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    " This object displays the network mask, when combined with the corresponding 
            value of ipMRouteGroup identifies the groups for which the
            entry contains multicast routing information"
    ::= { snMspsPimIpGenMRouteEntry 4 }

snMspsPimIpGenMRouteSource OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the network address when combined with the 
          corresponding value of ipMRouteSourceMask identifies the 
          sources for which the entry contains multicast routing 
          information"
    ::= { snMspsPimIpGenMRouteEntry 5 }

snMspsPimIpGenMRouteSourceMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the network mask when combined with the corresponding 
          value of ipMRouteSource identifies the sources for which 
          the entry contains multicast routing information"
    ::= { snMspsPimIpGenMRouteEntry 6 }


snMspsPimIpGenMRouteUpstreamNeighbor OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the address of the upstream neighbor"
    ::= { snMspsPimIpGenMRouteEntry 7 }

snMspsPimIpGenMRouteInIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the interface index value on which IP 
          packets are sent to the multicast group address"
    ::= { snMspsPimIpGenMRouteEntry 8 }

snMspsPimIpGenMRouteUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the time between the multicast routing information 
          learnt by the router"
    ::= { snMspsPimIpGenMRouteEntry 9 }

snMspsPimIpGenMRoutePkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the number of packets the router has received 
        by the multicast group address"
    ::= { snMspsPimIpGenMRouteEntry 10 }

snMspsPimIpGenMRouteUpstreamAssertTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the assert timer value which is the time remaining between the router 
	    changing its upstream neighbor back to RPF neighbor. This is set only when PIM mode 
	    is set to either Sparse and or Dense mode. 0 indicates that no upstream neighbor 
	    has changed to RPF neighbor"
    ::= { snMspsPimIpGenMRouteEntry 11 }

snMspsPimIpGenMRouteAssertMetric OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the metric advertised by the assert winner on the upstream
	    interface, or 0 if no assert is received."
    ::= { snMspsPimIpGenMRouteEntry 12 }

snMspsPimIpGenMRouteAssertMetricPref OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the preference advertised by the assert winner on the
	    upstream interface, or 0 if no assert is in effect."
    ::= { snMspsPimIpGenMRouteEntry 13 }

snMspsPimIpGenMRouteAssertRPTBit OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays RPT-bit value advertised by the assert winner on 
          the upstream interface, else false is displayed"
    ::= { snMspsPimIpGenMRouteEntry 14 }

snMspsPimIpGenMRouteTimerFlags OBJECT-TYPE
    SYNTAX     Integer32 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the PIM-specific timer flags related to a 
          Multicast Route Entry. If the bit is 1, it indicates that timer 
          is started for the specific entry.  The bits corresponding to the 
          timers are as follows:
          0 - JP Suppression Timer, 1 - Oif Timer, 2 - Entry Timer,
          3 - Reg Suppression Timer, 4 - Assert Timer, 
          5 - RandomDelayJoin Timer.
          For example, If the value is 3 (0000 0011), then 
          it means that JPSuppression timer and  Oif timer are running.
          This is for both sparse and dense mode. The bits which are not applicable 
          to DM/SM will be displayed with 0"
    ::= { snMspsPimIpGenMRouteEntry 15 }

snMspsPimIpGenMRouteFlags OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the PIM-specific flags related to a
          multicast state entry"
    ::= { snMspsPimIpGenMRouteEntry 16 }

snMspsPimIpGenMRouteUpstreamPruneState OBJECT-TYPE
    SYNTAX     INTEGER {
                  forwarding (1),
                  ackpending (2),
                  pruned (3)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays  whether the local router has pruned itself from the PIM dense tree.
            This corresponds to the state of the upstream prune (S,G)
            state machine in the PIM-DM specification.  This object is
            used only when PIM mode is set to dense mode."
    REFERENCE "RFC 3973 section 4.4.1"
    ::= { snMspsPimIpGenMRouteEntry 17 }

snMspsPimIpGenMRouteUpstreamPruneLimitTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the time till the local router sends a (S,G)
          prune message on pimSGRPFIfIndex. Zero is displayed if the timer is not running."
    REFERENCE "RFC 2973 section 4.8"
    ::= { snMspsPimIpGenMRouteEntry 18 }

snMspsPimIpGenMRouteOriginatorState OBJECT-TYPE
    SYNTAX     INTEGER {
                  notOriginator (1),
                  originator (2)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays whether the router is the source for the (S,G) message 
          flow. This object is used only when PIM mode is set to dense mode"
    REFERENCE "RFC 3973 section 4.5.2"
    ::= { snMspsPimIpGenMRouteEntry 19 }

snMspsPimIpGenMRouteSourceActiveTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "If pimSGOriginatorState is displayed as 'originator', the active timer is the time 
          period between the local router changes to notOriginator state.  
	  Otherwise, this is zero.  This object is  used only when PIM mode is set to Dense mode"
    REFERENCE "RFC 3973 section 4.8"
    ::= { snMspsPimIpGenMRouteEntry 20 }

snMspsPimIpGenMRouteStateRefreshTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "If pimSGOriginatorState is displayed as 'originator', then the state refresh timer is the  time 
          taken to send a State Refresh message. This object is used only when PIM mode is set to Dense mode"
    REFERENCE "RFC 3973 section 4.8"
    ::= { snMspsPimIpGenMRouteEntry 21 }

snMspsPimIpGenMRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays whether minimum amount of time before this entry will
           is timed out"
    ::= { snMspsPimIpGenMRouteEntry 22 }

snMspsPimIpGenMRouteDifferentInIfPackets OBJECT-TYPE
    SYNTAX     Counter32  
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            " This object displays the number of packets which this router has received from 
          the multicast source and addressed to this multicast group address, 
          which were dropped as they were not received on the 
          interface specified by the snMspsPimIpGenMRouteInIfIndex"
    ::= { snMspsPimIpGenMRouteEntry 23 }

snMspsPimIpGenMRouteOctets OBJECT-TYPE
    SYNTAX     Counter32    
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            " This object displays the number of octets contained in IP packets which were 
          received from the multicast sources and destined to this multicast 
          group address"
    ::= { snMspsPimIpGenMRouteEntry 24 }

snMspsPimIpGenMRouteProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol   
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the multicast routing protocol through which this multicast 
           forwarding entry is learned"
    ::= { snMspsPimIpGenMRouteEntry 25 }

snMspsPimIpGenMRouteRtProto OBJECT-TYPE
    SYNTAX     IANAipRouteProtocol 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the routing mechanism through which the route  used to find the 
          upstream or parent interface for this multicast forwarding 
          entry is learned"
    ::= { snMspsPimIpGenMRouteEntry 26}

snMspsPimIpGenMRouteRtAddress OBJECT-TYPE
    SYNTAX     InetAddress 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the address portion of the route used to find the upstream
            or parent interface for this multicast forwarding entry."
    ::= { snMspsPimIpGenMRouteEntry 27 }

snMspsPimIpGenMRouteRtMasklen OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the The mask associated with the route which is used to find the upstream 
          or parent interface for this multicast forwarding entry"
    ::= { snMspsPimIpGenMRouteEntry 28 }

snMspsPimIpGenMRouteRtType OBJECT-TYPE
    SYNTAX     INTEGER {
                unicast (1),  -- Unicast route used in multicast RIB
                multicast (2) -- Multicast route
               }   
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "This object displays the multicast route type."
    ::= { snMspsPimIpGenMRouteEntry 29 }

snMspsPimIpGenMRouteHCOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the number of octets present in the IP packets which were
          received from multicast sources and addressed to this multicast 
          group address.
          This object is a 64-bit version of snMspsPimIpGenMRouteOctets"
    ::= { snMspsPimIpGenMRouteEntry 30 }

snMspsPimIpGenMRouteOIfList OBJECT-TYPE
    SYNTAX     PortList
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the outgoing interface list of the mroute"
    ::= { snMspsPimIpGenMRouteEntry 31 }

snMspsPimIpGenMRouteRPFVectorAddr       OBJECT-TYPE 
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the RPF vector address to reach the actual destination: 
           either RP for creating (*,G) entry or ,
           multicast Source for creating (S,G) entry. This vector address is obtained 
           from the received join/prune packet"
    ::= { snMspsPimIpGenMRouteEntry 32 }

snMspsPimIpGenMRoutePimMode OBJECT-TYPE
    SYNTAX     INTEGER { 
                        dm (1),
                        sm (2),
                        ssm (3),
                        bidir (4) 
                        }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object displays the PIM mode of the group present 
       in the Mroute entry"
    ::= { snMspsPimIpGenMRouteEntry 33 }

snMspsPimIpGenMRouteType OBJECT-TYPE
    SYNTAX     INTEGER {
             sg(1),
             sgrpt(2),
             starg(4),
             ssrp(8),
             default(0)
               }   
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "This object displays the route type for the group.This could be S,G or *,G or *,*,RP."
    ::= { snMspsPimIpGenMRouteEntry 34 }

snMspsPimIpGenMRouteNPStatus OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object displays the NP status of the mroute entry."
    ::= { snMspsPimIpGenMRouteEntry 35}




--
-- The PIM Gen Next Hop Table
--

snMspsPimIpGenMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimIpGenMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
    		"This table lists the PIM information on the next hops 
       		on outgoing interfaces for forwarding multicast packets"
    ::= { snMspsPimTables 14 }

snMspsPimIpGenMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     SnMspsPimIpGenMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object specifies an entry in the  in the snMspsPimIpGenMRouteNextHopTable. 
          There is an entry in the ipMRouteNextHopTable with interface is running in PIM and 
          snMspsPimIpGenMRouteNextHopState is pruned(1)"
    INDEX      { snMspsPimIpGenMRouteNextHopCompId, snMspsPimIpGenMRouteNextHopAddrType,
                 snMspsPimIpGenMRouteNextHopGroup, snMspsPimIpGenMRouteNextHopGroupMasklen,
                 snMspsPimIpGenMRouteNextHopSource, snMspsPimIpGenMRouteNextHopSourceMasklen, 
                 snMspsPimIpGenMRouteNextHopIfIndex, snMspsPimIpGenMRouteNextHopAddress}
    ::= { snMspsPimIpGenMRouteNextHopTable 1 }

SnMspsPimIpGenMRouteNextHopEntry ::= SEQUENCE {
    snMspsPimIpGenMRouteNextHopCompId           Integer32,
    snMspsPimIpGenMRouteNextHopAddrType         InetAddressType,
    snMspsPimIpGenMRouteNextHopGroup		 InetAddress,
    snMspsPimIpGenMRouteNextHopGroupMasklen	 Integer32,
    snMspsPimIpGenMRouteNextHopSource		 InetAddress,
    snMspsPimIpGenMRouteNextHopSourceMasklen	 Integer32,
    snMspsPimIpGenMRouteNextHopIfIndex		 Integer32,
    snMspsPimIpGenMRouteNextHopAddress		 InetAddress,
    snMspsPimIpGenMRouteNextHopPruneReason	 INTEGER,
    snMspsPimIpGenMRouteNextHopState	      INTEGER,
    snMspsPimIpGenMRouteNextHopUpTime             TimeTicks,
    snMspsPimIpGenMRouteNextHopExpiryTime         TimeTicks,
    snMspsPimIpGenMRouteNextHopProtocol           IANAipMRouteProtocol,
    snMspsPimIpGenMRouteNextHopPkts               Counter32,
    snMspsPimIpGenMRouteNextHopNPStatus           INTEGER
}

snMspsPimIpGenMRouteNextHopCompId OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
         " This object displays the component Id in the next-hop table "
   ::= { snMspsPimIpGenMRouteNextHopEntry 1 }
 
snMspsPimIpGenMRouteNextHopAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the IP family of theNext hop address ."
    ::= { snMspsPimIpGenMRouteNextHopEntry  2 }
    
snMspsPimIpGenMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the next-hop on an outgoing interface for the IP multicast group "
    ::= { snMspsPimIpGenMRouteNextHopEntry 3 }

snMspsPimIpGenMRouteNextHopGroupMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the network mask length of the multicast group present in the next hop table"
    ::= { snMspsPimIpGenMRouteNextHopEntry 4 }


snMspsPimIpGenMRouteNextHopSource OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the network source address present in the next hop table"
    ::= { snMspsPimIpGenMRouteNextHopEntry 5 }

snMspsPimIpGenMRouteNextHopSourceMasklen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the network mask length of the multicast source present in the next hop table"
    ::= { snMspsPimIpGenMRouteNextHopEntry 6 }

snMspsPimIpGenMRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the interface index present in the next hop table"
    ::= { snMspsPimIpGenMRouteNextHopEntry 7 }

snMspsPimIpGenMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "This object displays the address of the next-hop specific to this entry .  For
          most interfaces, this is identical to snMspsPimIpGenMRouteNextHopGroup but for .
          NBMA interfaces may have multiple next-hop
          addresses for an  outgoing interface"
    ::= { snMspsPimIpGenMRouteNextHopEntry 8 }

snMspsPimIpGenMRouteNextHopPruneReason OBJECT-TYPE
    SYNTAX     INTEGER {
                  forwarding (0),
		  other (1),
		  prune (2),
		  assert (3)
	       }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object indicates the reason why the downstream interface was
          pruned, whether in response to a PIM prune message or due to
          PIM Assert processing"
    ::= { snMspsPimIpGenMRouteNextHopEntry 9 }

snMspsPimIpGenMRouteNextHopState OBJECT-TYPE
    SYNTAX     INTEGER { pruned(1), forwarding(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
	    "This object indicates whether the outgoing interface and next-
          hop represented by this entry is currently being used to 
          forward IP packets.  The value 'forwarding' indicates it 
          is currently being used; the value 'pruned' indicates it is 
          not used"
    ::= { snMspsPimIpGenMRouteNextHopEntry 10 }

snMspsPimIpGenMRouteNextHopUpTime OBJECT-TYPE
    SYNTAX     TimeTicks 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object displays the time since the multicast routing information 
            learned by the router for the corresponding entry"
    ::= { snMspsPimIpGenMRouteNextHopEntry 11 }

snMspsPimIpGenMRouteNextHopExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object displays the minimum amount of time remaining for this entry to be timed out.
	   The calculation of expiry time varies as follows;
	1.	If ipMRouteNextHopState is set pruned(1), the
        	remaining time until till the prune expires and the state reverts
                to forwarding(2).  
	2.	Otherwise, the remaining time until this
          	entry is removed from the table.  The time remaining may be
          	copied from ipMRouteExpiryTime if the protocol in use for
          	this entry does not specify next-hop timers.  The value 0
          	indicates that the entry is not subject to aging"
    ::= { snMspsPimIpGenMRouteNextHopEntry 12 }

snMspsPimIpGenMRouteNextHopProtocol OBJECT-TYPE
    SYNTAX     IANAipMRouteProtocol 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object displays the routing mechanism through which this next-hop is learned"
    ::= { snMspsPimIpGenMRouteNextHopEntry 13 }

snMspsPimIpGenMRouteNextHopPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object displays the number of packets which are forwarded using this
            route"
    ::= { snMspsPimIpGenMRouteNextHopEntry 14 }

snMspsPimIpGenMRouteNextHopNPStatus OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
             "This object displays the NP programming status of the next hop interface"
    ::= { snMspsPimIpGenMRouteNextHopEntry 15 }


-- Start of PRIVATE MIB implementation of standard PIM MIB for supporting
-- both PIMv4 and PIMv6                                     
snMspsPimStdJoinPruneInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The default interval at which periodic PIM-SM Join/Prune
            messages are to be sent."
    ::= { snMspsPimStdScalars 1 }

-- The PIM Interface Table

snMspsPimStdInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's PIM interfaces.
            IGMP and PIM are enabled on all interfaces listed in this
            table."
    ::= { snMspsPimStdTables 1 }

snMspsPimStdInterfaceEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimInterfaceTable."
    INDEX      { snMspsPimStdInterfaceIfIndex, snMspsPimStdInterfaceAddrType}
    ::= { snMspsPimStdInterfaceTable 1 }

SnMspsPimStdInterfaceEntry ::= SEQUENCE {

    snMspsPimStdInterfaceIfIndex            Integer32,
    snMspsPimStdInterfaceAddrType           InetAddressType,
    snMspsPimStdInterfaceAddress            InetAddress,
    snMspsPimStdInterfaceNetMaskLen         Integer32,
    snMspsPimStdInterfaceMode               INTEGER,
    snMspsPimStdInterfaceDR                 InetAddress,
    snMspsPimStdInterfaceHelloInterval      Integer32,
    snMspsPimStdInterfaceStatus             RowStatus,
    snMspsPimStdInterfaceJoinPruneInterval  Integer32,
    snMspsPimStdInterfaceCBSRPreference     Integer32
}

snMspsPimStdInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The ifIndex value of this PIM interface."
    ::= { snMspsPimStdInterfaceEntry 1 }


snMspsPimStdInterfaceAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP address type of the PIM Interface for which this entry
	    contains information."
    ::= { snMspsPimStdInterfaceEntry 2 }


snMspsPimStdInterfaceAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current

    DESCRIPTION
            "The IP address of the PIM interface."
    ::= { snMspsPimStdInterfaceEntry 3 }

snMspsPimStdInterfaceNetMaskLen OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network mask for the IP address of the PIM interface."
    ::= { snMspsPimStdInterfaceEntry 4 }

snMspsPimStdInterfaceMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2), sparseDense(3) }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The configured mode of this PIM interface.  A value of
            sparseDense is only valid for PIMv1."
    DEFVAL     { dense }
    ::= { snMspsPimStdInterfaceEntry 5 }

snMspsPimStdInterfaceDR OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Designated Router on this PIM interface.  For point-to-
            point interfaces, this object has the value 0.0.0.0."
    ::= { snMspsPimStdInterfaceEntry 6 }

snMspsPimStdInterfaceHelloInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The frequency at which PIM Hello messages are transmitted
            on this interface."
    DEFVAL     { 30 }
    ::= { snMspsPimStdInterfaceEntry 7 }

snMspsPimStdInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry enables PIM
            on the interface; destroying the entry disables PIM on the
            interface."
    ::= { snMspsPimStdInterfaceEntry 8 }

snMspsPimStdInterfaceJoinPruneInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The frequency at which PIM Join/Prune messages are
            transmitted on this PIM interface.  The default value of
            this object is the pimJoinPruneInterval."
    ::= { snMspsPimStdInterfaceEntry 9 }

snMspsPimStdInterfaceCBSRPreference OBJECT-TYPE
    SYNTAX     Integer32 (-1..255)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The preference value for the local interface as a candidate
            bootstrap router.  The value of -1 is used to indicate that
            the local interface is not a candidate BSR interface."
    DEFVAL     { 0 }
    ::= { snMspsPimStdInterfaceEntry 10 }


-- The PIM Neighbor Table

snMspsPimStdNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's PIM neighbors."
    ::= { snMspsPimStdTables 2 }

snMspsPimStdNeighborEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimNeighborTable."
    INDEX      { snMspsPimStdNeighborAddrType, snMspsPimStdNeighborAddress }
    ::= { snMspsPimStdNeighborTable 1 }

SnMspsPimStdNeighborEntry ::= SEQUENCE {

    snMspsPimStdNeighborAddrType     InetAddressType,
    snMspsPimStdNeighborAddress      InetAddress,
    snMspsPimStdNeighborIfIndex      Integer32,
    snMspsPimStdNeighborUpTime       TimeTicks,
    snMspsPimStdNeighborExpiryTime   TimeTicks,
    snMspsPimStdNeighborMode         INTEGER
}

snMspsPimStdNeighborAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The address Type of the PIM neighbor for which this entry
	    contains information."
    ::= { snMspsPimStdNeighborEntry 1 }


snMspsPimStdNeighborAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP address of the PIM neighbor for which this entry
            contains information."
    ::= { snMspsPimStdNeighborEntry 2 }

snMspsPimStdNeighborIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface used to reach this
            PIM neighbor."
    ::= { snMspsPimStdNeighborEntry 3 }

snMspsPimStdNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since this PIM neighbor (last) became a neighbor
            of the local router."
    ::= { snMspsPimStdNeighborEntry 4 }

snMspsPimStdNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before this PIM neighbor will be
            aged out."
    ::= { snMspsPimStdNeighborEntry 5 }

snMspsPimStdNeighborMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The active PIM mode of this neighbor.  This object is
            deprecated for PIMv2 routers since all neighbors on the
            interface must be either dense or sparse as determined by
            the protocol running on the interface."
    ::= { snMspsPimStdNeighborEntry 6 }

--
-- The PIM IP Multicast Route Table
--

snMspsPimStdIpMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing PIM-specific information on
            a subset of the rows of the ipMRouteTable defined in the IP
            Multicast MIB."
    ::= { snMspsPimStdTables 3 }

snMspsPimStdIpMRouteEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdIpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimIpMRouteTable.  There
            is one entry per entry in the ipMRouteTable whose incoming
            interface is running PIM."
    INDEX      { snMspsPimStdIpMRouteAddrType, snMspsPimStdIpMRouteGroup, snMspsPimStdIpMRouteSource, 
                 snMspsPimStdIpMRouteSourceMaskLen }
    ::= { snMspsPimStdIpMRouteTable 1 }

SnMspsPimStdIpMRouteEntry ::= SEQUENCE {
    snMspsPimStdIpMRouteAddrType        InetAddressType,
    snMspsPimStdIpMRouteGroup           InetAddress,
    snMspsPimStdIpMRouteSource          InetAddress,
    snMspsPimStdIpMRouteSourceMaskLen   Integer32,
    snMspsPimStdIpMRouteUpstreamAssertTimer   TimeTicks,
    snMspsPimStdIpMRouteAssertMetric          Integer32,
    snMspsPimStdIpMRouteAssertMetricPref      Integer32,
    snMspsPimStdIpMRouteAssertRPTBit          TruthValue,
    snMspsPimStdIpMRouteFlags                 BITS
}

snMspsPimStdIpMRouteAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP family in which the route belongs to."
    ::= { snMspsPimStdIpMRouteEntry 2 }

snMspsPimStdIpMRouteGroup OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP multicast group address for which this entry
	    contains multicast routing information."
    ::= { snMspsPimStdIpMRouteEntry 3 }

snMspsPimStdIpMRouteSource OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network address which when combined with the
	    corresponding value of ipMRouteSourceMask identifies the
	    sources for which this entry contains multicast routing
	    information."
    ::= { snMspsPimStdIpMRouteEntry 4 }

snMspsPimStdIpMRouteSourceMaskLen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network mask which when combined with the corresponding
	    value of ipMRouteSource identifies the sources for which
	    this entry contains multicast routing information."
    ::= { snMspsPimStdIpMRouteEntry 5 }


snMspsPimStdIpMRouteUpstreamAssertTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining before the router changes its upstream
            neighbor back to its RPF neighbor.  This timer is called the
            Assert timer in the PIM Sparse and Dense mode specification.
            A value of 0 indicates that no Assert has changed the
            upstream neighbor away from the RPF neighbor."
    ::= { snMspsPimStdIpMRouteEntry 6 }

snMspsPimStdIpMRouteAssertMetric OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The metric advertised by the assert winner on the upstream
            interface, or 0 if no such assert is in received."
    ::= { snMspsPimStdIpMRouteEntry 7 }

snMspsPimStdIpMRouteAssertMetricPref OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The preference advertised by the assert winner on the
            upstream interface, or 0 if no such assert is in effect."
    ::= { snMspsPimStdIpMRouteEntry 8 }

snMspsPimStdIpMRouteAssertRPTBit OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of the RPT-bit advertised by the assert winner on
            the upstream interface, or false if no such assert is in
            effect."
    ::= { snMspsPimStdIpMRouteEntry 9 }

snMspsPimStdIpMRouteFlags OBJECT-TYPE
    SYNTAX     BITS {
                  rpt(0),
                  spt(1)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object describes PIM-specific flags related to a
            multicast state entry.  See the PIM Sparse Mode
            specification for the meaning of the RPT and SPT bits."
    ::= { snMspsPimStdIpMRouteEntry 10 }

--
-- The PIM Next Hop Table
--

snMspsPimStdIpMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdIpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing PIM-specific information on
            a subset of the rows of the ipMRouteNextHopTable defined in
            the IP Multicast MIB."
    ::= { snMspsPimStdTables 4 }

snMspsPimStdIpMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdIpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimIpMRouteNextHopTable.
            There is one entry per entry in the ipMRouteNextHopTable
            whose interface is running PIM and whose
            ipMRouteNextHopState is pruned(1)."
    INDEX      { snMspsPimStdIpMRouteNextHopAddrType, snMspsPimStdIpMRouteNextHopGroup, 
                 snMspsPimStdIpMRouteNextHopSource, snMspsPimStdIpMRouteNextHopSourceMaskLen, 
                 snMspsPimStdIpMRouteNextHopIfIndex, snMspsPimStdIpMRouteNextHopAddress }
    ::= { snMspsPimStdIpMRouteNextHopTable 1 }

SnMspsPimStdIpMRouteNextHopEntry ::= SEQUENCE {

    snMspsPimStdIpMRouteNextHopAddrType             InetAddressType,
    snMspsPimStdIpMRouteNextHopGroup		 InetAddress,
    snMspsPimStdIpMRouteNextHopSource		 InetAddress,
    snMspsPimStdIpMRouteNextHopSourceMaskLen	 Integer32,
    snMspsPimStdIpMRouteNextHopIfIndex		 Integer32,
    snMspsPimStdIpMRouteNextHopAddress		 InetAddress,
    snMspsPimStdIpMRouteNextHopPruneReason       INTEGER
}

snMspsPimStdIpMRouteNextHopAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP family in which the Next hop address  belongs to."
    ::= { snMspsPimStdIpMRouteNextHopEntry  2 }
    
snMspsPimStdIpMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP multicast group for which this entry specifies a
	    next-hop on an outgoing interface."
    ::= { snMspsPimStdIpMRouteNextHopEntry 3 }

snMspsPimStdIpMRouteNextHopSource OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network address which when combined with the
	    corresponding value of snMspsPimCmnIpMRouteNextHopSourceMask identifies
	    the sources for which this entry specifies a next-hop on an
	    outgoing interface."
    ::= { snMspsPimStdIpMRouteNextHopEntry 4 }

snMspsPimStdIpMRouteNextHopSourceMaskLen OBJECT-TYPE
    SYNTAX     Integer32(0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The network mask which when combined with the corresponding
	    value of snMspsPimCmnIpMRouteNextHopSource identifies the sources for
	    which this entry specifies a next-hop on an outgoing interface"
    ::= { snMspsPimStdIpMRouteNextHopEntry 5 }

snMspsPimStdIpMRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The ifIndex value of the interface for the outgoing
	    interface for this next-hop."
    ::= { snMspsPimStdIpMRouteNextHopEntry 6 }

snMspsPimStdIpMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The address of the next-hop specific to this entry.  For
	    most interfaces, this is identical to snMspsPimCmnIpMRouteNextHopGroup.
	    NBMA interfaces, however, may have multiple next-hop
	    addresses out a single outgoing interface."
    ::= { snMspsPimStdIpMRouteNextHopEntry 7 }

snMspsPimStdIpMRouteNextHopPruneReason OBJECT-TYPE
    SYNTAX     INTEGER {
                  other (1),
                  prune (2),
                  assert (3)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object indicates why the downstream interface was
            pruned, whether in response to a PIM prune message or due to
            PIM Assert processing."
    ::= { snMspsPimStdIpMRouteNextHopEntry 8 }

-- The PIM RP Table

snMspsPimStdRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdRPEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The (conceptual) table listing PIM version 1 information
            for the Rendezvous Points (RPs) for IP multicast groups.
            This table is deprecated since its function is replaced by
            the pimRPSetTable for PIM version 2."
    ::= { snMspsPimStdTables 5 }

snMspsPimStdRPEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdRPEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "An entry (conceptual row) in the pimRPTable.  There is one
            entry per RP address for each IP multicast group."
    INDEX      { snMspsPimStdRPAddrType, snMspsPimStdRPGroupAddress, snMspsPimStdRPAddress }
    ::= { snMspsPimStdRPTable 1 }

SnMspsPimStdRPEntry ::= SEQUENCE {
    snMspsPimStdRPAddrType  InetAddressType,
    snMspsPimStdRPGroupAddress    InetAddress,
    snMspsPimStdRPAddress         InetAddress,
    snMspsPimStdRPState           INTEGER,
    snMspsPimStdRPStateTimer      TimeTicks,
    snMspsPimStdRPLastChange      TimeTicks,
    snMspsPimStdRPRowStatus       RowStatus
}

snMspsPimStdRPAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP Address type  in which the multicast group address, 
            and RP address belong to."
    ::= { snMspsPimStdRPEntry 1 }

snMspsPimStdRPGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information about an RP."
    ::= { snMspsPimStdRPEntry 2 }

snMspsPimStdRPAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The unicast address of the RP."
    ::= { snMspsPimStdRPEntry 3 }

snMspsPimStdRPState OBJECT-TYPE
    SYNTAX     INTEGER { up(1), down(2) }
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The state of the RP."
    ::= { snMspsPimStdRPEntry 4 }

snMspsPimStdRPStateTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The minimum time remaining before the next state change.
            When pimRPState is up, this is the minimum time which must
            expire until it can be declared down.  When pimRPState is
            down, this is the time until it will be declared up (in
            order to retry)."
    ::= { snMspsPimStdRPEntry 5 }

snMspsPimStdRPLastChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The value of sysUpTime at the time when the corresponding
            instance of pimRPState last changed its value."
    ::= { snMspsPimStdRPEntry 6 }

snMspsPimStdRPRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     deprecated
    DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::= { snMspsPimStdRPEntry 7 }

-- The PIM RP-Set Table

snMspsPimStdRPSetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing PIM information for
            candidate Rendezvous Points (RPs) for IP multicast groups.
            When the local router is the BSR, this information is
            obtained from received Candidate-RP-Advertisements.  When
            the local router is not the BSR, this information is
            obtained from received RP-Set messages."
    ::= { snMspsPimStdTables 6 }

snMspsPimStdRPSetEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimRPSetTable."
    INDEX      { snMspsPimStdRPSetComponent, snMspsPimStdRPSetAddrType, snMspsPimStdRPSetGroupAddress,
                 snMspsPimStdRPSetGroupMaskLen, snMspsPimStdRPSetAddress }
    ::= { snMspsPimStdRPSetTable 1 }

SnMspsPimStdRPSetEntry ::= SEQUENCE {

    snMspsPimStdRPSetAddrType  InetAddressType,
    snMspsPimStdRPSetGroupAddress    InetAddress,
    snMspsPimStdRPSetGroupMaskLen    Integer32,
    snMspsPimStdRPSetAddress         InetAddress,
    snMspsPimStdRPSetHoldTime        Integer32,
    snMspsPimStdRPSetExpiryTime      TimeTicks,
    snMspsPimStdRPSetComponent       Integer32,
    snMspsPimStdRPSetPimMode         INTEGER
}

snMspsPimStdRPSetAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP address type in which the RP address belongs to."
    ::= { snMspsPimStdRPSetEntry 1 }

snMspsPimStdRPSetGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address which, when combined with
            pimRPSetGroupMask, gives the group prefix for which this
            entry contains information about the Candidate-RP."
    ::= { snMspsPimStdRPSetEntry 2 }

snMspsPimStdRPSetGroupMaskLen OBJECT-TYPE
    SYNTAX     Integer32 (0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The multicast group address mask which, when combined with
            pimRPSetGroupAddress, gives the group prefix for which this
            entry contains information about the Candidate-RP."
    ::= { snMspsPimStdRPSetEntry 3 }

snMspsPimStdRPSetAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP address of the Candidate-RP."
    ::= { snMspsPimStdRPSetEntry 4 }

snMspsPimStdRPSetHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The holdtime of a Candidate-RP.  If the local router is not
            the BSR, this value is 0."
    ::= { snMspsPimStdRPSetEntry 5 }

snMspsPimStdRPSetExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before the Candidate-RP will be
            declared down.  If the local router is not the BSR, this
            value is 0."
    ::= { snMspsPimStdRPSetEntry 6 }

snMspsPimStdRPSetComponent OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            " A number uniquely identifying the component.  Each
            protocol instance connected to a separate domain should have
            a different index value."
    ::= { snMspsPimStdRPSetEntry 7 }
snMspsPimStdRPSetPimMode OBJECT-TYPE
    SYNTAX     INTEGER {
                        dm (1),
                        sm (2),
                        ssm (3),
                        bidir (4)
                        }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value shows the PIM mode in the RP set entry"
    ::= { snMspsPimStdRPSetEntry 11 }

--
-- Note: { pim 8 } through { pim 10 } were used in older versions
-- of this MIB.  Since some earlier versions of this MIB have been
-- widely-deployed, these values must not be used in the future,
-- as long the MIB is rooted under { experimental 61 }.
--

-- The PIM Candidate-RP Table

snMspsPimStdCandidateRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdCandidateRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which the local router is to advertise itself as a
            Candidate-RP when the value of snMspsPimStdComponentCRPHoldTime is
            non-zero.  If this table is empty, then the local router
            will advertise itself as a Candidate-RP for all groups
            (providing the value of snMspsPimStdComponentCRPHoldTime is non-
            zero)."
    ::= { snMspsPimStdTables 7 }

snMspsPimStdCandidateRPEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdCandidateRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimCandidateRPTable."
    INDEX      { snMspsPimStdCandidateRPAddrType,
                 snMspsPimStdCandidateRPGroupAddress,
                 snMspsPimStdCandidateRPGroupMaskLen }
    ::= { snMspsPimStdCandidateRPTable 1 }

SnMspsPimStdCandidateRPEntry ::= SEQUENCE {

    snMspsPimStdCandidateRPAddrType   InetAddressType,
    snMspsPimStdCandidateRPGroupAddress    InetAddress,
    snMspsPimStdCandidateRPGroupMaskLen    Integer32,
    snMspsPimStdCandidateRPAddress         InetAddress,
    snMspsPimStdCandidateRPRowStatus       RowStatus
}

snMspsPimStdCandidateRPAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
	    "The IP Address type  in which the multicast group address, 
            and RP address belong to."
    ::= { snMspsPimStdCandidateRPEntry 1 }

snMspsPimStdCandidateRPGroupAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IP multicast group address which, when combined with
            pimCandidateRPGroupMask, identifies a group prefix for which
            the local router will advertise itself as a Candidate-RP."
    ::= { snMspsPimStdCandidateRPEntry 2 }

snMspsPimStdCandidateRPGroupMaskLen OBJECT-TYPE
    SYNTAX     Integer32 (0..128)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The multicast group address mask which, when combined with
            pimCandidateRPGroupMask, identifies a group prefix for which
            the local router will advertise itself as a Candidate-RP."
    ::= { snMspsPimStdCandidateRPEntry 3 }

snMspsPimStdCandidateRPAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The (unicast) address of the interface which will be
            advertised as a Candidate-RP."
    ::= { snMspsPimStdCandidateRPEntry 4 }

snMspsPimStdCandidateRPRowStatus 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."
    ::= { snMspsPimStdCandidateRPEntry 5 }

-- The PIM Component Table

snMspsPimStdComponentTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing objects specific to a PIM
            domain.  One row exists for each domain to which the router
            is connected.  A PIM-SM domain is defined as an area of the
            network over which Bootstrap messages are forwarded.
            Typically, a PIM-SM router will be a member of exactly one
            domain.  This table also supports, however, routers which
            may form a border between two PIM-SM domains and do not
            forward Bootstrap messages between them."
    ::= { snMspsPimStdTables 8 }

snMspsPimStdComponentEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimComponentTable."
    INDEX      { snMspsPimStdComponentIndex }
    ::= { snMspsPimStdComponentTable 1 }

SnMspsPimStdComponentEntry ::= SEQUENCE {

    snMspsPimStdComponentIndex              Integer32,
    snMspsPimStdComponentBSRExpiryTime      TimeTicks,
    snMspsPimStdComponentCRPHoldTime        Integer32,
    snMspsPimStdComponentStatus             RowStatus,
    snMspsPimStdComponentScopeZoneName      DisplayString
}

snMspsPimStdComponentIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A number uniquely identifying the component.  Each protocol
            instance connected to a separate domain should have a
            different index value.  Routers that only support membership
            in a single PIM-SM domain should use a pimComponentIndex
            value of 1."
    ::= { snMspsPimStdComponentEntry 1 }

snMspsPimStdComponentBSRExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before the bootstrap router in
            the local domain will be declared down.  For candidate BSRs,
            this is the time until the component sends an RP-Set
            message.  For other routers, this is the time until it may
            accept an RP-Set message from a lower candidate BSR."
    ::= { snMspsPimStdComponentEntry 2 }

snMspsPimStdComponentCRPHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The holdtime of the component when it is a candidate RP in
            the local domain.  The value of 0 is used to indicate that
            the local system is not a Candidate-RP."
    DEFVAL     { 0 }
    ::= { snMspsPimStdComponentEntry 3 }

snMspsPimStdComponentStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry creates
            another protocol instance; destroying the entry disables a
            protocol instance."
    ::= { snMspsPimStdComponentEntry 4 }

snMspsPimStdComponentScopeZoneName OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
      " This object indicates the scope-zone associated with 
        a particular component"
    ::= { snMspsPimStdComponentEntry 5 }

snMspsPimStdComponentBSRTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdComponentBSREntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing objects specific to a PIM
            domain.  One row exists for each domain to which the router
            is connected.  A PIM-SM domain is defined as an area of the
            network over which Bootstrap messages are forwarded.
            Typically, a PIM-SM router will be a member of exactly one
            domain.  This table also supports, however, routers which
            may form a border between two PIM-SM domains and do not
            forward Bootstrap messages between them."
    ::= { snMspsPimStdTables 9 }

snMspsPimStdComponentBSREntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdComponentBSREntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimComponentTable."
    INDEX      { snMspsPimStdComponentBSRIndex, snMspsPimStdComponentBSRAddrType}
    ::= { snMspsPimStdComponentBSRTable 1 }

SnMspsPimStdComponentBSREntry ::= SEQUENCE {

    snMspsPimStdComponentBSRIndex              Integer32,
    snMspsPimStdComponentBSRAddrType           InetAddressType,
    snMspsPimStdComponentBSRAddress            InetAddress
}

snMspsPimStdComponentBSRIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "A number uniquely identifying the component."
    ::= { snMspsPimStdComponentBSREntry 1 }

snMspsPimStdComponentBSRAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of the bootstrap router (BSR) for the local
            PIM region."
    ::= { snMspsPimStdComponentBSREntry 2 }


snMspsPimStdComponentBSRAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the bootstrap router (BSR) for the local
            PIM region."
    ::= { snMspsPimStdComponentBSREntry 3 }

--
-- The PIM Neighbor Secondary Address Table
--

snMspsPimStdNbrSecAddressTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF SnMspsPimStdNbrSecAddressEntry 
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the secondary addresses
            advertised by each PIM neighbor (on a subset of the rows of
            the pimNeighborTable defined above)."
    REFERENCE "RFC 4601 section 4.3.4"
    ::= { snMspsPimStdTables 10 }

snMspsPimStdNbrSecAddressEntry OBJECT-TYPE
    SYNTAX     SnMspsPimStdNbrSecAddressEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the snMspsPimStdNbrSecAddressTable."
    INDEX      { snMspsPimStdNbrSecAddressIfIndex,
                 snMspsPimStdNbrSecAddressType,
                 snMspsPimStdNbrSecAddressPrimary,
                 snMspsPimStdNbrSecAddress }
    ::= { snMspsPimStdNbrSecAddressTable 1 }

SnMspsPimStdNbrSecAddressEntry ::= SEQUENCE {

    snMspsPimStdNbrSecAddressIfIndex InterfaceIndex,
    snMspsPimStdNbrSecAddressType    InetAddressType,
    snMspsPimStdNbrSecAddressPrimary InetAddress,
    snMspsPimStdNbrSecAddress        InetAddress
}

snMspsPimStdNbrSecAddressIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface used to reach this
            PIM neighbor."
    ::= { snMspsPimStdNbrSecAddressEntry 1 }

snMspsPimStdNbrSecAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The address type of this PIM neighbor."
    ::= { snMspsPimStdNbrSecAddressEntry 2 }

snMspsPimStdNbrSecAddressPrimary OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|8|16|20))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The primary IP address of this PIM neighbor.  The
            InetAddressType is given by the snMspsPimStdNbrSecAddressType
            object."
    ::= { snMspsPimStdNbrSecAddressEntry 3 }

snMspsPimStdNbrSecAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (4|8|16|20))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The secondary IP address of this PIM neighbor.  The
            InetAddressType is given by the snMspsPimStdNbrSecAddressType
            object."
    ::= { snMspsPimStdNbrSecAddressEntry 4 }

-- End of PRIVATE MIB implementation of standard PIM MIB for supporting
-- both PIMv4 and PIMv6                                     

   
snMspsMsdp		OBJECT IDENTIFIER ::= { snMspsMsdpMIB 1 }
snMspsMsdpStat	OBJECT IDENTIFIER ::= { snMspsMsdpMIB 2 }

snMspsMsdpTraceLevel OBJECT-TYPE
  SYNTAX  Integer32
  MAX-ACCESS   read-write
  STATUS   current
  DESCRIPTION
      " This is used to enable Trace Statements in MSDP Module.
      A four byte integer value is specified for enabling the level
      of tracing.Each Bit in the four byte integer variable represents
      a level of Trace. The bits represents the levels as
      follows:
      0  - Trace Disable, 
      1  - Management, 
      2  - Entry trace,
      3  - Exit trace, 
      4  - Failure trace, 
      5  - All resources except buffer, 
      6  - Buffer,
      7  - Input module trace,
      8  - Output module trace,
      9  - Peer module trace,
      10 - cache module trace
      The remaining bits are unused. The combination of levels are also allowed.
      For example if the bits 1 and 2 are set, then the Trace
      statements related to management and Data Path will be printed.
      The administrator have to enter the corresponding integer value
      for the bits set. For example if bits 1 and 2 are set then
      admin has to give the value 6."

  DEFVAL  { 0 }

  ::= { snMspsMsdp 1 }

snMspsMsdpIPv4AdminStat OBJECT-TYPE
  SYNTAX     INTEGER {
                       disabled (0),
                       enabled  (1)
                     }
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "The state of IPv4 MSDP on this MSDP speaker- globally enabled
       or disabled. By default MSDP for IPv4 is disabled"

  DEFVAL  { 0 }

  ::= { snMspsMsdp 2 }

snMspsMsdpIPv6AdminStat OBJECT-TYPE
  SYNTAX     INTEGER {
                       disabled (0),
                       enabled  (1)
                     }
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "The state of IPv6  MSDP on this MSDP speaker - globally enabled
       or disabled. By default MSDP for IPv6 is disabled"

  DEFVAL  { 0 }

  ::= { snMspsMsdp 3 }

snMspsMsdpCacheLifetime OBJECT-TYPE
  SYNTAX     TimeTicks
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "The lifetime given to SA cache entries when created or
      refreshed.  This is the [SG-State-Period] in the MSDP
      spec.  A value of 0 means no SA caching is done by this
      MSDP speaker.
   
      This object does not measure time per se; instead, it
      is the delta from the time at which an SA message is
      received at which it should be expired if not refreshed.
      (i.e., it is the value of snMspsMsdpSACacheExpiryTime
      immediately after receiving an SA message applying to
      that row.)  As such, TimeInterval would be a more
      appropriate SYNTAX; it remains TimeTicks for backwards
      compatibility."
 
 REFERENCE "RFC 3618 section 5.3"

 DEFVAL  { 0 }

 ::= { snMspsMsdp 4 }

snMspsMsdpNumSACacheEntries OBJECT-TYPE
  SYNTAX     Gauge32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The total number of entries in the SA Cache table of MSDP."

  ::= { snMspsMsdp 5 }


snMspsMsdpMaxPeerSessions         OBJECT-TYPE
  SYNTAX        Integer32 (1..32)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
      "It defines the Maximum number of MSDP Peer sessions (TCP sessions) 
       that would be allowed simultaneously."
  DEFVAL  { 32 }

  ::= { snMspsMsdp 6 }

snMspsMsdpMappingComponentId         OBJECT-TYPE
  SYNTAX        Integer32 (1..255)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION
      "It indicates the MRP(PIM) component on which the MSDP should work.
       ie. Whenever the (*,G) Join is received in the 
       configured PIM compoment and MSDP is enabled, SA cache entry will be 
       searched in MSDP to get the Source Address"

  DEFVAL  { 1 }

  ::= { snMspsMsdp 7 }

snMspsMsdpListenerPort         OBJECT-TYPE
  SYNTAX     Integer32 (639 |1024..65535)
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "MSDP listens on this port for the TCP connection between
       the remote peers. This port change will be effective for the 
       forthcoming connections, however the old Peers with old TCP
       Port will be supported till the Peer goes down"

  DEFVAL { 639 } 
  ::= { snMspsMsdp 8 }

snMspsMsdpPeerFilter         OBJECT-TYPE
  SYNTAX     INTEGER {
                      acceptall (1),
                      denyall (0)
                      }
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "This is the status of peer filter globally configured. This can
       be Accept all peers or Deny all Peers. If the status is acceptall, 
       all the Peer connections are accepted if no route map is configured 
       in PEER FILTER TABLE. If the routemap is configured, the action taken
       based on the routemap rule."
       
  DEFVAL { 1 }

  ::= { snMspsMsdp 9 }

snMspsMsdpPeerCount         OBJECT-TYPE
  SYNTAX     Integer32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "This indicates the number of configured Peers."

  ::= { snMspsMsdp 10 }

snMspsMsdpStatEstPeerCount         OBJECT-TYPE
  SYNTAX     Integer32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "This indicates the number of established Peers."

  ::= { snMspsMsdpStat 1 }

------------
-- SCALAR_TABLE_END snMspsMsdp
------------
--
-- The MSDP Peer table
--

snMspsMsdpPeerTable OBJECT-TYPE
  SYNTAX     SEQUENCE OF SnMspsMsdpPeerEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The (conceptual) table listing the MSDP speaker's peers. This table 
       is common for IPv4 and IPv6 Peers"
  ::= { snMspsMsdp 11 }

snMspsMsdpPeerEntry OBJECT-TYPE
  SYNTAX     SnMspsMsdpPeerEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "An entry (conceptual row) representing an MSDP peer."

  INDEX      { snMspsMsdpPeerAddrType, snMspsMsdpPeerRemoteAddress }
  ::= { snMspsMsdpPeerTable 1 }

SnMspsMsdpPeerEntry ::= SEQUENCE {
        snMspsMsdpPeerAddrType                   InetAddressType,
        snMspsMsdpPeerRemoteAddress              InetAddress,
        snMspsMsdpPeerState                      INTEGER,
        snMspsMsdpPeerRPFFailures                Counter32,
        snMspsMsdpPeerInSAs                      Counter32,
        snMspsMsdpPeerOutSAs                     Counter32,
        snMspsMsdpPeerInSARequests               Counter32,
        snMspsMsdpPeerOutSARequests              Counter32,
        snMspsMsdpPeerInControlMessages          Counter32,
        snMspsMsdpPeerOutControlMessages         Counter32,
        snMspsMsdpPeerInDataPackets              Counter32,
        snMspsMsdpPeerOutDataPackets             Counter32,
        snMspsMsdpPeerFsmEstablishedTransitions  Counter32,
        snMspsMsdpPeerFsmEstablishedTime         TimeStamp,
        snMspsMsdpPeerInMessageTime              TimeStamp,
        snMspsMsdpPeerLocalAddress               InetAddress,
        snMspsMsdpPeerConnectRetryInterval       Integer32,
        snMspsMsdpPeerHoldTimeConfigured         Integer32,
        snMspsMsdpPeerKeepAliveConfigured        Integer32,
        snMspsMsdpPeerDataTtl                    Integer32,
        snMspsMsdpPeerStatus                     RowStatus,
        snMspsMsdpPeerRemotePort                 Integer32,
        snMspsMsdpPeerLocalPort                  Integer32,
        snMspsMsdpPeerEncapsulationType          INTEGER,
        snMspsMsdpPeerConnectionAttempts         Counter32,
        snMspsMsdpPeerDiscontinuityTime          TimeStamp,
        snMspsMsdpPeerMD5AuthPassword            DisplayString,
        snMspsMsdpPeerMD5AuthPwdStat             INTEGER,
        snMspsMsdpPeerMD5FailCount               Integer32,
        snMspsMsdpPeerMD5SuccessCount            Integer32,
        snMspsMsdpPeerInSAResponses              Counter32,
        snMspsMsdpPeerOutSAResponses             Counter32,
        snMspsMsdpPeerUpTime                     TimeTicks,
        snMspsMsdpPeerInKeepAliveCount           Counter32,
        snMspsMsdpPeerOutKeepAliveCount          Counter32,
        snMspsMsdpPeerDataTtlErrorCount          Counter32,
        snMspsMsdpPeerAdminStatus                INTEGER
    }
snMspsMsdpPeerAddrType OBJECT-TYPE 
  SYNTAX     InetAddressType 
  MAX-ACCESS not-accessible 
  STATUS     current 
  DESCRIPTION 
      "The IP address type for which this entry 
      contains information." 
  ::= { snMspsMsdpPeerEntry  1 } 


snMspsMsdpPeerRemoteAddress OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The address of the remote MSDP peer."
  ::= { snMspsMsdpPeerEntry 2 }


snMspsMsdpPeerState OBJECT-TYPE
  SYNTAX     INTEGER {
                       inactive(1),
                       listen(2),
                       connecting(3),
                       established(4),
                       disabled(5)
                     }
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The state of the MSDP TCP connection with this peer."
  ::= { snMspsMsdpPeerEntry 3 }

snMspsMsdpPeerRPFFailures OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of SA messages received from this peer that
       failed the Peer-RPF check.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 4 }

snMspsMsdpPeerInSAs OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA messages received on this
       connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 5 }

snMspsMsdpPeerOutSAs OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA messages transmitted on this
       connection.
       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 6 }

snMspsMsdpPeerInSARequests OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA-Request messages received on this
       connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 7 }

snMspsMsdpPeerOutSARequests OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA-Request messages transmitted on
       this connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 8 }

snMspsMsdpPeerInControlMessages OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The total number of MSDP messages, excluding encapsulated
       data packets, received on this TCP connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 9 }

snMspsMsdpPeerOutControlMessages OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The total number of MSDP messages, excluding encapsulated
       data packets, transmitted on this TCP connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 10 }

snMspsMsdpPeerInDataPackets OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The total number of encapsulated data packets received
       from this peer.
       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 11 }

snMspsMsdpPeerOutDataPackets OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The total number of encapsulated data packets sent to
       this peer.
       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 12 }

snMspsMsdpPeerFsmEstablishedTransitions OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The total number of times the MSDP FSM transitioned into
       the ESTABLISHED state."
  REFERENCE "RFC 3618 section 11"
  ::= { snMspsMsdpPeerEntry 13 }

snMspsMsdpPeerFsmEstablishedTime OBJECT-TYPE
  SYNTAX     TimeStamp
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "This timestamp is set to the value of sysUpTime when a
       peer transitions into or out of the ESTABLISHED state.
       It is set to zero when the MSDP speaker is booted."
  REFERENCE "RFC 3618 section 11"
  ::= { snMspsMsdpPeerEntry 14 }

snMspsMsdpPeerInMessageTime OBJECT-TYPE
  SYNTAX     TimeStamp
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The sysUpTime value when the last MSDP message was
       received from the peer.  It is set to zero when the MSDP
       speaker is booted."
  ::= { snMspsMsdpPeerEntry 15 }

snMspsMsdpPeerLocalAddress OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "The local IP address used for this entry's MSDP TCP
       connection."
  ::= { snMspsMsdpPeerEntry 16 }

snMspsMsdpPeerConnectRetryInterval OBJECT-TYPE
  SYNTAX     Integer32 (1..65535)
  UNITS      "seconds"
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "Time interval, in seconds, for the [ConnectRetry-period]
       for this peer."
  REFERENCE "RFC 3618 section 5.6"
  DEFVAL { 30 }
  ::= { snMspsMsdpPeerEntry 17 }

snMspsMsdpPeerHoldTimeConfigured OBJECT-TYPE
  SYNTAX     Integer32 (0|3..65535)
  UNITS      "seconds"
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "Time interval, in seconds, for the [HoldTime-Period]
       configured for this MSDP speaker with this peer.  If the
       value of this object is zero (0), the MSDP connection is
       never torn down due to the absence of messages from the
       peer."
  REFERENCE "RFC 3618 section 5.4"
  DEFVAL { 75 }
  ::= { snMspsMsdpPeerEntry 18 }

snMspsMsdpPeerKeepAliveConfigured OBJECT-TYPE
  SYNTAX     Integer32 (0|1..21845)
  UNITS      "seconds"
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "Time interval, in seconds, for the [KeepAlive-Period]
       configured for this MSDP speaker with this peer.  If the
       value of this object is zero (0), no periodic KEEPALIVE
       messages are sent to the peer after the MSDP connection
       has been established."
  REFERENCE "RFC 3618 section 5.5"
  DEFVAL { 60 }
  ::= { snMspsMsdpPeerEntry 19 }

snMspsMsdpPeerDataTtl OBJECT-TYPE
  SYNTAX     Integer32 (0..255)
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "The minimum TTL a packet is required to have before it
       may be forwarded using SA encapsulation to this peer."
  DEFVAL { 1 }
  ::= { snMspsMsdpPeerEntry 20 }


snMspsMsdpPeerStatus OBJECT-TYPE
  SYNTAX     RowStatus
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "The RowStatus object by which peers can be added and
       deleted.  A transition to 'active' will cause the MSDP
       'Enable MSDP peering with P' Event to be generated.  A
       transition out of the 'active' state will cause the MSDP
       'Disable MSDP peering with P' Event to be generated.
       Care should be used in providing write access to this
       object without adequate authentication.

       snMspsMsdpPeerRemoteAddress is the only variable that must be
       set to a valid value before the row can be activated.
       Since this is the table's INDEX, a row can be activated
       by simply setting the snMspsMsdpPeerStatus variable.
       
       It is possible to modify other columns in the same
       conceptual row when the status value is active(1)."
  REFERENCE "RFC 3618 section 11.1"
  ::= { snMspsMsdpPeerEntry 21 }

snMspsMsdpPeerRemotePort OBJECT-TYPE
  SYNTAX     Integer32 (0..65535)
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The remote port for the TCP connection between the MSDP
       peers."
  DEFVAL { 639 }
  ::= { snMspsMsdpPeerEntry 22 }

snMspsMsdpPeerLocalPort OBJECT-TYPE
  SYNTAX     Integer32 (0..65535)
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The local port for the TCP connection between the MSDP
       peers."
  DEFVAL { 639 }
  ::= { snMspsMsdpPeerEntry 23 }

snMspsMsdpPeerEncapsulationType OBJECT-TYPE
  SYNTAX     INTEGER {
                       none(0),
                       tcp(1)
                     }
  MAX-ACCESS read-create
  STATUS     current

  DESCRIPTION
      "The encapsulation in use when encapsulating data in SA
       messages to this peer."
  ::= { snMspsMsdpPeerEntry 24 }

snMspsMsdpPeerConnectionAttempts OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of times the state machine has transitioned
       from INACTIVE to CONNECTING."
  ::= { snMspsMsdpPeerEntry 25 }


snMspsMsdpPeerDiscontinuityTime OBJECT-TYPE
  SYNTAX     TimeStamp
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The value of sysUpTime on the most recent occasion at
       which one or more of this entry's counters suffered a
       discontinuity.  See the DESCRIPTION of each object to see
       if it is expected to have discontinuities.  These
       discontinuities may occur at peer connection
       establishment.

       If no such discontinuities have occurred since the last
       reinitialization of the local management subsystem, then
       this object contains a zero value."
  ::= { snMspsMsdpPeerEntry 26 }

snMspsMsdpPeerMD5AuthPassword OBJECT-TYPE
  SYNTAX     DisplayString (SIZE (1..80)) 
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "The TCP MD5 Authentication Password that has to be sent with all TCP
       packets originated from the peer."
  ::= { snMspsMsdpPeerEntry 27 }

snMspsMsdpPeerMD5AuthPwdStat OBJECT-TYPE
  SYNTAX	    INTEGER 
          {
            disabled (0),
            enabled  (1)
          } 
  MAX-ACCESS	read-write
  STATUS	    current
  DESCRIPTION 
      " This object indicates whether TCP MD5 password needs to be enabled/disabled
        for the peer."
  DEFVAL  { disabled }

  ::= { snMspsMsdpPeerEntry 28 }

snMspsMsdpPeerMD5FailCount OBJECT-TYPE
  SYNTAX            Integer32
  MAX-ACCESS        read-only
  STATUS            current
  DESCRIPTION
      "This indicates the number of times the MD5 authentication has failed"

  ::= { snMspsMsdpPeerEntry 29 }

snMspsMsdpPeerMD5SuccessCount OBJECT-TYPE
  SYNTAX            Integer32
  MAX-ACCESS        read-only
  STATUS            current
  DESCRIPTION
      "This indicates the number of times the MD5 authentication has succeeded"

  ::= { snMspsMsdpPeerEntry 30 }

snMspsMsdpPeerInSAResponses OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA-Response messages received on
       this connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 31 }

snMspsMsdpPeerOutSAResponses OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA-Response messages transmitted on
       this connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 32 }

snMspsMsdpPeerUpTime OBJECT-TYPE
  SYNTAX     TimeTicks
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The time since this entry was first placed in the Peer
       Table.

       The first epoch is the time that the entry was first
       placed in the Peer table, and the second epoch is the
       current time."
  ::= { snMspsMsdpPeerEntry 33 }

snMspsMsdpPeerInKeepAliveCount OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP KeepAlive  messages received on
       this connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 34 }

snMspsMsdpPeerOutKeepAliveCount OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP KeepAlive  messages transmitted on
       this connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 35 }

snMspsMsdpPeerDataTtlErrorCount OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP data Packets dropped as received TTL is invalid
       for this connection.

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other
       times as indicated by the value of
       snMspsMsdpPeerDiscontinuityTime."
  ::= { snMspsMsdpPeerEntry 36 }


snMspsMsdpPeerAdminStatus OBJECT-TYPE
  SYNTAX     INTEGER {
                       established(1),
                       disabled(2)
                     }
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "The is the admin state of the MSDP peer."
  ::= { snMspsMsdpPeerEntry 37 }

--
-- The MSDP Source-Active Cache table
--

snMspsMsdpSACacheTable OBJECT-TYPE
  SYNTAX     SEQUENCE OF SnMspsMsdpSACacheEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
       "The (conceptual) table listing the MSDP SA advertisements
        currently in the MSDP speaker's cache."
  ::= { snMspsMsdp 12 }

snMspsMsdpSACacheEntry OBJECT-TYPE
  SYNTAX     SnMspsMsdpSACacheEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "An entry (conceptual row) representing an MSDP SA
       advertisement.  The Index to this table includes
       snMspsMsdpSACacheOriginRP for diagnosing incorrect MSDP
       advertisements; normally, a Group and Source pair would
       be unique.   Row creation is not permitted; 
       snMspsMsdpSACacheStatus may only be used to delete rows 
       from this table."

  INDEX      { snMspsMsdpSACacheAddrType,snMspsMsdpSACacheGroupAddr, 
               snMspsMsdpSACacheSourceAddr,snMspsMsdpSACacheOriginRP }
  ::= { snMspsMsdpSACacheTable 1 }

SnMspsMsdpSACacheEntry ::= SEQUENCE {
        snMspsMsdpSACacheAddrType         InetAddressType,
        snMspsMsdpSACacheGroupAddr        InetAddress,
        snMspsMsdpSACacheSourceAddr       InetAddress,
        snMspsMsdpSACacheOriginRP         InetAddress,
        snMspsMsdpSACachePeerLearnedFrom  InetAddress,
        snMspsMsdpSACacheRPFPeer          InetAddress,
        snMspsMsdpSACacheInSAs            Counter32,
        snMspsMsdpSACacheInDataPackets    Counter32,
        snMspsMsdpSACacheUpTime           TimeTicks,
        snMspsMsdpSACacheExpiryTime       TimeTicks,
        snMspsMsdpSACacheStatus           RowStatus
    }

snMspsMsdpSACacheAddrType OBJECT-TYPE
  SYNTAX     InetAddressType
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The IP address type for which this entry
      contains information."
  ::= { snMspsMsdpSACacheEntry  1 }


snMspsMsdpSACacheGroupAddr OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The multicast group address of the SA Cache entry."
  ::= { snMspsMsdpSACacheEntry 2 }

snMspsMsdpSACacheSourceAddr OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The source address of the SA Cache entry."
  ::= { snMspsMsdpSACacheEntry 3 }

snMspsMsdpSACacheOriginRP OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The RP of the SA Cache entry.  This field is in the index
       in order to catch multiple RP's advertising the same
       source and group."
  ::= { snMspsMsdpSACacheEntry 4 }

snMspsMsdpSACachePeerLearnedFrom OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The peer from which this SA Cache entry was last
       accepted.  This address must correspond to the
       snMspsMsdpPeerRemoteAddress value for a row in the MSDP Peer
       Table.  This should be  all zeros on the router that
       originated the entry."
  ::= { snMspsMsdpSACacheEntry 5 }

snMspsMsdpSACacheRPFPeer OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The peer from which an SA message corresponding to this
       cache entry would be accepted (i.e., the RPF peer for
       snMspsMsdpSACacheOriginRP).  This may be different than
       snMspsMsdpSACachePeerLearnedFrom if this entry was created by
       an MSDP SA-Response.  This address must correspond to
       the snMspsMsdpPeerRemoteAddress value for a row in the MSDP
       Peer Table, or it may be all zeros if no RPF peer exists."
  ::= { snMspsMsdpSACacheEntry 6 }

snMspsMsdpSACacheInSAs OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP SA messages received relevant to this
       cache entry.  This object must be initialized to zero
       when creating a cache entry."
  ::= { snMspsMsdpSACacheEntry 7 }


snMspsMsdpSACacheInDataPackets OBJECT-TYPE
  SYNTAX     Counter32
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The number of MSDP-encapsulated data packets received
       relevant to this cache entry.  This object must be
       initialized to zero when creating a cache entry."
  ::= { snMspsMsdpSACacheEntry 8 }

snMspsMsdpSACacheUpTime OBJECT-TYPE
  SYNTAX     TimeTicks
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The time since this entry was first placed in the SA
       cache.

       The first epoch is the time that the entry was first
       placed in the SA cache, and the second epoch is the
       current time."
  ::= { snMspsMsdpSACacheEntry 9 }

snMspsMsdpSACacheExpiryTime OBJECT-TYPE
  SYNTAX     TimeTicks
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "The time remaining before this entry will expire from
       the SA cache.

       The first epoch is now, and the second epoch is the time
       that the entry will expire."
  ::= { snMspsMsdpSACacheEntry 10 }

snMspsMsdpSACacheStatus OBJECT-TYPE
  SYNTAX     RowStatus { active(1), destroy(6) }
  MAX-ACCESS read-write
  STATUS     current
  DESCRIPTION
      "The status of this row in the table.  The only allowable
       actions are to retrieve the status, which will be 'active',
       or to set the status to 'destroy' in order to  remove
       this entry from the cache.
       Row creation is not permitted.

       No columnar objects are writable, so there are none that
       may be changed while the status value is active(1)."
  ::= { snMspsMsdpSACacheEntry 11 }


--
-- MSDP Mesh Group Membership table
--

snMspsMsdpMeshGroupTable OBJECT-TYPE
  SYNTAX     SEQUENCE OF SnMspsMsdpMeshGroupEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The (conceptual) table listing MSDP Mesh Group
       configuration."
  ::= { snMspsMsdp 13 }

snMspsMsdpMeshGroupEntry OBJECT-TYPE

  SYNTAX     SnMspsMsdpMeshGroupEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "An entry (conceptual row) representing a peer in an MSDP
       Mesh Group.

       If row creation is supported, dynamically added rows are
       added to the system's stable configuration
       (corresponding to a StorageType value of nonVolatile)."

  INDEX   { snMspsMsdpMeshGroupName,snMspsMsdpMeshGroupAddrType,
            snMspsMsdpMeshGroupPeerAddress }
  ::= { snMspsMsdpMeshGroupTable 1 }

SnMspsMsdpMeshGroupEntry ::= SEQUENCE {
        snMspsMsdpMeshGroupName         DisplayString,
        snMspsMsdpMeshGroupAddrType     InetAddressType,
        snMspsMsdpMeshGroupPeerAddress  InetAddress,
        snMspsMsdpMeshGroupStatus       RowStatus
    }

snMspsMsdpMeshGroupName OBJECT-TYPE
  SYNTAX     DisplayString (SIZE (1..64))
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The name of the mesh group."
  ::= { snMspsMsdpMeshGroupEntry 1 }

snMspsMsdpMeshGroupAddrType OBJECT-TYPE
  SYNTAX     InetAddressType
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The IP address type for which this entry
      contains information."
  ::= { snMspsMsdpMeshGroupEntry  2 }

snMspsMsdpMeshGroupPeerAddress OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "A peer address that is a member of the mesh group with
       name snMspsMsdpMeshGroupName.  The snMspsMsdpMeshGroupPeerAddress
       must match a row in the snMspsMsdpPeerTable."
  ::= { snMspsMsdpMeshGroupEntry 3 }

snMspsMsdpMeshGroupStatus OBJECT-TYPE
  SYNTAX     RowStatus
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This entry's status, by which new entries may be added
      to the table and old entries deleted.

      snMspsMsdpMeshGroupName and snMspsMsdpMeshGroupPeerAddress must be
      set to valid values before the row can be activated.
      Since these are the table's INDEX, a row can be activated
      by simply setting the snMspsMsdpMeshGroupStatus variable.

      It is not possible to modify other columns in the same
      conceptual row when the status value is active(1),
      because the only other objects in the row are part
      of the index.  Changing one of these changes the row,
      so an old row must be deleted and a new one created."

  ::= { snMspsMsdpMeshGroupEntry 4 }

--
-- MSDP RP Table
--
snMspsMsdpRPTable OBJECT-TYPE
  SYNTAX     SEQUENCE OF SnMspsMsdpRPEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The (conceptual) table listing MSDP RP Address
       configurations. This address is used MSDP SA messages
       as a Initiator RP."

  ::= {  snMspsMsdp 14 }

snMspsMsdpRPEntry OBJECT-TYPE
  SYNTAX     SnMspsMsdpRPEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "An entry (conceptual row) representing the RP Address 
       to be used in SA messages."
                  
  INDEX { snMspsMsdpRPAddrType }
  ::= { snMspsMsdpRPTable 1 }

SnMspsMsdpRPEntry ::= SEQUENCE {
         snMspsMsdpRPAddrType        InetAddressType,
         snMspsMsdpRPAddress         InetAddress,
         snMspsMsdpRPOperStatus      INTEGER,
         snMspsMsdpRPStatus          RowStatus
         }

snMspsMsdpRPAddrType OBJECT-TYPE
  SYNTAX     InetAddressType
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The IP address type for which this entry
       contains information."
  ::= { snMspsMsdpRPEntry 1 }

snMspsMsdpRPAddress OBJECT-TYPE
  SYNTAX     InetAddress (SIZE (16))
  MAX-ACCESS read-create 
  STATUS     current
  DESCRIPTION
      "RP Address which will be present in the 
       SA message sent from this router."
  ::= { snMspsMsdpRPEntry 2 }
snMspsMsdpRPOperStatus OBJECT-TYPE
  SYNTAX     INTEGER {
                       up   (1),
                       down (2)
                     }
  MAX-ACCESS read-only
  STATUS     current
  DESCRIPTION
      "This indicates the interface oper status."
  ::= { snMspsMsdpRPEntry 3 }

snMspsMsdpRPStatus OBJECT-TYPE
  SYNTAX     RowStatus 
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This indicates the status of the (conceptual Row).
       The only possible activity is making the row active.
       This row cannot be destroyed ever."
  ::= { snMspsMsdpRPEntry 4 }

--
-- MSDP Peer Filter Table
--
snMspsMsdpPeerFilterTable OBJECT-TYPE
  SYNTAX     SEQUENCE OF SnMspsMsdpPeerFilterEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The (conceptual) table listing MSDP Peer filtering
       configurations. The Peer connections can be accepted
       or denied based on this filter configuration."

  ::= {  snMspsMsdp 15 }

snMspsMsdpPeerFilterEntry OBJECT-TYPE
  SYNTAX     SnMspsMsdpPeerFilterEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "An entry (conceptual row) representing the filter
       Accept/Reject connection) applied to an MSDP Remote peer."
                  
  INDEX { snMspsMsdpPeerFilterAddrType }

  ::= { snMspsMsdpPeerFilterTable 1 }

SnMspsMsdpPeerFilterEntry ::= SEQUENCE {
        snMspsMsdpPeerFilterAddrType     InetAddressType,
        snMspsMsdpPeerFilterRouteMap     DisplayString,
        snMspsMsdpPeerFilterStatus       RowStatus
       }
      
snMspsMsdpPeerFilterAddrType OBJECT-TYPE
  SYNTAX     InetAddressType
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The IP address type for which this entry
       contains information."
  ::= { snMspsMsdpPeerFilterEntry 1 }

snMspsMsdpPeerFilterRouteMap OBJECT-TYPE
  SYNTAX     DisplayString (SIZE (1..20))
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This is the route map which is to be applied for filtering the peer.
       Before configuring this table, a route map with this string 
       should be configured with proper permissions (accept/deny)"

  ::= { snMspsMsdpPeerFilterEntry 2 }

snMspsMsdpPeerFilterStatus OBJECT-TYPE
  SYNTAX     RowStatus 
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This indicates the status of the configured routemap
       This can be enabled or disabled. If status is enabled,
       the filter will be applied for the peers
       using the routemap configured, else the routemap is not used"  
  ::= { snMspsMsdpPeerFilterEntry 3 }

--
-- MSDP SA Redistribution Table
--
snMspsMsdpSARedistributionTable OBJECT-TYPE
  SYNTAX     SEQUENCE OF SnMspsMsdpSARedistributionEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The (conceptual) table listing MSDP SA filtering
       configurations. "
  ::= {  snMspsMsdp 16 }

snMspsMsdpSARedistributionEntry OBJECT-TYPE
  SYNTAX     SnMspsMsdpSARedistributionEntry
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "An entry (conceptual row) representing the filter
       applied to either Source or Group or 
       any of the combinations of Source and Group for
       preventing the SA message advertisement from the 
       originating RP."

  INDEX { snMspsMsdpSARedistributionAddrType }
  ::= { snMspsMsdpSARedistributionTable 1 }

SnMspsMsdpSARedistributionEntry ::= SEQUENCE {
        snMspsMsdpSARedistributionAddrType     InetAddressType,
        snMspsMsdpSARedistributionStatus       RowStatus,
        snMspsMsdpSARedistributionRouteMap     DisplayString,
        snMspsMsdpSARedistributionRouteMapStat INTEGER
        }

snMspsMsdpSARedistributionAddrType OBJECT-TYPE
  SYNTAX     InetAddressType
  MAX-ACCESS not-accessible
  STATUS     current
  DESCRIPTION
      "The IP address type for which this entry
       contains information."
  ::= { snMspsMsdpSARedistributionEntry 1 }

snMspsMsdpSARedistributionStatus OBJECT-TYPE
  SYNTAX     RowStatus 
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This indicates the redistribution status of the SA messages .

       If it is enabled and the value of snMspsMsdpSARedistributionRouteMap 
       is NULL, then all SA messages are redistributed by the originator.

       Else if it is enabled and the value of snMspsMsdpSARedistributionRouteMap 
       is NOT NULL,then SA message redistribution is based on the 
       routemap snMspsMsdpSARedistributionRouteMap configured.

       If it is disabled ,no SA messages are redistributed."


  ::= { snMspsMsdpSARedistributionEntry 2 }

snMspsMsdpSARedistributionRouteMap OBJECT-TYPE
  SYNTAX     DisplayString (SIZE(1..20))
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This is the route map which is to be applied for filtering 
       the SA messages at originating RP.
       Before configuring this field, a route map with this string
       should be configured with proper permissions"

  ::= { snMspsMsdpSARedistributionEntry 3 }

snMspsMsdpSARedistributionRouteMapStat OBJECT-TYPE
  SYNTAX     INTEGER{
                     disabled (0), 
                     enabled  (1)
                     }
  MAX-ACCESS read-create
  STATUS     current
  DESCRIPTION
      "This indicates the status of the configured routemap
               - enabled or disabled.
       If status is enabled,the filter will be applied for the SA messages 
       using the routemap configured, else does nothing"  

  DEFVAL  { 0 }

  ::= { snMspsMsdpSARedistributionEntry 4 }

----
-- Traps
----
snMspsMsdpRtrId OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  accessible-for-notify
   STATUS      current
   DESCRIPTION
        " The  MIB object snMspsMsdpRtrId,is the configured Router-Id for the
          router.This ID is obtained from IP module"

   ::= { snMspsMsdp 17 }

snMspsMsdpTraps   OBJECT IDENTIFIER ::= { snMspsMsdp 0 }

snMspsMsdpEstablished NOTIFICATION-TYPE
  OBJECTS { snMspsMsdpRtrId, 
            snMspsMsdpPeerFsmEstablishedTransitions }
  STATUS     deprecated
  DESCRIPTION
      "The MSDP Established event is generated when the MSDP FSM
       enters the ESTABLISHED state."
  ::= { snMspsMsdpTraps 1 }

snMspsMsdpBackwardTransition NOTIFICATION-TYPE
  OBJECTS { snMspsMsdpRtrId,
            snMspsMsdpPeerState }
  STATUS     deprecated
  DESCRIPTION
      "The MSDPBackwardTransition Event is generated when the
       MSDP FSM moves from a higher-numbered state to a
       lower-numbered state."
  ::= { snMspsMsdpTraps 2 }

snMspsMsdpRPOperStatusChange NOTIFICATION-TYPE
  OBJECTS { snMspsMsdpRtrId,
            snMspsMsdpRPOperStatus }
  STATUS     deprecated
  DESCRIPTION
       "The snMspsMsdpRPOperStatus Event is generated when the MSDP
        RP's Oper Status changes from one state to other."
  ::= { snMspsMsdpTraps 3 }

   
   
snMspsMgmd		OBJECT IDENTIFIER ::= { snMspsMgmdMIB 1 }

          snMspsMgmdIgmpGlobalStatus  OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                      "This variable controls the global status of
                      the IGMP protocol in the router. It must be
                      made up for protocol functioning.Making this
                      object 'disabled' will remove all dynamic multicast 
                      entries stop all the timers for route entries and 
                      disables IGMP on all the IGMP enabled interfaces.  
                      Default value of this entry will be 'disabled'."
              DEFVAL  { disabled }
              ::= { snMspsMgmd 1 }

	  snMspsMgmdIgmpTraceLevel OBJECT-TYPE
	      SYNTAX  Integer32(0..255)
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	" This is used to enable Trace Statements in IGMP Module.
		A four byte integer value is specified for enabling the level
		of tracing.Each Bit in the four byte integer variable represents
		a level of Trace. The bits represents the levels as
		follows: 0 - Management, 1 - Data Path, 2 - Control Plane,
                3 - Rx, 4 - Tx, 5 - All Failures. The remaining
                bits are unused. The combination of levels are also allowed.
                For example if the bits 1 and 2 are set, then the Trace
                statements related to Data Path and Control Plane will be printed.
                The administrator have to enter the corresponding integer value
                for the bits set. For example if bits 1 and 2 are set then
                admin has to give the value 6."
	      DEFVAL  { 0 }
	      ::= { snMspsMgmd 2 }

         snMspsMgmdIgmpDebugLevel OBJECT-TYPE
              SYNTAX  Integer32(0..255)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                " This is used to enable Trace Statements in IGMP Module.
                A four byte integer value is specified for enabling the level
                of tracing.Each Bit in the four byte integer variable represents
                a level of Trace. The bits represents the levels as
                follows:0 - I/o, 1 - Group, 2 - Query,
                3 - Timer, 4 - NP, 5 - Init Shut, 6 - OS resources, 7 - Buffer,
                8 - Management,9 - Entry, 10 - Exit.  The remaining bits are unused. 
		The combination of levels are also allowed.
                For example if the bits 1 and 2 are set, then the Debug
                statements related to Group and Query  will be printed.
                The administrator have to enter the corresponding integer value
                for the bits set. For example if bits 1 and 2 are set then
                admin has to give the value 6." 
              DEFVAL  { 0 }
              ::= { snMspsMgmd 3 }   
	
	snMspsMgmdMldGlobalStatus  OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) }
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
                      "This variable controls the global status of
                      the MLD protocol in the router. It must be
                      made up for protocol functioning.Making this
                      object 'disabled' will remove all dynamic multicast 
                      entries stop all the timers for route entries and 
                      disables MLD on all the IGMP enabled interfaces.  
                      Default value of this entry will be 'disabled'."
              DEFVAL  { disabled }
              ::= { snMspsMgmd 4 }

	  snMspsMgmdMldTraceLevel OBJECT-TYPE
	      SYNTAX  Integer32(0..255)
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
	      " This is used to enable Trace Statements in IGMP Module.
                A four byte integer value is specified for enabling the level
                of tracing.Each Bit in the four byte integer variable represents
                a level of Trace. The bits represents the levels as
                follows: 0 - Data Path, 1 - Control Plane,
                2 - Rx, 3 - Tx, 4 - All Failures. The remaining
                bits are unused. The combination of levels are also allowed.
                For example if the bits 0 and 1 are set, then the Trace
                statements related to Data Path and Control Plane will be printed.
                The administrator have to enter the corresponding integer value
                for the bits set. For example if bits 1 and 2 are set then
                admin has to give the value 6."      
	DEFVAL  { 0 }
	      ::= { snMspsMgmd 5 }

          snMspsMgmdMldDebugLevel OBJECT-TYPE
              SYNTAX  Integer32(0..255)
              MAX-ACCESS   read-write
              STATUS   current
              DESCRIPTION
               "This is used to enable Debug Statements in IGMP Module.
                A four byte integer value is specified for enabling the level
                of tracing.Each Bit in the four byte integer variable represents
                a level of Debug. The bits represents the levels as
                follows:0 - I/o, 1 - Group, 2 - Query,
                3 - Timer, 4 - NP, 5 - Init Shut, 6 - OS resources, 7 - Buffer,
                8 - Entry, 9 - Exit.  The remaining bits are unused. The combination
                of levels are also allowed.
                For example if the bits 1 and 2 are set, then the Debug
                statements related to Group and Query  will be printed.
                The administrator have to enter the corresponding integer value
                for the bits set. For example if bits 1 and 2 are set then
                admin has to give the value 6." 
           DEFVAL  { 0 }
             ::= { snMspsMgmd 6 }	

	  snMspsMgmdGlobalLimit OBJECT-TYPE
	      SYNTAX  Unsigned32 (0..255)
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the total number of multicast groups can be allowed.This support is for IGMPv1, IGMPv2 IGMPv3 only"
	      ::= { snMspsMgmd 7 }
    
	  snMspsMgmdGlobalCurGrpCount OBJECT-TYPE
	      SYNTAX  Unsigned32 (0..255)
	      MAX-ACCESS   read-only
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the current count of groups that were added. If this reaches to snMspsMgmdGlobalLimit no membership reports will be honored for any interface."
	      ::= { snMspsMgmd 8 }
-- SCALAR_TABLE_END snMspsMgmd


	  --	  ************************************************
	  --		       MGMD INTERFACE TABLE
	  --	  ************************************************

	  snMspsMgmdInterfaceTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF SnMspsMgmdInterfaceEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the MGMD Statistic information 
                       for all the ports in the system."
	      ::= { snMspsMgmd 9  }

	  snMspsMgmdInterfaceEntry OBJECT-TYPE
	      SYNTAX  SnMspsMgmdInterfaceEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains the necessary information of MGMD
		       statistics on a logical interface."
	      INDEX   { snMspsMgmdInterfaceIfIndex, snMspsMgmdInterfaceAddrType }
	      ::= { snMspsMgmdInterfaceTable 1 }

	  SnMspsMgmdInterfaceEntry ::=
	      SEQUENCE {
                  snMspsMgmdInterfaceIfIndex             InterfaceIndex,
                  snMspsMgmdInterfaceAddrType            InetAddressType, 
                  snMspsMgmdInterfaceAdminStatus         INTEGER,
                  snMspsMgmdInterfaceFastLeaveStatus     INTEGER,
                  snMspsMgmdInterfaceOperStatus          INTEGER,
                  snMspsMgmdInterfaceIncomingPkts        Counter32,
                  snMspsMgmdInterfaceIncomingJoins       Counter32,
                  snMspsMgmdInterfaceIncomingLeaves      Counter32,
                  snMspsMgmdInterfaceIncomingQueries     Counter32,
                  snMspsMgmdInterfaceOutgoingQueries     Counter32,
                  snMspsMgmdInterfaceRxGenQueries       Counter32, 
                  snMspsMgmdInterfaceRxGrpQueries       Counter32, 
                  snMspsMgmdInterfaceRxGrpAndSrcQueries Counter32, 
                  snMspsMgmdInterfaceRxIgmpv1v2Reports  Counter32, 
                  snMspsMgmdInterfaceRxIgmpv3Reports    Counter32, 
                  snMspsMgmdInterfaceRxMldv1Reports     Counter32, 
                  snMspsMgmdInterfaceRxMldv2Reports     Counter32, 
                  snMspsMgmdInterfaceTxGenQueries       Counter32, 
                  snMspsMgmdInterfaceTxGrpQueries       Counter32, 
                  snMspsMgmdInterfaceTxGrpAndSrcQueries Counter32, 
                  snMspsMgmdInterfaceTxIgmpv1v2Reports  Counter32, 
                  snMspsMgmdInterfaceTxIgmpv3Reports    Counter32, 
                  snMspsMgmdInterfaceTxMldv1Reports     Counter32, 
                  snMspsMgmdInterfaceTxMldv2Reports     Counter32, 
                  snMspsMgmdInterfaceTxLeaves           Counter32,
                  snMspsMgmdInterfaceChannelTrackStatus INTEGER,
                  snMspsMgmdInterfaceGroupListId        Unsigned32,
                  snMspsMgmdInterfaceLimit              Unsigned32,
                  snMspsMgmdInterfaceCurGrpCount        Unsigned32,
		  snMspsMgmdInterfaceCKSumError 	    Counter32,
		  snMspsMgmdInterfacePktLenError        Counter32,
		  snMspsMgmdInterfacePktsWithLocalIP    Counter32,
		  snMspsMgmdInterfaceSubnetCheckFailure Counter32,
		  snMspsMgmdInterfaceQryFromNonQuerier  Counter32,
		  snMspsMgmdInterfaceReportVersionMisMatch  Counter32,
		  snMspsMgmdInterfaceQryVersionMisMatch	Counter32,
		  snMspsMgmdInterfaceUnknownMsgType		Counter32,
		  snMspsMgmdInterfaceInvalidV1Report        Counter32,
		  snMspsMgmdInterfaceInvalidV2Report        Counter32,
		  snMspsMgmdInterfaceInvalidV3Report        Counter32,
		  snMspsMgmdInterfaceRouterAlertCheckFailure Counter32,
		  snMspsMgmdInterfaceIncomingSSMPkts    Counter32,
		  snMspsMgmdInterfaceInvalidSSMPkts     Counter32,
                  snMspsMgmdInterfaceJoinPktRate	    Integer32,
		  snMspsMgmdInterfaceMalformedPkts     Counter32,
		  snMspsMgmdInterfaceSocketErrors     Counter32,
		  snMspsMgmdInterfaceBadScopeErrors     Counter32
	      }

          snMspsMgmdInterfaceIfIndex OBJECT-TYPE 
          SYNTAX     InterfaceIndex 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The ifIndex value of the interface for which IGMP or MLD
                  is enabled.  The table is indexed by the ifIndex value and
                  the InetAddressType to allow for interfaces that may be
                  configured in both IPv4 and IPv6 modes."

          ::= { snMspsMgmdInterfaceEntry 1 }
 
          snMspsMgmdInterfaceAddrType OBJECT-TYPE
          SYNTAX     InetAddressType
          MAX-ACCESS not-accessible
          STATUS     current
          DESCRIPTION 
                  "The address type of this interface.  This entry along with
                   the ifIndex value acts as the index to the
                   snMspsMgmdInterface table.  A physical interface may be
                   configured in multiple modes concurrently, e.g., in IPv4
                   and IPv6 modes connected to the same interface; however,
                   the traffic is considered to be logically separate."
          ::= { snMspsMgmdInterfaceEntry 2 }
 

	  snMspsMgmdInterfaceAdminStatus OBJECT-TYPE
             SYNTAX  INTEGER {
		     up   (1),
		     down  (2)
		    }
	      MAX-ACCESS  read-write
	      STATUS  current
	      DESCRIPTION
                      " This gives the Administrative Status of the Interface."
              DEFVAL { up }
	      ::= { snMspsMgmdInterfaceEntry 3 }

	  snMspsMgmdInterfaceFastLeaveStatus  OBJECT-TYPE
	      SYNTAX  INTEGER {
		     disable (0),
		     enable  (1)
		    }
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
    	          "This variable controls the fast leave feature of the 
                  IGMPV3 or MLDv2  protocol. Making this object 'enable'
                  supports immediate intimation to the Multicast Routing 
                  Protocol on the last member leaving the Group. 
                  Making this object 'disable' will not support fast leave
		  support. Default value of this entry will 
                  be 'disable'. This must be enabled only on those interfaces
                  where there is single host. This can also be enabled on
                  those interfaces having more than one hosts only if all are 
                  IGMPv3/MLDv2 hosts in IGMPV3/MLDv2 Mode. "
	      DEFVAL  { disable }
	      ::= { snMspsMgmdInterfaceEntry 4 }


	  snMspsMgmdInterfaceOperStatus OBJECT-TYPE
              SYNTAX      INTEGER {
                 up          (1),
                 down        (2)
              }
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
                      " This gives the Operational Status of the Interface."
	      ::= { snMspsMgmdInterfaceEntry 5 }

	  snMspsMgmdInterfaceIncomingPkts OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The total number of IGMP/MLD Packets received by the router"
	      ::= { snMspsMgmdInterfaceEntry 6 }

	  snMspsMgmdInterfaceIncomingJoins  OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming JoinGroupMessage  counter."
	      ::= { snMspsMgmdInterfaceEntry 7 }

	  snMspsMgmdInterfaceIncomingLeaves	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming LeaveGroupMessage counter."
	      ::= { snMspsMgmdInterfaceEntry 8 }

	  snMspsMgmdInterfaceIncomingQueries	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Incoming Queries counter."
	      ::= { snMspsMgmdInterfaceEntry 9 }

	  snMspsMgmdInterfaceOutgoingQueries	OBJECT-TYPE
	      SYNTAX  Counter32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Total Outgoing Queries counter."
	      ::= { snMspsMgmdInterfaceEntry 10 }

    snMspsMgmdInterfaceRxGenQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of General Queries received on this
                 interface."
        ::= { snMspsMgmdInterfaceEntry 11 }
    
    snMspsMgmdInterfaceRxGrpQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group specific queries received 
                 on this interface. This object is specific to MGMD Proxy
                 implementation."
        ::= { snMspsMgmdInterfaceEntry 12 }
               
    snMspsMgmdInterfaceRxGrpAndSrcQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group and source specific 
                 queries received on this interface. This object is specific
                 to MGMD Proxy implementation."
        ::= { snMspsMgmdInterfaceEntry 13 }
    
    snMspsMgmdInterfaceRxIgmpv1v2Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv1 and IGMPv2 reports  
                 reports received on this interface."
        ::= { snMspsMgmdInterfaceEntry 14 }
    
    snMspsMgmdInterfaceRxIgmpv3Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv3 reports  
                  received on this interface."
        ::= { snMspsMgmdInterfaceEntry 15 }
    
    snMspsMgmdInterfaceRxMldv1Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLDv1  reports  
                 reports received on this interface."
        ::= { snMspsMgmdInterfaceEntry 16 }
    
    snMspsMgmdInterfaceRxMldv2Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLDv2 reports  
                  received on this interface."
        ::= { snMspsMgmdInterfaceEntry 17 }

    snMspsMgmdInterfaceTxGenQueries  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of General queries sent on this 
                 interface."
        ::= { snMspsMgmdInterfaceEntry 18 }
    
    snMspsMgmdInterfaceTxGrpQueries OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group specific queries sent 
                 on this interface."
        ::= { snMspsMgmdInterfaceEntry 19 }
               
    snMspsMgmdInterfaceTxGrpAndSrcQueries  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of Group and source specific 
                 queries sent on this interface."
        ::= { snMspsMgmdInterfaceEntry 20 }
    
    snMspsMgmdInterfaceTxIgmpv1v2Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMP v1/v2 reports 
                 sent on this interface. This object is specific
                 to MGMD Proxy implementation."
        ::= { snMspsMgmdInterfaceEntry 21 }
    
    snMspsMgmdInterfaceTxIgmpv3Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv3 reports 
                 sent on this interface. This object is specific to MGMD
                 Proxy implementation."
        ::= { snMspsMgmdInterfaceEntry 22 }
    
    snMspsMgmdInterfaceTxMldv1Reports OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLD v1 reports 
                 sent on this interface. This object is specific
                 to MGMD Proxy implementation."
        ::= { snMspsMgmdInterfaceEntry 23 }
    
    snMspsMgmdInterfaceTxMldv2Reports  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of MLDv2 reports 
                 sent on this interface. This object is specific to MGMD
                 Proxy implementation."
        ::= { snMspsMgmdInterfaceEntry 24 }

    snMspsMgmdInterfaceTxLeaves  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "Indicates the number of IGMPv2 leaves or MLDv1 leaves sent on 
                 this interface. This object is specific to MGMD Proxy
                 implementation."
        ::= { snMspsMgmdInterfaceEntry 25 }
    
    snMspsMgmdInterfaceChannelTrackStatus  OBJECT-TYPE
	    SYNTAX  INTEGER {
		   disable (0),
		   enable  (1)
		  }
	    MAX-ACCESS   read-write
	    STATUS   current
	    DESCRIPTION
    	        "This variable controls the explicit channel tracking 
                feature of the IGPMV3 protocol. Configuring this object as
                'enable' makes the router to keep track of each individual 
                host that is joined to a particular multicast group or channel.
                Making this object 'disable' will not support explicit channel
                tracking feature support. Default value of this entry will 
                be 'disable'. 
                This must be enabled only on IGMPv3 interfaces."
	    DEFVAL  { disable }
	    ::= { snMspsMgmdInterfaceEntry 26 }
	  snMspsMgmdInterfaceGroupListId OBJECT-TYPE
	      SYNTAX  Unsigned32(1..4294967295)
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	 "This indicate multicast GroupList Id mapped to this interface.This grouplist will be exempted for limiting on this interface. Grouplist support is provided for IGMPv1, IGMPv2 IGMPv3 only."
        ::= { snMspsMgmdInterfaceEntry 27 }
    
	  snMspsMgmdInterfaceLimit OBJECT-TYPE
	      SYNTAX  Unsigned32 (0..255)
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the total number of multicast groups can be allowed for this interface.If snMspsMgmdInterfaceCurGrpCount reaches this InterfaceLimit then no membership reports will be honored on this interface except the grouplist mapped to this interface.This feature supports for IGMPv1, IGMPv2 IGMPv3 only."
        ::= { snMspsMgmdInterfaceEntry 28 }

	  snMspsMgmdInterfaceCurGrpCount OBJECT-TYPE
	      SYNTAX  Unsigned32 (1..255)
	      MAX-ACCESS   read-only
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the current count of multicast groups that were added to 
              the interface.This counter will be incremented for each valid membership 
              report on this interface and decremented for leave report."
        ::= { snMspsMgmdInterfaceEntry 29 }
    

	  snMspsMgmdInterfaceCKSumError  OBJECT-TYPE
	  SYNTAX		Counter32
	  MAX-ACCESS	read-only
	  STATUS		current
	  DESCRIPTION
	  "This object displays the number of packets received with checksum error on an interface."
	  ::= { snMspsMgmdInterfaceEntry 30 }

	  snMspsMgmdInterfacePktLenError  OBJECT-TYPE
	  SYNTAX            Counter32
	  MAX-ACCESS        read-only
	  STATUS            current
	  DESCRIPTION
	  "This object displays the number of packets received with 
	  packet length error on an interface."
	  ::= { snMspsMgmdInterfaceEntry 31 }


	  snMspsMgmdInterfacePktsWithLocalIP  OBJECT-TYPE
	  SYNTAX            Counter32
	  MAX-ACCESS        read-only
	  STATUS            current
	  DESCRIPTION
	  "This object displays the number of packets received on an interface with
	  local IP address as source address."
	  ::= { snMspsMgmdInterfaceEntry 32 }

	  snMspsMgmdInterfaceSubnetCheckFailure  OBJECT-TYPE
	  SYNTAX            Counter32
	  MAX-ACCESS        read-only
	  STATUS            current
	  DESCRIPTION
	  "This object displays the number of packets dropped due to subnet check failure."
	  ::= { snMspsMgmdInterfaceEntry 33 }


      snMspsMgmdInterfaceQryFromNonQuerier  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of queries received from a non-querier on an interface."
      ::= { snMspsMgmdInterfaceEntry 34 }


      snMspsMgmdInterfaceReportVersionMisMatch  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of reports received by with version mismatch on an interface."
      ::= { snMspsMgmdInterfaceEntry 35 }


      snMspsMgmdInterfaceQryVersionMisMatch  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of queries received with version mismatch on an interface."
      ::= { snMspsMgmdInterfaceEntry 36 }

      snMspsMgmdInterfaceUnknownMsgType  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of packets received with unknown message type on an interface."
      ::= { snMspsMgmdInterfaceEntry 37 }

      snMspsMgmdInterfaceInvalidV1Report  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of invalid V2 reports received on an interface."
      ::= { snMspsMgmdInterfaceEntry 38 }


      snMspsMgmdInterfaceInvalidV2Report  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of invalid V2 reports received on an interface."
      ::= { snMspsMgmdInterfaceEntry 39 }


      snMspsMgmdInterfaceInvalidV3Report  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of invalid V3 reports received on an interface."
      ::= { snMspsMgmdInterfaceEntry 40 }

      snMspsMgmdInterfaceRouterAlertCheckFailure  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of packets dropped due to router alert check failure."
      ::= { snMspsMgmdInterfaceEntry 41 }


      snMspsMgmdInterfaceIncomingSSMPkts  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of V3 reports received on an interface for SSM group range."
      ::= { snMspsMgmdInterfaceEntry 42 }

      snMspsMgmdInterfaceInvalidSSMPkts  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of invalid SSM v3 reports received on an interface."
      ::= { snMspsMgmdInterfaceEntry 43 }

      snMspsMgmdInterfaceJoinPktRate  OBJECT-TYPE
      SYNTAX            Integer32
      MAX-ACCESS        read-write
      STATUS            current
      DESCRIPTION
      "This object specifies the rate at which the join packets can be received on an interface."
      DEFVAL { 0 }
      ::= { snMspsMgmdInterfaceEntry 44 }

      snMspsMgmdInterfaceMalformedPkts  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of Malformed packets received. Packet is just not as expected in the protocol specifications."
      ::= { snMspsMgmdInterfaceEntry 45 }

      snMspsMgmdInterfaceSocketErrors  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of socket errors."
      ::= { snMspsMgmdInterfaceEntry 46 }

      snMspsMgmdInterfaceBadScopeErrors  OBJECT-TYPE
      SYNTAX            Counter32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
      "This object displays the number of MLD packets received on the link scope IPv6 multicast address. "
      ::= { snMspsMgmdInterfaceEntry 47 }

	  --	  ************************************************
	  --		       MGMD CACHE TABLE
	  --	  ************************************************

	  snMspsMgmdCacheTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF SnMspsMgmdCacheEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the IGMP/MLD group statistic 
                       information"	
	      ::= { snMspsMgmd 10 }

	  snMspsMgmdCacheEntry OBJECT-TYPE
	      SYNTAX  SnMspsMgmdCacheEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains the necessary Statistics of Multicast
		       Groups"
	      INDEX   { snMspsMgmdCacheAddrType, snMspsMgmdCacheAddress, 
                        snMspsMgmdCacheIfIndex }
	      ::= { snMspsMgmdCacheTable 1 }

	  SnMspsMgmdCacheEntry ::=
	      SEQUENCE {
                  snMspsMgmdCacheAddrType
                      InetAddressType,
                  snMspsMgmdCacheAddress    
                      InetAddress, 
                  snMspsMgmdCacheIfIndex     
                      InterfaceIndex, 
		  snMspsMgmdCacheGroupCompMode
		      Integer32,
		  snMspsMgmdCacheGroupType
		      INTEGER
	      }


          snMspsMgmdCacheAddrType OBJECT-TYPE 
          SYNTAX     InetAddressType 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The address type of this interface. It can be IPv4 or IPv6. 
                   This entry along with
                   the ifIndex and CacheAddress acts as the index to the
                   snMspsMgmdCache table.  A physical interface may be
                   configured in multiple modes concurrently, e.g., in IPv4
                   and IPv6 modes connected to the same interface; however,
                   the traffic is considered to be logically separate."
          ::= { snMspsMgmdCacheEntry 1 }
 
          snMspsMgmdCacheAddress OBJECT-TYPE 
          SYNTAX     InetAddress (SIZE(4|16)) 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The IP multicast group address for which this entry 
                  contains information." 
          ::= { snMspsMgmdCacheEntry 2 } 
       
 
          snMspsMgmdCacheIfIndex OBJECT-TYPE 
          SYNTAX     InterfaceIndex 
          MAX-ACCESS not-accessible 
          STATUS     current 
          DESCRIPTION 
                  "The interface for which this entry contains information for 
                  an IP multicast group address." 
          ::= { snMspsMgmdCacheEntry 3 }
 
	  snMspsMgmdCacheGroupCompMode OBJECT-TYPE
	      SYNTAX  Integer32
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Group Compatibility Mode of the particular Group."
	      ::= { snMspsMgmdCacheEntry 4 }

	  snMspsMgmdCacheGroupType OBJECT-TYPE
	      SYNTAX  INTEGER { static(1), 
				dynamic(2), 
				both(3) -- static and dynamic
                              }
	      MAX-ACCESS  read-only
	      STATUS  current
	      DESCRIPTION
		      "The Group configured type is static/dynamic/static and dynamic."
	      ::= { snMspsMgmdCacheEntry 5 }

	  --	  ************************************************
	  --		       IGMP GROUPLIST TABLE
	  --	  ************************************************

	  snMspsMgmdIgmpGroupListTable OBJECT-TYPE
	      SYNTAX  SEQUENCE OF SnMspsMgmdIgmpGroupListEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "This table contains the IGMP grouplist information. Multiple range of groups will be grouped to a list and list can be mapped to an interface to exempt limit on that interface. Group list can be configured for IPv4 multicast addresses."
	      ::= { snMspsMgmd 11 }

	  snMspsMgmdIgmpGroupListEntry OBJECT-TYPE
	      SYNTAX  SnMspsMgmdIgmpGroupListEntry
	      MAX-ACCESS  not-accessible
	      STATUS  current
	      DESCRIPTION
		      "Each entry contains information related to IGMP grouplist "
	      INDEX   { snMspsMgmdIgmpGrpListId,snMspsMgmdIgmpGrpIP,snMspsMgmdIgmpGrpPrefixLen }
	      ::= { snMspsMgmdIgmpGroupListTable 1 }

	  SnMspsMgmdIgmpGroupListEntry ::=
	      SEQUENCE {
                  snMspsMgmdIgmpGrpListId    
                     Unsigned32, 
                  snMspsMgmdIgmpGrpIP     
                      IpAddress, 
                  snMspsMgmdIgmpGrpPrefixLen
                      IpAddress,
                  snMspsMgmdIgmpGrpListRowStatus
	           	      RowStatus
	      }
	  snMspsMgmdIgmpGrpListId OBJECT-TYPE
	      SYNTAX  Unsigned32(1..4294967295)
	      MAX-ACCESS   not-accessible
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the Id of Group List"
	      ::= { snMspsMgmdIgmpGroupListEntry 1 }

	  snMspsMgmdIgmpGrpIP OBJECT-TYPE
	      SYNTAX  IpAddress
	      MAX-ACCESS   not-accessible
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the Group IP address."
	      ::= { snMspsMgmdIgmpGroupListEntry 2 }
	  snMspsMgmdIgmpGrpPrefixLen OBJECT-TYPE
	      SYNTAX  IpAddress
	      MAX-ACCESS   not-accessible
	      STATUS   current
	      DESCRIPTION
         	 "This indicates the Prefix Length."
	      ::= { snMspsMgmdIgmpGroupListEntry 3 }
	  snMspsMgmdIgmpGrpListRowStatus OBJECT-TYPE
	      SYNTAX  RowStatus
	      MAX-ACCESS   read-write
	      STATUS   current
	      DESCRIPTION
         	 "RowStatus of GroupList record"
	      ::= { snMspsMgmdIgmpGroupListEntry 4 }




  snMspsVrrpSystem                OBJECT IDENTIFIER ::= { snMspsVrrp 1 }


  snMspsVrrpStatus OBJECT-TYPE
    SYNTAX INTEGER {
              enabled          (1),
              disabled         (2)
           }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Indicates whether the VRRP is enabled Globally."
    ::=  { snMspsVrrpSystem 1 }

  snMspsVrrpVridTrackStatus OBJECT-TYPE
    SYNTAX INTEGER {
              enabled          (1),
              disabled         (2)
           }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This object is used to enable or disable vrid tracking feature in VRRP Module.
         For example if the objects sets enabled then 
         virtual master routers will track all other virtual routers configured on different interface.
         If tracking virtual router goes to init state from master/backup because of interface down then 
         non-tracking virtual router will send priority 1 Advertisement packets to enable other router to become master.

         When the tracking virtual router comes new state from init state again, the
         VRRP Advertisement is sent again with original priority value."
     DEFVAL       { disabled }
    ::=  { snMspsVrrpSystem 2 }

-- *******************************************************************
--  VRRP Operations Table extension starts
-- *******************************************************************

 snMspsVrrpOperTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF SnMspsVrrpOperEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "Operations table for a VRRP router which consists of a
          sequence of 'snMspsVrrpOperEntry' items. This table is a
          proprietary extension to the standard fsVrrpOperTable"
     ::= { snMspsVrrpSystem 3 }

 snMspsVrrpOperEntry OBJECT-TYPE
     SYNTAX       SnMspsVrrpOperEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "An entry in the snMspsVrrpOperTable contains the additional
          operational characteristics of a virtual router apart
          from fsVrrpOperTable."

     AUGMENTS    { vrrpOperEntry }
     ::= { snMspsVrrpOperTable 1 }

 SnMspsVrrpOperEntry ::=
     SEQUENCE {
         snMspsVrrpAdminPriority
             Integer32,
         snMspsVrrpOperTrackGroupId
             Unsigned32,
         snMspsVrrpOperDecrementPriority
             Unsigned32
 }

 snMspsVrrpAdminPriority OBJECT-TYPE
     SYNTAX       Integer32 (0..254)
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "This object is same as that of vrrpOperPriority specified
          in VRRP-MIB. The only difference is, if the router owns the
          associated IP address(es) then vrrpOperPriority will have
          the value 255 and fsVrrpAdminPriority will have the value
          configured by the administrator. Write operation requires
          admin down for this instance and the change will be reflected
          in the value of vrrpOperPriority also."
     DEFVAL       { 100 }
     ::= { snMspsVrrpOperEntry 1 }

 snMspsVrrpOperTrackGroupId OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
        "Indicates the group index of the tracking group table
         snMspsVrrpOperTrackGroupTable.

         When the interface which is tracked by snMspsVrrpOperTrackGroupTable goes
         operationally down and if this virtual router entry is the master,
         the virtual router sends VRRP Advertisement with its actual priority
         value decremented by the value configured in
         snMspsVrrpOperDecrementPriority to enable other router to become master.

         When the interface which is tracked comes operationally up again, the
         VRRP Advertisement is sent again with original priority value.

         This object is NOT applicable for VRRP Master routers owning the
         IPv4 address.

         This object is allowed to set even if vrrpOperRowStatus is active
         and vrrpOperAdminState is up."
     DEFVAL       { 0 }
     ::= { snMspsVrrpOperEntry 2 }

 snMspsVrrpOperDecrementPriority OBJECT-TYPE
     SYNTAX       Unsigned32 (0..254)
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
        "Indicates the priority value carried by the VRRP Master router
         in VRRP Advertisements when whose interface being tracked by
         snMspsVrrpOperTrackGroupTable goes operationally down.

         This object is NOT applicable for VRRP Master routers owning the
         IPv4 address.

         This object is allowed to set even if vrrpOperRowStatus is active
         and vrrpOperAdminState is up."
     DEFVAL       { 0 }
     ::= { snMspsVrrpOperEntry 3 }

-- *******************************************************************
--  VRRP Operations Table extension ends
-- *******************************************************************

-- *******************************************************************
--  VRRP Oper Track Group Table - Starts
-- *******************************************************************

   snMspsVrrpOperTrackGroupTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF SnMspsVrrpOperTrackGroupEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "Oper Track Group table for a VRRP router which consists of a
          sequence of 'snMspsVrrpOperTrackGroupEntry' items.

          This table contains the list of characteristics tracked by this
          virtual router."

      ::= { snMspsVrrpSystem 4 }

   snMspsVrrpOperTrackGroupEntry OBJECT-TYPE
      SYNTAX       SnMspsVrrpOperTrackGroupEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "An entry in the snMspsVrrpOperTrackGroupTable contains the
          characteristics tracked by this virtual router. "

      INDEX   { snMspsVrrpOperTrackGroupIndex }
      ::= { snMspsVrrpOperTrackGroupTable 1 }

   SnMspsVrrpOperTrackGroupEntry ::=
      SEQUENCE {
         snMspsVrrpOperTrackGroupIndex
             Unsigned32,
         snMspsVrrpOperTrackedGroupTrackedLinks
             Unsigned32,
         snMspsVrrpOperTrackRowStatus
             RowStatus
   }

   snMspsVrrpOperTrackGroupIndex OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "Indicates the index of this track group table. "
      ::= { snMspsVrrpOperTrackGroupEntry 1 }

   snMspsVrrpOperTrackedGroupTrackedLinks OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
         "Indicates the number of links to be tracked. The value configured
          here indicates the number of links in snMspsVrrpOperTrackGroupIfTable
          to go down to give notification to VRRP Operations table so that
          master to backup transition is initiated. Default value is 0 meaning
          only if all the links configured in snMspsVrrpOperTrackGroupIfTable goes
          down, indication is given to VRRP Operations table to initiate
          master to backup transition.

          The value configured here should be less than or equal to
          the number of entries in snMspsVrrpOperTrackGroupIfTable or zero at all
          the time. If value is anything else, appropriate error is thrown.
          "
      DEFVAL { 0 }
      ::= { snMspsVrrpOperTrackGroupEntry 2 }

   snMspsVrrpOperTrackRowStatus OBJECT-TYPE
      SYNTAX       RowStatus
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
         "The RowStatus variable should be used in accordance to installation
          and removal conventions for conceptual rows.

          To create a row in this table, a manager sets this object to either
          createAndGo(4) or createAndWait(5). Until instances of all
          corresponding columns are appropriately configured and atleast one
          entry in snMspsVrrpOperTrackGroupIfTable is created, the value of the
          corresponding instance of the 'snMspsVrrpOperTrackRowStatus'
          column will be read as notReady(3).

          In particular, a newly created row cannot be made active(1) until
          (minimally) one or more entries are created in
          snMspsVrrpOperTrackGroupIfTable is created, value of the object
          snMspsVrrpOperTrackedGroupTrackedLinks is set to number of entries
          created in snMspsVrrpOperTrackGroupIfTable or 0.

          A typical order of operation to add a row is:
           1. Create a row in snMspsVrrpOperTrackGroupTable with
           createAndWait(5).
           2. Create one or more entries in snMspsVrrpOperTrackGroupIfTable
           3. Set snMspsVrrpOperTrackedGroupTrackedLinks as the number of entries
              created in snMspsVrrpOperTrackGroupIfTable.
           4. Set snMspsVrrpOperTrackRowStatus to active(1).

          An Entry in this table can be deleted, only if there are no entries
          in snMspsVrrpOperTrackGroupIfTable.

          Before an entry is deleted in snMspsVrrpOperTrackGroupIfTable is
          deleted, the value snMspsVrrpOperTrackedGroupTrackedLinks should be
          adjusted. Otherwise, error will be thrown.

          Value 'snMspsVrrpOperTrackGroupIndex' is used as a reference in
          snMspsVrrpOperTable.

          Acceptable configurable values for this object are createAndGo(4),
          createAndWait(5), active(1) and destroy(6). "
      ::= { snMspsVrrpOperTrackGroupEntry 3 }

-- *******************************************************************
--  VRRP Oper Track Group Table extension - Ends
-- *******************************************************************

-- *******************************************************************
--  VRRP Oper Track Group If Table - Starts
-- *******************************************************************

   snMspsVrrpOperTrackGroupIfTable OBJECT-TYPE
      SYNTAX       SEQUENCE OF SnMspsVrrpOperTrackGroupIfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "Oper Track Group If table for a VRRP router which consists of a
          sequence of 'snMspsVrrpOperTrackGroupIfEntry' items.

          This table contains the interfaces to be tracked by this
          virtual router."

      ::= { snMspsVrrpSystem 5 }

   snMspsVrrpOperTrackGroupIfEntry OBJECT-TYPE
      SYNTAX       SnMspsVrrpOperTrackGroupIfEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "An entry in the snMspsVrrpOperTrackGroupIfTable contains the
          interfaces tracked by this virtual router. "

      INDEX   { snMspsVrrpOperTrackGroupIndex, snMspsVrrpOperTrackGroupIfIndex }
      ::= { snMspsVrrpOperTrackGroupIfTable 1 }

   SnMspsVrrpOperTrackGroupIfEntry ::=
      SEQUENCE {
         snMspsVrrpOperTrackGroupIfIndex
             InterfaceIndexOrZero,
         snMspsVrrpOperTrackGroupIfRowStatus
             RowStatus
   }

   snMspsVrrpOperTrackGroupIfIndex OBJECT-TYPE
      SYNTAX       InterfaceIndexOrZero
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
         "Indicates the ifIndex of the interface being tracked for link
          operational status. "
      ::= { snMspsVrrpOperTrackGroupIfEntry 1 }

   snMspsVrrpOperTrackGroupIfRowStatus OBJECT-TYPE
      SYNTAX       RowStatus
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
         "The RowStatus variable should be used in accordance to installation
          and removal conventions for conceptual rows.

          To create a row in this table, a manager sets this object to either
          createAndGo(4) and entry automatically transitions to active(1).

          Before an entry is deleted in snMspsVrrpOperTrackGroupIfTable is
          deleted, the value snMspsVrrpOperTrackedGroupTrackedLinks should be
          adjusted. Otherwise, error will be thrown.

          Value of snMspsVrrpOperTrackedGroupTrackedLinks should always be less than
          or equal to  the number of entries created here or zero.
          If value is anything else, appropriate error is thrown.

          Acceptable configurable values for this object are createAndGo(4)
          and destroy(6). "
      ::= { snMspsVrrpOperTrackGroupIfEntry 2 }

-- *******************************************************************
--  VRRP Oper Track Group If Table extension - Ends
-- *******************************************************************

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

snMspsTrapVRRPStateChange      NOTIFICATION-TYPE
     STATUS                  current 
         DESCRIPTION
            "Device changed vrrp master state."
         ::= { snMspsTrapPrefix 2201 }

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






  snMspsVrrpv3System                OBJECT IDENTIFIER ::= { snMspsVrrpv3 1 }

  snMspsVrrpv3Status OBJECT-TYPE
    SYNTAX INTEGER {
              enabled          (1),
              disabled         (2)
           }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Indicates whether the VRRP is enabled Globally."
    ::=  { snMspsVrrpv3System 1 }


  snMspsVrrpv3MaxOperEntries OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Gives the Maximum Number of Oper Table Entries."
    ::=  { snMspsVrrpv3System 2 }

  snMspsVrrpv3VridTrackStatus OBJECT-TYPE
    SYNTAX INTEGER {
              enabled          (1),
              disabled         (2)
           }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This object is used to enable or disable vrid tracking feature in VRRPv3 Module.
         For example if the objects sets enabled then
         virtual master routers will track all other virtual routers configured on different interface.
         If tracking virtual router goes to init state from master/backup because of interface down then
         non-tracking virtual router will send priority 1 Advertisement packets to enable other router to become master.

         When the tracking virtual router comes new state from init state again, the
         VRRP Advertisement is sent again with original priority value."
     DEFVAL       { disabled }
    ::=  { snMspsVrrpv3System 3 }

-- *******************************************************************
--  VRRPV3 Operations Table extension
-- *******************************************************************

 snMspsVrrpv3OperationsTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF SnMspsVrrpv3OperationsEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "Operations table for a VRRP router which consists of a
          sequence of 'fsVrrpOperEntry' items. This table is a 
          proprietary extension to the standard vrrpOperTable"
     ::= { snMspsVrrpv3System 4 }

 snMspsVrrpv3OperationsEntry OBJECT-TYPE
     SYNTAX       SnMspsVrrpv3OperationsEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "An entry in the fsVrrpOperTable contains the additional 
          operational characteristics of a virtual router apart 
          from vrrpOperTable."

     INDEX    { ifIndex, vrrpv3OperationsVrId,
                      vrrpv3OperationsInetAddrType
              }
     ::= { snMspsVrrpv3OperationsTable 1 }

 SnMspsVrrpv3OperationsEntry ::=
     SEQUENCE {
         snMspsVrrpv3AdminPriority    		 Integer32,
         snMspsVrrpv3SendAndRcvCompatibleVersion TruthValue,
         snMspsVrrpv3OperationsTrackGroupId	 Unsigned32,
         snMspsVrrpv3OperationsDecrementPriority Unsigned32
 }

 snMspsVrrpv3AdminPriority OBJECT-TYPE
     SYNTAX       Integer32 (0..254)
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
         "This object is same as that of vrrpv3OperationsPriority specified 
          in VRRPV3-MIB. The only difference is, if the router owns the
          associated IP address(es) then vrrpv3OperationsPriority will have 
          the value 255 and snMspsVrrpv3AdminPriority will have the value 
          configured by the administrator. Write operation requires 
          vrrpv3OperationsRowStatus as notInService(2) should be used to 
	  administratively bring the row down for this instance and the 
	  change will be reflected in the value of vrrpv3OperationsPriority 
	  also."
     DEFVAL       { 100 }
     ::= { snMspsVrrpv3OperationsEntry 1 }

 snMspsVrrpv3SendAndRcvCompatibleVersion OBJECT-TYPE 
     SYNTAX       TruthValue
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
        "If this object is true(1) then virtual router will send and receive
	version2 and version3 packets. If false(2) then virtual router 
	will send and receive version3 packets only. Default is false(2).
        This object is not relevant for rows representing VRRP
        over IPv6 and should be set to false(2)."
     DEFVAL       { false }
     ::= { snMspsVrrpv3OperationsEntry 2 }

 snMspsVrrpv3OperationsTrackGroupId OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
        "Indicates the group index of the tracking group table
         snMspsVrrpv3OperationsTrackGroupTable.

         When the interface which is tracked by
         snMspsVrrpv3OperationsTrackGroupTable goes operationally down and if this
         virtual router entry is the master, the virtual router sends VRRP
         Advertisement with its actual priority value decremented by the value
         configured in snMspsVrrpv3OperationsDecrementPriority to enable other
         router to become master.

         When the interface which is tracked comes operationally up again, the
         VRRP Advertisement is sent again with original priority value.

         This object is NOT applicable for VRRP Master routers owning the
         IPvX address.

         This object is allowed to set even if vrrpv3OperationsRowStatus is
         active. "
     DEFVAL       { 0 }
     ::= { snMspsVrrpv3OperationsEntry 3 }

 snMspsVrrpv3OperationsDecrementPriority OBJECT-TYPE
     SYNTAX       Unsigned32 (0..254)
     MAX-ACCESS   read-write
     STATUS       current
     DESCRIPTION
        "Indicates the priority value carried by the VRRP Master router
         in VRRP Advertisements when whose interface being tracked by
         snMspsVrrpv3OperationsTrackGroupTable goes operationally down.

         This object is NOT applicable for VRRP Master routers owning the
         IPvX address.

         This object is allowed to set even if vrrpv3OperationsRowStatus is
         active. "
     DEFVAL       { 0 }
     ::= { snMspsVrrpv3OperationsEntry 4 }

-- *******************************************************************
--  VRRP V3 Operations Track Group Table - Starts
-- *******************************************************************

 snMspsVrrpv3OperationsTrackGroupTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF SnMspsVrrpv3OperationsTrackGroupEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
        "Operations Track Group table for a VRRP router which consists of a
         sequence of 'snMspsVrrpv3OperationsTrackGroupEntry' items.

         This table contains the list of characteristics tracked by this
         virtual router."

     ::= { snMspsVrrpv3System 5 }

 snMspsVrrpv3OperationsTrackGroupEntry OBJECT-TYPE
     SYNTAX       SnMspsVrrpv3OperationsTrackGroupEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
        "An entry in the snMspsVrrpv3OperationsTrackGroupTable contains the
         characteristics tracked by this virtual router. "

     INDEX   { snMspsVrrpv3OperationsTrackGroupIndex }
     ::= { snMspsVrrpv3OperationsTrackGroupTable 1 }

 SnMspsVrrpv3OperationsTrackGroupEntry ::=
     SEQUENCE {
        snMspsVrrpv3OperationsTrackGroupIndex
            Unsigned32,
        snMspsVrrpv3OperationsTrackedGroupTrackedLinks
            Unsigned32,
        snMspsVrrpv3OperationsTrackRowStatus
            RowStatus
 }

 snMspsVrrpv3OperationsTrackGroupIndex OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
        "Indicates the index of this track group table. "
     ::= { snMspsVrrpv3OperationsTrackGroupEntry 1 }

 snMspsVrrpv3OperationsTrackedGroupTrackedLinks OBJECT-TYPE
     SYNTAX       Unsigned32
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
        "Indicates the number of links to be tracked. The value configured
         here indicates the number of links in
         snMspsVrrpv3OperationsTrackGroupIfTable to go down to give notification
         to VRRP Operations table so that master to backup transition is
         initiated. Default value is 0 meaning only if all the links
         configured in snMspsVrrpv3OperationsTrackGroupIfTable goes
         down, indication is given to VRRP Operations table to initiate
         master to backup transition.

         The value configured here should be less than or equal to
         the number of entries in snMspsVrrpv3OperationsTrackGroupIfTable or zero
         at all the time. If value is anything else, appropriate error is
         thrown.
         "
     ::= { snMspsVrrpv3OperationsTrackGroupEntry 2 }

 snMspsVrrpv3OperationsTrackRowStatus OBJECT-TYPE
     SYNTAX       RowStatus
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
        "The RowStatus variable should be used in accordance to installation
         and removal conventions for conceptual rows.

         To create a row in this table, a manager sets this object to either
         createAndGo(4) or createAndWait(5). Until instances of all
         corresponding columns are appropriately configured and atleast one
         entry in snMspsVrrpv3OperationsTrackGroupIfTable is created, the value
         of the corresponding instance of the
         'snMspsVrrpv3OperationsTrackRowStatus' column will be read as notReady(3).

         In particular, a newly created row cannot be made active(1) until
         (minimally) one or more entries are created in
         snMspsVrrpv3OperationsTrackGroupIfTable is created, value of the object
         snMspsVrrpv3OperationsTrackedGroupTrackedLinks is set to number of entries
         created in snMspsVrrpv3OperationsTrackGroupIfTable or 0.

         A typical order of operation to add a row is:
          1. Create a row in snMspsVrrpv3OperationsTrackGroupTable with
             createAndWait(5).
          2. Create one or more entries in snMspsVrrpv3OperationsTrackGroupIfTable
          3. Set snMspsVrrpv3OperationsTrackedGroupTrackedLinks as the number of
             entries created in snMspsVrrpv3OperationsTrackGroupIfTable.
          4. Set snMspsVrrpv3OperationsTrackRowStatus to active(1).

         An Entry in this table can be deleted, only if there are no entries
         in snMspsVrrpv3OperationsTrackGroupIfTable.

         Before an entry is deleted in snMspsVrrpv3OperationsTrackGroupIfTable is
         deleted, the value snMspsVrrpv3OperationsTrackedGroupTrackedLinks should
         be adjusted. Otherwise, error will be thrown.

         Value 'snMspsVrrpv3OperationsTrackGroupIndex' is used as a reference in
         snMspsVrrpv3OperationsTable.

         Acceptable configurable values for this object are createAndGo(4),
         createAndWait(5), active(1) and destroy(6). "
      ::= { snMspsVrrpv3OperationsTrackGroupEntry 3 }

-- *******************************************************************
--  VRRPv3 Operations Track Group Table extension - Ends
-- *******************************************************************

-- *******************************************************************
--  VRRPv3 Operations Track Group If Table - Starts
-- *******************************************************************

 snMspsVrrpv3OperationsTrackGroupIfTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF SnMspsVrrpv3OperationsTrackGroupIfEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "Oper Track Group If table for a VRRP router which consists of a
          sequence of 'snMspsVrrpv3OperationsTrackGroupIfEntry' items.

          This table contains the interfaces to be tracked by this
          virtual router."

     ::= { snMspsVrrpv3System 6 }

 snMspsVrrpv3OperationsTrackGroupIfEntry OBJECT-TYPE
     SYNTAX       SnMspsVrrpv3OperationsTrackGroupIfEntry
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
        "An entry in the snMspsVrrpv3OperationsTrackGroupIfTable contains the
         interfaces tracked by this virtual router. "

     INDEX   { snMspsVrrpv3OperationsTrackGroupIndex,
                snMspsVrrpv3OperationsTrackGroupIfIndex
              }
     ::= { snMspsVrrpv3OperationsTrackGroupIfTable 1 }

 SnMspsVrrpv3OperationsTrackGroupIfEntry ::=
     SEQUENCE {
         snMspsVrrpv3OperationsTrackGroupIfIndex
             InterfaceIndexOrZero,
         snMspsVrrpv3OperationsTrackGroupIfRowStatus
             RowStatus
   }

 snMspsVrrpv3OperationsTrackGroupIfIndex OBJECT-TYPE
     SYNTAX       InterfaceIndexOrZero
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "Indicates the ifIndex of the interface being tracked for link
          operational status. "
     ::= { snMspsVrrpv3OperationsTrackGroupIfEntry 1 }

 snMspsVrrpv3OperationsTrackGroupIfRowStatus OBJECT-TYPE
     SYNTAX       RowStatus
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
         "The RowStatus variable should be used in accordance to installation
          and removal conventions for conceptual rows.

          To create a row in this table, a manager sets this object to either
          createAndGo(4) and entry automatically transitions to active(1).

          Before an entry is deleted in snMspsVrrpv3OperationsTrackGroupIfTable is
          deleted, the value snMspsVrrpv3OperationsTrackedGroupTrackedLinks should
          be adjusted. Otherwise, error will be thrown.

          Value of snMspsVrrpv3OperationsTrackedGroupTrackedLinks should always be
          less than or equal to  the number of entries created here or zero.
          If value is anything else, appropriate error is thrown.

          Acceptable configurable values for this object are createAndGo(4)
          and destroy(6). "
     ::= { snMspsVrrpv3OperationsTrackGroupIfEntry 2 }

-- *******************************************************************
--  VRRPv3 Operations Track Group If Table extension - Ends
-- *******************************************************************

 snMspsVrrpv3TraceOption OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
           "This object is used to enable trace statements in
            VRRPv3 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:

                0x00000000 - No Traces
                0x0000ffff - All Traces
                0x00000001 - Packet Traces
                0x00000002 - Event Traces
                0x00000004 - Init Traces
                0x00000008 - Timers Traces
                0x00000010 - All Failures Traces

            For example if the 0x00000001 and 0x00000002 are set, then the trace
            statement related to Packet and Event related
            messages will be printed."

     DEFVAL { 0 }
     ::= { snMspsVrrpv3System 7 }


-- ----------------------------------------------------------------
-- snmspsrmap.mib
-- SIMATIC NET Industrial Ethernet Scalance 
-- MSPS Private MIB
-- Copyright (c) 2010, 2013 Siemens AG
-- ----------------------------------------------------------------
--
-- MIB Module :   SN-MSPS-ROUTE_MAP-MIB
--
-- Revision   :   V0.0.0.1
-- Date       :	  2013/07/03 
-- 
-- ----------------------------------------------------------------



------------------------------------------------------------------------------
--           Groups in MIB
------------------------------------------------------------------------------

 snMspsRMapGroup              OBJECT IDENTIFIER ::= { snMspsRouteMap 1 }  
 snMspsRMapTrapCfgGroup       OBJECT IDENTIFIER ::= { snMspsRouteMap 2 }
 snMspsRMapTrapGroup          OBJECT IDENTIFIER ::= { snMspsRouteMap 3 }
 snMspsRMapTrapNotifications  OBJECT IDENTIFIER ::= { snMspsRMapTrapGroup 0 }


 --Route map table
  
          snMspsRMapTable   OBJECT-TYPE 
          SYNTAX    SEQUENCE  OF SnMspsRMapEntry 
          MAX-ACCESS      not-accessible 
          STATUS          current 
          DESCRIPTION     "Route map  table contains  route map name, sequence 
                           number and access status (Permit/Deny).Route-maps 
                           can be used in policy  based routing and route 
                           redistribution" 
                      ::= { snMspsRMapGroup 1 } 

          snMspsRMapEntry  OBJECT-TYPE 
          SYNTAX        SnMspsRMapEntry   
          MAX-ACCESS    not-accessible 
          STATUS        current 
          DESCRIPTION   "Row instance of the route map  table"
          INDEX         { snMspsRMapName, 
                          snMspsRMapSeqNum
                        }
                      ::= { snMspsRMapTable 1 }
 

          SnMspsRMapEntry ::= SEQUENCE {
              snMspsRMapName          DisplayString,
              snMspsRMapSeqNum        Unsigned32,
              snMspsRMapAccess        INTEGER,
              snMspsRMapRowStatus     RowStatus
          }

          snMspsRMapName     OBJECT-TYPE 
          SYNTAX             DisplayString (SIZE(1..20))
          MAX-ACCESS         not-accessible
          STATUS             current 
          DESCRIPTION        "Name  Identifies the  specified route-map 
                               in the list of route-maps."
                      ::= {  snMspsRMapEntry  1 }


          snMspsRMapSeqNum   OBJECT-TYPE 
          SYNTAX             Unsigned32 (1..10)
          MAX-ACCESS         not-accessible
          STATUS             current
          DESCRIPTION       "Number that indicates the position of a new route 
                             map in the list of route maps already configured 
                             with the same name" 
                      ::= {  snMspsRMapEntry  2 }

          snMspsRMapAccess   OBJECT-TYPE 
          SYNTAX              INTEGER    {
                                   permit (1),
                                   deny (2)
          }
          MAX-ACCESS         read-write
          STATUS             current 
          DESCRIPTION       "Access type associated with sequence number in a
                             route-map. Once an instance of this object is 
                             created,  its value can not be changed"
          DEFVAL   {permit}
                      ::= {  snMspsRMapEntry  3 }

         
          snMspsRMapRowStatus OBJECT-TYPE 
          SYNTAX          RowStatus
          MAX-ACCESS      read-write
          STATUS          current 
          DESCRIPTION     "The status of this row, by which new entries may be
                            created, or old entries deleted from this table."
                      ::= {  snMspsRMapEntry  4}


 -- destination match table 
 
          snMspsRMapDestMatchTable  OBJECT-TYPE 
          SYNTAX       SEQUENCE  OF SnMspsRMapDestMatchEntry
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Route-map destination Match table contains various objects 
                          used for matching the parameters of the route " 
                      ::= {   snMspsRMapGroup   2 } 

  snMspsRMapDestMatchEntry   OBJECT-TYPE 
          SYNTAX         SnMspsRMapDestMatchEntry
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Row instance of the route map match  table"
          INDEX          { snMspsRMapName,
                           snMspsRMapSeqNum,
                           snMspsRMapMatchDestInetType,
                           snMspsRMapMatchDestInetAddress,
                           snMspsRMapMatchDestInetPrefix
                          }
                      ::= { snMspsRMapDestMatchTable 1 } 

    SnMspsRMapDestMatchEntry ::= SEQUENCE {
         snMspsRMapMatchDestInetType      InetAddressType,
         snMspsRMapMatchDestInetAddress   InetAddress,
         snMspsRMapMatchDestInetPrefix    InetAddressPrefixLength,
         snMspsRMapMatchDestRowStatus     RowStatus
         } 


          snMspsRMapMatchDestInetType   OBJECT-TYPE
          SYNTAX             InetAddressType
          MAX-ACCESS         not-accessible
          STATUS             current
          DESCRIPTION       "The type of destination network Inet address
                             IPv4(1)
                             IPv6(2)"
                      ::= {  snMspsRMapDestMatchEntry 1 }

          snMspsRMapMatchDestInetAddress    OBJECT-TYPE
          SYNTAX               InetAddress (SIZE (4..16))
          MAX-ACCESS           not-accessible
          STATUS               current
          DESCRIPTION          "Inet address of destination network"
                      ::= {  snMspsRMapDestMatchEntry 2 }

          snMspsRMapMatchDestInetPrefix    OBJECT-TYPE
          SYNTAX               InetAddressPrefixLength
          MAX-ACCESS           not-accessible
          STATUS               current
          DESCRIPTION          "The prefix length of Inet address
                                of destination network"
                      ::= {  snMspsRMapDestMatchEntry 3 }

	  snMspsRMapMatchDestRowStatus    OBJECT-TYPE 
          SYNTAX              RowStatus
          MAX-ACCESS          read-write
          STATUS              current 
          DESCRIPTION     "The status of this row, by which new entries may be
                            created, or old entries deleted from this table."
                      ::= {  snMspsRMapDestMatchEntry  4 }

					  
 -- source match table 
 
          snMspsRMapSourceMatchTable  OBJECT-TYPE 
          SYNTAX       SEQUENCE  OF SnMspsRMapSourceMatchEntry
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Route-map source Match table contains various objects 
                          used for matching the parameters of the route " 
                      ::= {   snMspsRMapGroup   3 } 

  	  snMspsRMapSourceMatchEntry   OBJECT-TYPE 
          SYNTAX         SnMspsRMapSourceMatchEntry
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Row instance of the route map match  table"
          INDEX          { snMspsRMapName,
                           snMspsRMapSeqNum,
                           snMspsRMapMatchSourceInetType,
                           snMspsRMapMatchSourceInetAddress,
                           snMspsRMapMatchSourceInetPrefix
			}
                      ::= { snMspsRMapSourceMatchTable 1 } 

     SnMspsRMapSourceMatchEntry ::= SEQUENCE {
	 snMspsRMapMatchSourceInetType    InetAddressType,
         snMspsRMapMatchSourceInetAddress InetAddress,
         snMspsRMapMatchSourceInetPrefix  InetAddressPrefixLength,
         snMspsRMapMatchSourceRowStatus     RowStatus
         } 

          snMspsRMapMatchSourceInetType   OBJECT-TYPE
          SYNTAX             InetAddressType
          MAX-ACCESS         not-accessible
          STATUS             current
          DESCRIPTION       "Matches the type of source network Inet address
                             IPv4(1)
                             IPv6(2)"
                      ::= {  snMspsRMapSourceMatchEntry 1 }

          snMspsRMapMatchSourceInetAddress    OBJECT-TYPE
          SYNTAX               InetAddress (SIZE (4..16))
          MAX-ACCESS           not-accessible
          STATUS               current
          DESCRIPTION          "Matches Inet address of source network"
                      ::= {  snMspsRMapSourceMatchEntry 2 }

          snMspsRMapMatchSourceInetPrefix    OBJECT-TYPE
          SYNTAX               InetAddressPrefixLength
          MAX-ACCESS           not-accessible
          STATUS               current
          DESCRIPTION          "Matches the prefix length of Inet address
                                of source network"
                      ::= {  snMspsRMapSourceMatchEntry 3 }

	  snMspsRMapMatchSourceRowStatus    OBJECT-TYPE 
          SYNTAX              RowStatus
          MAX-ACCESS          read-write
          STATUS              current 
          DESCRIPTION     "The status of this row, by which new entries may be
                            created, or old entries deleted from this table."
                      ::= {  snMspsRMapSourceMatchEntry  4 }

-- NextHop match table 
 
          snMspsRMapNextHopMatchTable  OBJECT-TYPE 
          SYNTAX       SEQUENCE  OF SnMspsRMapNextHopMatchEntry
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Route-map NextHop Match table contains various objects 
                          used for matching the parameters of the route " 
                      ::= {   snMspsRMapGroup   4 } 

  snMspsRMapNextHopMatchEntry   OBJECT-TYPE 
          SYNTAX         SnMspsRMapNextHopMatchEntry
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Row instance of the route map match  table"
          INDEX          { snMspsRMapName,
                           snMspsRMapSeqNum,
                           snMspsRMapMatchNextHopInetType,
                           snMspsRMapMatchNextHopInetAddr
						   }
                      ::= { snMspsRMapNextHopMatchTable 1 } 

     SnMspsRMapNextHopMatchEntry ::= SEQUENCE {
         snMspsRMapMatchNextHopInetType   InetAddressType,
         snMspsRMapMatchNextHopInetAddr   InetAddress,
         snMspsRMapMatchNextHopRowStatus  RowStatus
         } 

          snMspsRMapMatchNextHopInetType OBJECT-TYPE
          SYNTAX           InetAddressType
          MAX-ACCESS       not-accessible
          STATUS           current
          DESCRIPTION      "Matches the Inet address type of next hop router
                            IPv4(1)
                            IPv6(2)"
                      ::= {  snMspsRMapNextHopMatchEntry  1 }

          snMspsRMapMatchNextHopInetAddr OBJECT-TYPE
          SYNTAX           InetAddress (SIZE (4..16))
          MAX-ACCESS       not-accessible
          STATUS           current
          DESCRIPTION      "Matches the Inet address of next hop router"
                      ::= {  snMspsRMapNextHopMatchEntry  2 }

		  snMspsRMapMatchNextHopRowStatus    OBJECT-TYPE 
          SYNTAX              RowStatus
          MAX-ACCESS          read-write
          STATUS              current 
          DESCRIPTION     "The status of this row, by which new entries may be
                            created, or old entries deleted from this table."
                      ::= {  snMspsRMapNextHopMatchEntry  3 }

					  
-- match table 
 
          snMspsRMapMatchTable  OBJECT-TYPE 
          SYNTAX       SEQUENCE  OF SnMspsRMapMatchEntry 
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Route-map Match table contains various objects 
                          used for matching the parameters of the route " 
                      ::= {   snMspsRMapGroup   5 } 
 
         
  snMspsRMapMatchEntry   OBJECT-TYPE 
          SYNTAX         SnMspsRMapMatchEntry   
          MAX-ACCESS     not-accessible 
          STATUS         current 
          DESCRIPTION    "Row instance of the route map match  table"
          INDEX          { snMspsRMapName,
                           snMspsRMapSeqNum,
                           snMspsRMapMatchType, 
                           snMspsRMapMatchValue
                          }
                      ::= { snMspsRMapMatchTable 1 } 

    SnMspsRMapMatchEntry ::= SEQUENCE {
	 snMspsRMapMatchType              Unsigned32,
 	 snMspsRMapMatchValue             Unsigned32,
         snMspsRMapMatchRowStatus         RowStatus
         } 
          snMspsRMapMatchType     OBJECT-TYPE 
          SYNTAX             Unsigned32 (1..12)
          MAX-ACCESS         not-accessible
          STATUS             current 
          DESCRIPTION        "Match Type  Identifies the  specified route-map matche entry.  
                               see match types in the below.

				RMAP_MATCH_CMD_INTERFACE=4,
				RMAP_MATCH_CMD_METRIC=5,
				RMAP_MATCH_CMD_TAG=6,
				RMAP_MATCH_CMD_METRIC_TYPE=7,
				RMAP_MATCH_CMD_ROUTE_TYPE=8,
				RMAP_MATCH_CMD_ASPATH_TAG=9,
				RMAP_MATCH_CMD_COMMUNITY=10,
				RMAP_MATCH_CMD_LOCAL_PREF=11,
				RMAP_MATCH_CMD_ORIGIN=12 "

                      ::= {  snMspsRMapMatchEntry  1 }


          snMspsRMapMatchValue   OBJECT-TYPE 
          SYNTAX             Unsigned32 (1..2147483647)
          MAX-ACCESS         not-accessible
          STATUS             current
          DESCRIPTION       "Vale should be related to match type. 
			     If user want to configure RMAP_MATCH_CMD_INTERFACE match type 
			     then user should give relative interface index.
			     If user want to configure RMAP_MATCH_CMD_METRIC match type
			     then user should give metric value." 
                      ::= {  snMspsRMapMatchEntry  2 }

          snMspsRMapMatchRowStatus    OBJECT-TYPE 
          SYNTAX              RowStatus
          MAX-ACCESS          read-write
          STATUS              current 
          DESCRIPTION     "The status of this row, by which new entries may be
                            created, or old entries deleted from this table."
                      ::= {  snMspsRMapMatchEntry  3 }

-- set table

       snMspsRMapSetTable   OBJECT-TYPE 
          SYNTAX    SEQUENCE  OF SnMspsRMapSetEntry 
          MAX-ACCESS      not-accessible 
          STATUS          current 
          DESCRIPTION     "Route-map set table contains  various parameters that 
                           are set during the process of policy routing or 
                           route redistribution "
                        ::= {  snMspsRMapGroup  6 } 

      snMspsRMapSetEntry  OBJECT-TYPE 
          SYNTAX        SnMspsRMapSetEntry   
          MAX-ACCESS    not-accessible 
          STATUS        current 
          DESCRIPTION    "Row instance of the route map set table"
          INDEX         { snMspsRMapName,
                          snMspsRMapSeqNum
                        }  
                        ::= { snMspsRMapSetTable 1 } 

       SnMspsRMapSetEntry ::= SEQUENCE {
             snMspsRMapSetNextHopInetType   InetAddressType,
             snMspsRMapSetNextHopInetAddr   InetAddress,
             snMspsRMapSetInterface         InterfaceIndex,
             snMspsRMapSetMetric            Integer32,
             snMspsRMapSetTag               Unsigned32,
             snMspsRMapSetRouteType         INTEGER,
             snMspsRMapSetASPathTag         Unsigned32,
             snMspsRMapSetCommunity         Unsigned32,
             snMspsRMapSetLocalPref         Integer32,
             snMspsRMapSetOrigin            INTEGER,
             snMspsRMapSetWeight            Unsigned32,
             snMspsRMapSetEnableAutoTag     INTEGER,
             snMspsRMapSetLevel             INTEGER,
             snMspsRMapSetRowStatus         RowStatus
         }
                 

          snMspsRMapSetNextHopInetType  OBJECT-TYPE
          SYNTAX           InetAddressType
          MAX-ACCESS       read-write
          STATUS           current
          DESCRIPTION    " Inet address type of next hop
                           IPv4(1)
                           IPv6(2)"
                      ::= {  snMspsRMapSetEntry  1 }

          snMspsRMapSetNextHopInetAddr  OBJECT-TYPE 
          SYNTAX           InetAddress
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION    "  This represents the nexthop Inet address and is set for a route 
                            which passes the  match condition."
                      ::= {  snMspsRMapSetEntry  2 }







          snMspsRMapSetInterface   OBJECT-TYPE 
          SYNTAX           InterfaceIndex 
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION    "This value identifies  the  local interface through 
                          which the next hop can be reached and is set for a route
                          which passes the match conditions."
                          
                      ::= {  snMspsRMapSetEntry 3  }
          snMspsRMapSetMetric      OBJECT-TYPE 
          SYNTAX           Integer32 
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION      "The primary routing  metric.The  semantics of this metric 
                            are determined by the routing-protocol specified."
                      ::= {  snMspsRMapSetEntry  4}

          snMspsRMapSetTag         OBJECT-TYPE 
          SYNTAX           Unsigned32(1..214748367)
          MAX-ACCESS       read-write
          STATUS           current 
         DESCRIPTION       "Sets the tag value of the routing protocol." 
                      ::= {  snMspsRMapSetEntry  5 }

          snMspsRMapSetRouteType    OBJECT-TYPE 
          SYNTAX           INTEGER {
                              local   (3),
                              remote  (4)
                           }
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION      "Sets the route type as per RFC 2096"
                      ::= {  snMspsRMapSetEntry  6 }





          snMspsRMapSetASPathTag  OBJECT-TYPE 
          SYNTAX           Unsigned32(1..214748367)
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION      " Converts the tag of a route into an autonomous system path. 
                             Applies only when redistributing routes into BGP. "
                      ::= {  snMspsRMapSetEntry  7}

          snMspsRMapSetCommunity   OBJECT-TYPE 
          SYNTAX           Unsigned32
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION     "Sets BGP community attribute.The communities that BGP supports range
                           from  well known ones like internet,no-advst,no-export  to add 
                           communities to already existing ones with the BGP. "
                      ::= {  snMspsRMapSetEntry  8 }


          snMspsRMapSetLocalPref   OBJECT-TYPE 
          SYNTAX               Integer32 (1..214748367) 
          MAX-ACCESS           read-write
          STATUS               current 
          DESCRIPTION         "Sets reference value for the autonomous system path.
                               The preference is sent only to all routers in the 
                               local autonomous system."
                      ::= {  snMspsRMapSetEntry  9 }
        
          snMspsRMapSetOrigin      OBJECT-TYPE 
          SYNTAX               INTEGER  {
                                  igp  (1),
                                  egp  (2),
                                  incomplete (3) 
                               }
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION      "Sets the BGP origin code.They can be from Remote Interior Gateway
                             Protocol (IGP) system or from Local Exterior Gateway Protocol (EGP)
                             system or from  Remote autonomous system number which ranges  from 
                              0 to 65535 or from incomplete  which mean Unknown heritage."
                      ::= {  snMspsRMapSetEntry  10 }
         





         snMspsRMapSetWeight   OBJECT-TYPE 
          SYNTAX           Unsigned32(1..65535)
          MAX-ACCESS       read-write
          STATUS           current 
          DESCRIPTION      "Specify the BGP weight for the routing table"
                      ::= {  snMspsRMapSetEntry  11 }

          snMspsRMapSetEnableAutoTag    OBJECT-TYPE 
          SYNTAX            INTEGER {
                               enable  (1),
                               disable (2)
                            }
          MAX-ACCESS        read-write
          STATUS            current 
          DESCRIPTION       "Enable automatic computing of tag table
                             when redistributing routes from BGP into IGP"
          DEFVAL            { disable }
                      ::= {  snMspsRMapSetEntry  12 }

          snMspsRMapSetLevel    OBJECT-TYPE 
          SYNTAX            INTEGER {
                               level1   (1),
                               level2   (2),
                               level12  (3),
                               stubarea (4),
                               backbone (5)
                            }
          MAX-ACCESS        read-write
          STATUS            current 
          DESCRIPTION       "Set level for routes that are advertised into 
                             the specified area of the routing domain"
                      ::= {  snMspsRMapSetEntry  13 }




          snMspsRMapSetRowStatus     OBJECT-TYPE 
          SYNTAX             RowStatus
          MAX-ACCESS         read-write
          STATUS             current 
          DESCRIPTION        "The status of this row, by which new entries may be
                              created, or old entries deleted from this table."
                      ::= {  snMspsRMapSetEntry  14 }  


--route map snmp trap Configuration

        snMspsRmapTrapCfgEnable OBJECT-TYPE
        SYNTAX              INTEGER {
                                enable(1),
                                disable(2)
                            }
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION         "Enable or disable sendig route map traps
                             when matching of route with route map occured"
        DEFVAL              { enable }
                    ::= { snMspsRMapTrapCfgGroup 1 }


--route map snmp traps definition

        snMspsRMapTrapName     OBJECT-TYPE 
        SYNTAX             DisplayString (SIZE(1..20))
        MAX-ACCESS         accessible-for-notify
        STATUS             current 
        DESCRIPTION        "Name  Identifies the  specified route-map 
                             in the list of route-maps."
                    ::= {  snMspsRMapTrapGroup 1 }


        snMspsRMapTrapSeqNum   OBJECT-TYPE 
        SYNTAX             Unsigned32 (1..10)
        MAX-ACCESS         accessible-for-notify
        STATUS             current
        DESCRIPTION       "Number that indicates the position of a new route 
                           map in the list of route maps already configured 
                           with the same name" 
                    ::= {  snMspsRMapTrapGroup 2 }


--route map snmp traps notifications

        snMspsRMapTrapMatch     NOTIFICATION-TYPE
        OBJECTS             {
                                snMspsRMapTrapName,
                                snMspsRMapTrapSeqNum
                            }
        STATUS              deprecated
        DESCRIPTION        "Signifies that there has been a route matching
                            with route map"
                    ::= { snMspsRMapTrapNotifications 1 }




-- 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
          }

	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 }

-- 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 }



    	
snMspsNfcStatus  OBJECT-TYPE
    	SYNTAX  INTEGER {
   	   	  enabled(1),
      	  disabled(2)
    	}
    	MAX-ACCESS  read-write
    	STATUS  current
    	DESCRIPTION "Enable/disable NFC feature / chip."
    	::= { snMspsNfc 1 }
		

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
