-- These MIBs were created on 01/08/2001
-- This module defines NetScreen private MIBs for nsrp
-- 
-- Copyright (c) 1999 - 2001 by NetScreen Technologies, Inc.
-- All rights reserved.
-- 
--  Last modified date: 06/04/2003
--
NETSCREEN-NSRP-MIB DEFINITIONS ::= BEGIN
IMPORTS

    DisplayString 	FROM RFC1213-MIB 
    netscreenNsrp 	FROM NETSCREEN-SMI;
    

-- general info
netscreenNsrpGeneral OBJECT IDENTIFIER ::= { netscreenNsrp 1 }
-- warm standby group mibs
netscreenNsrpVSD OBJECT IDENTIFIER ::= { netscreenNsrp 2 }
-- hot standby group mibs
netscreenNsrpRTO OBJECT IDENTIFIER ::= { netscreenNsrp 3 }
-- Netscreen Track Mibs
netscreenNsrpTrack OBJECT IDENTIFIER ::= { netscreenNsrp 4 }
-- Netscreen Cluster Mibs
netscreenNsrpCluster OBJECT IDENTIFIER ::= { netscreenNsrp 5 }
-- Netscreen LinkInfo Mibs
netscreenNsrpLinkInfo OBJECT IDENTIFIER ::= { netscreenNsrp 6 }


-- MODULE-IDENTITY
--  OrgName
--    Netscreen Technologies, Inc.
--  ContactInfo
--     Customer Support
--     
--     2860 San TOmas Expwy
--     Santa Clara, CA  95051
--     USA
--    
--     Tel: 1.877.NETSCREEN
--     E-mail: support@netscreen.com
--     Http://www.netscreen.com

--  Descr
--    This module defines the object that are used for
--    netscreen redundancy protocol 
-- 
          nsrpLinkInfoTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpLinkInfoEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of NSRP link info"
              ::= { netscreenNsrpLinkInfo 1 }

          nsrpLinkInfoEntry OBJECT-TYPE
              SYNTAX  NsrpLinkInfoEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for nsrp link info"
              INDEX   { nsrpLinkInfoIndex }
              ::= { nsrpLinkInfoTable 1 }

          NsrpLinkInfoEntry ::=
              SEQUENCE {
          	nsrpLinkInfoIndex
              		INTEGER,
              	nsrpLinkInfoLinkType
              		INTEGER,
              	nsrpLinkInfoChannel
              		DisplayString,
              	nsrpLinkInfoMac
              		DisplayString,
              	nsrpLinkInfoState
              		INTEGER
              }

          nsrpLinkInfoIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "table index" 
              ::= { nsrpLinkInfoEntry 1 }

          nsrpLinkInfoLinkType OBJECT-TYPE
              SYNTAX  INTEGER {
              	control(0),
              	data(1),
              	hapath2(3)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link type" 
              ::= { nsrpLinkInfoEntry 2 }

          nsrpLinkInfoChannel OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link channel's name" 
              ::= { nsrpLinkInfoEntry 3 }

          nsrpLinkInfoMac OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..16))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link channel's mac address" 
              ::= { nsrpLinkInfoEntry 4 }

          nsrpLinkInfoState OBJECT-TYPE
              SYNTAX  INTEGER {
              	down(0),
              	up(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link channel's state" 
              ::= { nsrpLinkInfoEntry 4 }


          nsrpClusterTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpClusterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of cluster on the device."
              ::= { netscreenNsrpCluster 1 }

          nsrpClusterEntry OBJECT-TYPE
              SYNTAX  NsrpClusterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for nsrp cluster"
              INDEX   { nsrpClusterTblIndex }
              ::= { nsrpClusterTable 1 }

          NsrpClusterEntry ::=
              SEQUENCE {
          	nsrpClusterTblIndex
              		INTEGER,
              	nsrpClusterUnitId
              		INTEGER,
              	nsrpClusterUnitCtrlMac
              		DisplayString,
              	nsrpClusterUnitDataMac
              		DisplayString
              }

          nsrpClusterTblIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "table index" 
              ::= { nsrpClusterEntry 1 }

          nsrpClusterUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Unit id in this cluster" 
              ::= { nsrpClusterEntry 2 }

          nsrpClusterUnitCtrlMac OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..16))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Unit id's control path mac address" 
              ::= { nsrpClusterEntry 3 }

          nsrpClusterUnitDataMac OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..16))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Unit id's data path mac address" 
              ::= { nsrpClusterEntry 4 }
              		

     -------------------
     -- the NSRP general
     ------------------- 
         -- the NSRP cluster id
        nsrpGeneralClusterId OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The cluster ID"
              ::= { netscreenNsrpGeneral 1 }
       nsrpGeneralLocalUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "local device's unit ID"
              ::= { netscreenNsrpGeneral 2}

       nsrpGeneralEncrypEnable OBJECT-TYPE
              SYNTAX  INTEGER {
              disabled(0),
              enabled(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "NSRP encryption enabled"
              ::= { netscreenNsrpGeneral 3}

       nsrpGeneralAuthEnable OBJECT-TYPE
              SYNTAX  INTEGER {
              disabled(0),
              enabled(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "NSRP authentication enabled"
              ::= { netscreenNsrpGeneral 4}

       nsrpGeneralIfMonitor OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..64))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "interface being monitored"
              ::= { netscreenNsrpGeneral 5}

       nsrpGeneralGratArps OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "number of gratuitious arps"
              ::= { netscreenNsrpGeneral 6}

       
     --------------------
     -- the NSRP VSD Group  
     --------------------
          nsrpVsdGeneral OBJECT IDENTIFIER  ::= {netscreenNsrpRTO 4}
          nsrpVsdGeneralInitHoldTime OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "VSD group init hold time (in second)"
              ::= { nsrpVsdGeneral 1 }  
          nsrpVsdGeneralHbInterval OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "VSD heart beat interval.(in milisecond)"
              ::= { nsrpVsdGeneral 2 }  
          nsrpVsdGeneralHbLostThres OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "vsd heartbeat lost threshold"
              ::= { nsrpVsdGeneral 3 }  

         -- the NSRP VSD local unit information table
          -- The vsi unit table contains a number of  
          -- vsi groups on a device
          nsrpVsdUnitTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpVsdGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of VSD groups on the device."
              ::= { netscreenNsrpVSD 1 }

          nsrpVsdGroupEntry OBJECT-TYPE
              SYNTAX  NsrpVsdGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for a track ip"
              INDEX   { nsrpVsdGroupID }
              ::= { nsrpVsdUnitTable 1 }

          NsrpVsdGroupEntry ::=
              SEQUENCE {
          	nsrpVsdGroupID
              		INTEGER,
              	nsrpVsdGroupPriority
              		INTEGER,
              	nsrpVsdGroupPreempt
              		INTEGER,
              	nsrpVsdGroupHoldDownTime
              		INTEGER,
              	nsrpVsdGroupNumberOfUnit
              		INTEGER,
                nsrpVsdGroupCntStateChange
                        INTEGER,
                nsrpVsdGroupCntToInit
                        INTEGER,
                nsrpVsdGroupCntToMaster
                        INTEGER,
                nsrpVsdGroupCntToPBackup
                        INTEGER,
                nsrpVsdGroupCntToBackup
                        INTEGER,
                nsrpVsdGroupCntToIneligible
                        INTEGER,
                nsrpVsdGroupCntToInoperable
                        INTEGER,
                nsrpVsdGroupCntMasterConflict
                        INTEGER,
                nsrpVsdGroupCntPbConfilict
                        INTEGER,
                nsrpVsdGroupCntHeartbeatTx
                		INTEGER,
                nsrpVsdGroupCntHeartbeatRx
                		INTEGER
              }

          nsrpVsdGroupID OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "one group ID the device belongs to." 
              ::= { nsrpVsdGroupEntry 1 }
          nsrpVsdGroupPriority OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "local unit in current group's priority."
                  ::= { nsrpVsdGroupEntry 2 }
          nsrpVsdGroupPreempt OBJECT-TYPE
          	  SYNTAX  INTEGER
          	  ACCESS  read-only
          	  STATUS  mandatory
          	  DESCRIPTION
          	          "local unit in current group's preempt."
          	  ::= { nsrpVsdGroupEntry 3 }
          nsrpVsdGroupHoldDownTime OBJECT-TYPE
          	  SYNTAX  INTEGER
          	  ACCESS  read-only
          	  STATUS  mandatory
          	  DESCRIPTION
          	          "TBD"
          	  ::= { nsrpVsdGroupEntry 4 }
          nsrpVsdGroupNumberOfUnit OBJECT-TYPE
          	  SYNTAX  INTEGER
          	  ACCESS  read-only
          	  STATUS  mandatory
          	  DESCRIPTION
          	          "unit quantity in this group."
          	  ::= { nsrpVsdGroupEntry  5}
          nsrpVsdGroupCntStateChange OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "total number of state transition events"
              ::= { nsrpVsdGroupEntry 6 }
          nsrpVsdGroupCntToInit OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into init state, which is as out of ineligible state`"
                  ::= { nsrpVsdGroupEntry 7 }
          nsrpVsdGroupCntToMaster OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into master state"
                  ::= { nsrpVsdGroupEntry 8 }
          nsrpVsdGroupCntToPBackup OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into primary backup state"
                  ::= { nsrpVsdGroupEntry 9 }
          nsrpVsdGroupCntToBackup OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into backup state."
                  ::= { nsrpVsdGroupEntry  10 }
          nsrpVsdGroupCntToIneligible OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into ineligible  state."
                  ::= { nsrpVsdGroupEntry 11 }
          nsrpVsdGroupCntToInoperable OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into inoperable  state."
                  ::= { nsrpVsdGroupEntry 12 }
          nsrpVsdGroupCntMasterConflict OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of times multiple masters exist while the local unit is in master state."
                  ::= { nsrpVsdGroupEntry  13}
          nsrpVsdGroupCntPbConfilict OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of times multiple primary backups exist while the local unit is in primary backup state."
                  ::= { nsrpVsdGroupEntry 14 }
          nsrpVsdGroupCntHeartbeatTx OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of heart beat transfered by a group."
                  ::= { nsrpVsdGroupEntry 15 }
          nsrpVsdGroupCntHeartbeatRx OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of heart beat received by a group."
                  ::= { nsrpVsdGroupEntry 16 }

         -- the NSRP VSD membership table
          -- The vsi membership table contains a number of  
          --  devices' attribute within a vsi groups
          nsrpVsdMemberTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpVsdMemberEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of devices within the VSD group."
              ::= { netscreenNsrpVSD 2 }

          nsrpVsdMemberEntry OBJECT-TYPE
              SYNTAX  NsrpVsdMemberEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A entry containing attributes of one device in a group"
              INDEX   { nsrpVsdMemberGroupId ,nsrpVsdMemberUnitId }
              ::= { nsrpVsdMemberTable 1 }

          NsrpVsdMemberEntry ::=
              SEQUENCE {
         	    nsrpVsdMemberGroupId
                    INTEGER,
                nsrpVsdMemberUnitId
                    INTEGER,             
                nsrpVsdMemberStatus
                    INTEGER,
                nsrpVsdMemberPriority
                    INTEGER,
                nsrpVsdMemberPreempt
                    INTEGER
              }
          nsrpVsdMemberGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "indicate the Group it belong to" 
              ::= { nsrpVsdMemberEntry 1 }
          nsrpVsdMemberUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "VSD group member's unit id"
              ::= { nsrpVsdMemberEntry 2 }

          nsrpVsdMemberStatus OBJECT-TYPE
              SYNTAX  INTEGER  {
                                        undefined(0),
					init(1),
					master(2),
				        primary-backup(3),
				        backup(4),
					ineligible(5),
					inoperable(6)
	      		}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Undefined
                       1 init
                       2 Master
                       3 Primary Backup
                       4 Backup
                       5 ineligible 
                       6 inoperable" 
              ::= { nsrpVsdMemberEntry 3 }
          nsrpVsdMemberPriority OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Priority of unit in this group"
              ::= { nsrpVsdMemberEntry 4 }
          nsrpVsdMemberPreempt OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "unit in current group's preempt"
              ::= { nsrpVsdMemberEntry 5 }


         -- the NSRP VSD interface table
          -- The vsi interface table contains a number of  
          --  virtual secure interface on a device
          nsrpVsdInterfaceTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpVsdInterfaceEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of VSD interfaces on the device."
              ::= { netscreenNsrpVSD 3 }


          nsrpVsdInterfaceEntry OBJECT-TYPE
              SYNTAX  NsRpVsdInterfaceEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A track entry containing attributes for a track ip"
              INDEX   { nsrpVsdIfIndex }
              ::= { nsrpVsdInterfaceTable 1 }

          NsRpVsdInterfaceEntry ::=
              SEQUENCE {
          	nsrpVsdIfIndex
              		INTEGER,
                nsrpVsdIfStatus
                        INTEGER,
              	nsrpVsdIfGroupId
              		INTEGER,
              	nsrpVsdIfIp
              	    IpAddress,
              	nsrpVsdIfNetmask
              		IpAddress,
              	nsrpVsdIfGateway
              		IpAddress,
              	nsrpVsdIfName
              	    DisplayString,
              	nsrpVsdIfVLAN
              		INTEGER,
              	nsrpVsdIfMAC
              	 	DisplayString,
              	nsrpVsdIfVSys
              		DisplayString,
              	nsrpVsdIfMngTelnet
              		INTEGER,
              	nsrpVsdIfMngSCS
              		INTEGER,
              	nsrpVsdIfMngWEB
              		INTEGER,
              	nsrpVsdIfMngSSL
              		INTEGER,
              	nsrpVsdIfMngSNMP
              		INTEGER,
              	nsrpVsdIfMngGlobal
              		INTEGER,
              	nsrpVsdIfMngGlobalPro
              		INTEGER,
              	nsrpVsdIfMngPing
              		INTEGER,
              	nsrpVsdIfMngIdentReset
              		INTEGER
              }

          nsrpVsdIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A index." 
              ::= { nsrpVsdInterfaceEntry 1 }
          nsrpVsdIfStatus OBJECT-TYPE
              SYNTAX  INTEGER   {
                          down(0),
                          inactive(1),
                          active(2)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "indicate the status of this vsi interface"
              ::= { nsrpVsdInterfaceEntry 2 }
          nsrpVsdIfGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "indicate the group it belong to"
              ::= { nsrpVsdInterfaceEntry 3 }
          nsrpVsdIfIp OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "ip ADDRESS" 
              ::= { nsrpVsdInterfaceEntry 4 }
          nsrpVsdIfNetmask OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "subnet mask" 
              ::= { nsrpVsdInterfaceEntry 5 }
          nsrpVsdIfGateway OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "gateway" 
              ::= { nsrpVsdInterfaceEntry 6 }
          nsrpVsdIfName OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "trust/untrust/DMZ" 
              ::= { nsrpVsdInterfaceEntry 7 }
          nsrpVsdIfVLAN OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "vlan -1 means no vlan" 
              ::= { nsrpVsdInterfaceEntry 8 }
          nsrpVsdIfMAC OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "mac address" 
              ::= { nsrpVsdInterfaceEntry 9 }
          nsrpVsdIfVSys OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "virtual system" 
              ::= { nsrpVsdInterfaceEntry 10 }
          nsrpVsdIfMngTelnet OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 11 }
          nsrpVsdIfMngSCS OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 12 }
          nsrpVsdIfMngWEB OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 13 }
          nsrpVsdIfMngSSL OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 14 }
          nsrpVsdIfMngSNMP OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 15 }
          nsrpVsdIfMngGlobal OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 16 }
          nsrpVsdIfMngGlobalPro OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 17 }
          nsrpVsdIfMngPing OBJECT-TYPE
              SYNTAX  INTEGER {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 18 }
          nsrpVsdIfMngIdentReset OBJECT-TYPE
              SYNTAX  INTEGER  {
						disable(0),
						enable(1)
	      			}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 19 }
       
     --------------------
     -- the NSRP RTO Group  
     --------------------
         -- the NSRP RTO group table
          -- The vsi group table contains a number of  
          -- vsi groups on a device
          nsrpRTOgroupTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpRtoGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of RTO groups on the device."
              ::= { netscreenNsrpRTO 1 }


          nsrpRtoGroupEntry OBJECT-TYPE
              SYNTAX  NsRpRtoGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for RTO group"
              INDEX   { nsrpRtoGroupId }
              ::= { nsrpRTOgroupTable 1 }

          NsRpRtoGroupEntry ::=
              SEQUENCE {
          		nsrpRtoGroupId
              		INTEGER,
              	nsrpRtoNumOfUnit
              		INTEGER
              }

          nsrpRtoGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A RTO group ID.also used as table index" 
              ::= { nsrpRtoGroupEntry 1 }
          nsrpRtoNumOfUnit OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "how many units in this RTO group" 
              ::= { nsrpRtoGroupEntry 2 }         

         -- the NSRP RTO unit table
          -- The rto unit table contains a number of  
          --  devices within a rto groups
          nsrpRTOunitTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpRtoUnitEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of device status within a RTO group."
              ::= { netscreenNsrpRTO 2 }  
             

          nsrpRtoUnitEntry OBJECT-TYPE
              SYNTAX  NsRpRtoUnitEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A track entry containing attributes for a track ip"
              INDEX   { nsrpRtoUnitGroupId, nsrpRtoUnitId }
              ::= { nsrpRTOunitTable 1 }

          NsRpRtoUnitEntry ::=
              SEQUENCE {
          		nsrpRtoUnitGroupId
              		INTEGER,
              	nsrpRtoUnitId
              		INTEGER,
              	nsrpRtoUnitStatus
              		INTEGER,
              	nsrpRtoUnitDirection
              	    INTEGER,
              	nsrpRtoUnitLostHeartbeat
              	    Counter,
              	nsrpRtoUnitToActive
              	    Counter,
              	nsrpRtoUnitToSet
              	    Counter,
              	nsrpRtoUnitLostPeer
              	    Counter,
              	nsrpRtoUnitGroupDetach
              	    Counter              	
              }

          nsrpRtoUnitGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The RTO group id, a unit belongs to" 
              ::= { nsrpRtoUnitEntry 1 }
          nsrpRtoUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "device's unit id." 
              ::= { nsrpRtoUnitEntry 2 }
          nsrpRtoUnitStatus OBJECT-TYPE
              SYNTAX  INTEGER {
              		undefined(0),
              		set(1),
                    active(2)
              	}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The RTO group id, a unit belongs to" 
              ::= { nsrpRtoUnitEntry 3 }
          nsrpRtoUnitDirection OBJECT-TYPE
              SYNTAX  INTEGER {
              		out(1),
                    in(2)
              	}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The RTO uint's dirction in the group" 
              ::= { nsrpRtoUnitEntry 4 }
          nsrpRtoUnitLostHeartbeat OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of heartbeat" 
              ::= { nsrpRtoUnitEntry 5 }
          nsrpRtoUnitToActive OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of active" 
              ::= { nsrpRtoUnitEntry 6 }
          nsrpRtoUnitToSet OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of set" 
              ::= { nsrpRtoUnitEntry 7 }
          nsrpRtoUnitLostPeer OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of lost peer" 
              ::= { nsrpRtoUnitEntry 8 }
          nsrpRtoUnitGroupDetach OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of rto group detach" 
              ::= { nsrpRtoUnitEntry 9 }
                                                  
          nsrpRtoGeneral OBJECT IDENTIFIER  ::= {netscreenNsrpRTO 4}
          nsrpRtoGeneralHbInterval OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "rto heart beat interval."
              ::= { nsrpRtoGeneral 1 }  
          nsrpRtoGeneralHbLostThres OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "rto heartbeat lost threshold"
              ::= { nsrpRtoGeneral 2 }  
          nsrpRtoGeneralSessSyncEnable OBJECT-TYPE
              SYNTAX  INTEGER {
              	disabled(0),
              	enabled(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "session sync enabled."
              ::= { nsrpRtoGeneral 3 }  
                                                  
         -- the NSRP RTO Counter 
         -- The rto unit table contains a number of  
          --  devices within a rto groups
          nsrpRtoCounter OBJECT IDENTIFIER  ::= {netscreenNsrpRTO 3}
          nsrpRtoCounterPakForwarded OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "packets forwarded by rto."
              ::= { nsrpRtoCounter 1 }  
          nsrpRtoCounterPakReceived OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "packets received by rto."
              ::= { nsrpRtoCounter 2 }  

         -- the NSRP counter table
          nsrpRtoCounterTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpRtoCounterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of rto counter object entry. "
              ::= { nsrpRtoCounter 3 }

          nsrpRtoCounterEntry OBJECT-TYPE
              SYNTAX  NsRpRtoCounterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A rto counter entry containing attributes for a rto counter obj."
              INDEX   { nsrpRtoCounterIdx }
              ::= { nsrpRtoCounterTable 1 }

          NsRpRtoCounterEntry ::=
              SEQUENCE {
				nsrpRtoCounterIdx
					INTEGER,
          		nsrpRtoCounterName
              		DisplayString,
          		nsrpRtoCounterSend
	      			Counter,
          		nsrpRtoCounterReceive
              		Counter,
          		nsrpRtoCounterDrop
              		Counter
              }
          nsrpRtoCounterIdx OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter index."
              ::= { nsrpRtoCounterEntry 1 }
          nsrpRtoCounterName OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Name of a rto counter object." 
              ::= { nsrpRtoCounterEntry 2 }
          nsrpRtoCounterSend OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Total number of message sent." 
              ::= { nsrpRtoCounterEntry 3 }
          nsrpRtoCounterReceive OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Total number of message received." 
              ::= { nsrpRtoCounterEntry 4 }
          nsrpRtoCounterDrop OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Total number of message dropped." 
              ::= { nsrpRtoCounterEntry 5 }

             
     --------------------
     -- the NSRP track ip  
     --------------------
         -- the NSRP track ip enable
          nsrpTrackEnable OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 means disable, 1 meams enable" 
              ::= { netscreenNsrpTrack 1 }  
                            
         -- the NSRP track ip enable
          nsrpTrackThreshold OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Failover Threshold" 
              ::= { netscreenNsrpTrack 2 }  

         -- the NSRP track ip enable
          nsrpTrackFailoverEnalble OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Failover enable switch"
              ::= { netscreenNsrpTrack 3 }
                            
         -- the NSRP track ip table
          -- The track ip table contains a number of devices 
          -- monitored by this device
          nsrpTrackTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpTrackEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of track ip entries. "
              ::= { netscreenNsrpTrack 4 }

          nsrpTrackEntry OBJECT-TYPE
              SYNTAX  NsRpTrackEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A track entry containing attributes for a track ip"
              INDEX   { nsrpTrackIpIndex }
              ::= { nsrpTrackTable 1 }

          NsRpTrackEntry ::=
              SEQUENCE {
          nsrpTrackIpIndex
              INTEGER,
          nsrpTrackIpAddr 
	      IpAddress,	
          nsrpTrackIpStatus
              INTEGER,
          nsrpTrackIpTimestamp
              INTEGER,
          nsrpTrackIpInterval
              INTEGER,
          nsrpTrackIpThreshhold
              INTEGER,
          nsrpTrackIpMethod
              INTEGER,
          nsrpTrackIpWeight
              INTEGER,
          nsrpTrackIpIfName
              DisplayString,
          nsrpTrackIpTotalCheck
              INTEGER,
          nsrpTrackIpTotalFailedCheck
              INTEGER
              }

          nsrpTrackIpIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique value for each track ip.  Its value
                      ranges between 1 and 65535 and may not be contigous. 
		      		  It has no other meaning but a pure index." 
              ::= { nsrpTrackEntry 1 }

          nsrpTrackIpAddr OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The IP address of the monitored device."
              ::= { nsrpTrackEntry 2 }
          
          nsrpTrackIpStatus OBJECT-TYPE
              SYNTAX  INTEGER  {
				success(0),
				fail(1)
	      		}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Status " 
              ::= { nsrpTrackEntry 3 }

          nsrpTrackIpTimestamp OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Timestamp of status change. Reference 1970/1/1 0:0" 
              ::= { nsrpTrackEntry 4 }

          nsrpTrackIpInterval OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A frequecy how the track ip is checked.  
                      It is in unit of seconds." 
              ::= { nsrpTrackEntry 5 }

          nsrpTrackIpThreshhold OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A number of consective failures to regard
                      the device has failed." 
              ::= { nsrpTrackEntry 6 }
          
          nsrpTrackIpMethod OBJECT-TYPE
              SYNTAX  INTEGER {
				ping(0),
				arp(1)
	      		}
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The method to track the device."
              ::= { nsrpTrackEntry 7 }

          nsrpTrackIpWeight OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The weight of this failure contributing to the failover."
              ::= { nsrpTrackEntry 8 }

          nsrpTrackIpIfName OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The interface the track messages
                      are sent to. Auto means the actual interface
                      is determined by the routing table."
              ::= { nsrpTrackEntry 9 }

          nsrpTrackIpTotalCheck OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ping/arp attempts."
              ::= { nsrpTrackEntry 10 }
          
          nsrpTrackIpTotalFailedCheck OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of total failed attempts."
              ::= { nsrpTrackEntry 11 }
 
END
