--
--      usr-definitions.mib - Common definitions to be used in all USR MIBs.
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_definitions.mib,v 1.57.2.7 1997/10/10 16:27:02 smitra Exp $
--
-- +==========================================================================+
-- |                            3COM Corporation
-- |                         Copyright (c)  1995-97 
-- |
-- |    The information in this software is subject to change without  notice
-- |               and shall not be construed as a commitment by
-- |                            3COM Corporation.
-- |
-- | U.S. Robotics Access Corporation  assumes no responsibility for the  use
-- | or reliability  of its software  on equipment  which is  not supplied by
-- |                            3COM Corporation.
-- | 
-- | This software is  furnished under a license and may be copied only  with  
-- | the inclusion of the above copyright notice. This software, or any other
-- | copies thereof, may not be provided  or otherwise  made available to any
-- |       other person except to one who agrees to these license terms.
-- |
-- | Title to and  ownership of the  software shall at all  times remain with
-- |                            3COM Corporation.
-- +==========================================================================+


        USR-DEFINITIONS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                enterprises             FROM RFC1155-SMI
                Integer32               FROM SNMPv2-SMI
                TEXTUAL-CONVENTION      FROM SNMPv2-TC;



--      MIB-II (same prefix as MIB-I)
--      mib-2                    OBJECT IDENTIFIER ::= { mgmt 1 }
--      interfaces               OBJECT IDENTIFIER ::= { mib-2 2 }
--      transmission             OBJECT IDENTIFIER ::= { mib-2 10 }



--      DESCRIPTION OF THE enterprises.usRobotics BRANCH:
--     
--       + enterprises
--       |
--       + - - + usRobotics (429)
--             |
--             + - - - +  usrSysOIDs  (2)
--             |       |
--             |       + - - - > chas17Slot          (1)
--             |       + - - - > chas7Slot           (2)
--             |       + - - - > wanHubAccessServer  (3)
--             |       + - - - > S/AloneAccessServer (4)
--             |       + - - - > netServer8-16       (5)
--             |       + - - - > modemPool16         (6)
--             |       + - - - > modemPool8          (7)
--             |       + - - - > chas17SlotHp        (8)
--             |       + - - - > chas17SlotClk       (9)
--             |       + - - - > netServerII8        (10)
--             |       + - - - > netServerII16       (11)
--             |       + - - - > lanLinkerBRI        (12)
--             |       + - - - > lanLinkerD56k       (13)
--             |       + - - - > netServerII8imdm    (14)
--             |       + - - - > netServerII16imdm   (15)
--             |       + - - - > pilgrimCore         (16)
--             |       + - - - > lanLinkerDSL        (17)
--             |       + - - - > lanLinkerDslCO      (18)
--             |       + - - - > usrHiPerArc         (19)
--             |       + - - - > positronRM          (20)  Access-Router 3000
--             |       + - - - > lanLinkerDualAnalog (21)
--             |       + - - - > DSLAMCoMux          (22)
--             |       + - - - > hiPerCableRouter    (23)
--             |       + - - - > dynatronRM          (24)  Access-Router 1000
--             |       + - - - > positronEM          (25)  EdgeServerPro 3000
--             |
--             |
--             + - - - +  usrExp      (3)
--             |
--             |
--             + - - - +  common      (4)
--             |       |
--             |       + - - - > usrConfig           (1)
--             |       + - - - > usruserMan          (2)
--             |       + - - - > roboExec            (3)
--             |       + - - - > usrIpx              (4)
--             |       + - - - > usrSnmp             (5)
--             |       + - - - > atcfgFwd            (6)
--             |       + - - - > atprivateFwd        (7)
--             |       + - - - > atcfgRtmp           (8)
--             |       + - - - > usrEventHandler     (9)
--             |       + - - - > usrCip              (10)
--             |       + - - - > usrPPP              (11)
--             |       + - - - > usrIp               (12)
--             |       + - - - > usrIpCfg            (13)
--             |       + - - - > usrBridge           (14)
--             |       + - - - > usrFR               (15)
--             |       + - - - > usrFilter           (16)
--             |       + - - - > usrDns              (17)
--             |       + - - - > usrTermProt         (18)
--             |       + - - - > usrIpRouting        (19)
--             |       + - - - > usrIpxCfg           (20)
--             |       + - - - > usrIsdnMib          (21)
--             |       + - - - > usrCli              (22)
--             |       + - - - > usrD56k             (23)
--             |       + - - - > usrTftp             (24)
--             |       + - - - > usrDialout          (25)
--             |       + - - - > usrAdsl             (26)
--             |       + - - - > usrDS1              (27)
--             |       + - - - > usrDS0              (28)
--             |       + - - - > usrStack            (29)  Stackables
--             |       + - - - > usrModem            (30)
--             |       + - - - > usrTopology         (31)  Stackables
--             |       + - - - > usrPN               (32)  Private Network
--             |       + - - - > usrPPTP             (33)
--             |       + - - - > usrNTP              (34)
--             |       + - - - > usrSLIP             (35)
--             |       + - - - > usrPing             (36)
--             |       + - - - > usrRemotePing       (37)
--             |       + - - - > usrGWCBSP           (38)
--             |       + - - - > usrRM               (39)  Positron-RM
--             |       + - - - > usrTraceRoute       (40)
--             |       + - - - > usrChassis          (41)
--             |       + - - - > usrCable            (42)
--             |       + - - - > usrDs3              (43)
--             |       + - - - > usrTraps            (44)  Stackables
--             |       + - - - > usrTcp              (45)
--             |       + - - - > usrIpoa             (46)
--             |       + - - - > usrAtm1483Pvc       (47)
--             |       + - - - > usrMdmTemplate      (48)
--             |       + - - - > usrAtmArp           (49)
--             |       + - - - > usrAtmCrossConnect  (50)
--             |       
--             | 
--             |
--             + - - - +  usrProducts (6)
--                     |
--                     + - - - + usrPositron  (1)
--                     |       |
--                     |       + - - - > adm  (1)
--                     |       + - - - > em   (2)
--                     |
--                     |
--                     + - - - + usrDynatron  (2)
--                     |       |
--                     |       + - - - > drm  (1)
--                     |       + - - - > pem  (2)
--                     |       + - - - > mms  (3)
--                     |       | 
--                     |       + - - - + usrDynatronCommon (9)
--                     |               |
--                     |               + - - - > TVsetup   (1)
--                     |               + - - - > SDL       (2)
--                     |               + - - - > PSU       (3)
--                     |               + - - - > OTS       (4)
--                     |               + - - - > BulkDL    (5)
--                     |
--
--

        usRobotics               OBJECT IDENTIFIER ::= { enterprises 429 }


        usrSysOIDs               OBJECT IDENTIFIER ::= { usRobotics 2 }

        usrExp                   OBJECT IDENTIFIER ::= { usRobotics 3 }

        common                   OBJECT IDENTIFIER ::= { usRobotics 4 }

        usrProducts              OBJECT IDENTIFIER ::= { usRobotics 6 }


        usrPositron              OBJECT IDENTIFIER ::= { usrProducts 1 }
        adm                      OBJECT IDENTIFIER ::= { usrPositron 1 }
        em                       OBJECT IDENTIFIER ::= { usrPositron 2 }

        usrDynatron              OBJECT IDENTIFIER ::= { usrProducts 2 }
        usrDrm                   OBJECT IDENTIFIER ::= { usrDynatron 1 }
        usrPem                   OBJECT IDENTIFIER ::= { usrDynatron 2 }
        usrMms                   OBJECT IDENTIFIER ::= { usrDynatron 3 }

        usrDynatronCommon        OBJECT IDENTIFIER ::= { usrDynatron 9 }




   -- DEFINE ALL THE COMMON GROUPS HERE, TO PREVENT DUPLICATE NUMBER
   -- ASSIGMENTS.

        usrConfig                OBJECT IDENTIFIER ::= { common 1 }   

        usrUserMan               OBJECT IDENTIFIER ::= { common 2 }
        roboExec                 OBJECT IDENTIFIER ::= { common 3 }

        usrIpx                   OBJECT IDENTIFIER ::= { common 4 }

        usrSnmp                  OBJECT IDENTIFIER ::= { common 5 }

   -- AppleTalk Configuration tables
        atcfgFwd                 OBJECT IDENTIFIER ::= { common 6 }
        atprivateFwd             OBJECT IDENTIFIER ::= { common 7 }
   --   atcfgRtmp                OBJECT IDENTIFIER ::= { common 8 }

        usrEventHandler          OBJECT IDENTIFIER ::= { common 9 }
   
        usrCip                   OBJECT IDENTIFIER ::= { common 10 }

        usrPPP                   OBJECT IDENTIFIER ::= { common 11 }

        usrIp                    OBJECT IDENTIFIER ::= { common 12 }

        usrIpCfg                 OBJECT IDENTIFIER ::= { common 13 }

        usrBridge                OBJECT IDENTIFIER ::= { common 14 }

        usrFR                    OBJECT IDENTIFIER ::= { common 15 }

        usrFilter                OBJECT IDENTIFIER ::= { common 16 }

        usrDns                   OBJECT IDENTIFIER ::= { common 17 }

        usrTermProt              OBJECT IDENTIFIER ::= { common 18 }

        usrIpRouting             OBJECT IDENTIFIER ::= { common 19 }

        usrIpxCfg                OBJECT IDENTIFIER ::= { common 20 }

        usrIsdnMib               OBJECT IDENTIFIER ::= { common 21 }

        usrCli                   OBJECT IDENTIFIER ::= { common 22 }

        usrD56k                  OBJECT IDENTIFIER ::= { common 23 }

        usrTftp                  OBJECT IDENTIFIER ::= { common 24 }

        usrDialout               OBJECT IDENTIFIER ::= { common 25 }

        usrAdsl                  OBJECT IDENTIFIER ::= { common 26 }

        usrDS1                   OBJECT IDENTIFIER ::= { common 27 }

        usrDS0                   OBJECT IDENTIFIER ::= { common 28 }

        usrStack                 OBJECT IDENTIFIER ::= { common 29 }

        usrModem                 OBJECT IDENTIFIER ::= { common 30 }

        usrTopology              OBJECT IDENTIFIER ::= { common 31 }

        usrPN                    OBJECT IDENTIFIER ::= { common 32 }

        usrPPTP                  OBJECT IDENTIFIER ::= { common 33 }

--      usrNTP                   OBJECT IDENTIFIER ::= { common 34 }

        usrSLIP                  OBJECT IDENTIFIER ::= { common 35 }

--      usrPing                  OBJECT IDENTIFIER ::= { common 36 }

        usrRemotePing            OBJECT IDENTIFIER ::= { common 37 }

        usrGWCBSP                OBJECT IDENTIFIER ::= { common 38 }

        usrRM                    OBJECT IDENTIFIER ::= { common 39 }

        usrTraceroute            OBJECT IDENTIFIER ::= { common 40 }

        usrChassis               OBJECT IDENTIFIER ::= { common 41 }

        usrCable                 OBJECT IDENTIFIER ::= { common 42 }

   	usrDs3  		 OBJECT IDENTIFIER ::= { common 43 }

        usrTraps                 OBJECT IDENTIFIER ::= { common 44 }

        usrTcp                   OBJECT IDENTIFIER ::= { common 45 }

   	usrIpoa   		 OBJECT IDENTIFIER ::= { common 46 }

   	usrAtm1483Pvc   	 OBJECT IDENTIFIER ::= { common 47 }

   	usrMdmTemplate   	 OBJECT IDENTIFIER ::= { common 48 }

   	usrAtmArp      	         OBJECT IDENTIFIER ::= { common 49 }

   	usrAtmCrossConnect     	 OBJECT IDENTIFIER ::= { common 50 }

-- DERVISH [nbb+ 11.06.97]
	usrDhcp 		 OBJECT IDENTIFIER ::= { common 51 }
-- end DERVISH



--      DATA TYPES AND TEXTUAL CONVENTIONS.
--

        DisplayString   ::= OCTET STRING

        ProductID       ::=  OBJECT IDENTIFIER

        PhysAddress     ::= OCTET STRING

        InterfaceIndex  ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d"
                STATUS  current
                DESCRIPTION 
                                "A unique value, greater than zero, for each interface
                                 or interface sub-layer in the managed system.  
                                 It is recommended that values are assigned contiguously 
                                 .... starting from 1.  
                                 The value for each interface sub-layer must remain 
                                 constant at least from one re-initialization 
                                 of the entity's network management system 
                                 to the next re-initialization."
                SYNTAX  Integer32

	   InterfaceIndexOrZero ::= InterfaceIndex

        UsrConfigStatus ::= INTEGER {                                   
                                normal    (1),
                                save      (2),
                                saving    (3),
                                load      (4),
                                loading   (5) 
                                }
                                

--      NOT SURE WHAT THIS DATATYPE WILL BE. 
--      FOR NOW,  DEFINE IT AS AN INTEGER, 
--      ... BUT USE THE LEXICAL CONVENTION TO MAKE IT EASY TO CHANGE IN THE FUTURE.
                                
        UsrNetLogicalId ::= INTEGER(-2147483648..2147483647)
                                
        UsrUserName     ::= DisplayString(SIZE (1..32))
                                
        UsrFilterName   ::= DisplayString(SIZE (1..20))

                                


--      DEFINE ALL PILGRIM BASED SYSOIDs HERE ....
                                
        chas17Slot               OBJECT IDENTIFIER ::= { usrSysOIDs 1 }
        chas7Slot                OBJECT IDENTIFIER ::= { usrSysOIDs 2 }
                                        
        wanHubAccessServer       OBJECT IDENTIFIER ::= { usrSysOIDs 3 }
                                        
        standAloneAccessServer   OBJECT IDENTIFIER ::= { usrSysOIDs 4 }
                                        
        netServer8-16            OBJECT IDENTIFIER ::= { usrSysOIDs 5 }
                                        
        modemPool16              OBJECT IDENTIFIER ::= { usrSysOIDs 6 }
        modemPool8               OBJECT IDENTIFIER ::= { usrSysOIDs 7 }
                                        
        chas17SlotHp             OBJECT IDENTIFIER ::= { usrSysOIDs 8 }
        chas17SlotClk            OBJECT IDENTIFIER ::= { usrSysOIDs 9 }
                                        
        netServerII8             OBJECT IDENTIFIER ::= { usrSysOIDs 10 }
        netServerII16            OBJECT IDENTIFIER ::= { usrSysOIDs 11 }
                                        
        lanLinkerBRI             OBJECT IDENTIFIER ::= { usrSysOIDs 12 }
        lanLinkerD56k            OBJECT IDENTIFIER ::= { usrSysOIDs 13 }
                                        
        netServerII8imdm         OBJECT IDENTIFIER ::= { usrSysOIDs 14 }
        netServerII16imdm        OBJECT IDENTIFIER ::= { usrSysOIDs 15 }
                                        
        pilgrimCore              OBJECT IDENTIFIER ::= { usrSysOIDs 16 }
                                        
        lanLinkerDSL             OBJECT IDENTIFIER ::= { usrSysOIDs 17 }
        lanLinkerDslCO           OBJECT IDENTIFIER ::= { usrSysOIDs 18 }
                                        
        usrHiPerArc              OBJECT IDENTIFIER ::= { usrSysOIDs 19 }
                                        
--      ACCESS-ROUTER  3000
        positronRM               OBJECT IDENTIFIER ::= { usrSysOIDs 20 }
                                        
        lanLinkerDualAnalogModem OBJECT IDENTIFIER ::= { usrSysOIDs 21 }
                                
        dSLAMCoMux               OBJECT IDENTIFIER ::= { usrSysOIDs 22 }
                                
        hiPerCableRouter         OBJECT IDENTIFIER ::= { usrSysOIDs 23 }
                                
--      ACCESS-ROUTER  1000
        dynatronRM               OBJECT IDENTIFIER ::= { usrSysOIDs 24 }
                                
--      EDGESERVER-PRO 3000
        positronEM               OBJECT IDENTIFIER ::= { usrSysOIDs 25 }
                                
                                
END

                                
--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_definitions.mib,v $
-- Revision 1.57.2.7  1997/10/10 16:27:02  smitra
-- added object for atm vc cross connect
--
-- Revision 1.57.2.6  1997/09/22 21:00:25  eewanco
-- Add InterfaceIndexOrZero for usr_ipoa_arp.mib
--
-- Revision 1.57.2.5  1997/09/05 15:09:29  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.57.2.4  1997/09/04  14:06:29  pfc
--Merge from Positron
--
-- Revision 1.57.2.3  1997/08/29 02:47:51  mredden
-- Added usrAtmArp as { common 49 }
--
-- Revision 1.57.2.2  1997/08/18 16:41:04  edjean
-- Add node for usrMdmTemplate
--
-- Revision 1.57.2.1  1997/08/18 14:34:31  edjean
-- This file has been reorganized by Bob Sparling
--
-- Revision 1.50  1997/06/04 20:54:53  jhalpin
-- Add usrTcp branch
--
-- Revision 1.49  1997/05/08 15:32:42  jhalpin
-- Add usrCable node
--
-- Revision 1.48  1997/05/02 17:56:29  jhalpin
-- Assign usrChassis value
--
-- Revision 1.47  1997/04/18 18:56:40  rsivan
-- Undid previous.
--
-- Revision 1.46  1997/04/18 18:52:10  rsivan
-- Uncomment definition for usrNTP
--
-- Revision 1.45  1997/04/18 14:19:41  jhalpin
-- Fix up traceroute stuff
--
-- Revision 1.44  1997/04/17 19:23:03  jhaag
-- Initial Check-In of Traceroute MIB
--
-- Revision 1.43  1997/03/25 18:23:00  pfc
-- Comment out ping and ntp so they can be v2 compliant
--
-- Revision 1.42  1997/03/20 03:43:14  mredden
-- Added usrExp and usrChassis
--
-- Revision 1.41  1997/03/13 01:01:23  sanil
-- Added BSP related command for Netserver4.X Risc
--
-- Revision 1.40  1997/03/12 19:32:23  rsivan
-- Added UsrRemotePing
--
-- Revision 1.39  1997/02/19 16:02:40  jhalpin
-- RECONFIGURE IP NETWORK support
--
-- Revision 1.38  1997/02/10 19:51:40  pfc
-- Add usr_ping mib and modify configurator mib to support busy out commands
--
-- Revision 1.37  1997/02/05 21:31:50  sanil
-- Added offloading configuration to PPP and SLIP modules for GWC and Positron
-- products
--
-- Revision 1.36  1997/01/29 17:32:21  jhalpin
-- Fixup the NTP related files
--
-- Revision 1.35  1997/01/28 18:51:33  jhalpin
-- Add nodes for new common mibs.
--
-- Revision 1.34  1997/01/23 16:58:24  jhalpin
-- Add new ADSL MIB module
--
-- Revision 1.33  1996/12/19 18:05:13  jhalpin
-- Add usrADSL mib branch definition
--
-- Revision 1.32.4.1  1997/02/03 19:48:19  jhalpin
-- Add New Network table MIB objects
--
-- Revision 1.32  1996/10/03 20:13:58  edjean
-- Add Mib support for SDL, EJB
--
-- Revision 1.31  1996/09/18 21:44:42  jhalpin
-- Merge in LANLinker branch changes <sawdust city here I come..>
--
-- Revision 1.30  1996/09/05 19:03:02  jhalpin
-- Xmit user name support
--
-- Revision 1.29  1996/07/09 18:45:15  psd
-- Added the Dial-out MIB.
--
-- Revision 1.28.2.7  1997/01/24 21:41:49  jhalpin
-- Add adsl stuff
--
-- Revision 1.28.2.6  1997/01/20 22:55:54  jhalpin
-- RECONFIGURE NETWORK support
--
-- Revision 1.28.2.5  1997/01/09 16:59:15  jhalpin
-- usr_definitions.mib
--
-- Revision 1.28.2.4  1996/09/12 21:16:46  jhalpin
-- Fix MIB files....
--
-- Revision 1.28.2.3  1996/09/12 18:32:06  jhalpin
-- Fix Filter protocol bits, build usr_cli.mib into usr_netserver.mib, remove unneeded definitions from usr_definitions.mib
--
-- Revision 1.28.2.2  1996/09/04 13:11:43  jhalpin
-- Fix UsrUserName size
--
-- Revision 1.28.2.1  1996/08/14 23:10:58  jhalpin
-- sysOID names
--
-- Revision 1.28  1996/06/03 13:50:29  jhalpin
-- Remove MIB-II dns definition, no longer need Object Identity macro imported.
--
-- Revision 1.27  1996/05/22 18:41:09  psd
-- Added usrTftp.
--
-- Revision 1.26  1996/05/21 00:07:24  joek
-- Added usr_d56k.mib.
--
-- Revision 1.25  1996/05/20 14:06:21  patton
-- added the CLI MIB
--
-- Revision 1.24  1996/05/01 17:16:34  jhalpin
-- Change pilgrim to netserver, use official OID assignment.
--
-- Revision 1.23  1996/05/01 14:40:30  dougo
-- added isdn mib
--
-- Revision 1.22  1996/04/17 22:56:26  freeve
-- Create and use usrFilteName type
--
-- Revision 1.21  1996/04/05 21:12:28  psd
-- Support for configuring IPX networks via the CFM.
--
-- Revision 1.20  1996/04/04 14:42:01  hanson
-- added usrIpRouting
--
-- Revision 1.19  1996/04/03 20:46:42  winter
-- Added new objid for Terminal Protocols (telnet & ClearTCP)
--
-- Revision 1.18  1996/03/26 20:08:15  pfc
-- Add usr_at.mib
--
-- Revision 1.17  1996/03/21 22:59:27  patton
-- DNS proprietary mib
--
-- Revision 1.16  1996/03/18 23:26:00  jhalpin
-- Update mib files
--
-- Revision 1.15  1996/03/18 21:03:35  freeve
-- Hook in filter MIB
--
-- Revision 1.14  1996/03/12 21:46:57  jhalpin
-- Change User Name data type to a DisplayString
--
-- Revision 1.13  1996/03/08 19:33:31  patton
-- DNS Mib Stuff
--
-- Revision 1.12  1996/02/29 17:55:31  jhalpin
-- Make UsrUserName a common data type
--
-- Revision 1.11  1996/02/16 22:04:16  jhalpin
-- Add IP mib symbol
--
-- Revision 1.10  1996/02/01 21:50:59  jhalpin
-- Fix up InterfaceIndex macro for interface related mib files, fix netStatus comment in usr_config.mib
--
-- Revision 1.9  1996/01/19 16:33:52  dougo
-- Added usrPPP defintion
--
-- Revision 1.8  1995/12/28  18:10:05  hasmik
-- Added usrCip.
--
-- Revision 1.7  1995/12/12 02:49:23  jhalpin
-- Add in event mib definition
--
-- Revision 1.6  1995/11/28 16:19:50  pfc
-- Add AppleTalk configuration
--
-- Revision 1.5  1995/10/24 21:27:20  jhalpin
-- Split out the IF MIB into a seaprate file
--
-- Revision 1.4  1995/09/25 20:57:25  jhalpin
-- Add in usrSnmp definitions
--
-- Revision 1.3  1995/09/19 16:21:25  hasmik
-- Added usrIpx
--
-- Revision 1.2  1995/09/18 20:27:15  pfc
-- 1) Put the RoboExec mib in the right place under Pilgrim.
-- 2) Add the logging level table into the RoboExec MIB
--
-- Revision 1.1  1995/09/15 20:12:30  jhalpin
-- Rename file to remove hyphens. Also split out UDP and TCP
--
-- Revision 1.4  1995/09/07 18:19:01  jhalpin
-- Fixed types in pilgrim group definitions
--
-- Revision 1.3  1995/09/07 14:36:42  jhalpin
-- Start defining Pilgrim Groups in this file.
--
-- Revision 1.2  1995/08/31 17:25:01  jhalpin
-- Added mgmt, mib-2, and transmission definitions
--
-- Revision 1.1  1995/08/31 14:43:51  jhalpin
-- Add template info and clean up.
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
USR-USER-MAN-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		Counter, IpAddress
			FROM RFC1155-SMI
		OBJECT-TYPE
			FROM RFC-1212
		TruthValue				FROM SNMPv2-TC
		usrUserMan, UsrUserName, DisplayString
			FROM USR-DEFINITIONS-MIB;

	usrUserManGroup	OBJECT IDENTIFIER ::= { usrUserMan 1 }


-- Begin managed object definitions here...

	usrUserManRadiusIP	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the RADIUS server"
	--CONFIGURABLE
	::= { usrUserManGroup 1 }

	usrUserManRadiusAltIP	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The alternate IP address of the RADIUS server"
	--CONFIGURABLE
	::= { usrUserManGroup 2 }

	usrUserManRadiusAcctIP	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the RADIUS accounting server"
	--CONFIGURABLE
	::= { usrUserManGroup 3 }

	usrUserManRadiusAcctAltIP	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the RADIUS alternate accounting
			server"
	--CONFIGURABLE
	::= { usrUserManGroup 4 }
	
	usrUserManLocalAuthSuccesses	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of local authentication successes"
	::= { usrUserManGroup 5 }

	usrUserManLocalAuthFails	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of local authentication failures"
	::= { usrUserManGroup 6 }

	usrUserManRadiusAuthSuccesses	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of radius authentication successes"
	::= { usrUserManGroup 7 }

	usrUserManRadiusAuthFails	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of radius authentication failures"
	::= { usrUserManGroup 8 }

	usrUserManLocalUsers	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of local users"
	::= { usrUserManGroup 9 }

	usrUserManActiveUsers	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of active users"
	::= { usrUserManGroup 10 }

	usrUserManRetransmissions	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of udp packet retransmissions"
	::= { usrUserManGroup 11 }

	usrUserManUdpReceives	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of udp packets received"
	::= { usrUserManGroup 12 }

	usrUserManRadiusRetrans	OBJECT-TYPE
	SYNTAX	INTEGER (0..100)
	ACCESS	read-write
	STATUS 	mandatory
	DESCRIPTION
		"The maximum number of times a timeout will occur when
			communicating with radius"	
	--CONFIGURABLE
	::= { usrUserManGroup 13 }

	usrUserManRadiusTimeout	OBJECT-TYPE
	SYNTAX	INTEGER (1..60)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum amount of time in seconds we will wait
			for a RADIUS response before retransmitting"
	--CONFIGURABLE
	::= { usrUserManGroup 14 }

	usrUserManAcctRetrans	OBJECT-TYPE
	SYNTAX	INTEGER (0..200)
	ACCESS	read-write
	STATUS 	mandatory
	DESCRIPTION
		"The maximum number of times a timeout will occur when
			communicating with radius accounting server"
	--CONFIGURABLE
	::= { usrUserManGroup 15 }

	usrUserManAcctTimeout	OBJECT-TYPE
	SYNTAX	INTEGER (1..60)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum amount of time in seconds we will wait
			for a RADIUS accounting response before retransmitting"
	--CONFIGURABLE
	::= { usrUserManGroup 16 }

	usrUserManLocalAuth	OBJECT-TYPE
	SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Is local authentication on or off"
	--CONFIGURABLE
	::= { usrUserManGroup 17 }

	usrUserManAcct	OBJECT-TYPE
	SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Is accounting on or off"
	--CONFIGURABLE
	::= { usrUserManGroup 18 }

	usrUserManAcctServers	OBJECT-TYPE
	SYNTAX	INTEGER {
			one(1),
			both(2)
		} 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Do we want to consider both servers specified as primary"
	--CONFIGURABLE
	::= { usrUserManGroup 19 }

	usrUserManRadiusAuth	OBJECT-TYPE
	SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Is radius authentication on or off"
	--CONFIGURABLE
	::= { usrUserManGroup 20 }
	
	usrUserManStartAccountTime	OBJECT-TYPE
	SYNTAX	INTEGER	{
			connectionTime(1),
			authenticationTime(2)
			}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"When do we want to account from"
	--CONFIGURABLE
	::= { usrUserManGroup 21 }

	usrUserManSnmpAccess	OBJECT-TYPE
	SYNTAX	INTEGER	{
			enable(1),
			disable(2)
			}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Do we allow snmp to set our user table"
	--CONFIGURABLE
	::= { usrUserManGroup 22 }

	usrUserManSaveUsers 	OBJECT-TYPE
	SYNTAX	INTEGER	{
			normal(0),
			save(2)
			}
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"If we hit the save flag the users will be saved to flash"
	::= { usrUserManGroup 23 }

	usrUserManRadiusSecret OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (1..15))
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"The shared secret between the RADIUS server and pilgrim"
	--CONFIGURABLE
	::= { usrUserManGroup 24 }

-- User managers table definition

	usrUserManTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UumEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		""
	::= { usrUserManGroup 25 }
 
	uumEntry	OBJECT-TYPE
	SYNTAX	UumEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		""
	INDEX	{ uumUserName }
	::= { usrUserManTable 1 }

	UumEntry ::=
	SEQUENCE {
	uumUserName
		UsrUserName,
	uumStatus
		INTEGER,
	uumUserPassword
		OCTET STRING,
	uumServiceType
		INTEGER,
	uumFramedProtocol
		INTEGER,
	uumFramedIpAddress
		IpAddress,
	uumFramedIpNetmask
		IpAddress,
	uumFramedRouting
		INTEGER,
	uumFilterIdInput
		OCTET STRING,
	uumFramedMtu
		INTEGER,
	uumFramedCompression
		INTEGER,
	uumLoginIpHost
		IpAddress,
	uumLoginService
		INTEGER,
	uumLoginPort
		INTEGER,
	uumReplyMessage
		OCTET STRING,
	uumCallbackNumberOne
		OCTET STRING,
	uumExpiration
		OCTET STRING,
	uumFramedRoute
		OCTET STRING,
	uumFramedIpxNetwork
		OCTET STRING,
	uumSessionTimeout
		INTEGER,
	uumIdleTimeout
		INTEGER,
	uumBearerCapabilities
		INTEGER,
	uumSpeedOfConnection
		INTEGER,
	uumMaxChannels
		INTEGER,
	uumChannelExpansion
		INTEGER,
	uumChannelDecrement
		INTEGER,
	uumExpansionAlgorithm
		INTEGER,
	uumCompressionAlgorithm
		INTEGER,
	uumReceiveAccMap
		INTEGER,
	uumTransmitAccMap
		INTEGER,
	uumWhereCompression
		INTEGER,
	uumCompressionResetMode
		INTEGER,
	uumMinCompressionSize
		INTEGER,
	uumLocationType
		INTEGER,
	uumIp
		INTEGER,
	uumIpx
		INTEGER,
	uumFilterZones
		INTEGER,
	uumFilterIdOutput
		OCTET STRING,
	uumAppletalk
		INTEGER,
	uumBridging
		INTEGER,
	uumSpoofing
		INTEGER,
	uumHostType
		INTEGER,
	uumSendName
		OCTET STRING,
	uumSendPassword
		OCTET STRING,
	uumStartTime
		OCTET STRING,
	uumEndTime
		OCTET STRING,
	uumSendScript1
		OCTET STRING,
	uumReplyScript1
		OCTET STRING,
	uumSendScript2
		OCTET STRING,
	uumReplyScript2
		OCTET STRING,
	uumSendScript3
		OCTET STRING,
	uumReplyScript3
		OCTET STRING,
	uumSendScript4
		OCTET STRING,
	uumReplyScript4
		OCTET STRING,
	uumSendScript5
		OCTET STRING,
	uumReplyScript5
		OCTET STRING,
	uumSendScript6
		OCTET STRING,
	uumReplyScript6
		OCTET STRING,
	uumTerminalType
		OCTET STRING,
	uumAppletalkNetworkRange
		OCTET STRING,
	uumLocalIpAddress
		IpAddress,
	uumRoutingProtocol
		INTEGER,
	uumCallbackNumberTwo
		OCTET STRING,
	uumModemGroup	
		OCTET STRING,
	uumIpxRouting
		INTEGER,
	uumIpxWan
		INTEGER,
	uumIpRipSendDefault
		INTEGER,
	uumIpRipSendRoutes
		INTEGER,
	uumIpRipSendSubnets
		INTEGER,
	uumIpRipAcceptDefault
		INTEGER,
	uumIpRipSplitHorizon
		INTEGER,
	uumIpRipPoisonReverse
		INTEGER,
	uumIpRipFlashUpdate
		INTEGER,
	uumIpRipSimpleAuth
		INTEGER,
	uumIpRipV1Send
		INTEGER,
	uumIpRipV1Receive
		INTEGER,
	uumIpRipV2Receive
		INTEGER,
	uumIpRipSilent
		INTEGER,
	uumSimpleAuthPassword
		OCTET STRING,
	uumIpDefaultRouteOption
		INTEGER,
	uumLoginHostName
		OCTET STRING
	}

	uumUserName	OBJECT-TYPE
	SYNTAX	UsrUserName
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The users name"
	::= { uumEntry 1 }
		
	uumStatus	OBJECT-TYPE
	SYNTAX	INTEGER {
		delete(1),
		inactive(2),
		active(3),
		enabled(4),
		disabled(5),
		active-disabled(6)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The status field for delete"
	--CONFIGURABLE
	::= { uumEntry 2 }

	uumUserPassword	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (1..15))
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"The users password"
	--CONFIGURABLE
	::= { uumEntry 3 }

	uumServiceType	OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The bitmap indicating one or more types of user:
	login 0x1, framed 0x2, callback 0x4, dial-out 0x8,
	administrative 0x10"
	--CONFIGURABLE
	::= { uumEntry 4 }

	uumFramedProtocol	OBJECT-TYPE
	SYNTAX	INTEGER {
		ppp(1),
		slip(2),
		arap(3),
		frame-relay(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The framed users protocol"
	--CONFIGURABLE
	::= { uumEntry 5 }

	uumFramedIpAddress	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP destination for the framed user"
	--CONFIGURABLE
	::= { uumEntry 6 }

	uumFramedIpNetmask	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The destinations netmask"
	--CONFIGURABLE
	::= { uumEntry 7 }

	uumFramedRouting	OBJECT-TYPE
	SYNTAX	INTEGER {
		none(0),
		broadcastRoutingPackets(1),
		listenForRoutingPackets(2),
		broadcastAndListen(3)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The routing defined for a framed user"
	--CONFIGURABLE
	::= { uumEntry 8 }

	uumFilterIdInput	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The input or output filter defined for the user"
	--CONFIGURABLE
	::= { uumEntry 9 }

	uumFramedMtu	OBJECT-TYPE
	SYNTAX	INTEGER (0..8192)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The framed maximum transmission unit"
	--CONFIGURABLE
	::= { uumEntry 10 }

	uumFramedCompression	OBJECT-TYPE
	SYNTAX	INTEGER {
		none(0),
		tcpIpCompression(1),
		ipxCompression(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The compression being used for the framed user"
	--CONFIGURABLE
	::= { uumEntry 11 }

	uumLoginIpHost	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP destination for the login user"
	--CONFIGURABLE
	::= { uumEntry 12 }

	uumLoginService	OBJECT-TYPE
	SYNTAX	INTEGER {
		telnet(0),
		rlogin(1),
		tcp(2),
		lat(4),
		ping(1000)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The login user's protocol"
	--CONFIGURABLE
	::= { uumEntry 13 }

	uumLoginPort	OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The tcp port the user will use"
	--CONFIGURABLE
	::= { uumEntry 14 }

	uumReplyMessage	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The message to be displayed to the user"
	--CONFIGURABLE
	::= { uumEntry 15 }

	uumCallbackNumberOne	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS 	mandatory
	DESCRIPTION
		"The first phone number configured for this user"
	--CONFIGURABLE
	::= { uumEntry 16 }

	uumExpiration	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (12))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The users expiration date"
	--CONFIGURABLE
	::= { uumEntry 17}

	uumFramedRoute	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION 
		"The framed route for the user"
	::= { uumEntry 18 }

	uumFramedIpxNetwork	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (4))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ipx network defined for the user"
	--CONFIGURABLE
	::= { uumEntry 19 }

	uumSessionTimeout	OBJECT-TYPE
	SYNTAX	INTEGER (0..86400)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The amount of time in seconds before time out"
	--CONFIGURABLE
	::= { uumEntry 20 }

	uumIdleTimeout	OBJECT-TYPE
	SYNTAX	INTEGER (0..86400)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The amount of idle time in seconds before time out"
	--CONFIGURABLE
	::= { uumEntry 21 }

	uumBearerCapabilities	OBJECT-TYPE
	SYNTAX	INTEGER {
		digital(1),
		analog(2)
		}
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The type of transmission"
	--CONFIGURABLE
	::= { uumEntry 22 }

	uumSpeedOfConnection	OBJECT-TYPE
	SYNTAX	INTEGER {
		auto(1),
		fifty-six-k(2),
		sixty-four-k(3),
		voice(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The speed of the connection"
	--CONFIGURABLE
	::= { uumEntry 23 }		
		
	uumMaxChannels	OBJECT-TYPE
	SYNTAX	INTEGER (0..16)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of channels that may be used"
	--CONFIGURABLE
	::= { uumEntry 24 }
 
	uumChannelExpansion	OBJECT-TYPE
	SYNTAX	INTEGER (0..100)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The percentage for channel expansion"
	--CONFIGURABLE
	::= { uumEntry 25 }

	uumChannelDecrement	OBJECT-TYPE
	SYNTAX	INTEGER (0..100)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The percentage for channel decrement"
	--CONFIGURABLE
	::= { uumEntry 26 }

	uumExpansionAlgorithm	OBJECT-TYPE
	SYNTAX	INTEGER {
		constant(1),
		linear(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The expansion algorithm being used"
	--CONFIGURABLE
	::= { uumEntry 27 }	
		
	uumCompressionAlgorithm	OBJECT-TYPE
	SYNTAX	INTEGER {
		none(0),
		stac(1),
		ascend(2),
		microsoft(3),
		auto(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The compression algorithm to be used"
	--CONFIGURABLE
	::= { uumEntry 28 }

	uumReceiveAccMap	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The receive acc mapping"
	--CONFIGURABLE
	::= { uumEntry 29 }

	uumTransmitAccMap	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The transmit acc mapping"
	--CONFIGURABLE
	::= { uumEntry 30 }
	
	uumWhereCompression	OBJECT-TYPE
	SYNTAX	INTEGER {
		link(1),
		bundle(2)
		}	
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The area where compression should be done"
	--CONFIGURABLE
	::= { uumEntry 31 }

	uumCompressionResetMode	OBJECT-TYPE
	SYNTAX	INTEGER {
		auto(1),
		resetEveryPacket(2),
		resetEveryError(3)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The mode that the compression should be reset in"
	--CONFIGURABLE
	::= { uumEntry 32 }

	uumMinCompressionSize	OBJECT-TYPE
	SYNTAX	INTEGER (0..2048) 
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The minimum size for compression"
	--CONFIGURABLE
	::= { uumEntry 33 }

	uumLocationType	OBJECT-TYPE
	SYNTAX	INTEGER {
		continuous(1),
		onDemand(2),
		manual(3),
		timed(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The type of location user"
	--CONFIGURABLE
	::= { uumEntry 34 }

	uumIp	OBJECT-TYPE
	SYNTAX	INTEGER {
		enabled(1),
		disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Ip enabled or disabled"
	--CONFIGURABLE
	::= { uumEntry 35 }

	uumIpx	OBJECT-TYPE
	SYNTAX	INTEGER {
		enabled(1),
		disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Ipx enabled or disabled"
	--CONFIGURABLE
	::= { uumEntry 36 }

	uumFilterZones	OBJECT-TYPE
	SYNTAX	INTEGER {
		enabled(1),
		disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Arap needed to define filter zones"
	--CONFIGURABLE
	::= { uumEntry 37 }	

	uumFilterIdOutput	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The output filter defined for the user"
	--CONFIGURABLE
	::= { uumEntry 38 }

	uumAppletalk	OBJECT-TYPE
	SYNTAX	INTEGER {
		enabled(1),
		disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Appletalk enabled or disabled"
	--CONFIGURABLE
	::= { uumEntry 39 }

	uumBridging	OBJECT-TYPE
	SYNTAX	INTEGER {
		enabled(1),
		disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Bridging enabled or disabled"
	--CONFIGURABLE
	::= { uumEntry 40 }

	uumSpoofing	OBJECT-TYPE
	SYNTAX	INTEGER {
		enabled(1),
		disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Ipx spoofing enabled or disabled"
	--CONFIGURABLE
	::= { uumEntry 41 }

	uumHostType	OBJECT-TYPE
	SYNTAX	INTEGER {
		prompt(1),
		default(2),
		specified(3)
		}
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The means for specifying a host for this user"
	--CONFIGURABLE
	::= { uumEntry 42 }

	uumSendName	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (1..240))
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Name we use when challenged for authentication"
	--CONFIGURABLE
	::= { uumEntry 43 }

	uumSendPassword	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (1..240))
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"Password we use when challenged for authentication"
	--CONFIGURABLE
	::= { uumEntry 44 }
				
	uumStartTime	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (12))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Daily time we start timed location"
	--CONFIGURABLE
	::= { uumEntry 45 }

	uumEndTime	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (12))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Daily time we stop timed location"
	--CONFIGURABLE
	::= { uumEntry 46 }

	uumSendScript1	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The first send script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 47 }

	uumReplyScript1	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The first reply script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 48 }

	uumSendScript2	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The second send script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 49 }

	uumReplyScript2	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The second reply script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 50 }

	uumSendScript3	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The third send script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 51 }

	uumReplyScript3	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The third reply script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 52 }

	uumSendScript4	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The fourth send script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 53 }

	uumReplyScript4	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The fourth reply script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 54 }

	uumSendScript5	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The fifth send script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 55 }

	uumReplyScript5	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The fifth reply script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 56 }

	uumSendScript6	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The sixth send script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 57 }

	uumReplyScript6	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The sixth reply script for this dial-out user"
	--CONFIGURABLE
	::= { uumEntry 58 }

	uumTerminalType	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The terminal type for the user"
	--CONFIGURABLE
	::= { uumEntry 59 }

	uumAppletalkNetworkRange	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (4))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The appletalk network range for the user"
	--CONFIGURABLE
	::= { uumEntry 60 }

	uumLocalIpAddress	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The local ip address configured for a dial-out user"
	--CONFIGURABLE
	::= { uumEntry 61 }

	uumRoutingProtocol	OBJECT-TYPE
	SYNTAX	INTEGER {
		rip1(1),
		rip2(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The routing protocol configured for a user"
	--CONFIGURABLE
	::= { uumEntry 62 }
	
	uumCallbackNumberTwo	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS 	mandatory
	DESCRIPTION
		"The first phone number configured for this user"
	--CONFIGURABLE
	::= { uumEntry 63 }
	
	uumModemGroup	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..240))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The modem group string for the user"
	--CONFIGURABLE
	::= { uumEntry 64 }

	uumIpxRouting	OBJECT-TYPE
	SYNTAX	INTEGER {
		none(0),
		send(1),
		listen(2),
		respond(3),
		all(4)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The ipx routing defined for a framed user"
	--CONFIGURABLE
	::= { uumEntry 65 }

	uumIpxWan	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Is ipx wan enabled or disabled for the user"
	--CONFIGURABLE
	::= { uumEntry 66 }

	uumIpRipSendDefault	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 67 }

	uumIpRipSendRoutes	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 68 }

	uumIpRipSendSubnets	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 69 }

	uumIpRipAcceptDefault	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 70 }

	uumIpRipSplitHorizon	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 71 }
	
	uumIpRipPoisonReverse	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 72 }

	uumIpRipFlashUpdate	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 73 }

	uumIpRipSimpleAuth	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	::= { uumEntry 74 }

	uumIpRipV1Send	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 75 }

	uumIpRipV1Receive	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 76 }

	uumIpRipV2Receive	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 77 }

	uumIpRipSilent	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"IP RIP flag"
	--CONFIGURABLE
	::= { uumEntry 78 }

	uumSimpleAuthPassword	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..64))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The IP RIP simple authentication password"
	--CONFIGURABLE
	::= { uumEntry 79 }

	uumIpDefaultRouteOption	OBJECT-TYPE
	SYNTAX	INTEGER {
		enable(1),
		disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"If enable (1) a default route will be created using
                 the remote users IP address.  If disable (2) no such
                 route is created."
	--CONFIGURABLE
	::= { uumEntry 80 }

	uumLoginHostName	OBJECT-TYPE
	SYNTAX	OCTET STRING
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The destination host name for the login user"
	--CONFIGURABLE
	::= { uumEntry 81 }

	usrUserManCfmFileName	OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (1..32))
	ACCESS	read-only
	STATUS 	mandatory
	DESCRIPTION
		"The name of the configuration file"
	::= { usrUserManGroup 26 }

	usrUserManCfmSaveFlag	OBJECT-TYPE
	SYNTAX	INTEGER	{
			normal(1),
			save(2),
			saving(3), 
			load(4),
			loading(5)
			}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The Configuration File Manager Flag for saving user management scalars"
	::= { usrUserManGroup 27 }

	usrUserManRadiusPort	OBJECT-TYPE
	SYNTAX	INTEGER	(0..65535)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The udp port the primary radius server listens at"
	--CONFIGURABLE
	::= { usrUserManGroup 28 }

	usrUserManRadiusAltPort	OBJECT-TYPE
	SYNTAX	INTEGER	(0..65535)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The udp port the alternate radius server listens at"
	--CONFIGURABLE
	::= { usrUserManGroup 29 }

	usrUserManRadiusAltSecret	OBJECT-TYPE
	SYNTAX	OCTET STRING	(SIZE (1..15))
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"The shared secret between the alternate RADIUS server and pilgrim"
	--CONFIGURABLE
	::= { usrUserManGroup 30 }

-- User managers framed route table definition

	usrUserManFramedRouteTable	OBJECT-TYPE
	SYNTAX	SEQUENCE OF UumFramedRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		""
	--CONFIGURABLE
	::= { usrUserManGroup 31 }

	uumFramedRouteEntry	OBJECT-TYPE
	SYNTAX	UumFramedRouteEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		""
	INDEX	{ uumFramedRouteUserName, uumFramedRouteIpAddress }
	--CONFIGURABLE
	::= { usrUserManFramedRouteTable 1 }

	UumFramedRouteEntry ::= 
	SEQUENCE {
	uumFramedRouteUserName
		UsrUserName,
	uumFramedRouteIpAddress
		IpAddress,
	uumFramedRouteStatus
		INTEGER,
	uumFramedRouteIpMask
		IpAddress,
	uumFramedRouteIpGateway
		IpAddress,
	uumFramedRouteIpMetric
		INTEGER
	}

	uumFramedRouteUserName	OBJECT-TYPE
	SYNTAX	UsrUserName
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The users name"
	--CONFIGURABLE
	::= { uumFramedRouteEntry 1 }

	uumFramedRouteIpAddress	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The framed routing ip address for the user"
	--CONFIGURABLE
	::= { uumFramedRouteEntry 2 }
	
	uumFramedRouteStatus	OBJECT-TYPE
	SYNTAX	INTEGER {
		delete(1),
		add(2)
		}
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION	
		"The status field for the framed route"
	::= { uumFramedRouteEntry 3 }

	uumFramedRouteIpMask	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The framed routing ip mask for the user"
	--CONFIGURABLE
	::= { uumFramedRouteEntry 4 }	
		
	uumFramedRouteIpGateway	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The framed routing ip gateway for the user"
	--CONFIGURABLE
	::= { uumFramedRouteEntry 5 }

	uumFramedRouteIpMetric	OBJECT-TYPE
	SYNTAX	INTEGER (1..16)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION	
		"The framed routing ip metric for the user"
	--CONFIGURABLE
	::= { uumFramedRouteEntry 6 }

	usrUserManRadiusAcctSecret	OBJECT-TYPE
	SYNTAX	OCTET STRING	(SIZE (1..15))
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"The radius secret for the primary accounting server"
	--CONFIGURABLE
	::= { usrUserManGroup 32 }
	
	usrUserManRadiusAcctAltSecret	OBJECT-TYPE
	SYNTAX	OCTET STRING	(SIZE (1..15))
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"The radius secret for the secondary accounting server"
	--CONFIGURABLE
	::= { usrUserManGroup 33 }

	usrUserManRadiusAcctPort	OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The radius port for the primary accounting server"
	--CONFIGURABLE
	::= { usrUserManGroup 34 }

	usrUserManRadiusAcctAltPort	OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The radius port for the secondary accounting server"
	--CONFIGURABLE
	::= { usrUserManGroup 35 }

	usrRadiusBusyOutEnabled	OBJECT-TYPE
	SYNTAX	TruthValue
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Is the Radius client regularly checking the contact time
		 of the servers so that it can cause the modems to be busied
		 out when the servers are unreachbale."
	DEFVAL	{ 1 }
	--CONFIGURABLE
	::= { usrUserManGroup 36 }

	usrRadiusHelloFrequency	OBJECT-TYPE
	SYNTAX	INTEGER(1..6000)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The number of seconds the system can go between messages
		 from the RADIUS servers before it sends a Status-Server
		 request to that server."
	DEFVAL	{ 60 }
	--CONFIGURABLE
	::= { usrUserManGroup 37 }

	usrRadiusAuthState	OBJECT-TYPE
	SYNTAX	INTEGER {
			start(1), up(2), losingContact(3), down(4), gainingContact(5)
			}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"If the system is tracking RADIUS servers for service
		 loss busy-out, the state of those server."
	DEFVAL	{ 1 }
	::= { usrUserManGroup 38 }


-- User managers assigned address pool table definition

	usrUserManAddrPoolTable	OBJECT-TYPE
	SYNTAX	SEQUENCE OF UumAddrPoolEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"Table of address pools a user is configured for."
	--CONFIGURABLE
	::= { usrUserManGroup 39 }

	uumAddrPoolEntry	OBJECT-TYPE
	SYNTAX	UumAddrPoolEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"An entry of an address pool that a user is configured for."
	INDEX	{ uumAddrPoolUserName, uumAddrPoolName}
	--CONFIGURABLE
	::= { usrUserManAddrPoolTable 1 }

	UumAddrPoolEntry ::= SEQUENCE {
	     uumAddrPoolUserName    UsrUserName,
	     uumAddrPoolName        DisplayString,
             uumAddrPoolStatus      INTEGER
	     }

	uumAddrPoolUserName	OBJECT-TYPE
	SYNTAX	UsrUserName
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The users name"
	--CONFIGURABLE
	::= { uumAddrPoolEntry 1 }

	uumAddrPoolName	OBJECT-TYPE
	SYNTAX	DisplayString (SIZE(1..16))
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The name of the address pool this user is configured for"
	--CONFIGURABLE
	::= { uumAddrPoolEntry 2 }
	
	uumAddrPoolStatus	OBJECT-TYPE
	SYNTAX	INTEGER {
		delete(1),
		add(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION	
		"If set to active(2) user is configured to use this pool. If
                 set to delet(1) this pool should be deleted from user's
                 address pool list"
     	--CONFIGURABLE
	::= { uumAddrPoolEntry 3 }

	usrRadiusAcctState	OBJECT-TYPE
	SYNTAX	INTEGER {
			start(1), up(2), losingContact(3), down(4), gainingContact(5)
			}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A debug value for debugging the service loss subsystem."
	::= { usrUserManGroup 40 }

	usrRadiusAuthSecsMessage	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A debug value for debugging the service loss subsystem."
	::= { usrUserManGroup 41 }

	usrRadiusAcctSecsMessage	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A debug value for debugging the service loss subsystem."
	::= { usrUserManGroup 42 }

	usrRadiusAuthSecsState	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A debug value for debugging the service loss subsystem."
	::= { usrUserManGroup 43 }

	usrRadiusAcctSecsState	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"A debug value for debugging the service loss subsystem."
	::= { usrUserManGroup 44 }

	usrUserManRadiusAuthNoResponse	OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of times radius fails to answer an 
		 authentication request"
	::= { usrUserManGroup 45 }

	usrUserManActiveSessionTable	OBJECT-TYPE
	SYNTAX	SEQUENCE OF UumActiveSessionEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		""
	::= { usrUserManGroup 46 }

	uumActiveSessionEntry	OBJECT-TYPE
	SYNTAX	UumActiveSessionEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		""
	INDEX	{ uumActiveSessionUserName, uumActiveSessionSessionId }
	::= { usrUserManActiveSessionTable 1 }
		
	UumActiveSessionEntry ::= 
	SEQUENCE {
	uumActiveSessionUserName
		UsrUserName,
	uumActiveSessionSessionId
		INTEGER,
	uumActiveSessionConnectionType
		INTEGER,
	uumActiveSessionProtocolType
		INTEGER,
	uumActiveSessionAction
		INTEGER
	}

	uumActiveSessionUserName	OBJECT-TYPE
	SYNTAX	UsrUserName
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The users name"
	::= { uumActiveSessionEntry 1 }

	uumActiveSessionSessionId	OBJECT-TYPE
	SYNTAX	INTEGER 
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"The unique id for the active session"
	::= { uumActiveSessionEntry 2 }

	uumActiveSessionConnectionType	OBJECT-TYPE
	SYNTAX	INTEGER {
		unknown(1),
		wan(2),
		lan(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The connection type for the active session"
	::= { uumActiveSessionEntry 3 }
		
	uumActiveSessionProtocolType	OBJECT-TYPE
	SYNTAX	INTEGER {
		unknown(1),
		ppp(2),
		slip(3),
		arap(4),
		telnet(5),
		rlogin(6),
		cleartcp(7)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The protocol type for the active session"
	::= { uumActiveSessionEntry 4 }

	uumActiveSessionAction	OBJECT-TYPE
	SYNTAX	INTEGER {
		disconnect(6)
		}
	ACCESS	write-only
	STATUS	mandatory
	DESCRIPTION
		"We need to be able to disconnect all users with a
		 particular user name"
	::= { uumActiveSessionEntry 5 }

	usrUserManSlotSpanChanOffset	OBJECT-TYPE
	SYNTAX	INTEGER (0..1)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Offset to add to modem's reported slot/span/channel
			when reporting this information.
			Default value is 1."
     	--CONFIGURABLE
	::= { usrUserManGroup 47 }

END


--
--	usr_config.mib - The U.S. Robotics Configuration MIB
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_config.mib,v 1.42.2.3 1997/09/04 14:14:55 psd Exp $
--
--  | Copyright (c) 1995-97 U.S. Robotics Access Corp., Skokie, IL 60076   |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-CONFIG-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
		TRAP-TYPE
			   FROM RFC-1215
		TruthValue
			   FROM SNMPv2-TC
          DisplayString, usrConfig, UsrConfigStatus, UsrNetLogicalId,
		UsrUserName
                  FROM USR-DEFINITIONS-MIB;


   -- textual conventions
   -- 
   -- textual conventions are like pre-processor macro in 'C'
   --        (i.e. #define statements)
   -- Use them to define your own 'datatypes'

   -- Network Encapsulation Types. This enumeration should match the one 
   -- in pilgrim/config/include/config_public.h

	UsrCfgEncapsulations ::= INTEGER {
				none(0),
	                        ethernetII(1),
		  	    	snap(2),
				dsap(3),
				ethernet8023Novell(4),
			     	ppp(5),
			        frameRelay(6),
				slip(7),
     	                     	arap(8),	
          	                loop(9),
				frameRelayMgmt(10),
				bridge(11),
				atm1483(12),
				atm1577(13),
				atmLane(14)
			}



   -- Begin managed object definitions here...

-- The Config Group



usrCfgVersion OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"The current software version of the Config Process."
::= { usrConfig 1}


usrCfgConfigFileName OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION		
		"The name of a ConfigFile to read/write  permanent database records."
::= { usrConfig 2 }

usrCfgCFMStatusFlag  OBJECT-TYPE
	SYNTAX	  UsrConfigStatus
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of the Config Group to be written out to the current config
		 file, which is stored in the cfgConfigFile object. While
		 the new ConfigFile is being written, the config process
		 will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
::= { usrConfig 3 }

usrCfgCFMStatusNetFlag  OBJECT-TYPE
	SYNTAX	UsrConfigStatus
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of all the Network Table entries to be written out to the
		 current config file, which is stored in the cfgConfigFile
		 object. While the new ConfigFile is being written, the config
		 process will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
::= { usrConfig 4 }

usrCfgCFMStatusIfFlag  OBJECT-TYPE
	SYNTAX	UsrConfigStatus
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of all the IF Table entries to be written out to the
		 current config file, which is stored in the cfgConfigFile
		 object. While the new ConfigFile is being written, the config
		 process will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
::= { usrConfig 5 }

usrCfgCFMStatusNetSvcFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	ACCESS      	read-write
	STATUS      	mandatory
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of the Network Service Table to be written out to the
		 current config file, which is stored in the usrCfgConfigFile
		 object. While the new ConfigFile is being written, the config
		 process will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
::= { usrConfig 6 }

usrCfgNetTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF UsrCfgNetEntry
	ACCESS     not-accessible
	STATUS     mandatory
	DESCRIPTION
		"A list of Networks currently configured in the Netserver
		 system."
::= { usrConfig 7 }

usrCfgNetEntry OBJECT-TYPE
	SYNTAX      UsrCfgNetEntry
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"An entry containing management information applicable to a
		 particular network."
	INDEX { usrCfgNetName }
::= { usrCfgNetTable 1}

UsrCfgNetEntry ::=
	SEQUENCE {
          usrCfgNetName DisplayString,
		usrCfgNetIfName DisplayString,
		usrCfgNetProtoType INTEGER,
		usrCfgNetEncapType UsrCfgEncapsulations,
		usrCfgNetAddress OCTET STRING,
		usrCfgNetStatus INTEGER,
          	usrCfgNetLogicalId UsrNetLogicalId,
		usrCfgNetType INTEGER,
		usrCfgNetUserName UsrUserName,
		usrCfgNetCFMStatusFlag UsrConfigStatus,
		usrCfgNewNetIfName DisplayString,
		usrCfgNewNetAddress OCTET STRING,
		usrCfgNewNetEncapType UsrCfgEncapsulations
		}

usrCfgNetName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (1..32))
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"The name of this network. Network names can either be assigned
                 by a network administrator when the Network is created. Or it will
                 generated by the Configuration Process when it adds the network to
		 its internal table. Generated network names will be formed by
		 concatenating the ascii forms of the protocol name, network address
		 and port number separated by hyphens."
::= { usrCfgNetEntry 1}

usrCfgNetIfName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (1..32))
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The name of the interface this network runs on top of."
	--CONFIGURABLE
::= { usrCfgNetEntry 2 }

usrCfgNetProtoType OBJECT-TYPE
	SYNTAX     INTEGER {
                        ip(1),
		        ipx(2),
		        at(3),
			bridge(5),
			frameRelayMgmt(6),
			frameRelayDlci(7),
			ppp(8),
			slip(9)
		}
	ACCESS     read-write
	STATUS     mandatory
	DESCRIPTION
		"The Level 3 protocol running over this network."
	--CONFIGURABLE
::= { usrCfgNetEntry 3 } 

usrCfgNetAddress OBJECT-TYPE
	SYNTAX      OCTET STRING
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The address which identifies the network. The format of
		 this object is dependent on the protocol running on this
		 network."
	--CONFIGURABLE
::= { usrCfgNetEntry 4 }



usrCfgNetEncapType OBJECT-TYPE
	SYNTAX      UsrCfgEncapsulations
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The type of encapsulation employed by this network."
	--CONFIGURABLE
::= { usrCfgNetEntry 5 }

usrCfgNetStatus OBJECT-TYPE
	SYNTAX      INTEGER {
			initializing(1),
			configuring(2),
			enable(3),  -- Set to this value to enable network 
			enabling(4),
                        disable(5), -- Set to this value to disable network 
                        disabling(6),
			invalid(7), -- Set to this value to remove network
			terminating(8),
			reconfigure(9) -- Set this value to reconfigure a
                                        -- static IP Network.
		}
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The current status of the network entry. The value of this
		 object can be set to one of four values, 'enable', 'disable',
		 'invalid' or 'reconfigure'.

		 Setting the value of 'invalid' causes the network to be removed.

		 The 'enable' value enables a network currently in the 'disable'
		 state.

		 Setting the value to 'disable', disables a network in the 
		 'enable' state. 

		 'reconfigure' will result in the network temporarily disabled
		 and re-configured using any non-NULL values in the usrCfgNewNet...
		 objects. This allows a Network Manager to change an existing
		 network's address, encapsulation, or interface without having to
		 remove the router from service. This status can only be used on
		 static IP networks. Any attempt to 'reconfigure' any other type of
		 network will result in a 'badValue' error.

		 Attempts to set the value of this object to any other values
		 is illegal and will cause a 'badValue' error to be generated."
	--CONFIGURABLE
::= { usrCfgNetEntry 6 }

usrCfgNetLogicalId OBJECT-TYPE
	SYNTAX      UsrNetLogicalId
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"The logical identifier for this network assigned by the Pilgrim
           	forwarder process which owns this network. The value of the
		 LogicalId is returned to the Config Process in the
		 FWD_ENABLE_NETWORK_RSP IPC message."
::= { usrCfgNetEntry 7 }

usrCfgNetType OBJECT-TYPE
	SYNTAX      INTEGER {
			static(1),
			dynamic(2),
			automatic(3)
		}
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"Networks configured via network management interaction are
           static networks.

           Networks created to service incoming calls are dynamic networks.

           Networks created automatically every time the system reboots (i.e.
           the IP Loopback Network are automatic networks. Automatic networks
           are essentially read-only network entries, the cannot be enabled,
           disabled or deleted."
::= { usrCfgNetEntry 8 }

usrCfgNetUserName OBJECT-TYPE
	SYNTAX       UsrUserName
	ACCESS       read-write
	STATUS       mandatory
	DESCRIPTION
		"The name of a user (location) associated with a dedicated circuit
		 type network. This object's value is only meaningfull for Data Link
		 Control networks (PPP, SLIP, Frame Relay, etc...) over 
		 dedicated/permanent circuits. This name is passed to the Data
		 Link Control Process when the network is created
		 (ADD NETWORK command). The DLCP will use the name to lookup a
		 location profile in User Manager database. For non-dedicated
		 circuit networks, this object's value will always be a 
		 NULL string. Attempts to SET or change the value of this object
		 for non-dedicated circuit networks will fail."
	--CONFIGURABLE
::= { usrCfgNetEntry 9 }

usrCfgNetCFMStatusFlag OBJECT-TYPE
	SYNTAX	UsrConfigStatus
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of this Network Table entriy to be written out to the
		 current config file, which is stored in the usrCfgConfigFile
		 object. While the new ConfigFile is being written, the config
		 process will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
::= { usrCfgNetEntry 10 }


--
-- The following three objects are used in conjunction with the 'reconfigure'
-- network status. Any object with a non-NULL/zero value, will be used
-- to configure the network setting when a 'reconfigure' request is made
-- through the usrCfgNetStatus object.
--
-- NOTE: These objects and the associated 'reconfigure' command only
--       apply to static IP Networks. Attempts to set values for these
--       objects for any other type of network will fail.
--

usrCfgNewNetIfName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (0..32))
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The name of the interface this network runs on top of."
::= { usrCfgNetEntry 11 }

usrCfgNewNetAddress OBJECT-TYPE
	SYNTAX      OCTET STRING
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The address which identifies the network. The format of
		 this object is dependent on the protocol running on this
		 network."
::= { usrCfgNetEntry 12 }



usrCfgNewNetEncapType OBJECT-TYPE
	SYNTAX      UsrCfgEncapsulations
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The type of encapsulation employed by this network."
::= { usrCfgNetEntry 13 }


usrCfgIfTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF UsrCfgIfEntry
	ACCESS     not-accessible
	STATUS     mandatory
	DESCRIPTION
		"A list of Interface Names currently configured in the Netserver
		 system."
::= { usrConfig 8 }

usrCfgIfEntry OBJECT-TYPE
	SYNTAX      UsrCfgIfEntry
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"An entry containing management information applicable to a
		 particular Interface."
	INDEX { usrCfgIfName }
::= { usrCfgIfTable 1}

UsrCfgIfEntry ::=
	SEQUENCE {
          	usrCfgIfName DisplayString,
		usrCfgIfIndex INTEGER,
		usrCfgIfAdminStatus INTEGER,
		usrCfgIfLinkUpDownTrapEnable INTEGER,
		usrCfgIfPromiscuousMode TruthValue,
		usrCfgIfInFilter DisplayString,
		usrCfgIfOutFilter DisplayString,
		usrCfgIfFilterAccess INTEGER,
		usrCfgIfSdlCmds INTEGER,
		usrCfgIfSdlCmdResults INTEGER,
		usrCfgIfSysIndex INTEGER
		}

usrCfgIfName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (1..32))
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"The name of this interface.  The value of this
                object is the same as the ifName object of the standard Interface
                table (RFC-1573). This table allows the Pilgrim CLI process to
                translate Interface names into ifIndex values. All the other tables
                in the Pilgrim system relating to interfaces are indexed by the
                ifIndex value of the related interface."
::= { usrCfgIfEntry 1}

usrCfgIfIndex OBJECT-TYPE
	SYNTAX      INTEGER
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"The interface index of this interface taken from the standard 
           (RFC-1573) Interface MIB."
::= { usrCfgIfEntry 2 }

usrCfgIfAdminStatus OBJECT-TYPE
	SYNTAX  INTEGER {
                   up(1),       -- ready to pass packets
                   down(2)
               }
	ACCESS  read-write
	STATUS  mandatory
	DESCRIPTION
               "The permanently configured state of the interface."
	--CONFIGURABLE
::= { usrCfgIfEntry 3 }

usrCfgIfLinkUpDownTrapEnable  OBJECT-TYPE
       SYNTAX      INTEGER { enabled(1), disabled(2) }
       ACCESS  read-write
       STATUS  mandatory
       DESCRIPTION
               "The permanently configured value, which indicates whether 
	        linkUp/linkDown traps should be generated for this
		interface."
	--CONFIGURABLE
::= { usrCfgIfEntry 4 }

usrCfgIfPromiscuousMode  OBJECT-TYPE
	SYNTAX      TruthValue
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
               "This object has a value of false(2) if this interface
                only accepts packets/frames that are addressed to this
                station.  This object has a value of true(1) when the
                station accepts all packets/frames transmitted on the
                media.  The value true(1) is only legal on certain
                types of media.  If legal, setting this object to a
                value of true(1) may require the interface to be reset
                before becoming effective.

                The value of ifPromiscuousMode does not affect the
                reception of broadcast and multicast packets/frames by
                the interface."
	--CONFIGURABLE
::= { usrCfgIfEntry 5 }


usrCfgIfInFilter OBJECT-TYPE
	SYNTAX      DisplayString (SIZE(0..20))
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION "The name of the input filter for a specific interface."
      --CONFIGURABLE
::= { usrCfgIfEntry 6 }

usrCfgIfOutFilter OBJECT-TYPE
	SYNTAX      DisplayString (SIZE(0..20))
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION "The name of the output filter for a specific interface."
       --CONFIGURABLE
::= { usrCfgIfEntry 7 }

usrCfgIfFilterAccess OBJECT-TYPE
       SYNTAX      INTEGER {
			off (0),
       			on (1)
               }
       ACCESS      read-write
       STATUS      mandatory
       DESCRIPTION "This switch will allow user filters to override the
                    interface filters. If set to 'off', user filters do not
		    override the interface filters. If set to 'on' user
		    filters can override the interface filters."
       --CONFIGURABLE
::= {usrCfgIfEntry 8 }

usrCfgIfSdlCmds OBJECT-TYPE
       	SYNTAX INTEGER{
                normal(1),
		download(2),
		forceLinkDown(3)
 	    }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The Software Download Commands are as follows:
		normal: 
		  This mode is for normal operation.
		download:
		  This command trigger the download for this device.
		forceLinkDown:
		  Force the Link to go down while a connection is in progress
 		  and download. "
        DEFVAL { normal }
	::= { usrCfgIfEntry 9 }

usrCfgIfSdlCmdResults OBJECT-TYPE
       	SYNTAX INTEGER{
		notSelected(1),
		pending(2),
		active(3),
		failed(4),
		complete(5),
		portBusy(6)
 	    }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The Software Download status are as follows:
 		notSelected: 
		  The particular Device is not selected for software download.
		  This mode is for normal operation.
 		pending:
		  This Device was selected for download, but it has not started.
 		active:
		  This Device is currently being downloaded to.
 		failed:
		  The download process failed for some reason in this device.
 		complete:
		  This Device was successfully downloaded.
		portBusy:
		  This Device is busy."
        DEFVAL { notSelected }
	::= { usrCfgIfEntry 10 }

	usrCfgIfSysIndex OBJECT-TYPE
       	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The index of the Positron System Table that this interface
		 belongs to. The value of this object will always be zero on
		 non-Positron systems."
	::= { usrCfgIfEntry 11 }


usrCfgModuleTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF UsrCfgModuleEntry
	ACCESS     not-accessible
	STATUS     mandatory
	DESCRIPTION
		"A list of RoboExec Software modules currently configured in the
		 Netserver system."
::= { usrConfig 9 }

usrCfgModuleEntry OBJECT-TYPE
	SYNTAX      UsrCfgModuleEntry
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"An entry containing management information applicable to a
		 particular Module."
	INDEX { usrCfgModName }
::= { usrCfgModuleTable 1}

UsrCfgModuleEntry ::=
	SEQUENCE {
          	usrCfgModName
			DisplayString,
		usrCfgModType
			INTEGER,
		usrCfgModFileName
			DisplayString,
		usrCfgModCfgFileName
			DisplayString,
		usrCfgModDescr
			DisplayString,
		usrCfgModMasterProcess
			DisplayString,
		usrCfgModStatus
			INTEGER
		}

usrCfgModName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (1..32))
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"The name of this module."
::= { usrCfgModuleEntry 1}

usrCfgModType OBJECT-TYPE
	SYNTAX      INTEGER { linked(1), loadable(2) }
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"The module type."
::= { usrCfgModuleEntry 2}


usrCfgModFileName OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The module's down-loadable file name. For 'linked' modules
		 the value will always be a zero length string, and no
		 SET operations will be allowed. If no file name is specified
		 when a new entry is added to the table, the Config Process will
		 attempt to load the file '@file//<usrCfgModName.mod"
	--CONFIGURABLE
::= { usrCfgModuleEntry 3}

usrCfgModCfgFileName OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"The module's Configuration file name. This file contains the
		 module's permanent configuration records. The value of this
		 object is passed to the module's master process's initialization
		 routine via the 'init_arg' parameter."
	--CONFIGURABLE
::= { usrCfgModuleEntry 4}

usrCfgModDescr OBJECT-TYPE
	SYNTAX      DisplayString (SIZE(0..128))
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"A longer string describing the module."
::= { usrCfgModuleEntry 5}

usrCfgModMasterProcess OBJECT-TYPE
	SYNTAX      DisplayString (SIZE(1..32))
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
		"The name of the master process of this module."
::= { usrCfgModuleEntry 6}

usrCfgModStatus OBJECT-TYPE
	SYNTAX      INTEGER {	initializing(1),
				configuring(2),
				loading(3),
				loaded(4),
				terminate(5),
				terminating(6),
				unload(7),
				unloading(8),
				broken(9) 
		}
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Status flags to control and display the module's current state.
		 Only the values 'terminate' and 'unload' may be set by a
		 Network Manager process. Adding a new entry to the table will
		 trigger the Config Process to load the module."
::= { usrCfgModuleEntry 7}


usrCfgAvailServiceTable OBJECT-TYPE
	SYNTAX SEQUENCE OF USRCfgAvailServiceEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"This table defines the available services from the router."
::= { usrConfig 10 }

usrCfgAvailServiceEntry OBJECT-TYPE
	SYNTAX USRCfgAvailServiceEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An entry containing management information for a 
		particular available service."
	INDEX { usrCfgAvailServiceIndex }
::= { usrCfgAvailServiceTable 1 }

USRCfgAvailServiceEntry ::=
	SEQUENCE {
		usrCfgAvailServiceIndex
			INTEGER,
		usrCfgAvailServiceName
			DisplayString,
		usrCfgAvailServiceDescription
			DisplayString,
		usrCfgAvailServiceType
			INTEGER,
		usrCfgAvailServiceProtocol
			INTEGER,
		usrCfgAvailServiceModuleName
			DisplayString
	 }

usrCfgAvailServiceIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An index into this table."
::= { usrCfgAvailServiceEntry 1 }

usrCfgAvailServiceName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The handle by which this service is known."
::= { usrCfgAvailServiceEntry 2 }

usrCfgAvailServiceDescription OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"A textual description of the service."
::= { usrCfgAvailServiceEntry 3 }

usrCfgAvailServiceType OBJECT-TYPE
	SYNTAX INTEGER {
			cfgSrvNetwork(1),
			cfgSrvTerminal(2),
			cfgSrvBoth(3),
			cfgSrvNeither(4)
		}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"What type of service does this entry describe?."
::= { usrCfgAvailServiceEntry 4 }

usrCfgAvailServiceProtocol OBJECT-TYPE
	SYNTAX INTEGER {
			cfgSrvTCP(1),
			cfgSrvUDP(2),
			cfgSrcIPX(3),
			cfgSrvSPX(4),
			cfgSrvDDP(5),
			cfgSrvADSP(6),
               		cfgSrvNCSI(7)	
		}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"This describes the Transport protocol on which the service resides."
::= { usrCfgAvailServiceEntry 5 }

usrCfgAvailServiceModuleName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The Pilgrim module which implements this service.."
::= { usrCfgAvailServiceEntry 6 }


usrCfgNetworkServiceTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCfgNetworkServiceEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"This table defines the Network services provided by Pilgrim"
::= { usrConfig 11 }

usrCfgNetworkServiceEntry OBJECT-TYPE
	SYNTAX UsrCfgNetworkServiceEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"An entry containing management information for a 
		particular network service."
	INDEX { usrCfgNetworkServiceAdminName }
::= { usrCfgNetworkServiceTable 1 }

UsrCfgNetworkServiceEntry ::=
	SEQUENCE {
		usrCfgNetworkServiceAdminName
			DisplayString,
		usrCfgNetworkServiceName
			DisplayString,
		usrCfgNetworkServiceSocketNumber
			INTEGER,
		usrCfgNetworkServiceAncillaryData
			OCTET STRING,
		usrCfgNetworkServiceCloseActiveServices
			TruthValue,
		usrCfgNetworkServiceStatus
			INTEGER,
		usrCfgNetworkServiceCFMStatusFlag
			UsrConfigStatus
	 }

usrCfgNetworkServiceAdminName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..32))
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The name by which the administrator identifies this service."
::= { usrCfgNetworkServiceEntry 1 }

usrCfgNetworkServiceName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..32))
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The available service providing this network service.
		Must be the an entry from the Available Services Table."
	--CONFIGURABLE
::= { usrCfgNetworkServiceEntry 2 }

usrCfgNetworkServiceSocketNumber OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The number of the socket for this service."
	--CONFIGURABLE
::= { usrCfgNetworkServiceEntry 3 }

usrCfgNetworkServiceAncillaryData OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This specifies any other data that the service needs
		for its definition."
	--CONFIGURABLE
::= { usrCfgNetworkServiceEntry 4 }

usrCfgNetworkServiceCloseActiveServices OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This variable determines if active sessions using this service
		are closed when the service is set to inactive or invalid"
	--CONFIGURABLE
::= { usrCfgNetworkServiceEntry 5 }

usrCfgNetworkServiceStatus OBJECT-TYPE
	SYNTAX INTEGER {
			enable(1),
			disable(2),
			delete(3)
		}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Setting this variable to delete removes the service."
	--CONFIGURABLE
::= { usrCfgNetworkServiceEntry 6 }

usrCfgNetworkServiceCFMStatusFlag OBJECT-TYPE
	SYNTAX	    UsrConfigStatus
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of this Network Service Table entry to be written out to the
		 current config file, which is stored in the usrCfgConfigFile
		 object. While the new ConfigFile is being written, the config
		 process will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
::= { usrCfgNetworkServiceEntry 7 }

usrCfgRebootFlag OBJECT-TYPE
	SYNTAX	INTEGER {
			normal(1),
			reboot(2),
			shutdown(3),
			resetConfiguration(4)
		}
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"Setting the value of this object to `reboot' causes the
		 the system to gracefully shutdown and then reboot. Setting
		 the value to `shutdown' causes the system to shutdown and not
		 reboot automatically. The value `resetConfiguration' will
		 reset the system configuration to the 'factory default'
		 configuration and then reboot the system. Setting
		 the value to `normal' will result in no action."
::= { usrConfig 12 }

usrCfgTransmitAuthenName OBJECT-TYPE
	SYNTAX UsrUserName
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The System wide transmit authentication user name."
	--CONFIGURABLE
::= { usrConfig 13 }

usrCfgSystemVersion OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The software release version of this system."
::= { usrConfig 14 }

usrCfgImageFileName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The file name of the software image which this product loads
           when the system reboots. The value of this object is used by the
           USR Access Router Manager when it downloads a new version of the
           router software."
::= { usrConfig 15 }

usrCfgDownLoadStatus OBJECT-TYPE
	SYNTAX	INTEGER {
			normal(1),
			triggerDownLoad(2),
			deletingImageFile(3),
			readyForDownLoad(4)
		}
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
		"This value is used to  prepare the system to receive a
		 new system image via TFTP. A Network Management
		 station initiates a system image download by setting the
		 value of this object to 'triggerDownLoad'. The system then sets
		 the state to 'deletingImageFile', while it removs the current
		 image file from the flash file system. This frees up space in the
		 flash file system for the new image. 

		 When the old image file is deleted, the value of this will be
		 changed to 'readyForDownLoad'. The NMS is expected to poll
		 this MIB object until this state is reached. Then it can 
		 begin a TFTP download of the new image file.

		 (NOTE: if the system crashes or reboots during the 
		 'deleteingImageFile' or 'readyForDownLoad' states, the system
		 will NOT reboot, and the image must be update via a console
		 port Software Down Load.)

		 After the new system image TFTP download has been completed,
		 the NMS **MUST** set this object back to the 'normal' state.
		 A system shutdown or reboot via the usrCfgRebootFlag object 
		 will not be allowed unless the this object has been reset to
		 'normal'."
::= { usrConfig 16 }


usrCfgLossOfServiceChecking OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Specifies whether the configurator will allow the modems to
		 be busied out if a loss of service is detected.
		 This feature may not be available on all systems."
	DEFVAL	{ 1 }
	--CONFIGURABLE
::= { usrConfig 17 }

usrConfigTraps OBJECT IDENTIFIER ::= { usrConfig 18 }

usrCfgDynNetCreated TRAP-TYPE
	ENTERPRISE usrConfigTraps
	VARIABLES { usrCfgNetName }
	DESCRIPTION
		"A usrCfgDynNetCreated message signifies that the sending 
		 US Robotics Remote Access Router has just established a
		 Dynamic Network to service a dialup network user."
::= 1

usrCfgDynNetRemoved TRAP-TYPE
	ENTERPRISE usrConfigTraps
	VARIABLES { usrCfgNetName }
	DESCRIPTION
		"A usrCfgDynNetRemoved trap signifies that the sending 
		 US Robotics Remote Access Router has just removed a
		 Dynamic Network associated with a recently disconnected
		 dialup network user"
::= 2


	
END         -- End USR-CONFIG-MIB definitions

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_config.mib,v $
-- Revision 1.42.2.3  1997/09/04 14:14:55  psd
-- Changed range of usrCfgIfInFilter and usrCfgIfOutFilter from 0-15 to 0-20
--
--Revision 1.42.2.2  1997/09/03  18:38:47  psd
--Updated UsrCfgEncapsulations
--
--Revision 1.42.2.1  1997/09/03  14:39:32  psd
--Changed usrCfgAvailServiceProtocol from read-write to read-only.
--
--Revision 1.42  1997/08/05  13:15:23  naga
--Bug Fix for #1709 - improper/duplicate  definition of usrCfgAvailServiceEnry
--
-- Revision 1.41  1997/07/02 21:47:32  jhalpin
-- Update  before my final farewell...
--
-- Revision 1.40  1997/06/04 18:55:15  edjean
-- bug# 1183, add portBusy field to support mdm sdl
--
-- Revision 1.39  1997/04/08 19:26:36  jhalpin
-- Add Positron usrCfgIfSysIndex object
--
-- Revision 1.38  1997/03/31 17:14:22  jhalpin
-- Add AUTOMATIC Networks
--
-- Revision 1.37  1997/03/03 15:06:12  pfc
-- Add RADIUS timeout objects
--
-- Revision 1.36  1997/02/19 16:02:41  jhalpin
-- RECONFIGURE IP NETWORK support
--
-- Revision 1.35  1997/02/10 19:51:39  pfc
-- Add usr_ping mib and modify configurator mib to support busy out commands
--
-- Revision 1.34.4.1  1997/02/03 19:48:20  jhalpin
-- Add New Network table MIB objects
--
-- Revision 1.34  1996/10/03 20:13:57  edjean
-- Add Mib support for SDL, EJB
--
-- Revision 1.33  1996/09/20 21:10:22  jhalpin
-- Merg in LANLinker changes
--
-- Revision 1.32  1996/09/05 19:03:03  jhalpin
-- Xmit user name support
--
-- Revision 1.31  1996/08/08 19:50:51  jhalpin
-- Merge in SHUTDOWN and RESET changes from LANLinker branch
--
-- Revision 1.30  1996/07/23 21:25:11  jhalpin
-- Merge in LANLinker branch changes
--
-- Revision 1.29  1996/07/17 18:06:00  jhalpin
-- Merge in LANLinker bugfixes
--
-- Revision 1.28.2.8  1997/02/14 19:46:07  jhalpin
-- Change ConfigFile object to read-only
--
-- Revision 1.28.2.7  1997/01/21 14:37:37  jhalpin
-- Cleanup comments/descriptions about reconfigure network support
--
-- Revision 1.28.2.6  1997/01/20 22:52:12  jhalpin
-- RECONFIGURE NETWORK support
--
-- Revision 1.28.2.5  1996/09/20 19:43:39  jhalpin
-- Support new version number structure and system image download
--
-- Revision 1.28.2.4  1996/09/04 13:29:48  jhalpin
-- Add in XmitAuthenName object
--
-- Revision 1.28.2.3  1996/08/08 15:22:09  jhalpin
-- Add shutdown support, consolidate reboot/reset MIB objects
--
-- Revision 1.28.2.2  1996/07/23 21:08:58  jhalpin
-- Add in Reboot and ResetConfiguration MIB objects
--
-- Revision 1.28.2.1  1996/07/17 17:26:39  jhalpin
-- Enable networks by default when added, bug #: 19960709144124
--
-- Revision 1.28  1996/06/13 12:43:58  jhalpin
-- Change NetUp to NetEnable and NetDown to NetDisable
--
-- Revision 1.27  1996/06/07 12:42:28  jhalpin
-- Get rid on unneccesary enumeration macros
--
-- Revision 1.26  1996/05/01 17:23:54  jhalpin
-- Fix Filter Access description
--
-- Revision 1.25  1996/04/26 15:39:06  jhalpin
-- Add filter objects to usrCfgIfTable
--
-- Revision 1.24  1996/04/04 19:40:38  jhalpin
-- Fix encasualtion enums
--
-- Revision 1.23  1996/03/26 22:04:15  psd
-- Removed the CONFIGURABLE flag from the Config File object.
--
-- Revision 1.22  1996/03/18 15:34:07  psd
-- Changed the enumeration for usrCfgNetworkServiceSocketNumber.
--
-- Revision 1.21  1996/03/17 20:32:37  jhalpin
-- New encapsulations and protocols
--
-- Revision 1.20  1996/03/15 21:09:58  psd
-- Added two CFM save flags for Network Services.
--
-- Revision 1.19  1996/03/13 14:34:39  psd
-- Removed usrCfgNetworkServiceModemGroup from the Network Service table.
--
-- Revision 1.18  1996/03/08 22:14:14  jhalpin
-- Change NetConfigFlag to NetCFMStatuFlag
--
-- Revision 1.17  1996/03/08 19:30:43  psd
-- Added a range of INTEGERs for usrCfgNetworkServiceSocketNumber and
-- usrCfgNetworkServiceModemGroup.
--
-- Revision 1.16  1996/03/06 22:06:21  psd
-- Added the Available Services Table and Network Services Table.
--
-- Revision 1.15  1996/02/29 17:58:04  jhalpin
-- Update Module Table state values, add User Name to Network Table
--
-- Revision 1.14  1996/02/16 22:05:25  jhalpin
-- CONFIGURABLE keywords added
--
-- Revision 1.13  1996/02/13 19:31:01  jhalpin
-- Module Table
--
-- Revision 1.12  1996/02/07 20:08:23  jhalpin
-- Complete support for usrCfgIfTable objects
--
-- Revision 1.11  1996/02/01 21:50:59  jhalpin
-- Fix up InterfaceIndex macro for interface related mib files, fix netStatus comment in usr_config.mib
--
-- Revision 1.10  1996/01/25 19:38:08  jhalpin
-- Fix encapsulation enumeration
--
-- Revision 1.9  1996/01/25 17:51:44  jhalpin
-- Updated Network Table
--
-- Revision 1.8  1996/01/16 19:57:49  jhalpin
-- Remove load host object
--
-- Revision 1.7  1996/01/02 18:57:18  jhalpin
-- SAVE Network and Interface flags
--
-- Revision 1.6  1995/12/26 21:38:39  jhalpin
-- Support the usrCfgIfTable to map if names to ifIndex values
--
-- Revision 1.5  1995/12/12 23:02:26  jhalpin
-- Cleaned up network table
--
-- Revision 1.4  1995/12/12 02:20:37  jhalpin
-- Update for Named Networks
--
-- Revision 1.3  1995/11/17 17:12:15  jhalpin
-- Updated RoboExec and usrConfig MIB sources
--
-- Revision 1.2  1995/10/13 19:20:46  jhalpin
-- Fixed Network Table indices, and swapped order of netAddr and encapType in MIB
--
-- Revision 1.1  1995/09/12 14:22:29  jhalpin
-- Config Process Private MIB
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	REmib.mib - The RoboExec MIB
--
--
-- Author:	    Jim Halpin
--
-- $Id: REmib.mib,v 1.25.2.1 1997/09/05 15:09:24 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076		|
--  |														|
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access	|
--  | Corp.													|
--  |														|
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or	|
--  | reliability of its software on equipment which is not supplied by	|
--  | U.S. Robotics Access Corp.									|
--  |														|
--  | This software is furnished under a license and may be copied only	|
--  | with the inclusion of the above copyright notice. This software, or	|
--  | any other copies thereof, may not be provided or otherwise made		|
--  | available to any other person except to one who agrees to these		|
--  | license terms. Title to and ownership of the software shall at all	|
--  | times remain in U.S. Robotics Access Corp.						|
--

   ROBOEXEC-RESOURCES-MIB DEFINITIONS ::= BEGIN

   IMPORTS
	  Counter								FROM RFC1155-SMI
	  OBJECT-TYPE							FROM RFC-1212
	  roboExec, DisplayString, UsrConfigStatus	FROM USR-DEFINITIONS-MIB;


   usrreSystem		  OBJECT IDENTIFIER ::= { roboExec 1 }
   usrreSWRun		  OBJECT IDENTIFIER ::= { roboExec 2 }
   usrreEvents		  OBJECT IDENTIFIER ::= { roboExec 3 }
   usrreCounters	  OBJECT IDENTIFIER ::= { roboExec 5 }
   usrreNames		  OBJECT IDENTIFIER ::= { roboExec 6 }
   usrreFiles		  OBJECT IDENTIFIER ::= { roboExec 7 }



   -- textual conventions

   -- memory size, expressed in units of 1024bytes
   KBytes ::=	  INTEGER (0..2147483647)


   DateAndTime ::= OCTET STRING (SIZE (8 | 11))
   --	   A date-time specification for the local time of day.
   --	   This data type is intended to provide a consistent
   --	   method of reporting date information.
   --
   --		  field  octets  contents			   range
   --		  _____  ______  ________			   _____
   --		    1	 1-2	  year				   0..65536
   --					  (in network byte order)
   --		    2	  3	  month				   1..12
   --		    3	  4	  day				   1..31
   --		    4	  5	  hour				   0..23
   --		    5	  6	  minutes				   0..59
   --		    6	  7	  seconds				   0..60
   --					  (use 60 for leap-second)
   --		    7	  8	  deci-seconds			   0..9
   --		    8	  9	  direction from UTC	   "+" / "-"
   --					  (in ascii notation)
   --		    9	 10	  hours from UTC		   0..11
   --		   10	 11	  minutes from UTC		   0..59
   --
   --		  Note that if only local time is known, then
   --		  timezone information (fields 8-10) is not present.



   -- The RoboExec Resources System Group
   --
   -- Implementation of this group is mandatory for all RoboExec systems.
   usrreSystemDate OBJECT-TYPE
	  SYNTAX DateAndTime
	  ACCESS read-write
	  STATUS mandatory
	  DESCRIPTION
		    "The RoboExec's notion of the local date and time of
		    day."
	  ::= { usrreSystem 1 }

   usrreMemorySize OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The amount of physical main memory maintained by
		    the RoboExec."
	  ::= { usrreSystem 2 }

   usrreFreeMemorySize OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The amount of free physical main memory maintained by
		    the RoboExec."
	  ::= { usrreSystem 3 }

   usrreTextSize OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The number of kilobytes of text (code) in the executable."
	  ::= { usrreSystem 4 }

   usrreInitDataSize OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The number of kilobytes of initialized data in the executable."
	  ::= { usrreSystem 5 }

   usrreUninitDataSize OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The number of kilobytes of uninitialized data in the executable."
	  ::= { usrreSystem 6 }

   usrreStackSize OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The size of the stack provided for the executable."
	  ::= { usrreSystem 7 }

   usrreMaxHeapAllocated OBJECT-TYPE
	  SYNTAX KBytes
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The maximum amount of memory ever allocated from the
		    RoboExec heap."
	  ::= { usrreSystem 8 }

   usrreLargestMemoryBlockAddress OBJECT-TYPE
       SYNTAX DisplayString
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "The address of the largest memory block ever
               allocated from heap."
       ::= { usrreSystem 9 }

      usrreLargestMemoryBlockSize OBJECT-TYPE
       SYNTAX KBytes
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "The size (in kilobytes) of the largest memory block ever 
               allocated from heap."
       ::= { usrreSystem 10 }

      usrreLargestMemoryBlockCorrelator OBJECT-TYPE
       SYNTAX DisplayString
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "An ASCII string indicating what process allocated 
               the largest memory block from heap."
       ::= { usrreSystem 11 }

      usrreLargestMemoryBlockState OBJECT-TYPE
       SYNTAX INTEGER {
                free(0),             -- Memory block was freed for further reuse
                allocated(1)  
            }       
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "The state of the largest memory block:
                        0 - was freed for further reuse;
                        1 - is allocated."
       ::= { usrreSystem 12 }


   -- The RoboExec Resources Running Software Group
   --
   -- Implementation of this group is mandatory.
   --
   -- The reSWRunTable contains an entry for each distinct piece of
   -- software that is running or loaded into physical or virtual
   -- memory in preparation for running.  This includes the RoboExec's
   -- operating system, device drivers, and applications.

   usrreSWRunTable OBJECT-TYPE
	  SYNTAX SEQUENCE OF UsrreSWRunEntry
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "The (conceptual) table of software running on the
		    RoboExec."
	  ::= { usrreSWRun 1 }

   usrreSWRunEntry OBJECT-TYPE
	  SYNTAX UsrreSWRunEntry
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "A (conceptual) entry for one piece of software
		    running on the RoboExec Note that because the installed
		    software table only contains information for
		    software stored locally on this RoboExec, not every
		    piece of running software will be found in the
		    installed software table.	 This is true of software
		    that was loaded and run from a non-local source,
		    such as a network-mounted file system.

		    As an example of how objects in this table are
		    named, an instance of the reSWRunName object might
		    be named reSWRunName.1287"
	  INDEX { usrreSWRunIndex }
	  ::= { usrreSWRunTable 1 }

   UsrreSWRunEntry ::= SEQUENCE {
		 usrreSWRunIndex		INTEGER,
		 usrreSWRunName		DisplayString,
		 usrreSWRunType		INTEGER,
		 usrreSWRunStatus		INTEGER,
		 usrreSWRunStartTime	INTEGER,
		 usrreSWRunMsgSent		Counter,
		 usrreSWRunMsgRcvd		Counter,
      	 usrreSWRunMsgPassedFrom Counter,
		 usrreSWRunMsgPassedTo	Counter,
		 usrreSWRunMboxScheduled	Counter,
		 usrreSWRunAllocated	KBytes,
		 usrreSWRunFreed		KBytes
	  }

   usrreSWRunIndex OBJECT-TYPE
	  SYNTAX INTEGER (1..2147483647)
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "A unique value for each piece of software running
		    on the RoboExec.  Wherever possible, this should be the
		    system's native, unique identification number."
	  ::= { usrreSWRunEntry 1 }

   usrreSWRunName OBJECT-TYPE
	  SYNTAX DisplayString (SIZE (0..64))
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The name of the RoboExec Process."
	  ::= { usrreSWRunEntry 2 }

   usrreSWRunType OBJECT-TYPE
	  SYNTAX INTEGER {
			    unknown(1),
			    operatingSystem(2),
			    deviceDriver(3),
			    application(4),
			    forwarder(5)
		    }
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
			"The type of this software."
	  ::= { usrreSWRunEntry 3 }

   usrreSWRunStatus OBJECT-TYPE
	  SYNTAX INTEGER {
			running(1),
			runnable(2),	 -- waiting for resource (CPU, memory, IO)
			notRunnable(3), -- loaded but waiting for event
 			invalid(4)	 -- not loaded
		 }
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The status of this running piece of software."
	  ::= { usrreSWRunEntry 4 }

   usrreSWRunStartTime OBJECT-TYPE
	 SYNTAX INTEGER (0..2147483647)
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "The time when this process started. 
              NOTE: Time equal 0 indicates that per process
              statistic information is not capturing."
      ::= { usrreSWRunEntry 5 }

   usrreSWRunMsgSent OBJECT-TYPE
	 SYNTAX Counter
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "Number of messages were sent by this process.
              NOTE: Number of messages equal 0 indicates
              that per process statistic information is not capturing."
      ::= { usrreSWRunEntry 6 }

   usrreSWRunMsgRcvd OBJECT-TYPE
	 SYNTAX Counter
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "Number of messages were received by this process.
              NOTE: Number of messages equal 0 indicates
              that per process statistic information is not capturing."
      ::= { usrreSWRunEntry 7 }

   usrreSWRunMsgPassedFrom OBJECT-TYPE
	 SYNTAX Counter
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "Number of messages were passed from this process.
              NOTE: Number of messages equal 0 indicates
              that per process statistic information is not capturing."
      ::= { usrreSWRunEntry 8 }

   usrreSWRunMsgPassedTo OBJECT-TYPE
	 SYNTAX Counter
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "Number of messages were passed this process.
              NOTE: Number of messages equal 0 indicates
              that per process statistic information is not capturing."
      ::= { usrreSWRunEntry 9 }

   usrreSWRunMboxScheduled OBJECT-TYPE
	 SYNTAX Counter
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "The total number of times all mailboxes owned by 
             this process were scheduled.
             NOTE: Number equal 0 indicates
             that per process statistic information is not capturing."
      ::= { usrreSWRunEntry 10 }

   usrreSWRunAllocated OBJECT-TYPE
	 SYNTAX KBytes
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "The total amount of memory that was allocated for
             this process.
             NOTE: 0 KB indicates that per process statistic 
             information is not capturing."
      ::= { usrreSWRunEntry 11 }

   usrreSWRunFreed OBJECT-TYPE
	 SYNTAX KBytes
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION
             "The total amount of memory that was freed while
             this process was running.
             NOTE: 0 KB indicates that per process statistic 
             information is not capturing."
      ::= { usrreSWRunEntry 12 }


   -- The RoboExec Logging Level Group
   --
   -- Implementation of this group is mandatory for all RoboExec's
   --
   -- The reLogLevelTable contains an entry for each software 
   -- facility running on the RoboExec.

   usrreLogLevelConfigFileName OBJECT-TYPE
	  SYNTAX DisplayString
	  ACCESS read-write
	  STATUS mandatory
	  DESCRIPTION		
		    "The name of a ConfigFile to read/write permanent database
		    records. If the value of this object is an empty string, then
		    the process uses the default name
		    `@file://RoboExecNMProcess.cfg'. "
	  ::= { usrreEvents 1 }

   usrreLogLevelCFMStatusFlag	 OBJECT-TYPE
	  SYNTAX UsrConfigStatus
	  ACCESS read-write
	  STATUS mandatory
	  DESCRIPTION
		    "Setting the value of this object to `save' causes the values
			of the RoboExec Logging Level Groupt to be written out to the
			current config file, which is stored in the
			reLogLevelConfigFileName object. While the new ConfigFile is
			being written, the value of this flag will be set to `saving''.
			Any attempts to set the value while it is  not `normal'
			(i.e. the file is currently being written to the ConfigFile)
			will result in a badValue error being returned. Setting the
			value to `normal' will result in no action."
	  ::= { usrreEvents 2 }

   usrreLogLevelTable OBJECT-TYPE
	  SYNTAX SEQUENCE OF UsrreLogLevelEntry
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "The (conceptual) table of event log levels for the
		    RoboExec."
	  ::= { usrreEvents 3 }

   usrreLogLevelEntry OBJECT-TYPE
	  SYNTAX UsrreLogLevelEntry
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "A (conceptual) entry for one facility on the RoboExec

		    As an example of how objects in this table are
		    named, an instance of the reSWRunName object might
		    be named reSWRunName.1287"
	  INDEX { usrreLLFacility }
	  ::= { usrreLogLevelTable 1 }

   UsrreLogLevelEntry ::= SEQUENCE {
		 usrreLLFacility	   INTEGER,
		 usrreLLFacilityName   DisplayString,
		 usrreLLLogLevel	   INTEGER
	  }

   usrreLLFacility OBJECT-TYPE
	  SYNTAX INTEGER (1..64)
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "A unique value for each software facility
		    on the RoboExec."
	  ::= { usrreLogLevelEntry 1 }

   usrreLLFacilityName OBJECT-TYPE
	  SYNTAX DisplayString (SIZE (0..64))
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "A textual name of the software facility."
	  ::= { usrreLogLevelEntry 2 }

   usrreLLLogLevel OBJECT-TYPE
	  SYNTAX INTEGER { critical(0),
				    unusual(1),
				    common(2),
				    verbose(3),
				    debug(4) }
	  ACCESS read-write
	  STATUS mandatory
	  DESCRIPTION
		    "The Logging level for this software facility."
	  --CONFIGURABLE
	  ::= { usrreLogLevelEntry 3 }

   usrreEvLocalFile OBJECT-TYPE
	  SYNTAX DisplayString
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The file name of the local NVRAM logfile."
	  ::= { usrreEvents 4 }

   usrreEvOldLocalFile OBJECT-TYPE
	  SYNTAX DisplayString
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "The name of the file that the Event Handler should copy the
		    old LocalFile contents to when the pilgrim system reboots."
	  ::= { usrreEvents 5 }

   usrreEvCriticalMsgsTable OBJECT-TYPE
	  SYNTAX SEQUENCE OF UsrreEvCriticalMsgsEntry
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "The (conceptual) table of critical event messages."
	  ::= { usrreEvents 6 }

   usrreEvCriticalMsgsEntry OBJECT-TYPE
	  SYNTAX UsrreEvCriticalMsgsEntry
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "A (conceptual) entry for one critical event message."
	  INDEX { usrreEvCritMsgTimeStamp }
	  ::= { usrreEvCriticalMsgsTable 1 }

   UsrreEvCriticalMsgsEntry ::= SEQUENCE {
	  usrreEvCritMsgTimeStamp INTEGER,
	  usrreEvCriticalMsg  DisplayString
	}

   usrreEvCritMsgTimeStamp OBJECT-TYPE
	  SYNTAX INTEGER
	  ACCESS not-accessible
	  STATUS mandatory
	  DESCRIPTION
		    "Index into the table of critical event messages saved in the
		    NVRAM local file. This represents the time, in hundredths of
		    seconds since system startup, at which the critical event
		    occurred."
	  ::= { usrreEvCriticalMsgsEntry 1 }

   usrreEvCriticalMsg OBJECT-TYPE
	  SYNTAX DisplayString
	  ACCESS read-only
	  STATUS mandatory
	  DESCRIPTION
		    "Text of a critical event message."
	  ::= { usrreEvCriticalMsgsEntry 2 }



   -- The RoboExec System Counters Group
   --
   -- This group references counters defined in the RoboExec for
   -- certain system calls.
   -- This section of the MIB is still under development and it is likely
   -- that counters will be obselted or more counters will be added.
   --
   -- Implementation of this group is mandatory for a RoboExec system.
   --

   -- Define the groups within the counters group

   usrreCntBuffers	OBJECT IDENTIFIER ::= { usrreCounters 1 }
   usrreCntHeap	OBJECT IDENTIFIER ::= { usrreCounters 2 }
   usrreCntMessage	OBJECT IDENTIFIER ::= { usrreCounters 3 }
   usrreCntEvents	OBJECT IDENTIFIER ::= { usrreCounters 4 }
   usrreCntNames	OBJECT IDENTIFIER ::= { usrreCounters 5 }
   usrreCntSched	OBJECT IDENTIFIER ::= { usrreCounters 6 }

	--
	-- Counters for the buffer calls
	--
	usrreCBgetBuffer OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_get_buffer() was called"
		::= { usrreCntBuffers 1 }

	usrreCBfreeBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_free_bchain() was called"
		::= { usrreCntBuffers 2 }

	usrreCBreplicateBufdesc OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_replicate_bufdesc() was called"
		::= { usrreCntBuffers 3 }

	usrreCBreplicateListToBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_replicate_list_to_bchain() was called"
		::= { usrreCntBuffers 4 }

	usrreCBreplPartialBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_repl_partial_bchain() was called"
		::= { usrreCntBuffers 5 }

	usrreCBduplicateBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_duplicate_bchain() was called"
		::= { usrreCntBuffers 6 }

	usrreCBpullupBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_pullup_bchain() was called"
		::= { usrreCntBuffers 7 }

	usrreCBjoinBchains OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_join_bchains() was called"
		::= { usrreCntBuffers 8  }

	usrreCBtrimBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_trim_bchain() was called"
		::= { usrreCntBuffers 9 }

	usrreCBmaskBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_mask_bchain() was called"
		::= { usrreCntBuffers 10 }

	usrreCBunmaskBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of times exec_unmask_bchain() was called"
		::= { usrreCntBuffers 11 }

	usrreCBsetBchainSize OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_set_bchain_size()."
		::= { usrreCntBuffers 12 }

	usrreCBbchainSize OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_bchain_size()."
		::= { usrreCntBuffers 13 }

	usrreCBbchainCount OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_bchain_count()."
		::= { usrreCntBuffers 14 }

	usrreCBcheckBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_check_bchain()."
		::= { usrreCntBuffers 15 }

	usrreCBcopyBchainToBlock OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_copy_bchain_to_block()."
		::= { usrreCntBuffers 16 }

	usrreCBcopyBlockToBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_copy_block_to_bchain()."
		::= { usrreCntBuffers 17 }

	usrreCBprependToBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_prepend_to_bchain()."
		::= { usrreCntBuffers 18 }

	usrreCBappendToBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_append_to_bchain()."
		::= { usrreCntBuffers 19 }

	usrreCBdetachBuffer OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_detach_buffer()."
		::= { usrreCntBuffers 20 }

	usrreCBbufferFromBlock OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_buffer_from_block()."
		::= { usrreCntBuffers 21 }

	usrreCBallocProtocolBuffer OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_alloc_protocol_buffer()."
		::= { usrreCntBuffers 22 }

	usrreCBsplitBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_split_bchain()."
		::= { usrreCntBuffers 23 }

	usrreCBtimestampBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_timestamp_bchain()."
		::= { usrreCntBuffers 24 }

	usrreCBtimediffBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_timediff_bchain()."
		::= { usrreCntBuffers 25 }

	usrreCBbchainSetCorrelator OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_bchain_set_correlator()."
		::= { usrreCntBuffers 26 }

	usrreCBprotectBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_protect_bchain()."
		::= { usrreCntBuffers 27 }

	usrreCBunprotectBchain OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_unprotect_bchain()."
		::= { usrreCntBuffers 28 }

	--
	-- Counters for the memory heap calls
	--
	usrreCHallocateHeap OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_allocate_heap()."
		::= { usrreCntHeap 1 }

	usrreCHfreeHeap OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_free_heap()."
		::= { usrreCntHeap 2 }

	usrreCHreallocHeap OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_realloc_heap()."
		::= { usrreCntHeap 3 }

	usrreCHduplicateHeap OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_duplicate_heap()."
		::= { usrreCntHeap 4 }

	usrreCHheapCoalesce OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_coalesce()."
		::= { usrreCntHeap 5 }

	usrreCHcoalesceToABlock OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of successful calls to exec_coalesce_to_a_block()."
		::= { usrreCntHeap 6 }

	usrreCHheapInfo OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_info()."
		::= { usrreCntHeap 7 }

	usrreCHheapSetCorrelator OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_set_correlator()."
		::= { usrreCntHeap 8 }

	usrreCHuseHeap OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_use_heap()."
		::= { usrreCntHeap 9 }

	usrreCHheapGetUseCnt OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_get_usecnt()."
		::= { usrreCntHeap 10 }

	usrreCHfreeCacheBlocks OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of outstanding free blocks in the heap cache."
		::= { usrreCntHeap 11 }

	usrreCHfreeHeapBlocks OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of outstanding free blocks in the heap's heap."
		::= { usrreCntHeap 12 }

	usrreCHheapCheckProtection OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_check_protection()."
		::= { usrreCntHeap 13 }

	usrreCHheapSetProtection OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_set_protection()."
		::= { usrreCntHeap 14 }

	usrreCHheapRemoveProtection OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_remove_protection()."
		::= { usrreCntHeap 15 }

	usrreCHheapProtectionInfo OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_heap_protection_info()."
		::= { usrreCntHeap 16 }

	--
	-- Counters for the message calls
	--
	usrreCMallocMsg OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_alloc_msg()."
		::= { usrreCntMessage 1 }

	usrreCMfreemsg OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_freemsg()."
		::= { usrreCntMessage 2 }

	usrreCMwasMsgPassed OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_was_msg_passed()."
		::= { usrreCntMessage 3 }

	usrreCMrespondToMsg OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_respond_to_msg()."
		::= { usrreCntMessage 4 }

	usrreCMmessageSend OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_message_send()."
		::= { usrreCntMessage 5 }

	usrreCMsendmsg OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_sendmsg()."
		::= { usrreCntMessage 6 }

	usrreCMreceiveMail OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_receive_mail()."
		::= { usrreCntMessage 7 }

	usrreCMpassmsg OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_passmg()."
		::= { usrreCntMessage 8 }

	usrreCMcountMail OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_count_mail()."
		::= { usrreCntMessage 9 }

	--
	-- Counters for the event calls
	--
	usrreCEevents OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_events()."
		::= { usrreCntEvents 1 }

	usrreCEeventsLogged OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_events() that were logged."
		::= { usrreCntEvents 2 }

	usrreCEeventsDropped OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_events() that were dropped."
		::= { usrreCntEvents 3 }


	--
	-- Counters for the Name calls
	--
	usrreCNregisterName OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_register_name()."
		::= { usrreCntNames 1 }

	usrreCNresolveName OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_resolve_name()."
		::= { usrreCntNames 2 }

	usrreCNremoveName OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The number of calls to exec_remove_name()."
		::= { usrreCntNames 3 }

	usrreCNremoveNameForData OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of names that were removed because the data they
			 pointed to was no longer there (mailbox delete e.g.)."
		::= { usrreCntNames 4 }

	usrreCNremoveNameForProc OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of names that were removed because the process
			 that owned them was killed."
		::= { usrreCntNames 5 }


	--
	-- Counters for the scheduling information
	--
	usrreCScurrentMsgsQueued OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The current number of messages queued."
		::= { usrreCntSched 1 }

	usrreCSmaxMsgsQueued OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The all time high number of messages queued."
		::= { usrreCntSched 2 }

	usrreCSrunTotalMsgsQueued OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The a running total of the messages queued."
		::= { usrreCntSched 3 }

	usrreCScurrentMboxesReady OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The current number of mailboxes ready to run."
		::= { usrreCntSched 4 }

	usrreCSmaxMboxesReady OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The all time high number of mailboxes ready to run."
		::= { usrreCntSched 5 }

	usrreCSrunTotalMboxesReady OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION	"The a running total of the mailboxes ready to run."
		::= { usrreCntSched 6 }

	usrreCSschedLoops OBJECT-TYPE
		SYNTAX Counter
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The number of times we've run through the scheduling loop."
		::= { usrreCntSched 7 }


	--
	-- The RoboExec Name Group
	--
	usrreNameTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UsrreNameEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The (conceptual) table of the names kept by the RoboExec."
		::= { usrreNames 1 }

	 usrreNameEntry OBJECT-TYPE
		SYNTAX UsrreNameEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "A (conceptual) entry for one name."
		INDEX { usrreNameType, usrreNameName }
		::= { usrreNameTable 1 }

	 UsrreNameEntry ::= SEQUENCE {
		usrreNameType			DisplayString,
		usrreNameName		 	DisplayString,
		usrreNameIntOrString	INTEGER,
		usrreNameIntValue		INTEGER,
		usrreNameStringValue	DisplayString,
		usrreNameOwner			INTEGER
		}

	 usrreNameType OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..64))
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The internal type of the name."
		::= { usrreNameEntry 1 }

	 usrreNameName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..64))
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The name in the RoboExec"
		::= { usrreNameEntry 2 }

	 usrreNameIntOrString OBJECT-TYPE
		SYNTAX INTEGER {
				  integer(1),
				  string(2),
				  neither(3)
			  }
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Is the data for this name a string or an integer?"
		::= { usrreNameEntry 3 }

	 usrreNameIntValue OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			  "If the name has a numerical value, this is it.
			   Otherwise, this value is 0."
		::= { usrreNameEntry 4 }

	 usrreNameStringValue OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..200))
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			  "If the name has a string value, this is it.
			   Otherwise, this value is blank."
		::= { usrreNameEntry 5 }

	 usrreNameOwner OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The process ID of the owner of this name.
			This should correlate with the usrreSWRunIndex."
		::= { usrreNameEntry 6 }


	--
	-- The RoboExec FileSystem Group
	--

	--
	-- File system information
	--
	usrreFSInfoTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UsrreFSInfoEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The (conceptual) table of the File System information kept
			   by the RoboExec."
		::= { usrreFiles 1 }

	 usrreFSInfoEntry OBJECT-TYPE
		SYNTAX UsrreFSInfoEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "A (conceptual) entry for one file system."
		INDEX { usrreFSInfoIndex }
		::= { usrreFSInfoTable 1 }

	 UsrreFSInfoEntry ::= SEQUENCE {
		usrreFSInfoIndex		INTEGER,
		usrreFSInfoName		DisplayString,
		usrreFSInfoType		INTEGER
		}

	 usrreFSInfoIndex OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "And index to the file systems."
		::= { usrreFSInfoEntry 1 }

	 usrreFSInfoName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..64))
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			  "A name given to the file system."
		::= { usrreFSInfoEntry 2 }

	 usrreFSInfoType OBJECT-TYPE
		SYNTAX INTEGER {
				flashRAM(1),
				ram(2),
				floppyDisk(3),
				hardDisk(4)
			  }
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The type of this file system."
		::= { usrreFSInfoEntry 3 }


	--
	-- File Table
	--
	usrreFileTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UsrreFileTableEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The (conceptual) table of the files for a file system."
		::= { usrreFiles 2 }

	 usrreFileTableEntry OBJECT-TYPE
		SYNTAX UsrreFileTableEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "A (conceptual) entry for one file system."
		INDEX { usrreFileTableFileSystem, usrreFileTableName }
		::= { usrreFileTable 1 }

	 UsrreFileTableEntry ::= SEQUENCE {
		usrreFileTableFileSystem	INTEGER,
		usrreFileTableName		 DisplayString,
		usrreFileTableSize		 INTEGER,
		usrreFileTableRenameTo	 DisplayString,
		usrreFileTableStatus	 INTEGER,
		usrreFileTableCopyTo	 DisplayString,
		usrreFileTableErrorString DisplayString
		}

	 usrreFileTableFileSystem OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The file system containing this file. This must
			   match the file system from the File System Info Table."
		::= { usrreFileTableEntry 1 }

	 usrreFileTableName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..64))
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			  "The name given to the file."
		::= { usrreFileTableEntry 2 }

	 usrreFileTableSize OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"The size, in octets, of the file."
		::= { usrreFileTableEntry 3 }

	 usrreFileTableRenameTo OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..64))
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"In order to change the name of this file, the
			new name should be written to this object."
		::= { usrreFileTableEntry 4 }

	usrreFileTableStatus OBJECT-TYPE
		SYNTAX INTEGER {
				normal(1),
				delete(2),
				copying(3),       -- File copying in progress
				failed(4)         -- Operation failed		
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The status of the file. Valid row entries in this
			table have the status field set to normal.
			The settable value is delete: write 2 to this variable 
			to delete the file. The values normal(1), in_progress(3), 
			and failed(4) are read-only"
		::= { usrreFileTableEntry 5 }

	usrreFileTableCopyTo OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..64))
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"In order to copy this file, the
			new name should be written to this object."
		::= { usrreFileTableEntry 6 }

	usrreFileTableErrorString OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..255))
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
            "The error string returned when file copy or rename fails.
             Otherwise, this field is NULL."		
		::= { usrreFileTableEntry 7 }

	 END

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: REmib.mib,v $
-- Revision 1.25.2.1  1997/09/05 15:09:24  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.25  1997/07/15  21:20:14  olga
--Extend usrreSWRunStartTime value's range to accept 0. MR# 1703
--
-- Revision 1.24  1997/06/18 20:48:26  olga
-- Add heap statistics as it was required in MR666
--
-- Revision 1.23  1997/05/30 15:29:27  olga
-- Add support for Copy Files via SNMP
--
-- Revision 1.22  1997/05/27 18:03:51  olga
-- Add MIB support for File Copying
--
-- Revision 1.21  1996/10/03 20:40:04  olga
-- Add per process statistics
--
-- Revision 1.20  1996/09/30 20:38:31  pfc
-- flashROM -> flashRAM
--
-- Revision 1.19  1996/09/30 20:31:31  pfc
-- Add scheduling counters and file system mibs
--
-- Revision 1.18  1996/09/25 21:09:24  pfc
-- Add scheduling counters
--
-- Revision 1.17  1996/09/10 18:16:49  olga
-- Add new entries into REmib.mib
--
-- Revision 1.16  1996/08/20 18:44:28  pfc
-- Add name MIB group
--
-- Revision 1.15  1996/08/19 15:36:06  pfc
-- Add a lot of counters to track usage
--
-- Revision 1.14  1996/05/08 19:42:40  jhalpin
-- Make Critical Event files read-only
--
-- Revision 1.13  1996/04/15 15:22:19  pfc
-- Prefix the symbol names with usr
--
-- Revision 1.12  1996/04/11 18:48:27  pfc
-- Add some variables to make dad happy
--
-- Revision 1.11  1996/03/26 22:05:13  psd
-- Removed the CONFIGURABLE flag from the Config File object.
--
-- Revision 1.10  1996/03/21 16:26:39  psd
-- Added the Critical Event table.
--
-- Revision 1.9  1996/03/18 23:25:59  jhalpin
-- Update mib files
--
-- Revision 1.8  1996/02/22 21:23:31  pfc
-- More in the egg
--
-- Revision 1.7  1996/02/22 21:08:01  pfc
-- Add easter egg
--
-- Revision 1.6  1996/01/26 20:11:04  pfc
-- RunStatus should be read-only
--
-- Revision 1.5  1995/11/17 17:12:13  jhalpin
-- Updated RoboExec and usrConfig MIB sources
--
-- Revision 1.4  1995/10/26 20:48:48  jhalpin
-- Got rid on nonexistent MIB Objects, fixed DisplayStrings, and removed missing subids
--
-- Revision 1.3  1995/09/21 19:05:42  pfc
-- Delete unused imports.
--
-- Revision 1.2  1995/09/18 20:27:16  pfc
-- 1) Put the RoboExec mib in the right place under Pilgrim.
-- 2) Add the logging level table into the RoboExec MIB
--
-- Revision 1.1  1995/08/31 14:43:50  jhalpin
-- Add template info and clean up.
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	EEgg.mib - The Pilgrim Easter Egg MIB
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

   EASTER-EGG-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       OBJECT-TYPE              FROM RFC-1212
       roboExec, DisplayString  FROM USR-DEFINITIONS-MIB;

   usrreEasterEgg     OBJECT IDENTIFIER ::= { roboExec 4 }

   -- The RoboExec Easter Egg Group
   --
   -- Implementation of this group is purely at the whim of the implementors
   --
   -- The reEasterEggTable contains an entry for each member of the
   -- team working on the Pilgrim project

   usrreEasterEggTable OBJECT-TYPE
       SYNTAX SEQUENCE OF UsrreEasterEggEntry
       ACCESS not-accessible
       STATUS mandatory
       DESCRIPTION
              "The table of Pilgrim developers."
       ::= { usrreEasterEgg 1 }

   usrreEasterEggEntry OBJECT-TYPE
       SYNTAX UsrreEasterEggEntry
       ACCESS not-accessible
       STATUS mandatory
       DESCRIPTION
              "An entry for one Pilgrim developer."
       INDEX { usrreEEIndex }
       ::= { usrreEasterEggTable 1 }

   UsrreEasterEggEntry ::= SEQUENCE {
           usrreEEIndex         INTEGER,
           usrreEEName          DisplayString,
           usrreEENickName      DisplayString,
           usrreEEQuote         DisplayString
       }

   usrreEEIndex OBJECT-TYPE
       SYNTAX INTEGER
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "A unique value for each Pilgrim developer."
       ::= { usrreEasterEggEntry 1 }

   usrreEEName OBJECT-TYPE
       SYNTAX DisplayString (SIZE (0..64))
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "A textual name of the developer."
       ::= { usrreEasterEggEntry 2 }

   usrreEENickName OBJECT-TYPE
       SYNTAX DisplayString (SIZE (0..64))
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "Another name for the same person..."
       ::= { usrreEasterEggEntry 3 }

   usrreEEQuote OBJECT-TYPE
       SYNTAX DisplayString
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "A quote of note..."
       ::= { usrreEasterEggEntry 4 }

   usrJimbo OBJECT-TYPE
       SYNTAX DisplayString
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
              "An entry in the MIB tree to honor the designer of
		     the Pilgrim Network Management Architecture."
       ::= { usrreEasterEgg 2 }

   END

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: EEgg.mib,v $
-- Revision 1.2  1997/07/02 14:44:45  pfc
-- An honorarium
--
-- Revision 1.1  1996/04/15 15:22:20  pfc
-- Prefix the symbol names with usr
--
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_ipx.mib - A template MIB file for Pilgrim MIB modules
--
--
-- Author:         Craig C. Boyle
--
-- $Id: usr_ipx.mib,v 1.14 1996/09/18 21:44:46 jhalpin Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

IpxHost-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
          PhysAddress, usrIpx, UsrConfigStatus, DisplayString
                  FROM USR-DEFINITIONS-MIB;

   -- textual conventions
   -- 
   -- textual conventions are like pre-processor macro in 'C'
   --        (i.e. #define statements)
   -- Use them to define your own 'datatypes'

   -- memory size, expressed in units of 1024bytes
   KBytes ::=    INTEGER (0..2147483647)

   NetNumber ::= OCTET STRING (SIZE(4))

   UsrIpxStates ::= INTEGER   {
                              initializing(1),
					     enable(2),          -- Normal state following powerup of reenable.
                              shutdown(3),        -- Immediately following a disable command.
                              disable(4)          -- Following RIP shutdown. 
     	                    }

   -- Begin managed object definitions here...

	usrIpxVersionNumber OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "The version number for the IPX module."
         ::= { usrIpx 1 }

     usrIpxSplitEqualCostRoutes OBJECT-TYPE
		SYNTAX   INTEGER {
			disable(0),
			enable(1)
			}
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Allow splitting of equal cost routes. IPX maintains multiple routes to 
             the same destination network.  When this field is enabled IPX will split
             traffic over the multiple routes.  This is also know as load balancing.
             Not currently supported by the code."
         ::= { usrIpx 2 }

	usrIpxProtocolPriority OBJECT-TYPE
         SYNTAX   INTEGER (1..3)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            	"The IPX priority relative to other protocols. Not currently supported
                by the code."
         ::= { usrIpx 3 }

	usrIpxMaxRegisteredPaths OBJECT-TYPE
         SYNTAX   INTEGER (1..255)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            	"The maximum number of routes to be maintained in the box. Not currently supported
                by the code."
         ::= { usrIpx 4 }

	usrIpxDefaultGateway OBJECT-TYPE
         SYNTAX   OCTET STRING (SIZE(10))
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            	"The Default Gateway. The first leading bytes are IPX network number and the
                trailing 6 bytes of this string should contain ethernet address."
         --CONFIGURABLE
         ::= { usrIpx 5 }

     usrIpxRipTracingState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The state of RIP Packet Tracing. When this is enabled each packet that
                       the IPX RIP software recieves is printed to the console."
         --CONFIGURABLE
     ::= {usrIpx 6}

     usrIpxSapTracingState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The state of SAP Packet Tracing. When this is enabled each packet that
                       the IPX SAP software recieves is printed to the console."
         --CONFIGURABLE
     ::= {usrIpx 7}


-- IPX Static Route
--

	usrIpxStaticRouteTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRIPXStaticRouteEntry 
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            ""
	::= { usrIpx 8 }

     usrIpxStaticRouteEntry OBJECT-TYPE
        SYNTAX      USRIPXStaticRouteEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to one static route."
        INDEX   {
                usrIpxStaticRouteSysInstance,
                usrIpxStaticRouteCircIndex,
                usrIpxStaticRouteNetNum
               }
     ::= {usrIpxStaticRouteTable 1}

     USRIPXStaticRouteEntry ::= 
          SEQUENCE {
               usrIpxStaticRouteSysInstance
                    INTEGER,
               usrIpxStaticRouteCircIndex
                    INTEGER,
               usrIpxStaticRouteNetNum
                    NetNumber,
               usrIpxStaticRouteExistState
                    INTEGER,
               usrIpxStaticRouteTicks
                    INTEGER,
               usrIpxStaticRouteHopCount
                    INTEGER,
               usrIpxStaticRouteNextHopNICAddress
                    PhysAddress,
               usrIpxStaticRouteNextHopNetNum
                    NetNumber
               }

     usrIpxStaticRouteSysInstance OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The unique identifier of the instance of IPX to
                      which this row corresponds."
     ::= {usrIpxStaticRouteEntry 1}

     usrIpxStaticRouteCircIndex OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The unique identifier of the circuit used to
                      reach the first hop in the static route."
     ::= {usrIpxStaticRouteEntry 2}

     usrIpxStaticRouteNetNum OBJECT-TYPE
          SYNTAX      NetNumber
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The IPX network number of the route's destination."
          --CONFIGURABLE
     ::= {usrIpxStaticRouteEntry 3}

     usrIpxStaticRouteExistState OBJECT-TYPE
          SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The validity of this static route.  Entries with the
                       value set to off may be deleted from the table at the
                       implementation's discretion."
     ::= {usrIpxStaticRouteEntry 4}

     usrIpxStaticRouteTicks OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The delay, in ticks, to reach the route's destination."
          --CONFIGURABLE
     ::= {usrIpxStaticRouteEntry 5}

     usrIpxStaticRouteHopCount OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The number of router hops necessary to reach the destination."
          --CONFIGURABLE
     ::= {usrIpxStaticRouteEntry 6}

     usrIpxStaticRouteNextHopNICAddress OBJECT-TYPE
          SYNTAX      PhysAddress
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The NIC address of the next router in the routing path to the destination."
          --CONFIGURABLE
     ::= {usrIpxStaticRouteEntry 7}

     usrIpxStaticRouteNextHopNetNum OBJECT-TYPE
          SYNTAX      NetNumber
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The Next Hop Network Number of the router in the routing path to the destination."
          --CONFIGURABLE
     ::= {usrIpxStaticRouteEntry 8}



-- Static Services Table
--   This table contains information for all services reached via a
--   static route.

	usrIpxStaticServTable OBJECT-TYPE
   		SYNTAX      SEQUENCE OF USRIPXStaticServEntry
   		ACCESS      not-accessible
   		STATUS      mandatory
   		DESCRIPTION "The Static Services table contains information about
                     all services reached via statically configured routes."
   	::= {usrIpx 9}

	usrIpxStaticServEntry OBJECT-TYPE
   		SYNTAX      USRIPXStaticServEntry
   		ACCESS      not-accessible
   		STATUS      mandatory
   		DESCRIPTION "Each entry corresponds to one service."
   		INDEX       {
               	     usrIpxStaticServSysInstance,
                		usrIpxStaticServCircIndex,
                		usrIpxStaticServName,
                		usrIpxStaticServType
               	   }
   	::= {usrIpxStaticServTable 1}

	USRIPXStaticServEntry ::= 
     		SEQUENCE {
                           usrIpxStaticServSysInstance
                              INTEGER,
                           usrIpxStaticServCircIndex
                              INTEGER,
                           usrIpxStaticServName
                              OCTET STRING,
                           usrIpxStaticServType
                              OCTET STRING,
                           usrIpxStaticServExistState
                              INTEGER,
                           usrIpxStaticServNetNum
                              NetNumber,
                           usrIpxStaticServNode
                              OCTET STRING,
                           usrIpxStaticServSocket
                              OCTET STRING,
                           usrIpxStaticServHopCount
                              INTEGER,
                           usrIpxStaticServNextHopNICAddress
                              PhysAddress,
                           usrIpxStaticServNextHopNetNum
                              NetNumber
                          }

	usrIpxStaticServSysInstance OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The unique identifier of the instance of IPX to which
          		   this entry corresponds."
	::= {usrIpxStaticServEntry 1}

	usrIpxStaticServCircIndex OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The circuit used to reach this service."
   	::= {usrIpxStaticServEntry 2}

	usrIpxStaticServName OBJECT-TYPE
   		SYNTAX      OCTET STRING (SIZE(1..48))
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The service name."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 3}

	usrIpxStaticServType OBJECT-TYPE
   		SYNTAX      OCTET STRING (SIZE(2))
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The service type."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 4}

	usrIpxStaticServExistState OBJECT-TYPE
   		SYNTAX      INTEGER {
          	              off(1),
               	         on(2)
                    	   }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The validity of this static service.  Entries with the
          		   value set to off may be deleted from the table at the
                       implementation's discretion."
   	::= {usrIpxStaticServEntry 5}

	usrIpxStaticServNetNum OBJECT-TYPE
   		SYNTAX      NetNumber
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The IPX network number portion of the IPX address of the
                       service."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 6}

	usrIpxStaticServNode OBJECT-TYPE
   		SYNTAX      OCTET STRING (SIZE(6))
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The node portion of the IPX address of the service."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 7}

	usrIpxStaticServSocket OBJECT-TYPE
   		SYNTAX      OCTET STRING (SIZE(2))
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The socket portion of the IPX address of the service."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 8}

	usrIpxStaticServHopCount OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The number of router hops to the server on which the service resides."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 9}

	usrIpxStaticServNextHopNICAddress OBJECT-TYPE
   		SYNTAX      PhysAddress
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The NIC address of next router in the path to the 
                       server on which the service resides."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 10}

	usrIpxStaticServNextHopNetNum OBJECT-TYPE
   		SYNTAX      NetNumber
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The network number of the next router in path to the 
                       server on which the service resides."
          --CONFIGURABLE
   	::= {usrIpxStaticServEntry 11}


-- Portal MIB Variables
--

	usrIpxPortalTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRIpxPortalEntry 
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            ""
	::= { usrIpx 10 }


     usrIpxPortalEntry OBJECT-TYPE
        SYNTAX      USRIpxPortalEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to one static route."
        INDEX   {
                usrIpxPortalSysInstance,
                usrIpxPortalPortNumber
               }
     ::= {usrIpxPortalTable 1}

     USRIpxPortalEntry ::= 
          SEQUENCE {
               usrIpxPortalSysInstance
                    INTEGER,
               usrIpxPortalPortNumber
                    INTEGER,
               usrIpxPortalNetBiosState
                    INTEGER,
               usrIpxPortalNetworkDelay
                    INTEGER,
               usrIpxPortalMaxNumberRipEntries
                    INTEGER,
               usrIpxPortalMaxNumberSapEntries
                    INTEGER,
               usrIpxPortalRipBroadcastState
                    INTEGER,
               usrIpxPortalSapBroadcastState
                    INTEGER,
               usrIpxPortalRipPeriodicState
                    INTEGER,
               usrIpxPortalSapPeriodicState
                    INTEGER,
               usrIpxPortalNetBiosNameCachingState
                    INTEGER,
               usrIpxPortalNetBiosHops
                    INTEGER,
               usrIpxPortalDiagnosticState
                    INTEGER,
               usrIpxPortalNetBiosNameCachingTimer
                    INTEGER,
               usrIpxPortalMaxLearningRetries
                    INTEGER
               }


     usrIpxPortalSysInstance OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The unique identifier of the instance of IPX to
                      which this row corresponds."
     ::= {usrIpxPortalEntry 1}

     usrIpxPortalPortNumber OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The unique identifier for this IPX portal."
     ::= {usrIpxPortalEntry 2}

     usrIpxPortalNetBiosState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The state of NetBios Processing. When enabled the router maintains a
                       NetBios name table."
     ::= {usrIpxPortalEntry 3}

     usrIpxPortalNetworkDelay OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The delay, in ticks, for this portal interface."
     ::= {usrIpxPortalEntry 4}

     usrIpxPortalMaxNumberRipEntries OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The maximum number of entries within a RIP packet."
     ::= {usrIpxPortalEntry 5}

     usrIpxPortalMaxNumberSapEntries OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The maximum number of entries within a SAP packet."
     ::= {usrIpxPortalEntry 6}

     usrIpxPortalRipBroadcastState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write 
          STATUS      mandatory
          DESCRIPTION "RIP broadcast packet state. When enabled IPX RIP will be enabled
                       to send out RIP request packets transmitted over this portal. 
                       To totally disable RIP traffic usrIpxPortalRipPeriodicState
                       must also be set to disable."
     ::= {usrIpxPortalEntry 7}

     usrIpxPortalSapBroadcastState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "SAP broadcast packet state. When enabled IPX SAP will be enabled
                       to send out SAP request packets transmitted over this portal. 
                       To totally disable SAP traffic usrIpxPortalSapPeriodicState
                       must also be set to disable."
     ::= {usrIpxPortalEntry 8}

     usrIpxPortalRipPeriodicState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "RIP periodic state."
     ::= {usrIpxPortalEntry 9}

     usrIpxPortalSapPeriodicState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "Controls sending periodic SAP broadcasts over this portal."
     ::= {usrIpxPortalEntry 10}

     usrIpxPortalNetBiosNameCachingState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "NetBios name caching state. When enabled IPX will maintain a table
                       of NetBios names"
     ::= {usrIpxPortalEntry 11}

     usrIpxPortalNetBiosHops OBJECT-TYPE
          SYNTAX      INTEGER (0..65535)
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "NetBios maximum number of hops."
     ::= {usrIpxPortalEntry 12}

     usrIpxPortalDiagnosticState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "Diagnostic state."
     ::= {usrIpxPortalEntry 13}

     usrIpxPortalNetBiosNameCachingTimer OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "NetBios name caching timer."
     ::= {usrIpxPortalEntry 14}

     usrIpxPortalMaxLearningRetries OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "Maximum number of learning retries."
     ::= {usrIpxPortalEntry 15}

     
     usrIpxDynamicNetworkRangeStart OBJECT-TYPE
         SYNTAX   NetNumber
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            	"This is the first number in a range of network numbers IPX 
                uses to dynamically assign to dial-in users.  The end of 
                the range is determined by the object usrIpxMaxDynamicNetworkNumbers"
         --CONFIGURABLE
     ::= { usrIpx 11 }

     usrIpxMaxDynamicNetworkNumbers OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "Maximum number of network addresses available to allocate to
                       dial-in users."
         --CONFIGURABLE
     ::= { usrIpx 12 }


     usrIpxSaveConfigFlag OBJECT-TYPE
          SYNTAX      UsrConfigStatus
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "Setting the value of this object to `save' causes the values
		 of the IPX configuration to be written out to the current IPX
		 config file, which is stored in the ipxConfigFile object. While
		 the new ConfigFile is being written, the IPX process
		 will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) will result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
     ::= { usrIpx 13 }

	usrIpxConfigFileName OBJECT-TYPE
		SYNTAX      DisplayString
		ACCESS      read-only
		STATUS      mandatory
		DESCRIPTION		
		  "The name of a ConfigFile to read/write permanent database records.
		   If the value of this object is an empty string, then the
		   IPX process uses the default name `@file://IpxProcess.cfg'. "
	::= { usrIpx 14 }

     usrIpxState OBJECT-TYPE
          SYNTAX      UsrIpxStates 
          ACCESS      read-only
          STATUS      mandatory
          DESCRIPTION "Ipx state."
     ::= { usrIpx 15 }

     usrIpxEnable OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "To enable or disable IPX.  When Disable is set the RIP process
                       will send out shutdown messages on all its ports in order
                       to inform neighboring routers that our routes are no longer
                       valid."
         --CONFIGURABLE
     ::= { usrIpx 16 }

END         -- End IPX host MIB definitions
--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_ipx.mib,v $
-- Revision 1.14  1996/09/18 21:44:46  jhalpin
-- Merge in LANLinker branch changes <sawdust city here I come..>
--
-- Revision 1.13  1996/08/28 19:04:04  hasmik
-- Fixed bug#1996082611435
--
-- Revision 1.12  1996/07/24 16:16:16  hasmik
-- Changed ConfigFileName access to read-only
--
-- Revision 1.11  1996/07/23 20:05:24  hasmik
-- Changed the DefaultGateway type from INTEGER to OCTET STRING of size 10
--
-- Revision 1.10.2.3  1996/08/28 19:05:39  hasmik
-- Fixed bug#19960826114355
--
-- Revision 1.10.2.2  1996/07/24 16:36:29  hasmik
-- Fixed bug#19960710145304
--
-- Revision 1.10.2.1  1996/07/23 23:18:27  hasmik
-- Fixed bug#1996072319354
--
-- Revision 1.10  1996/05/28 16:11:13  psd
-- Change objects to CONFIGURABLE.
--
-- Revision 1.9  1996/04/19 20:19:10  psd
-- Modified for one SAVE IPX command.
--
-- Revision 1.8  1996/04/16 23:33:55  ccb
-- updates following ppp testing
--
-- Revision 1.7  1996/04/16  19:38:23  psd
-- Fixed some typos in descriptions.
--
-- Revision 1.6  1996/03/29 12:20:17  psd
-- Added CFM save and load support.
--
-- Revision 1.5  1996/03/26 18:28:08  ccb
-- added CFM support
--
-- Revision 1.4  1996/02/16  22:03:55  jhalpin
-- fix disbale typo
--
-- Revision 1.3  1995/09/22 20:30:49  hasmik
-- Added usrIpxStaticServNextHopNetNum
--
-- Revision 1.2  1995/09/21 15:46:34  hasmik
-- Added usrIpxStaticRouteNextHopNetNum
--
-- Revision 1.1  1995/09/19 16:20:48  hasmik
-- Initial Version
--
-- Revision 1.1  1995/09/19 16:04:03  hasmik
-- Initial Version of IPX host mib
--
-- Revision 1.7  1995/08/31 14:29:01  jhalpin
-- Fixed up template.mib so that it actually compiles
--
-- Revision 1.6  1995/08/30 15:32:33  jhalpin
-- Add comment about revision history
--
-- Revision 1.5  1995/08/30 15:29:17  jhalpin
-- Fix case of Id and Log fields
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--




















--
--	usr_ipx_cfg.mib
--
--
-- Author:         Peter Dobransky
--
-- $Id: usr_ipx_cfg.mib,v 1.3.14.1 1997/09/05 15:09:33 psd Exp $
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-IPX-CFG-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
          usrIpxCfg
                  FROM USR-DEFINITIONS-MIB;


   -- Begin managed object definitions here...

     usrIpxCfgNetworkTable OBJECT-TYPE
	     SYNTAX SEQUENCE OF UsrIpxCfgNetworkEntry
	     ACCESS not-accessible
	     STATUS mandatory
	     DESCRIPTION
		     "This table is the same as the usrIpxPortalTable,
		      with the exception that it is indexed by the Network Number
			 defined in the usrIpxStaticRouteTable. This table will be
                used only by the the Configuration File Manager process to
                load permament configuration file records for named networks
                at system boot time. Any attempt to set this table from
                either the CLI process or SNMP will fail."
     ::= { usrIpxCfg 1 }

     usrIpxCfgNetworkEntry OBJECT-TYPE
	     SYNTAX UsrIpxCfgNetworkEntry
	     ACCESS not-accessible
	     STATUS mandatory
	     DESCRIPTION
		     "A (conceptual) entry for one IPX Network."
	     INDEX { usrIpxCfgNetSysInstance,
                  usrIpxCfgNetNetNumber }
     ::= { usrIpxCfgNetworkTable 1 }

     UsrIpxCfgNetworkEntry ::= SEQUENCE {
               usrIpxCfgNetSysInstance
                    INTEGER,
               usrIpxCfgNetNetNumber
                    INTEGER,
               usrIpxCfgNetNetBiosState
                    INTEGER,
               usrIpxCfgNetNetworkDelay
                    INTEGER,
               usrIpxCfgNetRipBroadcastState
                    INTEGER,
               usrIpxCfgNetSapBroadcastState
                    INTEGER,
               usrIpxCfgNetRipPeriodicState
                    INTEGER,
               usrIpxCfgNetSapPeriodicState
                    INTEGER,
               usrIpxCfgNetNetBiosNameCachingState
                    INTEGER,
               usrIpxCfgNetNetBiosHops
                    INTEGER,
               usrIpxCfgNetDiagnosticState
                    INTEGER,
               usrIpxCfgNetNetBiosNameCachingTimer
                    INTEGER,
               usrIpxCfgNetMaxLearningRetries
                    INTEGER,
			usrIpxCfgNetRipCircState
				INTEGER,
			usrIpxCfgNetRipCircUpdate
				INTEGER,
			usrIpxCfgNetRipCircAgeMultiplier
				INTEGER,
			usrIpxCfgNetRipCircPacketSize
				INTEGER,
			usrIpxCfgNetSapCircState
				INTEGER,
			usrIpxCfgNetSapCircUpdate
				INTEGER,
			usrIpxCfgNetSapCircAgeMultiplier
				INTEGER,
			usrIpxCfgNetSapCircPacketSize
				INTEGER,
			usrIpxCfgNetSapCircGetNearestServerReply
				INTEGER,
			usrIpxCfgNetIpxCircExistState
				INTEGER,
			usrIpxCfgNetIpxCircOperState
				INTEGER,
			usrIpxCfgNetIpxCircType
				INTEGER,
			usrIpxCfgNetIpxCircLocalMaxPacketSize
				INTEGER
	}


     usrIpxCfgNetSysInstance OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      not-accessible
          STATUS      mandatory
          DESCRIPTION 
               "The unique identifier of the instance of IPX to which this
               row corresponds."
     ::= {usrIpxCfgNetworkEntry 1}

     usrIpxCfgNetNetNumber OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      not-accessible
          STATUS      mandatory
          DESCRIPTION
               "The unique identifier for this IPX network."
     ::= {usrIpxCfgNetworkEntry 2}

     usrIpxCfgNetNetBiosState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "The state of NetBios Processing. When enabled the router
               maintains a NetBios name table."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 3}

     usrIpxCfgNetNetworkDelay OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "The delay, in ticks, for this portal interface."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 4}

     usrIpxCfgNetRipBroadcastState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write 
          STATUS      mandatory
          DESCRIPTION
               "RIP broadcast packet state. When enabled IPX RIP will be
               enabled to send out RIP request packets transmitted over this
               portal. To totally disable RIP traffic
               usrIpxPortalRipPeriodicState must also be set to disable."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 5}

     usrIpxCfgNetSapBroadcastState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "SAP broadcast packet state. When enabled IPX SAP will be
               enabled to send out SAP request packets transmitted over this
               portal. To totally disable SAP traffic
               usrIpxPortalSapPeriodicState must also be set to disable."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 6}

     usrIpxCfgNetRipPeriodicState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "RIP periodic state."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 7}

     usrIpxCfgNetSapPeriodicState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "Controls sending periodic SAP broadcasts over this portal."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 8}

     usrIpxCfgNetNetBiosNameCachingState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "NetBios name caching state. When enabled IPX will maintain a
               table of NetBios names"
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 9}

     usrIpxCfgNetNetBiosHops OBJECT-TYPE
          SYNTAX      INTEGER (0..65535)
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "NetBios maximum number of hops."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 10}

     usrIpxCfgNetDiagnosticState OBJECT-TYPE
          SYNTAX      INTEGER {
                        disable(0),
                        enable(1)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "Diagnostic state."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 11}

     usrIpxCfgNetNetBiosNameCachingTimer OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "NetBios name caching timer."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 12}

     usrIpxCfgNetMaxLearningRetries OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION
               "Maximum number of learning retries."
          --CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 13}

     usrIpxCfgNetRipCircState OBJECT-TYPE
   		SYNTAX      INTEGER {
                        off(1),
                        on(2),
                        auto-on(3),
                        auto-off(4)
                       }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "Indicates whether RIP information may be sent/received
          	       over this circuit."
   		DEFVAL      { auto-off }
		--CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 14}

     usrIpxCfgNetRipCircUpdate OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The RIP periodic update interval, in seconds."
   		DEFVAL      { 60 }
		--CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 15}

	usrIpxCfgNetRipCircAgeMultiplier OBJECT-TYPE
		SYNTAX      INTEGER
		ACCESS      read-write
		STATUS      mandatory
		DESCRIPTION "The holding multiplier for information received in RIP
          	       periodic updates."
		DEFVAL      { 4 }
		--CONFIGURABLE
     ::= {usrIpxCfgNetworkEntry 16}

	usrIpxCfgNetRipCircPacketSize OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The RIP packet size used on this circuit."
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 17}

     usrIpxCfgNetSapCircState OBJECT-TYPE
		SYNTAX      INTEGER {
                        off(1),
                        on(2),
                        auto-on(3),
                        auto-off(4)
                       }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "Indicates whether SAP information may be sent/received
          	       over this circuit."
 		DEFVAL      { auto-off }
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 18}

	usrIpxCfgNetSapCircUpdate OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The SAP periodic update interval, in seconds."
   		DEFVAL      { 60 }
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 19}

	usrIpxCfgNetSapCircAgeMultiplier OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The holding multiplier for information received in SAP
	                 periodic updates."
   		DEFVAL      { 4 }
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 20}

	usrIpxCfgNetSapCircPacketSize OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The SAP packet size used on this circuit."
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 21}

	usrIpxCfgNetSapCircGetNearestServerReply OBJECT-TYPE
   		SYNTAX      INTEGER {
                        no(1),
                        yes(2)
                       }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "Indicates whether to respond to SAP get nearest server
          	       requests received on this circuit."
   		DEFVAL      { yes }
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 22}

	usrIpxCfgNetIpxCircExistState OBJECT-TYPE
   		SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The validity of this circuit entry.  A circuit with this
          	       value set to off may be deleted from the table at the
                	  IPX implementation's discretion."
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 23}

	usrIpxCfgNetIpxCircOperState OBJECT-TYPE
   		SYNTAX      INTEGER {
                        down(1),
                        up(2),
                        sleeping(3)
                       }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The operational state of the circuit."
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 24}

	usrIpxCfgNetIpxCircType OBJECT-TYPE
   		SYNTAX      INTEGER {
                        other(1),
                        broadcast(2),
                        ptToPt(3),
                        wanRIP(4),
                        unnumberedRIP(5),
                        dynamic(6),
                        wanWS(7)
                       }
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The type of the circuit."
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 25}

	usrIpxCfgNetIpxCircLocalMaxPacketSize OBJECT-TYPE
   		SYNTAX      INTEGER
   		ACCESS      read-write
   		STATUS      mandatory
   		DESCRIPTION "The maximum size (including header), in bytes, that the
          	       system supports locally on this circuit."
		--CONFIGURABLE
   	::= {usrIpxCfgNetworkEntry 26}


END         -- End Template MIB definitions

--
--
-- $Log: usr_ipx_cfg.mib,v $
-- Revision 1.3.14.1  1997/09/05 15:09:33  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.3  1996/09/18  21:44:48  jhalpin
--Merge in LANLinker branch changes <sawdust city here I come..>
--
-- Revision 1.2  1996/08/28 19:04:05  hasmik
-- Fixed bug#1996082611435
--
-- Revision 1.1.2.1  1996/08/28 19:05:40  hasmik
-- Fixed bug#19960826114355
--
-- Revision 1.1  1996/04/05 21:13:49  psd
-- Support for configuring IPX networks via the CFM.
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_snmp.mib - The usr SNMP MIB module
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_snmp.mib,v 1.10.2.1 1997/09/05 15:09:38 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-SNMP-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		IpAddress
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrSnmp, UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;


   -- textual conventions
   -- 
   -- textual conventions are like pre-processor macro in 'C'
   --        (i.e. #define statements)
   -- Use them to define your own 'datatypes'

   -- memory size, expressed in units of 1024bytes


	-- A sample Table definiton.

	usrSnmpConfigFileName OBJECT-TYPE
		SYNTAX      DisplayString
		ACCESS      read-write
		STATUS      mandatory
		DESCRIPTION		
		  "The name of a ConfigFile to read/write permanent database records.
		   If the value of this object is an empty string, then the
		   SNMP process uses the default name `@file://SnmpProcess.cfg'. "
	::= { usrSnmp 1 }

	usrSnmpCFMStatusFlag  OBJECT-TYPE
	 	SYNTAX	  UsrConfigStatus
		ACCESS      read-write
		STATUS      mandatory
		DESCRIPTION
		  "Setting the value of this object to `save' causes the values
		   of the SNMP Group to be written out to the current config
		   file, which is stored in the usrSnmpConfigFileName object.
		   While the new ConfigFile is being written, the SNMP process
		   will set the value of this flag to `saving''. Any
		   attempts to set the value while it is not `normal'
		   (i.e. the file is currently being written to the
		   ConfigFile) while result in a badValue error being
		   returned. Setting the value to `normal' will result in no
		   action."
	::= { usrSnmp 2 }

	usrSnmpCommTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF UsrSnmpCommEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The SNMP Community Table"
	::= { usrSnmp 3 }

	usrSnmpCommEntry OBJECT-TYPE
         	SYNTAX  UsrSnmpCommEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            ""
         INDEX   { usrSnmpCommName, usrSnmpCommIpAddr }
	::= { usrSnmpCommTable 1 }

	UsrSnmpCommEntry ::=
         	SEQUENCE {
         	usrSnmpCommName
            DisplayString,
         	usrSnmpCommIpAddr
            IpAddress,
         	usrSnmpCommAccess
            INTEGER,
         	usrSnmpCommStatus
            INTEGER,
         	usrSnmpCommLastError
            DisplayString,
         	usrSnmpCommLastErrorTicks
            INTEGER,
                usrSnmpCommIpAddrMask
            IpAddress
         }

	usrSnmpCommName OBJECT-TYPE
         	SYNTAX  DisplayString (SIZE (0..255))
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The name of the SNMP Community."
	::= { usrSnmpCommEntry 1 }

	usrSnmpCommIpAddr OBJECT-TYPE
         	SYNTAX  IpAddress
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The IP Address of the remote community"
	::= { usrSnmpCommEntry 2 }

	usrSnmpCommAccess OBJECT-TYPE
	 	SYNTAX   INTEGER {
			readOnly(1),
			readWrite(2),
			administrator(4)
			}
         	ACCESS   read-write
         	STATUS   mandatory
         	DESCRIPTION
            "The allowed access for this community.
		   A value of readOnly(1) allows read-only access to user-level
		   objects.
		   A value of readWrite(2) allows read access to user-level
		   objects and write access to writable user-level objects.
		   A value of administrator(3) allows read access to all
		   objects and write access to all writable objects."
		--CONFIGURABLE
                --GORDY
         ::= { usrSnmpCommEntry 3 }

	usrSnmpCommStatus OBJECT-TYPE
	 	SYNTAX   INTEGER {
			normal(1),
			delete(2)
			}
         	ACCESS   read-write
         	STATUS   mandatory
         	DESCRIPTION
            "The status of the entry for this community"
              --GORDY
         ::= { usrSnmpCommEntry 4 }

	usrSnmpCommLastError OBJECT-TYPE
         	SYNTAX  DisplayString (SIZE (0..511))
         	ACCESS  read-only
         	STATUS  mandatory
         	DESCRIPTION
            "If there is an error on a request, this variable may
		   contain a message indicating the error."
              --GORDY
	::= { usrSnmpCommEntry 5 }

	usrSnmpCommLastErrorTicks OBJECT-TYPE
	 	SYNTAX   INTEGER
         	ACCESS   read-only
         	STATUS   mandatory
         	DESCRIPTION
            "If the LastError variable is set, this is set to the
		   tick count of that error."
              --GORDY
         ::= { usrSnmpCommEntry 6 }

        usrSnmpCommIpAddrMask OBJECT-TYPE
                SYNTAX  IpAddress
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
            "The IP Address Mask of the remote community"
                --CONFIGURABLE
                --GORDY
        ::= { usrSnmpCommEntry 7 }

	usrSnmpTrapCommTable OBJECT-TYPE
         	SYNTAX  SEQUENCE OF UsrSnmpTrapCommEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The SNMP Trap Community Table"
	::= { usrSnmp 4 }

	usrSnmpTrapCommEntry OBJECT-TYPE
         	SYNTAX  UsrSnmpTrapCommEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            ""
         INDEX   { usrSnmpTrapCommName }
	::= { usrSnmpTrapCommTable 1 }

	UsrSnmpTrapCommEntry ::=
         	SEQUENCE {
         	usrSnmpTrapCommName
            DisplayString,
         	usrSnmpTrapCommIpAddr
            IpAddress,
         	usrSnmpTrapCommStatus
            INTEGER
         }

	usrSnmpTrapCommName OBJECT-TYPE
         	SYNTAX  DisplayString (SIZE (0..255))
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The name of the SNMP Trap Community."
	::= { usrSnmpTrapCommEntry 1 }

	usrSnmpTrapCommIpAddr OBJECT-TYPE
         	SYNTAX  IpAddress
         	ACCESS  read-write
         	STATUS  mandatory
         	DESCRIPTION
            "The IP Address of the remote community"
		--CONFIGURABLE
	::= { usrSnmpTrapCommEntry 2 }

	usrSnmpTrapCommStatus OBJECT-TYPE
		SYNTAX   INTEGER {
			normal(1),
			delete(2)
			}
         	ACCESS   read-write
         	STATUS   mandatory
         	DESCRIPTION
            "The status of the entry for this community"
         ::= { usrSnmpTrapCommEntry 3 }

END         -- End usr SNMP MIB definitions

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_snmp.mib,v $
-- Revision 1.10.2.1  1997/09/05 15:09:38  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.10  1997/07/12  14:47:04  rsivan
--Removed 'RESTRICTED' tags until final design spec.
--
-- Revision 1.9  1997/07/10 15:29:04  rsivan
-- add access administrator(4), make some entries RESTRICTED
--
-- Revision 1.8  1996/05/08 20:18:19  pfc
-- Add error message to the community mib
--
-- Revision 1.7  1996/03/26 22:05:31  psd
-- Removed the CONFIGURABLE flag from the Config File object.
--
-- Revision 1.6  1996/03/11 14:46:26  psd
-- Changed usrSnmpSaveFlag to usrSnmpCFMStatusFlag.
--
-- Revision 1.5  1996/03/06 13:02:43  psd
-- Modified the description of usrSnmpSaveFlag.
--
-- Revision 1.4  1996/03/04 18:42:43  psd
-- Added CFM support for SNMP.
--
-- Revision 1.3  1995/12/22 18:31:55  jhalpin
-- community names are now nonaccessible
--
-- Revision 1.2  1995/09/26 16:28:47  patton
-- added status fields
--
-- Revision 1.1  1995/09/25 20:57:26  jhalpin
-- Add in usrSnmp definitions
--
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_event.mib
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_event.mib,v 1.5 1997/02/28 18:25:46 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

Event-MIB DEFINITIONS ::= BEGIN

	IMPORTS
	     Counter, IpAddress
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrEventHandler,
		UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;


   -- textual conventions

   -- Begin managed object definitions here...

usrEhVersion OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The current software version of the Event Handler process.."
::= { usrEventHandler 1 }

usrEhConfigFileName OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION		
		  "The name of a ConfigFile to read/write permanent database records.
		   If the value of this object is an empty string, then the
		   Event process uses the default name `@file://EventProcess.cfg'."
	::= { usrEventHandler 2 }

usrEhCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"This variable controls saving and loading of configuration
           information for the Event Handler process. The value can 
           be set to either save or load by a management station. The other
           values indicate if any configuration operation and what type
           is in progress."
::= { usrEventHandler 3 }

usrEhSyslogTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrEhSyslogEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The (conceptual) table of SYSLOG sink nodes."
::= { usrEventHandler 4 }

usrEhSyslogEntry OBJECT-TYPE
	SYNTAX UsrEhSyslogEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A (conceptual) entry for one SYSLOG sink node."
	INDEX { usrEhSyslogSink }
::= { usrEhSyslogTable 1 }

UsrEhSyslogEntry ::= SEQUENCE {
	usrEhSyslogSink			IpAddress,
	usrEhSyslogLevel			INTEGER,
	usrEhSyslogMsgCount			Counter,
	usrEhSyslogStatus			INTEGER,
	usrEhSyslogFacility			INTEGER
	}

usrEhSyslogSink OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"The IP Address of the SYSLOG sink system. Event messages for the
		 EVF_SYSLOG event sink will be sent to this address's UDP port
		 number 514."
::= { usrEhSyslogEntry 1 }

usrEhSyslogLevel OBJECT-TYPE
	SYNTAX		INTEGER { critical(0), unusual(1), common(2), verbose(3),
						debug(4) }
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"The log level associated with this SYSLOG sink node."
	--CONFIGURABLE
::= { usrEhSyslogEntry 2 }

usrEhSyslogMsgCount OBJECT-TYPE
	SYNTAX		Counter
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The number of event messages sent to this syslog sink."
::= { usrEhSyslogEntry 3 }

usrEhSyslogStatus OBJECT-TYPE
	SYNTAX		INTEGER { normal(1), delete(2) }
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"Status flag for the SYSLOG sink. The value returned by the
		 Event process will always be normal. Setting the value to
		 delete will cause the entry to removed from the table."
::= { usrEhSyslogEntry 4 }

usrEhSyslogFacility OBJECT-TYPE
	SYNTAX		INTEGER { auth(1), local0(2), local1(3),
						local2(4), local3(5), local4(6),
						local5(7), local6(8), local7(9) }
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"The SYSLOG sink node facility to which the SYSLOG message is
		 is sent."
	--CONFIGURABLE
::= { usrEhSyslogEntry 5 }

END         -- End Template MIB definitions

--
--
-- $Log: usr_event.mib,v $
-- Revision 1.5  1997/02/28 18:25:46  psd
-- Use better values for SYSLOG facility.
--
-- Revision 1.4  1997/02/26 17:24:31  psd
-- Added a SYSLOG facility object.
--
-- Revision 1.3  1996/03/27 13:54:09  psd
-- Added CFM support.
--
-- Revision 1.2  1995/12/20 22:56:10  jhalpin
-- Updated event MIB
--
-- Revision 1.1  1995/12/12 02:44:04  jhalpin
-- event handler mib
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--     usr_cip.mib -  A template MIB file for Pilgrim MIB modules
--		
--
--	Description:	This module contains MIB definitions for the 
--      		Call-Initiation Process. 
--
--	Author:	Hasmik Sarkezians
--
--	$Id: usr_cip.mib,v 1.37.2.6 1997/10/20 16:55:25 yarutyun Exp $
--
--  ----------------------------------------------------------------------
-- | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
-- |                                                                      |
-- | The information in this software is subject to change without notice |
-- | and should not be construed as a commitment by U.S. Robotics Access  |
-- | Corp.                                                                |
-- |                                                                      |
-- | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
-- | reliability of its software on equipment which is not supplied by    |
-- | U.S. Robotics Access Corp.                                           |
-- |                                                                      |
-- | This software is furnished under a license and may be copied only    |
-- | with the inclusion of the above copyright notice. This software, or  |
-- | any other copies thereof, may not be provided or otherwise made      |
-- | available to any other person except to one who agrees to these      |
-- | license terms. Title to and ownership of the software shall at all   |
-- | times remain in U.S. Robotics Access Corp.                           |
--  ----------------------------------------------------------------------
--

Cip-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          IpAddress, Counter
                FROM RFC1155-SMI
          OBJECT-TYPE
               FROM RFC-1212
          usrCip, DisplayString FROM USR-DEFINITIONS-MIB;

   -- textual conventions
   -- 
   -- textual conventions are like pre-processor macro in 'C'
   --        (i.e. #define statements)
   -- Use them to define your own 'datatypes'

   NetNumber ::= OCTET STRING (SIZE(4))

   -- Begin managed object definitions here...


	usrCipPortParamTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRCIPPortParamEntry
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains the serial port parameters."
	::= { usrCip 1 }

     usrCipPortParamEntry OBJECT-TYPE
        SYNTAX      USRCIPPortParamEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to a serial interface."
        INDEX   {
                usrCipPortIndex
               }
     ::= {usrCipPortParamTable 1}

     USRCIPPortParamEntry ::= 
          SEQUENCE {
               usrCipPortIndex
                    INTEGER,
               usrCipPortType
                    INTEGER,
               usrCipPortAccess
                    INTEGER,
               usrCipPortHostType
                    INTEGER,
               usrCipPortLoginService
                    INTEGER,
               usrCipPortTcpPortNumber
                    INTEGER,
               usrCipPortLoginMsg
                    OCTET STRING,
               usrCipPortLoginPrompt
                    OCTET STRING,
               usrCipPortIpAddress
                    IpAddress,
               usrCipPortHostIpAddress
                    IpAddress,
               usrCipPortNetMask
                    INTEGER,
               usrCipPortProtocol
                    INTEGER,
               usrCipPortMtu
                    INTEGER,
               usrCipPortIdleTimeOut
                    INTEGER,
               usrCipPortState
                    INTEGER,
               usrCipPortNumConns
                    Counter,
               usrCipPortConnType
                    INTEGER,
               usrCipUserName
                    OCTET STRING,
               usrCipConnStartTime
                    INTEGER,
               usrCipDataLinkConn
                    INTEGER,
               usrCipInitScriptName
                    OCTET STRING,
               usrCipIfConnType
                    INTEGER,
               usrCipPromptUserName
                    OCTET STRING,
               usrCipUserPasswd
                    OCTET STRING,
               usrCipPortIfName
                    OCTET STRING,
               usrCipPortDialPrefix
                    OCTET STRING,
	       usrCipPortCfgScript
                    DisplayString,
	       usrCipPortCfgScriptResult
                    DisplayString


               }

     usrCipPortIndex OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The identifier of the physical interface."
     ::= {usrCipPortParamEntry 1}

     usrCipPortType OBJECT-TYPE
          SYNTAX      INTEGER {
                         login (1),
                         network (2),
                         login-network (3)
                         }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The type of the physical port."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 2}

     usrCipPortAccess OBJECT-TYPE
          SYNTAX      INTEGER {
                         dial-in(1),
                         dial-out(2),
                         two-way(3)
                       }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "This field specifies the direction of the calls
                         that could be made on a specific interface. 
                         Ports could be configured to be dial-in, dial-out
                         or two-way ports."
       --CONFIGURABLE
     ::= {usrCipPortParamEntry 3}

     usrCipPortHostType OBJECT-TYPE
          SYNTAX      INTEGER {
                         default (1),
                         prompt (2),
                         specified (3)
                         }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The host type that the dial-in user 
                       will be connected to."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 4}

     usrCipPortLoginService OBJECT-TYPE
          SYNTAX      INTEGER {
                         telnet (1),
                         rlogin (2),
                         cleartcp (3),
                         ping (4)
                         }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The Service type that the dial-in user will 
                       be connected to."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 5}

     usrCipPortTcpPortNumber OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The tcp port number associated with the service type."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 6}

     usrCipPortLoginMsg OBJECT-TYPE
          SYNTAX      OCTET STRING (SIZE(0..64))
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The salutation message associated with a specific port."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 7}

     usrCipPortLoginPrompt OBJECT-TYPE
   	  SYNTAX      OCTET STRING (SIZE(0..64))
   	  ACCESS      read-write
   	  STATUS      mandatory
   	  DESCRIPTION "The login prompt associated with a specific port."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 8}

     usrCipPortIpAddress OBJECT-TYPE
   	  SYNTAX      IpAddress
   	  ACCESS      read-write
   	  STATUS      mandatory
	  DESCRIPTION "The IP address for a specific serial port."
        --CONFIGURABLE
      ::= {usrCipPortParamEntry 9}

     usrCipPortHostIpAddress OBJECT-TYPE
   	  SYNTAX      IpAddress
   	  ACCESS      read-write
   	  STATUS      mandatory
	  DESCRIPTION "A host IP address specified for this interface."
        --CONFIGURABLE
   	::= {usrCipPortParamEntry 10}

     usrCipPortNetMask OBJECT-TYPE
   	  SYNTAX      INTEGER
   	  ACCESS      read-write
   	  STATUS      mandatory
   	  DESCRIPTION "The netmask asscociated with a specific 
                       serial interface."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 11}

     usrCipPortProtocol OBJECT-TYPE
   	  SYNTAX      INTEGER {
                         ppp (1),
                         slip (2),
                         arap (3)
                    	   }
   	  ACCESS      read-write
   	  STATUS      mandatory
   	  DESCRIPTION "The protocol type configured for a specific interface."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 12}

     usrCipPortMtu OBJECT-TYPE
   	  SYNTAX      INTEGER
   	  ACCESS      read-write
   	  STATUS      mandatory
   	  DESCRIPTION "The mtu value associated with a specific interface."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 13}

     usrCipPortIdleTimeOut OBJECT-TYPE
   	  SYNTAX      INTEGER
   	  ACCESS      read-write
   	  STATUS      mandatory
   	  DESCRIPTION "The maximum idle time specified for an interface."
        --CONFIGURABLE
     ::= {usrCipPortParamEntry 14}

     usrCipPortState OBJECT-TYPE
          SYNTAX        INTEGER {
                          port-disabled (0),
                          port-initializing(1),
                          port-available(2),
                          port-connecting(3),
                          port-connected(4),
                          port-disconnecting(5),
                          port-disconnected(6)
                           }
          ACCESS        read-only
          STATUS        mandatory
          DESCRIPTION  "The state of the serial line."
     ::= {usrCipPortParamEntry 15}

     usrCipPortNumConns OBJECT-TYPE
   	  SYNTAX      Counter
   	  ACCESS      read-only
   	  STATUS      mandatory
   	  DESCRIPTION "The total number of connections made on this if."
     ::= {usrCipPortParamEntry 16}

     usrCipPortConnType OBJECT-TYPE
          SYNTAX        INTEGER {
                          undefined-conn(0),
                          on-demand-conn(1),
                          dial-back-conn(2),
                          continuous-conn(3),
                          manual-conn(4),
                          timed-conn(5),
                          shared-modem-conn(6),
                          dial-in-conn(7),
                          bond-conn(8),
                          dedicated-conn (9)
                           }
          ACCESS        read-only
          STATUS        mandatory
          DESCRIPTION  "The connection type on this interface."
     ::= {usrCipPortParamEntry 17}

     usrCipUserName OBJECT-TYPE
          SYNTAX      OCTET STRING (SIZE(0..32))
   	  ACCESS      read-only
   	  STATUS      mandatory
   	  DESCRIPTION "The name user connected to this interface. "
     ::= {usrCipPortParamEntry 18}

     usrCipConnStartTime OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-only
          STATUS      mandatory
          DESCRIPTION "The start time of a connection specified 
                       on an interface."
     ::= {usrCipPortParamEntry 19}

     usrCipDataLinkConn OBJECT-TYPE
          SYNTAX        INTEGER {
                           telnet (1),
                           rlogin (2),
                           clear-tcp (3),
                           ppp (4),
                           arap (5),
                           slip (6),
                           admin(7),
                           ping(8),
                           none(9)
                           }
          ACCESS        read-only
          STATUS        mandatory
          DESCRIPTION  "The data link layer that a specific dial-in session is
                        connected to."
     ::= {usrCipPortParamEntry 20}

     usrCipInitScriptName OBJECT-TYPE
          SYNTAX      OCTET STRING  (SIZE(0..7))
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The name of the script"
        --CONFIGURABLE
     ::= { usrCipPortParamEntry 21 }

     usrCipIfConnType OBJECT-TYPE
          SYNTAX      INTEGER {
                        if-direct-conn (1),
                        if-direct-network-conn (2),
                        if-normal-conn (3),
                        if-prompt-passwd (4),
                        if-prompt-none (5)
                        }
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The type of the connection that i/f is configured for."
        --CONFIGURABLE
     ::= { usrCipPortParamEntry 22 }

     usrCipPromptUserName OBJECT-TYPE
          SYNTAX        OCTET STRING (SIZE(0..32))
          ACCESS        read-write
          STATUS        mandatory
          DESCRIPTION   "This could only be set if the port is
                        configured not to prompt for username."
     --CONFIGURABLE
     ::= {usrCipPortParamEntry 23}

     usrCipUserPasswd OBJECT-TYPE
          SYNTAX      OCTET STRING (SIZE(0..15))
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "This could only be set if the port is 
                       configured to not prompt for password."
        --CONFIGURABLE
     ::= { usrCipPortParamEntry 24 }

     usrCipPortIfName OBJECT-TYPE
          SYNTAX      OCTET STRING (SIZE(0..32))
   	  ACCESS      read-only
   	  STATUS      mandatory
   	  DESCRIPTION "The name of the serial line interface."
     ::= { usrCipPortParamEntry 25 }

     usrCipPortDialPrefix OBJECT-TYPE
         SYNTAX         OCTET STRING (SIZE(0..64))
         ACCESS         read-write
         STATUS         mandatory
         DESCRIPTION    "This string defines the prefix to the phone number."
         
       --CONFIGURABLE
    ::= {usrCipPortParamEntry 26}

    usrCipPortCfgScript OBJECT-TYPE
         SYNTAX         DisplayString (SIZE(1..32))
         ACCESS         read-write
         STATUS         mandatory
         DESCRIPTION    "This string defines an I-modem or V.34 AT command
			 a value of RESET will cause the modem to be reset 
                         and reinitialized with the string found in 
                         usrInitScriptCommands."
        
    ::= { usrCipPortParamEntry 27 }

    usrCipPortCfgScriptResult OBJECT-TYPE
         SYNTAX         DisplayString (SIZE(0..1350))
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This string defines the result of the AT command."
        
    ::= { usrCipPortParamEntry 28 }


-- Modem Group Table 

      usrCipModemGroupTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRCIPModemGroupEntry 
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains the serial port parameters."
      ::= { usrCip 2 }

     usrCipModemGroupEntry OBJECT-TYPE
        SYNTAX      USRCIPModemGroupEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to a serial interface."
        INDEX   {
                usrCipModemGroupName
               }
     ::= {usrCipModemGroupTable 1}

     USRCIPModemGroupEntry ::= 
          SEQUENCE {
               usrCipModemGroupName
                    OCTET STRING,
               usrCipModemGroupStatus
                    INTEGER,
               usrCipModemGroupCount
                    INTEGER
          }

     usrCipModemGroupName OBJECT-TYPE
          SYNTAX        OCTET STRING (SIZE (0..32))
          ACCESS        not-accessible
          STATUS        mandatory
          DESCRIPTION   "The identifier of a modem group."
     ::= { usrCipModemGroupEntry 1 }

     usrCipModemGroupStatus  OBJECT-TYPE
        SYNTAX          INTEGER {
                                add(0),
                                delete(1)
                                }
        ACCESS         	read-write
        STATUS          mandatory
        DESCRIPTION     "The status could be add or delete the group member
                         specified in the usrCipGroupMembers MIB."
      --CONFIGURABLE
    ::= { usrCipModemGroupEntry 2 }

     usrCipModemGroupCount OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-only
          STATUS      mandatory
          DESCRIPTION "The number of modem ports in a specific group."
     ::= { usrCipModemGroupEntry 3 }



-- The Global Host Table

      usrCipGlblHostTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRCIPGlblHostEntry
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains the global host addresses."
      ::= { usrCip 3 }

     usrCipGlblHostEntry OBJECT-TYPE
        SYNTAX      USRCIPGlblHostEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry contains a host address with tcp port numbers."
        INDEX   {
                usrCipGlblHostIndex
                }
     ::= {usrCipGlblHostTable 1}

     USRCIPGlblHostEntry ::= 
         SEQUENCE {
               usrCipGlblHostIndex
                    INTEGER,
               usrCipGlblHostAddress
                    IpAddress,
               usrCipGlblHostRloginPort
                    INTEGER,
               usrCipGlblHostTelnetPort
                    INTEGER,
               usrCipGlblHostTcpClearPort
                    INTEGER,
               usrCipGlblHostName
                    OCTET STRING,
               usrCipGlblHostState 
                    INTEGER
          }

     usrCipGlblHostIndex OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-write
          STATUS      mandatory
          DESCRIPTION "The identifier of a default host table."
     ::= { usrCipGlblHostEntry 1 }
     
     usrCipGlblHostAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION     
                "The global host IP address."
        --CONFIGURABLE                
     ::= { usrCipGlblHostEntry 2 }

     usrCipGlblHostRloginPort   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The host rlogin tcp port number."
        --CONFIGURABLE        
     ::= { usrCipGlblHostEntry 3 }        

     usrCipGlblHostTelnetPort   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The host telnet port number."
        --CONFIGURABLE
     ::= { usrCipGlblHostEntry 4 }

     usrCipGlblHostTcpClearPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION     
                "The host tcp clear port number."
        --CONFIGURABLE
     ::= { usrCipGlblHostEntry 5 }

     usrCipGlblHostName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The global host name."
        --CONFIGURABLE
     ::= { usrCipGlblHostEntry 6 }

     usrCipGlblHostState OBJECT-TYPE
        SYNTAX  INTEGER {
                        host-undefined (0),
                        host-valid (1),
                        host-invalid (2),
                        host-pending (3)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION     
                "The state of a default host entry."
     ::= { usrCipGlblHostEntry 7 }

-- The Global Parameters

     usrCipGlblHostSelectionMethod      OBJECT-TYPE
        SYNTAX  INTEGER {
                        round-robin(0),
                        random(1)
                        }

        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The method that will be used to select the 
                 default host."
        --CONFIGURABLE
        ::= {usrCip 4}	     

     usrCipGlblHostType OBJECT-TYPE
        SYNTAX  INTEGER {
                        undefined-host(0),
                        default-host(1),
                        prompt(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "The default host type."
        --CONFIGURABLE
        ::= { usrCip 5 }
                                              
     usrCipGlblLoginMsg OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..255))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The user login message"
        --CONFIGURABLE
        ::= { usrCip 6 }
                                              
     usrCipGlblUsrCommandPrompt OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The user command prompt."
        --CONFIGURABLE
        ::= { usrCip 7 }

      usrCipGlblLogNetUserPrompt OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The login/network command prompt."
        --CONFIGURABLE
        ::= { usrCip 8 }

     usrCipGlblMgPrompt OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The manage prompt."
        --CONFIGURABLE
        ::= { usrCip 9 }

     usrCipGlblUserName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The default user name used in case the dial-in users don't
                 get prompted for the user name and no user name is configured
                 for the i/f."
        --CONFIGURABLE
        ::= { usrCip 10 }

     usrCipGlblNumCalls OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of calls received since the boot up time."
        ::= { usrCip 11 }

     usrCipAllowManageOnDialups OBJECT-TYPE
        SYNTAX  INTEGER {
                        manage-off(0),
                        manage-on (1)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This variable turns on/off the ability to manage the system
                 through the dialup ports."
        --CONFIGURABLE
        ::= { usrCip 12 }

     usrCipHangUp OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  write-only
        STATUS  mandatory
        DESCRIPTION
                "This variable is set only if a hangup message is sent out.
                 The value of this variable is the interface index."
        ::= {usrCip 13 }

     usrCipDialOut OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..32))
        ACCESS  write-only
        STATUS  mandatory
        DESCRIPTION
                "This variable is set through the CLI when the user
                 manually issues a dial-out."
        ::= { usrCip 14 }

     usrCipBusyOut   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  write-only
        STATUS  mandatory
        DESCRIPTION     
                "This variable is set only in case the user wants to 
                take the phone off hook."
        ::= {usrCip 15}

     usrInitScriptTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRInitScriptEntry
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains the global host addresses."
      ::= { usrCip 16}

     usrInitScriptEntry OBJECT-TYPE
        SYNTAX      USRInitScriptEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry contains a host address with tcp port numbers."
        INDEX   {
                usrInitScriptName
                }
     ::= {usrInitScriptTable 1}

     USRInitScriptEntry ::= 
         SEQUENCE {
               usrInitScriptName
                    OCTET STRING,
               usrInitScriptCommands
                    OCTET STRING,
	       usrInitScriptStatus
		    INTEGER
                }

     usrInitScriptName OBJECT-TYPE
          SYNTAX      OCTET STRING  (SIZE(0..7))
          ACCESS      not-accessible
          STATUS      mandatory
          DESCRIPTION "The name of the script"
     ::= { usrInitScriptEntry 1 }

     usrInitScriptCommands OBJECT-TYPE
          SYNTAX        OCTET STRING (SIZE(0..56))
          ACCESS        read-write
          STATUS        mandatory
          DESCRIPTION   "The AT commands that will be sent to the serial line
                         driver every time a connection goes away."
        --CONFIGURABLE
     ::= { usrInitScriptEntry 2 }

     usrInitScriptStatus  OBJECT-TYPE
        SYNTAX          INTEGER {
                                normal-status(0),
                                delete-script(1)
                                }
        ACCESS         	read-write
        STATUS          mandatory
        DESCRIPTION     "This variable is used to delete a script from the init
                         script list."
    ::= { usrInitScriptEntry 3 }


-- MIB Variables defined for CFM purposes

     usrCipCfmPortIndexTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRCIPCfmPortIndexEntry
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains CIP port indices. It is defined 
             so that CFM process would be able to save a specific
             row of portal table."
	::= { usrCip 17 }

     usrCipCfmPortIndexEntry OBJECT-TYPE
        SYNTAX      USRCIPCfmPortIndexEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to a serial interface."
        INDEX   {
                usrCipCfmPortIndex
               }
     ::= {usrCipCfmPortIndexTable 1}

     USRCIPCfmPortIndexEntry ::= 
          SEQUENCE {
               usrCipCfmPortIndex
                    INTEGER,
               usrCipCfmPortFlag
                    INTEGER
                }

     usrCipCfmPortIndex OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      read-only
          STATUS      mandatory
          DESCRIPTION "The identifier of the physical interface."
     ::= {usrCipCfmPortIndexEntry 1}

     usrCipCfmPortFlag OBJECT-TYPE
          SYNTAX       INTEGER
          ACCESS       read-write
          STATUS       mandatory
          DESCRIPTION   "The flag that triggers a cfm operation on each
                         interface."
     ::= {usrCipCfmPortIndexEntry 2 }

-- Scalar Flags

    usrCipCfmAllPortsFlag  OBJECT-TYPE
         SYNTAX         INTEGER
         ACCESS         read-write
         STATUS         mandatory
         DESCRIPTION    "This flag triggers a CFM action."
    ::= { usrCip 18 }

    usrCipCfmModemGroupFlag OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This flag triggers a save of modem group table."
    ::= { usrCip 19 }

    usrCipCfmGlblHostTableFlag OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This flag triggers a save of global host table."
    ::= { usrCip 20 }        

    usrCipCfmInitScriptFlag OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This flag triggers a save of init script table."
    ::= { usrCip 21 }

    usrCipCfmGlblVarFlag OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This flag triggers a save of global variables."
    ::= { usrCip 22 }

   usrCipCfmSaveAllFlag OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This flag triggers a save for all of CIP tables."
        
    ::= { usrCip 23 }

-- Port Parameters Grouped in a Modem Group 

    usrCipModemPortParamTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRCIPModemPortParamEntry
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains the serial port parameters."
	::= { usrCip 24 }

    usrCipModemPortParamEntry OBJECT-TYPE
        SYNTAX      USRCIPModemPortParamEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to a serial interface."
        INDEX   {
                usrCipModemPortName
               }
     ::= {usrCipModemPortParamTable 1}

     USRCIPModemPortParamEntry ::= 
          SEQUENCE {
               usrCipModemPortName
                    OCTET STRING,
               usrCipModemPortType
                    INTEGER,
               usrCipModemPortAccess
                    INTEGER,
               usrCipModemPortHostType
                    INTEGER,
               usrCipModemPortLoginService
                    INTEGER,
               usrCipModemPortTcpPortNumber
                    INTEGER,
               usrCipModemPortLoginMsg
                    OCTET STRING,
               usrCipModemPortLoginPrompt
                    OCTET STRING,
               usrCipModemPortIpAddress
                    IpAddress,
               usrCipModemPortHostIpAddress
                    IpAddress,
               usrCipModemPortNetMask
                    INTEGER,
               usrCipModemPortProtocol
                    INTEGER,
               usrCipModemPortMtu
                    INTEGER,
               usrCipModemPortIdleTimeOut
                    INTEGER,
               usrCipModemInitScriptName
                    OCTET STRING,
               usrCipModemIfConnType
                    INTEGER,
               usrCipModemPromptUserName
                    OCTET STRING,
               usrCipModemUserPasswd
                    OCTET STRING,
               usrCipModemDialPrefix
                    OCTET STRING

               }

     usrCipModemPortName OBJECT-TYPE
          SYNTAX        OCTET STRING (SIZE (0..32))
          ACCESS        not-accessible
          STATUS        mandatory
          DESCRIPTION   "The identifier of a modem group."
     ::= {usrCipModemPortParamEntry 1}

     usrCipModemPortType OBJECT-TYPE
          SYNTAX      INTEGER {
                         login (1),
                         network (2),
                         login-network (3)
                         }
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The type of the physical port."
     ::= {usrCipModemPortParamEntry 2}

     usrCipModemPortAccess OBJECT-TYPE
          SYNTAX      INTEGER {
                         dial-in(1),
                         dial-out(2),
                         two-way(3)
                       }
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "This field specifies the direction of the calls
                         that could be made on a specific interface. 
                         Ports could be configured to be dial-in, dial-out
                         or two-way ports."
     ::= {usrCipModemPortParamEntry 3}

     usrCipModemPortHostType OBJECT-TYPE
          SYNTAX      INTEGER {
                         default (1),
                         prompt (2),
                         specified (3)
                         }
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The host type that the dial-in user 
                       will be connected to."
     ::= {usrCipModemPortParamEntry 4}

     usrCipModemPortLoginService OBJECT-TYPE
          SYNTAX      INTEGER {
                         telnet (1),
                         rlogin (2),
                         netdata (3)
                         }
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The Service type that the dial-in user will 
                       be connected to."
     ::= {usrCipModemPortParamEntry 5}

     usrCipModemPortTcpPortNumber OBJECT-TYPE
          SYNTAX      INTEGER
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The tcp port number associated with the service type."
     ::= {usrCipModemPortParamEntry 6}

     usrCipModemPortLoginMsg OBJECT-TYPE
          SYNTAX      OCTET STRING (SIZE(0..255))
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The salutation message associated with a specific port."
     ::= {usrCipModemPortParamEntry 7}

     usrCipModemPortLoginPrompt OBJECT-TYPE
   	  SYNTAX      OCTET STRING (SIZE(0..64))
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "The login prompt associated with a specific port."
     ::= {usrCipModemPortParamEntry 8}

     usrCipModemPortIpAddress OBJECT-TYPE
   	  SYNTAX      IpAddress
   	  ACCESS      write-only
   	  STATUS      mandatory
	  DESCRIPTION "The IP address for a specific serial port."
      ::= {usrCipModemPortParamEntry 9}

     usrCipModemPortHostIpAddress OBJECT-TYPE
   	  SYNTAX      IpAddress
   	  ACCESS      write-only
   	  STATUS      mandatory
	  DESCRIPTION "A host IP address specified for this interface."
   	::= {usrCipModemPortParamEntry 10}

     usrCipModemPortNetMask OBJECT-TYPE
   	  SYNTAX      INTEGER
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "The netmask asscociated with a specific 
                       serial interface."
     ::= {usrCipModemPortParamEntry 11}

     usrCipModemPortProtocol OBJECT-TYPE
   	  SYNTAX      INTEGER {
                         ppp (1),
                         slip (2),
                         arap (3)
                    	   }
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "The protocol type configured for a specific interface."
     ::= {usrCipModemPortParamEntry 12}

     usrCipModemPortMtu OBJECT-TYPE
   	  SYNTAX      INTEGER
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "The mtu value associated with a specific interface."
     ::= {usrCipModemPortParamEntry 13}

     usrCipModemPortIdleTimeOut OBJECT-TYPE
   	  SYNTAX      INTEGER
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "The maximum idle time specified for an interface."
     ::= {usrCipModemPortParamEntry 14}

     usrCipModemInitScriptName OBJECT-TYPE
          SYNTAX      OCTET STRING  (SIZE(0..7))
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The name of the script"
     ::= { usrCipModemPortParamEntry 15 }

     usrCipModemIfConnType OBJECT-TYPE
          SYNTAX      INTEGER {
                        if-direct-conn (1),
                        if-direct-network-conn (2),
                        if-normal-conn (3),
                        if-prompt-passwd (4),
                        if-prompt-none (5)
                        }
          ACCESS      write-only
          STATUS      mandatory
          DESCRIPTION "The type of the connection that i/f is configured for."
     ::= { usrCipModemPortParamEntry 16 }

     usrCipModemPromptUserName OBJECT-TYPE
          SYNTAX        OCTET STRING (SIZE(0..32))
          ACCESS        write-only
          STATUS        mandatory
          DESCRIPTION   "This could only be set if the port is
                        configured not to prompt for username."
     ::= { usrCipModemPortParamEntry 17 }

     usrCipModemUserPasswd OBJECT-TYPE
          SYNTAX      OCTET STRING (SIZE(0..15))
   	  ACCESS      write-only
   	  STATUS      mandatory
   	  DESCRIPTION "This could only be set if the port is 
                       configured to not prompt for password."
     ::= { usrCipModemPortParamEntry 18 }

     usrCipModemDialPrefix OBJECT-TYPE
         SYNTAX         OCTET STRING (SIZE(0..64))
         ACCESS         write-only
         STATUS         mandatory
         DESCRIPTION    "This string defines the prefix to the phone number."
        
    ::= { usrCipModemPortParamEntry 19 }

     usrCipConfigFileName OBJECT-TYPE
         SYNTAX OCTET STRING (SIZE(0..64))
         ACCESS read-only
         STATUS mandatory
         DESCRIPTION
           "The name of a ConfigFile to read/write permanent database
            records. If the value of this object is an empty string,
            then the default name `@file://CallInitProcess.cfg' is
            used."
     ::= { usrCip 25 }

-- Modem Group Interface Table

      usrCipModemGroupInterfaceTable OBJECT-TYPE
         SYNTAX  SEQUENCE OF USRCIPModemGroupInterfaceEntry 
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "This table contains the list of interfaces that belong to 
             a particular modem group."
      ::= { usrCip 26 }

     usrCipModemGroupInterfaceEntry OBJECT-TYPE
        SYNTAX      USRCIPModemGroupInterfaceEntry
        ACCESS      not-accessible
        STATUS      mandatory
        DESCRIPTION "Each entry corresponds to a serial interface."
        INDEX   {
                usrCipModemGroupName,
                usrCipModemGroupInterfaceName
               }
     ::= {usrCipModemGroupInterfaceTable 1}

     USRCIPModemGroupInterfaceEntry ::= 
          SEQUENCE {
               usrCipModemGroupInterfaceName
                    OCTET STRING,
               usrCipModemGroupInterfaceStatus
                    INTEGER
          }

     usrCipModemGroupInterfaceName OBJECT-TYPE
          SYNTAX        OCTET STRING (SIZE (0..32))
          ACCESS        not-accessible
          STATUS        mandatory
          DESCRIPTION   "The identifier of a modem group."
     --CONFIGURABLE
     ::= { usrCipModemGroupInterfaceEntry 1 }

     usrCipModemGroupInterfaceStatus  OBJECT-TYPE
        SYNTAX          INTEGER {
                                add(0),
                                delete(1),
                                active(2),
                                inactive(3)
                                }
        ACCESS         	read-write
        STATUS          mandatory
        DESCRIPTION     "The status could be add or delete the group member
                         specified in the usrCipGroupMembers MIB."
      --CONFIGURABLE
    ::= { usrCipModemGroupInterfaceEntry 2 }

END         -- End CIP-MIB definitions

--
-- File Footer 
--
-- Revisions:
-- 
-- $Log: usr_cip.mib,v $
-- Revision 1.37.2.6  1997/10/20 16:55:25  yarutyun
-- change size usrCipModemDialPrefix from 32 to 64
--
-- Revision 1.37.2.5  1997/10/13 15:27:17  yarutyun
-- change oktet string size for usrCipModemPortLoginPrompt, Msg, DialPrefix
--
-- Revision 1.37.2.4  1997/10/09 16:07:45  hsingh
-- Fix for Defect 3600
--
-- Revision 1.37.2.3  1997/09/10 14:30:43  psd
-- Changed string range of usrCipPortCfgScript from 0-32 to 1-32.
--
--Revision 1.37.2.2  1997/08/29  19:39:35  psd
--Added the ping service to usrCipPortLoginService.
--
--Revision 1.37.2.1  1997/08/27  14:19:08  psd
--Part of MR 2566 fix. Added ping and none to usrCipDataLinkConn enum.
--
--Revision 1.37  1997/08/05  12:40:54  naga
--Bug fix for #1707 - telnet misspelled in usrCipDataLinkConn
--
-- Revision 1.36  1997/07/18 20:49:19  joes
-- PR1933: Reordered mib to prevent NM application from needing to be recompiled.  Moved Modem group interface table to end of mib.
--
-- Revision 1.35  1997/06/23 21:40:27  joes
-- Modifications to support modem group rewrite.
--
-- Revision 1.34  1997/05/29 15:29:42  tonyw
-- Changed usrCipPortCfgScriptResult to a display string and added RESET magic string for usrCipPortCfgScript
--
-- Revision 1.33  1997/05/16 16:33:21  lmg
-- MR 977: Added Mib object for config file name
--
-- Revision 1.32  1997/03/14 19:15:22  patton
-- made modem_group interface parameters write only, now that NMI is fixed to handle write-only parameters
--
-- Revision 1.31  1997/02/26 22:13:20  joes
-- Increases usrCipPortLoginMsg to 800 form 255
--
-- Revision 1.30  1997/02/26 21:14:09  joes
-- Previous change was meant for netserver branch not mainline.
--
-- Revision 1.29  1997/02/26 21:11:31  joes
-- Increased usrCipPortLoginMsg from 255 to 800.
--
-- Revision 1.28  1996/11/08 20:05:10  edjean
-- Add mib objects to support AT cmds
--
-- Revision 1.26  1996/09/18 21:44:39  jhalpin
-- Merge in LANLinker branch changes <sawdust city here I come..>
--
-- Revision 1.25  1996/07/10 20:13:42  hasmik
-- Added usrCipGlblHostState
--
-- Revision 1.24.2.1  1996/07/10 22:01:26  hasmik
-- Added GlobalHostState to the table
--
-- Revision 1.24  1996/06/04 20:01:17  hasmik
-- Added usrCipSaveAllFlag
--
-- Revision 1.23  1996/05/30 16:54:03  hasmik
-- Added DialPrefix MIB entry and removed Filter MIBS
--
-- Revision 1.22  1996/05/17 20:24:49  hasmik
-- Added normal-status to the init_script status
--
-- Revision 1.21  1996/05/14 19:54:37  hasmik
-- Added CIPBusyOutIf MIB variable
--
-- Revision 1.20  1996/04/30 00:35:57  hasmik
-- Changed the UserPass to read-write
--
-- Revision 1.19  1996/04/26 21:49:46  hasmik
-- Added configurable username and userpassword
--
-- Revision 1.18  1996/04/26 20:06:21  hasmik
-- Added port modem_group
--
-- Revision 1.17  1996/04/19 22:30:46  hasmik
-- Duplicated ModemGroup table based on modem_group name
--
-- Revision 1.16  1996/04/16 16:06:30  hasmik
-- Added dedicated-conn to the ConnType
--
-- Revision 1.15  1996/04/15 23:02:23  patton
-- fixed type Falg to Flag
--
-- Revision 1.14  1996/04/12 18:04:19  hasmik
-- Added CFM flags for the tables
--
-- Revision 1.13  1996/04/08 20:49:33  hasmik
-- Changed definition of HostState
--
-- Revision 1.12  1996/04/03 23:05:02  hasmik
-- Added AllowManageOnDialups MIB variable
--
-- Revision 1.11  1996/04/01 19:28:41  hasmik
-- Added DefaultPassword to port structure. Removed GlblServiceType and GlblProtoType
--
-- Revision 1.10  1996/03/19 20:58:49  hasmik
-- Added support for init script
--
-- Revision 1.9  1996/03/11 17:12:03  hasmik
-- Added CipDataLinkConn Variable
--
-- Revision 1.8  1996/03/11 14:45:28  hasmik
-- Added CIPGroupCount MIB variable
--
-- Revision 1.7  1996/03/08 23:08:44  hasmik
-- Added CipConnStartTime to the Port Table.
--
-- Revision 1.6  1996/03/08 22:51:59  hasmik
-- Added HangUp and DialOut MIB variables
--
-- Revision 1.5  1996/02/29 20:01:22  hasmik
-- Added CipGroupStatus
--
-- Revision 1.4  1996/02/28 21:28:29  hasmik
-- Changed the length of octet strings
--
-- Revision 1.3  1996/02/27 23:57:24  hasmik
-- Added three MIB variable so that CLI doesn't break
--
-- Revision 1.2  1996/02/27 22:58:09  hasmik
-- Created Global Mib variables. Added to the CIP portal variables
--
-- Revision 1.1  1995/12/28 18:10:33  hasmik
-- Initial Version
--
-- 

--
--    usr_pppml.mib - The USR PPP Mult-Link MIB module
--
--
-- Author:         <Joe Kralowetz>
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-PPPML-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               IpAddress, Counter
                    FROM RFC1155-SMI
               OBJECT-TYPE
                    FROM RFC-1212
               DisplayString, usrPPP, UsrConfigStatus
                    FROM USR-DEFINITIONS-MIB;


          -- All representations of MAC addresses in this MIB Module use,
          -- as a textual convention (i.e. this convention does not affect
          -- their encoding), the data type:

          MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address in
                                                    -- the "canonical" order
          -- defined by IEEE 802.1a, i.e., as if it were transmitted least
          -- significant bit first, even though 802.5 (in contrast to other
          -- 802.x protocols) requires MAC addresses to be transmitted most
          -- significant bit first.
          --
          -- 16-bit addresses, if needed, are represented by setting their
          -- upper 4 octets to all 0's, i.e., AAFF would be represented
          -- as 00000000AAFF.

          IpxAddress ::= IpAddress   -- a 4 octet address which represents
                                     -- represents 32-bit IPX Network Address.

          usrPPPBase      OBJECT IDENTIFIER ::= { usrPPP 1 }

          usrPPPMl        OBJECT IDENTIFIER ::= { usrPPP 2 }


          --
          -- The PPP Base Group.
          --

          usrPPPBaseRxAuth OBJECT-TYPE
              SYNTAX  INTEGER {
                        none(1),
                        pap(2),
                        chap(3),
                        either(4)
                      }
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "Indicates whether PPP requires dial-in users
                      to authenticate strictly via PAP, CHAP, with either
                      PAP or CHAP, or none."
              DEFVAL { none }
              --CONFIGURABLE
              ::= { usrPPPBase 1 }

          usrPPPBaseCfgFileName OBJECT-TYPE
              SYNTAX   DisplayString
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "The name of a ConfigFile to read/write
                      permanent database records. If the value of this
                      object is an empty string, then the PPP process
                      uses the default name `@file://PppFile.cfg'."
              ::= { usrPPPBase 2 }

          usrPPPBaseCFMSaveStatus OBJECT-TYPE
              SYNTAX  UsrConfigStatus
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Setting the value of this object to `save'
                      causes the values of the PPP Base Group
                      entries to be written out to the current PPP
                      config file. While the new config file is being
                      written, the PPP process will set the value
                      of this flag set to `saving''. Any attempts to set
                      the value while it is  not `normal' (i.e. the file
                      is currently being written to the config file)
                      while result in a badValue error being returned.
                      Setting the value to `normal' will result in no
                      action."
              ::= { usrPPPBase 3 }


          usrPPPBaseTraceInterfaceIndex OBJECT-TYPE
              SYNTAX  INTEGER (0..2147483647)
              ACCESS  read-write
              STATUS  obsolete
              DESCRIPTION
                      "Sets the interface index for which the PPP
                       frames will be decoded and displayed according
                       to PPP Trace facility loglevel. When this value
                       is set to 0 none of the interfaces is selected"
              DEFVAL { 0 }
              ::= { usrPPPBase 4 }


          usrPPPBaseOffloading OBJECT-TYPE
              SYNTAX  INTEGER {
                        yes(2),
                        no(1)
                      }
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "Indicates whether PPP framing can be offloaded to
					  the modem card, if modem card is capable of doing it."
              DEFVAL { yes }
              --CONFIGURABLE
              ::= { usrPPPBase 5 }


          usrPPPBaseCCPModemType OBJECT-TYPE
				SYNTAX	INTEGER 
				ACCESS	read-write
				STATUS	mandatory
              DESCRIPTION
                      "Indicates the types of call, for which CCP compression
		       will be enabled in the Gateway card PPP module. Possible
		       values are none(0x1) or all (0x10) or subset of 
			digital(0x2), compressed analog(0x4) and 
			  uncompressed analog (0x8). Default value is digital and
			  uncompressed analog."
              DEFVAL { 20  }
              --CONFIGURABLE
              ::= { usrPPPBase 6 }



          usrPPPBaseNBNSPrimary OBJECT-TYPE
				SYNTAX	IpAddress 
				ACCESS	read-write
				STATUS	mandatory
              DESCRIPTION
                      " Global config for NBNS primary server address. In the
					    absence of user specific NBNS address, this will be send
						in IPCP negotiation"
              DEFVAL { 0  }
              --CONFIGURABLE
              ::= { usrPPPBase 7 }


          usrPPPBaseNBNSSecondary OBJECT-TYPE
				SYNTAX  IpAddress 
				ACCESS	read-write
				STATUS	mandatory
              DESCRIPTION
                      " Global config for NBNS primary server address. In the
					    absence of user specific NBNS address, this will be send
						in IPCP negotiation"
              DEFVAL { 0  }
              --CONFIGURABLE
              ::= { usrPPPBase 8 }


          usrPPPBaseSystemDNSUsage OBJECT-TYPE
                SYNTAX  INTEGER {
                            on(0),
                            off(1)
                          }
                ACCESS  read-write    
                STATUS  mandatory
              DESCRIPTION
                      "In the absence of user confgiured DNS addresses, 
                       PPP will take DNS addresses from the system DNS 
                       table. Use of system DNS table can be controlled by     
                       this switch"
 
              DEFVAL { 0  }
              --CONFIGURABLE
              ::= { usrPPPBase 9 }
 

          --
          -- The PPP Bundle Group.
          --
          -- The following object reflect the values of the option
          -- parameters used over the PPP Bundle
          --   usrPPPBundleInstance
          --   usrPPPBundleOperStatus
          --   usrPPPBundleUserProfile
          --   usrPPPBundleActiveLinks
          --   usrPPPBundleLocalMMRU
          --   usrPPPBundleRemoteMMRU
          --   usrPPPBundleLocalEndptClass
          --   usrPPPBundleLocalEndptLength
          --   usrPPPBundleLocalEndptID
          --   usrPPPBundleRemoteEndptClass
          --   usrPPPBundleRemoteEndptLength
          --   usrPPPBundleRemoteEndptID
          --   usrPPPBundleTxTotalPkts
          --   usrPPPBundleTxCompPkts
          --   usrPPPBundleTxNoncompPkts
          --   usrPPPBundleTxTotalOrigBytes
          --   usrPPPBundleTxTotalLineBytes
          --   usrPPPBundleRxBadHdrs
          --   usrPPPBundleRxTotalPkts
          --   usrPPPBundleRxCompPkts
          --   usrPPPBundleRxNoncompPkts
          --   usrPPPBundleRxTotalOrigBytes
          --   usrPPPBundleRxTotalLineBytes


          usrPPPBundleTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPBundleEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the Bundle parameters and
                         statistics for the local PPP entity."
               ::= { usrPPPMl 1 }


          usrPPPBundleEntry   OBJECT-TYPE
               SYNTAX    UsrPPPBundleEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Status information for the PPP bundle."
               INDEX     { usrPPPBundleInstance }
               ::= { usrPPPBundleTable 1 }


          UsrPPPBundleEntry ::= SEQUENCE {
               usrPPPBundleInstance
                    INTEGER,
               usrPPPBundleOperStatus
                    INTEGER,
               usrPPPBundleUserProfile
                    OCTET STRING,
               usrPPPBundleActiveLinks
                    INTEGER,
               usrPPPBundleLocalMMRU
                    INTEGER,
               usrPPPBundleRemoteMMRU
                    INTEGER,
               usrPPPBundleLocalEndptClass
                    INTEGER,
               usrPPPBundleLocalEndptLength
                    INTEGER,
               usrPPPBundleLocalEndptID
                    OCTET STRING,
               usrPPPBundleRemoteEndptClass
                    INTEGER,
               usrPPPBundleRemoteEndptLength
                    INTEGER,
               usrPPPBundleRemoteEndptID
                    OCTET STRING,
               usrPPPBundleTxTotalPkts
                    Counter,
               usrPPPBundleTxCompPkts
                    Counter,
               usrPPPBundleTxNonCompPkts
                    Counter,
               usrPPPBundleTxTotalOrigBytes
                    Counter,
               usrPPPBundleTxTotalLineBytes
                    Counter,
               usrPPPBundleRxBadHeaders
                    Counter,
               usrPPPBundleRxTotalPkts
                    Counter,
               usrPPPBundleRxCompPkts
                    Counter,
               usrPPPBundleRxNonCompPkts
                    Counter,
               usrPPPBundleRxTotalOrigBytes
                    Counter,
               usrPPPBundleRxTotalLineBytes
                    Counter
          }


          usrPPPBundleInstance   OBJECT-TYPE
               SYNTAX    INTEGER
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The unique identifier of the instance of PPP
                         bundle to which this entry corresponds."
               ::= { usrPPPBundleEntry 1 }


          usrPPPBundleOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the IP network
                         protocol. If the value of this object is up
                         then the finite state machine for the IP
                         network protocol has reached the Opened state."
               ::= { usrPPPBundleEntry 2 }


          usrPPPBundleUserProfile   OBJECT-TYPE
               SYNTAX    OCTET STRING
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The name of the User Profile that is being used
                         to contain the characteristics for this session.
                         The value of this object is meaningful only when
                         the link has reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 3 }


          usrPPPBundleActiveLinks   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current number of links active for this
                         bundle. This count will be incremented when the
                         authentication control protocol for a new link
                         has reached the open state (usrPPPAuthOperStatus
                         is up). This count will be decremented when the
                         link is in a state where it can no longer pass
                         any application data packets."
               ::= { usrPPPBundleEntry 4 }


          usrPPPBundleLocalMMRU   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the MMRU for the local PPP
                         Entity. This value is the MMRU that the remote
                         entity is using when sending packets to the
                         local PPP entity. The value of this object is
                         meaningful only when the link has reached the
                         open state (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 5 }


          usrPPPBundleRemoteMMRU   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the MMRU for the remote
                         PPP Entity. This value is the MMRU that the
                         local entity is using when sending packets to
                         the remote PPP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 6 }


          usrPPPBundleLocalEndptClass   OBJECT-TYPE
               SYNTAX    INTEGER {
                         nullClass(1),
                         locallyAssignedAddress(2),
                         ipAddress(3),
                         ieeeMacAddress(4),
                         pppMagicNumberBlock(5),
                         networkDirNumber(6)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the local Endpoint
                         Descriminator Class. This value indicates the type
                         of address being used as the identifier. The value
                         of this object is meaningful only when the link has
                         reached the open state (usrPPPBundleOperStatus is
                         up)."
               ::= { usrPPPBundleEntry 7 }


          usrPPPBundleLocalEndptLength   OBJECT-TYPE
               SYNTAX    INTEGER(0..20)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The maximum length of the local Endpoint
                         Descriminator Address. The value of this object is
                         meaningful only when the link has reached the open
                         state (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 8 }


          usrPPPBundleLocalEndptID   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE(20))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of the local Endpoint Descriminator
                         Address. The value of this object is meaningful
                         only when the link has reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 9 }


          usrPPPBundleRemoteEndptClass   OBJECT-TYPE
               SYNTAX    INTEGER {
                         nullClass(1),
                         locallyAssignedAddress(2),
                         ipAddress(3),
                         ieeeMacAddress(4),
                         pppMagicNumberBlock(5),
                         networkDirNumber(6)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the remote Endpoint
                         Descriminator Class. This value indicates the type
                         of address being used as the identifier. The value
                         of this object is meaningful only when the link has
                         reached the open state (usrPPPBundleOperStatus is
                         up)."
               ::= { usrPPPBundleEntry 10 }


          usrPPPBundleRemoteEndptLength   OBJECT-TYPE
               SYNTAX    INTEGER(0..20)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The maximum length of the remote Endpoint
                         Descriminator Address. The value of this object is
                         meaningful only when the link has reached the open
                         state (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 11 }


          usrPPPBundleRemoteEndptID   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE(20))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of the remote Endpoint Descriminator
                         Address. The value of this object is meaningful
                         only when the link has reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 12 }


          usrPPPBundleTxTotalPkts   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of packets received from an upper
                         layer application for transmission over this bundle.
                         The value of this object is meaningful only when the
                         link has reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 13 }


          usrPPPBundleTxCompPkts   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of packets received from an upper
                         layer application for transmission over this bundle
                         that were compressed by the PPP application before
                         handing the packet (or fragments) down to the lower
                         layer application. The value of this object is
                         meaningful only when the link has reached the open
                         state (usrPPPBundleOperStatus is up). Note that this
                         counter only represents packets that were compressed
                         over the BUNDLE (not links). If compression occurred
                         after the packet was fragmented (multilink), those
                         counters can be found at the link level."
               ::= { usrPPPBundleEntry 14 }


          usrPPPBundleTxNonCompPkts   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of packets received from an upper
                         layer application for transmission over this bundle
                         that were NOT compressed by the PPP application before
                         handing the packet (or fragments) down to the lower
                         layer application. The value of this object is
                         meaningful only when the link has reached the open
                         state (usrPPPBundleOperStatus is up). Note that this
                         counter only represents packets that were candidates
                         for compression over the BUNDLE (not links). If
                         link compression was enabled (multilink), the non-
                         compressed packet counters can be found at the link
                         level."
               ::= { usrPPPBundleEntry 15 }


          usrPPPBundleTxTotalOrigBytes   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of bytes received from an upper
                         layer application for transmission over this bundle.
                         This counter represents all data handed down to the
                         PPP application BEFORE compression takes place.
                         The value of this object is meaningful only when the
                         link has reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 16 }


          usrPPPBundleTxTotalLineBytes   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of bytes that sent to a lower layer
                         application for transmission over this bundle.  This
                         counter represents all data to be handed down to
                         the lower layer application AFTER compression takes
                         place. The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 17 }


          usrPPPBundleRxBadHeaders   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The number of packets received with an
                         incorrect PPP Header (Address, Control,
                         or PID Field)."
               ::= { usrPPPBundleEntry 18 }


          usrPPPBundleRxTotalPkts   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of packets received from a lower
                         layer application over this bundle. The value of
                         this object is meaningful only when the link has
                         reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 19 }


          usrPPPBundleRxCompPkts   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of packets received from a lower
                         layer application over this bundle that were
                         decompressed by the PPP application before handing
                         the packet to the upper layer application. The value
                         of this object is meaningful only when the link has
                         reached the open state (usrPPPBundleOperStatus is up).
                         Note that this counter only represents packets that
                         were decompressed over the BUNDLE (not links). If
                         decompression occurred before the packet was
                         reassembled (multilink), those counters can be found
                         at the link level."
               ::= { usrPPPBundleEntry 20 }


          usrPPPBundleRxNonCompPkts   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of packets received from a lower
                         layer application over this bundle that were NOT
                         decompressed by the PPP application before
                         handing the packet to the upper layer application.
                         The value of this object is meaningful only when
                         the link has reached the open state
                         (usrPPPBundleOperStatus is up). Note that this
                         counter only represents packets that were candidates
                         for decompression over the BUNDLE (not links). If
                         link (de)compression was enabled (multilink), the non-
                         compressed frame counters can be found at the link
                         level."
               ::= { usrPPPBundleEntry 21 }


          usrPPPBundleRxTotalOrigBytes   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of bytes that are to be handed up
                         to an upper layer application over this bundle. This
                         counter represents all data to be handed up AFTER
                         decompression and reassembly takes place. The value
                         of this object is meaningful only when the link has
                         reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 22 }


          usrPPPBundleRxTotalLineBytes   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of bytes received from a lower
                         layer application over this bundle.  This
                         counter represents all data received BEFORE
                         decompression or reassembly takes place. The value
                         of this object is meaningful only when the link has
                         reached the open state
                         (usrPPPBundleOperStatus is up)."
               ::= { usrPPPBundleEntry 23 }


          --
          -- The PPP IP NCP Group.
          --
          -- The following object reflect the values of the option
          -- parameters used in the PPP IP Control Protocol
          --   usrPPPIpLocalToRemoteCompressionProtocol
          --   usrPPPIpRemoteToLocalCompressionProtocol
          --   usrPPPIpRemoteMaxSlotId
          --   usrPPPIpLocalMaxSlotId
          --   usrPPPIpLocalIpAddress
          --   usrPPPIpRemoteIpAddress
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., usrPPPIpOperStatus is set to
          -- opened).
          --
          -- Therefore, when usrPPPIpOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          usrPPPIpTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPIpEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the IP parameters and
                         statistics for the local PPP entity."
               ::= { usrPPPMl 2 }


          usrPPPIpEntry   OBJECT-TYPE
               SYNTAX    UsrPPPIpEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "IPCP status information for the PPP bundle."
               INDEX     { usrPPPBundleInstance }
               ::= { usrPPPIpTable 1 }


          UsrPPPIpEntry ::= SEQUENCE {
               usrPPPIpOperStatus
                    INTEGER,
               usrPPPIpLocalToRemoteCompressionProtocol
                    INTEGER,
               usrPPPIpRemoteToLocalCompressionProtocol
                    INTEGER,
               usrPPPIpRemoteMaxSlotId
                    INTEGER,
               usrPPPIpLocalMaxSlotId
                    INTEGER,
               usrPPPIpLocalIpAddress
                    IpAddress,
               usrPPPIpRemoteIpAddress
                    IpAddress
          }


          usrPPPIpOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the IP network
                         protocol. If the value of this object is up
                         then the finite state machine for the IP
                         network protocol has reached the Opened state."
               ::= { usrPPPIpEntry 1 }


          usrPPPIpLocalToRemoteCompressionProtocol   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         vj-tcp(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP compression protocol that the local
                         PPP-IP entity uses when sending packets to the
                         remote PPP-IP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPIpOperStatus is opened)."
               ::= { usrPPPIpEntry 2 }


          usrPPPIpRemoteToLocalCompressionProtocol   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         vj-tcp(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP compression protocol that the remote
                         PPP-IP entity uses when sending packets to the
                         local PPP-IP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPIpOperStatus is opened)."
               ::= { usrPPPIpEntry 3 }


          usrPPPIpRemoteMaxSlotId   OBJECT-TYPE
               SYNTAX    INTEGER(0..255)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The Max-Slot-Id parameter that the remote node
                         has advertised and that is in use on the link.
                         If vj-tcp header compression is not in use on
                         the link then the value of this object shall be
                         0. The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPIpOperStatus is opened)."
               ::= { usrPPPIpEntry 4 }


          usrPPPIpLocalMaxSlotId   OBJECT-TYPE
               SYNTAX    INTEGER(0..255)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The Max-Slot-Id parameter that the local node
                         has advertised and that is in use on the link.
                         If vj-tcp header compression is not in use on
                         the link then the value of this object shall be
                         0. The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPIpOperStatus is opened)."
               ::= { usrPPPIpEntry 5 }


          usrPPPIpLocalIpAddress    OBJECT-TYPE
               SYNTAX    IpAddress
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP Address that the local node was either
                         configured for or assigned by the remote node.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPIpOperStatus is opened)."
               ::= { usrPPPIpEntry 6 }


          usrPPPIpRemoteIpAddress    OBJECT-TYPE
               SYNTAX    IpAddress
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP Address that the remote node supplied
                         to the local node during link negotiation.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPIpOperStatus is opened)."
               ::= { usrPPPIpEntry 7 }


          --
          -- The PPP IPX NCP Group.
          --
          -- The following object reflect the values of the option
          -- parameters used in the PPP IPX Control Protocol
          --   usrPPPIpxLocalIpxNetAddress
          --   usrPPPIpxRemoteIpxNetAddress
          --   usrPPPIpxLocalIpxNodeAddress
          --   usrPPPIpxRemoteIpxNodeAddress
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., usrPPPIpxOperStatus is set to
          -- opened).
          --
          -- Therefore, when usrPPPIpxOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          usrPPPIpxTable  OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPIpxEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the IPX parameters and
                         statistics for the local PPP entity."
               ::= { usrPPPMl 3 }


          usrPPPIpxEntry  OBJECT-TYPE
               SYNTAX    UsrPPPIpxEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "IPXCP status information for the PPP bundle."
               INDEX     { usrPPPBundleInstance }
               ::= { usrPPPIpxTable 1 }


          UsrPPPIpxEntry ::= SEQUENCE {
               usrPPPIpxOperStatus
                    INTEGER,
               usrPPPIpxLocalIpxNetAddress
                    IpxAddress,
               usrPPPIpxRemoteIpxNetAddress
                    IpxAddress,
               usrPPPIpxLocalIpxNodeAddress
                    MacAddress,
               usrPPPIpxRemoteIpxNodeAddress
                    MacAddress
          }


          usrPPPIpxOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the IPX network
                         protocol. If the value of this object is up
                         then the finite state machine for the IPX
                         network protocol has reached the Opened state."
               ::= { usrPPPIpxEntry 1 }


          usrPPPIpxLocalIpxNetAddress    OBJECT-TYPE
               SYNTAX    IpxAddress
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IPX Network Address that the local node was
                         either configured for or assigned by the remote
                         node. The value of this object is meaningful
                         only when the link has reached the open state
                         (usrPPPIpxOperStatus is opened)."
               ::= { usrPPPIpxEntry 2 }


          usrPPPIpxRemoteIpxNetAddress    OBJECT-TYPE
               SYNTAX    IpxAddress
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IPX Network Address that the remote node
                         supplied to the local node during link negotiation.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPIpxOperStatus is opened)."
               ::= { usrPPPIpxEntry 3 }


          usrPPPIpxLocalIpxNodeAddress    OBJECT-TYPE
               SYNTAX    MacAddress
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IPX Node Address that the local node was
                         either configured for or assigned by the remote
                         node. The value of this object is meaningful
                         only when the link has reached the open state
                         (usrPPPIpxOperStatus is opened)."
               ::= { usrPPPIpxEntry 4 }


          usrPPPIpxRemoteIpxNodeAddress    OBJECT-TYPE
               SYNTAX    MacAddress
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IPX Node Address that the remote node
                         supplied to the local node during link negotiation.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPIpxOperStatus is opened)."
               ::= { usrPPPIpxEntry 5 }


          --
          -- The PPP AppleTalk NCP Group.
          --
          -- The following object reflect the values of the option
          -- parameters used in the PPP AppleTalk Control Protocol
          --   usrPPPAtLocalAtNetAddress
          --   usrPPPAtRemoteAtNetAddress
          --   usrPPPAtLocalAtNodeAddress
          --   usrPPPAtRemoteAtNodeAddress
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., usrPPPAtOperStatus is set to
          -- opened).
          --
          -- Therefore, when usrPPPAtOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          usrPPPAtTable  OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPAtEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the AppleTalk parameters and
                         statistics for the local PPP entity."
               ::= { usrPPPMl 4 }


          usrPPPAtEntry  OBJECT-TYPE
               SYNTAX    UsrPPPAtEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "ATCP status information for the PPP bundle."
               INDEX     { usrPPPBundleInstance }
               ::= { usrPPPAtTable 1 }


          UsrPPPAtEntry ::= SEQUENCE {
               usrPPPAtOperStatus
                    INTEGER,
               usrPPPAtLocalAtNetAddress
                    INTEGER,
               usrPPPAtRemoteAtNetAddress
                    INTEGER,
               usrPPPAtLocalAtNodeAddress
                    INTEGER,
               usrPPPAtRemoteAtNodeAddress
                    INTEGER
          }


          usrPPPAtOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the AppleTalk network
                         protocol. If the value of this object is up
                         then the finite state machine for the AppleTalk
                         network protocol has reached the Opened state."
               ::= { usrPPPAtEntry 1 }


          usrPPPAtLocalAtNetAddress    OBJECT-TYPE
               SYNTAX    INTEGER
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The AppleTalk Network Address that the local node
                         was either configured for or assigned by the remote
                         node. The value of this object is meaningful
                         only when the link has reached the open state
                         (usrPPPAtOperStatus is opened)."
               ::= { usrPPPAtEntry 2 }


          usrPPPAtRemoteAtNetAddress    OBJECT-TYPE
               SYNTAX    INTEGER
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The AppleTalk Network Address that the remote node
                         supplied to the local node during link negotiation.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPAtOperStatus is opened)."
               ::= { usrPPPAtEntry 3 }


          usrPPPAtLocalAtNodeAddress    OBJECT-TYPE
               SYNTAX    INTEGER
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The AppleTalk Node Address that the local node was
                         either configured for or assigned by the remote
                         node. The value of this object is meaningful
                         only when the link has reached the open state
                         (usrPPPAtOperStatus is opened)."
               ::= { usrPPPAtEntry 4 }


          usrPPPAtRemoteAtNodeAddress    OBJECT-TYPE
               SYNTAX    INTEGER
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The AppleTalk Node Address that the remote node
                         supplied to the local node during link negotiation.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPAtOperStatus is opened)."
               ::= { usrPPPAtEntry 5 }


          --
          -- The PPP Bridge NCP Group.
          --
          -- The following object reflect the values of the option
          -- parameters used in the PPP Link Control Protocol
          --   usrPPPBridgeLocalToRemoteTinygramCompression
          --   usrPPPBridgeRemoteToLocalTinygramCompression
          --   usrPPPBridgeLocalToRemoteLanId
          --   usrPPPBridgeRemoteToLocalLanId
          --   usrPPPBridgeMacType
          --
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e. usrPPPBridgeOperStatus is set to
          -- opened).
          --
          -- Therefore, when usrPPPBridgeOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          usrPPPBridgeTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPBridgeEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the parameters and statistics
                         for the local PPP entity that are related to
                         the operation of Bridging over the PPP."
               ::= { usrPPPMl 5 }


          usrPPPBridgeEntry   OBJECT-TYPE
               SYNTAX    UsrPPPBridgeEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Bridging information for a particular PPP
                         link."
               INDEX     { usrPPPBundleInstance }
               ::= { usrPPPBridgeTable 1 }


          UsrPPPBridgeEntry ::= SEQUENCE {
               usrPPPBridgeOperStatus
                    INTEGER,
               usrPPPBridgeLocalToRemoteTinygramCompression
                    INTEGER,
               usrPPPBridgeRemoteToLocalTinygramCompression
                    INTEGER,
               usrPPPBridgeLocalToRemoteLanId
                    INTEGER,
               usrPPPBridgeRemoteToLocalLanId
                    INTEGER,
               usrPPPBridgeMacType
                    INTEGER
          }


          usrPPPBridgeOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the Bridge network
                         protocol. If the value of this object is up
                         then the finite state machine for the Bridge
                         network protocol has reached the Opened state."
               ::= { usrPPPBridgeEntry 1 }


          usrPPPBridgeLocalToRemoteTinygramCompression   OBJECT-TYPE
               SYNTAX    INTEGER { true(1), false(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local node will perform
                         Tinygram Compression when sending packets to
                         the remote entity. If false then the local
                         entity will not perform Tinygram Compression.
                         If true then the local entity will perform
                         Tinygram Compression. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPBridgeOperStatus is
                         opened)."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               ::= { usrPPPBridgeEntry 2 }


          usrPPPBridgeRemoteToLocalTinygramCompression   OBJECT-TYPE
               SYNTAX    INTEGER { true(1), false(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false then the remote entity is not
                         expected to perform Tinygram Compression. If
                         true then the remote entity is expected to
                         perform Tinygram Compression. The value of this
                         object is meaningful only when the link has
                         reached the open state (usrPPPBridgeOperStatus is
                         opened)."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               ::= { usrPPPBridgeEntry 3 }

          usrPPPBridgeLocalToRemoteLanId   OBJECT-TYPE
               SYNTAX    INTEGER { true(1), false(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local node will include
                         the LAN Identification field in transmitted
                         packets or not. If false then the local node
                         will not transmit this field, true means
                         that the field will be transmitted. The value
                         of this object is meaningful only when the link
                         has reached the open state (usrPPPBridgeOperStatus
                         is opened)."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               ::= { usrPPPBridgeEntry 4 }


          usrPPPBridgeRemoteToLocalLanId   OBJECT-TYPE
               SYNTAX    INTEGER { true(1), false(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote node has
                         indicated that it will include the LAN
                         Identification field in transmitted packets or
                         not. If false then the field will not be
                         transmitted, if true then the field will be
                         transmitted. The value of this object is
                         meaningful only when the link has reached the
                         open state (usrPPPBridgeOperStatus is opened)."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               ::= { usrPPPBridgeEntry 5 }


          usrPPPBridgeMacType   OBJECT-TYPE
               SYNTAX    INTEGER { ieee8023-ethernet(1), ieee8025(3) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates which MAC framing type the local node
                         will accept and process properly. The value of
                         this object is meaningful only when the link has
                         reached the open state (usrPPPBridgeOperStatus
                         is opened)."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { usrPPPBridgeEntry 6 }


          --
          -- The PPP Compression CP Group.
          --
          -- The following object reflect the values of the option
          -- parameters used in the PPP Compression Control Protocol
          --   usrPPPCompOperStatus
          --   usrPPPCompAlgorithm
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., usrPPPCompOperStatus is set to
          -- opened).
          --
          -- Therefore, when usrPPPCompOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          usrPPPCompTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPCompEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the Compression parameters and
                         statistics for the local PPP entity."
               ::= { usrPPPMl 6 }


          usrPPPCompEntry   OBJECT-TYPE
               SYNTAX    UsrPPPCompEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "CCP status information for the PPP bundle."
               INDEX     { usrPPPBundleInstance }
               ::= { usrPPPCompTable 1 }


          UsrPPPCompEntry ::= SEQUENCE {
               usrPPPCompOperStatus
                    INTEGER,
               usrPPPCompAlgorithm
                    INTEGER
          }


          usrPPPCompOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2), paused(3)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the Compression control
                         protocol. If the value of this object is up
                         then the finite state machine for the Compression
                         control protocol has reached the Opened state."
               ::= { usrPPPCompEntry 1 }


          usrPPPCompAlgorithm   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         microsoft(2),
                         ascend(3),
                         stac(4),
                         auto(5)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The compression protocol that the local
                         PPP entity uses when sending packets to the
                         remote PPP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPCompOperStatus is opened)."
               ::= { usrPPPCompEntry 2 }

END


--
--    usr_ppplink.mib - The USR PPP Link MIB module
--
--
-- Author:         <Joe Kralowetz>
--
-- $Id: usr_ppplink.mib,v 1.4.16.1 1997/09/05 15:09:35 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-PPPLINK-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               Counter
                    FROM RFC1155-SMI
               OBJECT-TYPE
                    FROM RFC-1212
               usrPPP
                    FROM USR-DEFINITIONS-MIB
               usrPPPBundleInstance
                    FROM USR-PPPML-MIB;

          usrPPPLk OBJECT IDENTIFIER ::= { usrPPP 3 }


          --
          -- The PPP Link Group.
          --
          -- The following objects reflect the values of the option
          -- parameters used over the PPP Link
          --   usrPPPLinkInstance
          --   usrPPPLinkOperStatus
          --   usrPPPLinkPhysicalIndex
          --   usrPPPLinkLocalMRU
          --   usrPPPLinkRemoteMRU
          --   usrPPPLinkLocalToPeerACCMap
          --   usrPPPLinkPeerToLocalACCMap
          --   usrPPPLinkLocalToRemoteProtocolCompression
          --   usrPPPLinkRemoteToLocalProtocolCompression
          --   usrPPPLinkLocalToRemoteACCompression
          --   usrPPPLinkRemoteToLocalACCompression
          --   usrPPPLinkTxTotalFrames
          --   usrPPPLinkTxTotalBytes
          --   usrPPPLinkRxPacketTooLongs
          --   usrPPPLinkRxTotalFrames
          --   usrPPPLinkRxTotalBytes
          --
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., ifOperStatus is set to
          -- up).
          --
          -- Therefore, when ifOperStatus is not up
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          usrPPPLinkTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPLinkEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the Link parameters and
                         statistics for a local PPP entity."
               ::= { usrPPPLk 1 }


          usrPPPLinkEntry   OBJECT-TYPE
               SYNTAX    UsrPPPLinkEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Status information for a PPP link."
               INDEX     { usrPPPBundleInstance, usrPPPLinkInstance }
               ::= { usrPPPLinkTable 1 }


          UsrPPPLinkEntry ::= SEQUENCE {
               usrPPPLinkInstance
                    INTEGER,
               usrPPPLinkOperStatus
                    INTEGER,
               usrPPPLinkPhysicalIndex
                    INTEGER,
               usrPPPLinkInterfaceName
                    OCTET STRING,
               usrPPPLinkLocalMRU
                    INTEGER,
               usrPPPLinkRemoteMRU
                    INTEGER,
               usrPPPLinkLocalToPeerACCMap
                    OCTET STRING,
               usrPPPLinkPeerToLocalACCMap
                    OCTET STRING,
               usrPPPLinkLocalToRemoteProtocolCompression
                    INTEGER,
               usrPPPLinkRemoteToLocalProtocolCompression
                    INTEGER,
               usrPPPLinkLocalToRemoteACCompression
                    INTEGER,
               usrPPPLinkRemoteToLocalACCompression
                    INTEGER,
               usrPPPLinkTxTotalFrames
                    Counter,
               usrPPPLinkTxTotalBytes
                    Counter,
               usrPPPLinkRxPacketTooLongs
                    Counter,
               usrPPPLinkRxTotalFrames
                    Counter,
               usrPPPLinkRxTotalBytes
                    Counter
          }


          usrPPPLinkInstance   OBJECT-TYPE
               SYNTAX    INTEGER
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The unique identifier of the instance of PPP
                         link to which this entry corresponds."
               ::= { usrPPPLinkEntry 1 }


          usrPPPLinkOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the Link control
                         protocol. If the value of this object is up
                         then the finite state machine for the Link
                         control protocol has reached the Opened state."
               ::= { usrPPPLinkEntry 2 }


          usrPPPLinkPhysicalIndex   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of ifIndex that identifies the
                         lower-level interface over which this PPP Link
                         is operating. This interface would usually be
                         an HDLC or RS-232 type of interface. If there
                         is no lower-layer interface element, or there
                         is no ifEntry for the element, or the element
                         can not be identified, then the value of this
                         object is 0."
               ::= { usrPPPLinkEntry 3 }


          usrPPPLinkInterfaceName   OBJECT-TYPE
               SYNTAX    OCTET STRING
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of the Name that identifies the
                         lower-level interface over which this PPP Link
                         is operating. This interface would usually be
                         an HDLC or RS-232 type of interface. If there
                         is no lower-layer interface element, or there
                         is no ifEntry for the element, or the element
                         can not be identified, then the value of this
                         object is 0."
               ::= { usrPPPLinkEntry 4 }

          usrPPPLinkLocalMRU   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the MRU for the local PPP
                         Entity. This value is the MRU that the remote
                         entity is using when sending packets to the
                         local PPP entity. The value of this object is
                         meaningful only when the link has reached the
                         open state (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 5 }


          usrPPPLinkRemoteMRU   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the MRU for the remote
                         PPP Entity. This value is the MRU that the
                         local entity is using when sending packets to
                         the remote PPP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 6 }


          usrPPPLinkLocalToPeerACCMap   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE (4))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the ACC Map used for
                         sending packets from the local PPP entity to
                         the remote PPP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 7 }


          usrPPPLinkPeerToLocalACCMap   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE (4))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The ACC Map used by the remote PPP entity when
                         transmitting packets to the local PPP entity.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 8 }


          usrPPPLinkLocalToRemoteProtocolCompression
               OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP entity will
                         use Protocol Compression when transmitting
                         packets to the remote PPP entity. The value of
                         this object is meaningful only when the link
                         has reached the open state (usrPPPLinkOperStatus
                         is up)."
               ::= { usrPPPLinkEntry 9 }


          usrPPPLinkRemoteToLocalProtocolCompression
               OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote PPP entity will
                         use Protocol Compression when transmitting
                         packets to the local PPP entity. The value of
                         this object is meaningful only when the link
                         has reached the open state (usrPPPLinkOperStatus
                         is up)."
               ::= { usrPPPLinkEntry 10 }


          usrPPPLinkLocalToRemoteACCompression   OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP entity will
                         use Address and Control Compression when
                         transmitting packets to the remote PPP entity.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 11 }


          usrPPPLinkRemoteToLocalACCompression   OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote PPP entity will
                         use Address and Control Compression when
                         transmitting packets to the local PPP entity.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 12 }


          usrPPPLinkTxTotalFrames   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of frames received from the PPP
                         application for transmission over this link.
                         The value of this object is meaningful only when the
                         link has reached the open state
                         (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 13 }


          usrPPPLinkTxTotalBytes   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of bytes received from the PPP
                         application for transmission over this link. The
                         value of this object is meaningful only when the
                         link has reached the open state
                         (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 14 }


          usrPPPLinkRxPacketTooLongs   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The number of received packets that have been
                         discarded because their length exceeded the
                         MRU. NOTE, packets which are longer than the
                         MRU but which are successfully received and
                         processed are NOT included in this count."
               ::= { usrPPPLinkEntry 15 }


          usrPPPLinkRxTotalFrames   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of frames received from a lower
                         layer application over this link. The value of
                         this object is meaningful only when the link has
                         reached the open state (usrPPPLinkOperStatus is up)."
               ::= { usrPPPLinkEntry 16 }


          usrPPPLinkRxTotalBytes   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The total number of bytes received from a lower
                         layer application over this link. The value of
                         this object is meaningful only when the link has
                         reached the open state (usrPPPLinkOperStatus is
                         up)."
               ::= { usrPPPLinkEntry 17 }


          --
          -- The PPP Authentication Group.
          --
          -- The following objects reflect the values of the option
          -- parameters used in the PPP Authenticaion Control Protocol
          --   usrPPPAuthOperStatus
          --   usrPPPAuthLclToRemProtocol
          --   usrPPPAuthRemToLclProtocol


          usrPPPAuthTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF UsrPPPAuthEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the Authentication status
                         information for a local PPP entity."
               ::= { usrPPPLk 2 }


          usrPPPAuthEntry   OBJECT-TYPE
               SYNTAX    UsrPPPAuthEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Authentication status information for a PPP link."
               INDEX     { usrPPPBundleInstance, usrPPPLinkInstance }
               ::= { usrPPPAuthTable 1 }


          UsrPPPAuthEntry ::= SEQUENCE {
               usrPPPAuthOperStatus
                    INTEGER,
               usrPPPAuthLclToRemProtocol
                    INTEGER,
               usrPPPAuthRemToLclProtocol
                    INTEGER
          }


          usrPPPAuthOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {
                         opened(1),
                         not-opened(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the Authentication control
                         protocol. If the value of this object is up
                         then the finite state machine for the Authentication
                         control protocol has reached the Opened state."
               ::= { usrPPPAuthEntry 1 }


          usrPPPAuthLclToRemProtocol OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         chapMD5(2),
                         chapMD4(3),
                         pap(4)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "This is the authentication protocol that was used
                         by the local PPP entity when it authenticated the
                         local PPP entity to the remote PPP entity. The
                         value of this object is meaningful only when the
                         authentication has reached the open state
                         (usrPPPAuthOperStatus is up)."
               ::= { usrPPPAuthEntry 2 }


          usrPPPAuthRemToLclProtocol OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         chapMD5(2),
                         chapMD4(3),
                         pap(4)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "This is the authentication protocol that was used
                         by the remote PPP entity when it authenticated the
                         remote PPP entity to the local PPP entity. The
                         value of this object is meaningful only when the
                         authentication has reached the open state
                         (usrPPPAuthOperStatus is up)."
               ::= { usrPPPAuthEntry 3 }

END

--
--	usr_ip.mib
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_ip.mib,v 1.29.2.2 1997/09/12 12:49:31 lmorrison Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-IP-MIB DEFINITIONS ::= BEGIN

	IMPORTS
	     Counter, IpAddress
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
		TruthValue
			   FROM SNMPv2-TC
          DisplayString, usrIp, UsrConfigStatus, UsrNetLogicalId
                  FROM USR-DEFINITIONS-MIB;


   -- Begin managed object definitions here...

usrIpVersion OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"The current software version of the IP Forwarder."
::= { usrIp 1 }

usrIpCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"This variable controls saving and loading of configuration
           information for the IP Module. The value can 
           be set to either save or load by a management station. The other
           values indicate if any configuration operation and what type
           is in progress."
::= { usrIp 2 }

usrIpCfgFileName OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION		
		"The name of a ConfigFile to read/write  permanent database records.
		 If the value of this object is an empty string, then the
		 IP module uses the default name `@file://IPModule.cfg'. "
::= { usrIp 3 }


usrIpNetworkTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrIpNetworkEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The (conceptual) table of IP Networks. The objects in this table
		 are esstentially read/write versions of the ipAddrTable in MIB-2.
		 These objects are defined as read/write so that they can be configured
		 by a Network Manager at the time an IP Network is added to the Netserver
		 configuration. Any attempt to modify these parameters when the network
		 is in an active state will fail."
::= { usrIp 4 }

usrIpNetworkEntry OBJECT-TYPE
	SYNTAX UsrIpNetworkEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A (conceptual) entry for one IP Network."
	INDEX { usrIpNetId }
::= { usrIpNetworkTable 1 }

UsrIpNetworkEntry ::= SEQUENCE {
	usrIpNetId					UsrNetLogicalId,
	usrIpNetAddr					IpAddress,
	usrIpNetMask					IpAddress,
	usrIpNetBcastAddr				INTEGER,
	usrIpNetReasmMaxSize			INTEGER,
	usrIpNetRoutingProtocol			INTEGER,
	usrIpNetSendDefaultRoutePolicy 	INTEGER,
	usrIpNetSendRoutesPolicy 		INTEGER,
	usrIpNetSendSubnetsOnlyPolicy 	INTEGER,
	usrIpNetAcceptDefaultRoutePolicy 	INTEGER,
	usrIpNetSilentPolicy 			INTEGER,
	usrIpNetSplitHorizonPolicy 		INTEGER,
	usrIpNetPoisonReversePolicy 		INTEGER,
	usrIpNetFlashUpdatePolicy 		INTEGER,
	usrIpNetSimpleAuthenPolicy		INTEGER,
	usrIpNetSendRipV1CompatPolicy 	INTEGER,
	usrIpNetRcvRipV1Policy	 		INTEGER,
	usrIpNetRcvRipV2Policy	 		INTEGER,
	usrIpNetRip2AuthKey  			OCTET STRING,
	usrIpNetReconfigNeeded             TruthValue
	}

usrIpNetId OBJECT-TYPE
	SYNTAX		UsrNetLogicalId
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"The logical identifier of the IP Network. This is the value
		 of the usrCfgNetLogicalId object in the usrCfgNetworkTable.
		 The IP forwarder returns this identidier to the Configuration
		 process in the FWD_ADD_NETWORK_RSP message. It allows management
		 applications to correlate Network Table entries with protocol
		 specific table entries."
::= { usrIpNetworkEntry 1 }

usrIpNetAddr OBJECT-TYPE
	SYNTAX  IpAddress
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
		"The IP address this network has assigned to the
		 local interface."
::= { usrIpNetworkEntry 2 }

usrIpNetMask OBJECT-TYPE
     SYNTAX  IpAddress
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
		"The subnet mask associated with the IP address of
           this entry.  The value of the mask is an IP
           address with all the network bits set to 1 and all
           the hosts bits set to 0."
::= { usrIpNetworkEntry 3 }

usrIpNetBcastAddr OBJECT-TYPE
     SYNTAX  INTEGER (0..1)
     ACCESS  read-write
	STATUS  mandatory
     DESCRIPTION
          "The value of the least-significant bit in the IP
           broadcast address used for sending datagrams on
           the (logical) interface associated with the IP
           address of this entry.  For example, when the
           Internet standard all-ones broadcast address is
           used, the value will be 1.  This value applies to
           both the subnet and network broadcasts addresses
           used by the entity on this (logical) interface."
::= { usrIpNetworkEntry 4 }

usrIpNetReasmMaxSize OBJECT-TYPE
     SYNTAX  INTEGER (0..65535)
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
		"The size of the largest IP datagram which this
           entity can re-assemble from incoming IP fragmented
           datagrams received on this interface."
::= { usrIpNetworkEntry 5 }

usrIpNetRoutingProtocol OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			ripv1(1),
			ripv2(2)
		}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The routing protocol to be operated on this IP network."
::= { usrIpNetworkEntry 6 }

usrIpNetSendDefaultRoutePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send default route RIP policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 7 }

	
usrIpNetSendRoutesPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send routes RIP policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 8 }

usrIpNetSendSubnetsOnlyPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send subnets only RIP policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 9 }

usrIpNetAcceptDefaultRoutePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the accept default route RIP policy.
		 This policy is disabled by default."
::= { usrIpNetworkEntry 10 }

usrIpNetSilentPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the silent policy.
		 This policy is disabled by default."
::= { usrIpNetworkEntry 11 }

usrIpNetSplitHorizonPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the split horizon RIP policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 12 }

usrIpNetPoisonReversePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the poison reverse RIP policy.
	 	 This policy is enabled by default."
::= { usrIpNetworkEntry 13 }

usrIpNetFlashUpdatePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the flash update RIP policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 14 }

usrIpNetSimpleAuthenPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the simple authentication RIP policy.
		 This policy is valid for RIPV2 only and is enabled by default when
		 RIPV2 is selected as the routing protocol."
::= { usrIpNetworkEntry 15 }

usrIpNetSendRipV1CompatPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send RipV1 compatible policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 16 }

usrIpNetRcvRipV1Policy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the receive RipV1 policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 17 }

usrIpNetRcvRipV2Policy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the receive RipV2 policy.
		 This policy is enabled by default."
::= { usrIpNetworkEntry 18 }

usrIpNetRip2AuthKey OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..16))
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"this variable defines the authentication key for ip rip2.  when
		 this varialbe is set, by default, the authentication type is also
		 set to simple."
::= { usrIpNetworkEntry 19 }

usrIpNetReconfigNeeded  OBJECT-TYPE
       SYNTAX      TruthValue
	  ACCESS      read-only
       STATUS      mandatory
       DESCRIPTION
               "This object has a value of TRUE by default. If any other
			 object in the usrIpNetworkTable has been changed since the
			 network was enabled, the value of this object becomes TRUE.

			 All object values in this table only take effect when
			 the network is enabled. This object is meant to notify 
			 the system administrator that at least one network parameter
			 has been modified and the network should be reinitialized
			 in order for the new parameter values to take effect.

			 The network can be automatically reconfigured by setting
			 the network state to 'reconfigure' in the usrCfgNetStatus
			 object of the usrCfgNetworkTable."
::= { usrIpNetworkEntry 20 }

usrIpAddressPoolSize	OBJECT-TYPE
	SYNTAX	INTEGER	(0..254)
	ACCESS	read-write
	STATUS	obsolete
	DESCRIPTION
		"this variable denotes the size of the dynamic address assignment
		 pool.  the default size is 8. no, not olympic.  to have a size other
		 than the default, one should set the pool size to the desired number
		 before setting usrIpAddressPoolBegin."
	-- CONFIGURABLE
::= { usrIp 5 }

usrIpAddressPoolBegin	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	obsolete
	DESCRIPTION
		"the variable denotes the starting ip address of the dynamic 
		 address assignment pool.  one needs to restart the system to change 
		 it once it is set."
	-- CONFIGURABLE
::= { usrIp 6 }

usrIpHostAddress	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this variable shows the host ip address of the system.  it is 
		 registered automatically by the ip forwarder.  in general, the host
		 address is also the ip address of the first added lan interface's ip
		 address."
	--CONFIGURABLE
::= { usrIp 7 }

usrIpRoutesFlag OBJECT-TYPE
	SYNTAX UsrConfigStatus
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"this flag triggers cfm to save/load ip static routes, good luck."
::= { usrIp 8 }

usrIpForwarding OBJECT-TYPE
     SYNTAX  INTEGER {
             forwarding(1),    -- acting as a gateway
             not-forwarding(2) -- NOT acting as a gateway
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"this variable mirrors the ipForwarding flag in MIB-II"
	--CONFIGURABLE
::= { usrIp 9 }

usrIpIcmp OBJECT IDENTIFIER ::= { usrIp 10 }

usrIpIcmpOutRouterAdvertise OBJECT-TYPE
     SYNTAX  Counter
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
          "The total number of ICMP Router Advertisement messages 
           that has been sent by the router.  Note this counter 
           includes all those counted by icmpOutMsgs."
::= { usrIpIcmp 1 }

usrIpIcmpInRouterAdvertise OBJECT-TYPE
     SYNTAX  Counter
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
          "The total number of ICMP Router Advertisement messages 
           that the router has received.  Note this counter 
	      includes all those counted by icmpInMsgs."
::= { usrIpIcmp 2 }

usrIpIcmpInRouterSolicit OBJECT-TYPE
     SYNTAX  Counter
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION
          "The total number of ICMP Router Solicitation messages
           that has been received by the router.  Note this counter
	      includes all those counted by icmpInMsgs."
::= { usrIpIcmp 3 }

usrIpIcmpLogFlag OBJECT-TYPE
     SYNTAX  INTEGER {
             logging(1),    -- syslogging is ENABLED
             not-logging(0) -- syslogging is DISABLED
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Flag indicates whether ICMP syslogging is enabled or
           or not."
	--CONFIGURABLE
::= { usrIpIcmp 4 }

usrIpIcmpRouterAdvertiseFlag OBJECT-TYPE
     SYNTAX  INTEGER {
             enable(1),    -- router advertise is ENABLED
             disable(0) -- router advertise is DISABLED
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Flag indicates whether ICMP router advertisement is enabled or
           or not."
	--CONFIGURABLE
::= { usrIpIcmp 5 }

usrIpDropAllFO1 OBJECT-TYPE
     SYNTAX  INTEGER {
             enable(1),    -- dropping ip packet with FO = 1
             disable(0)    -- NOT dropping.
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"indicating whether ip packet with FO = 1 is to be dropped"
	--CONFIGURABLE
::= { usrIp 11 }

usrIpDropTcpFO1 OBJECT-TYPE
     SYNTAX  INTEGER {
             enable(1),   -- dropping ip packet with FO==1 AND protocol==TCP
             disable(0)   -- NOT dropping.
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"indicating whether ip packet with FO == 1 AND protocol == TCP 
		 is to be dropped"
	--CONFIGURABLE
::= { usrIp 12 }

usrIpDropOptions OBJECT-TYPE
     SYNTAX  INTEGER {
             enable(1),   -- dropping ip packet with options
             disable(0)   -- NOT dropping.
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"indicating whether ip packet with options is to be dropped"
	--CONFIGURABLE
::= { usrIp 13 }

usrIpDropSRRoute OBJECT-TYPE
     SYNTAX  INTEGER {
             enable(1),   -- dropping ip packet with OPTION==Source Route
             disable(0)   -- NOT dropping.
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"indicating whether ip packet with  OPTION==Source Route
		 is to be dropped"
	--CONFIGURABLE
::= { usrIp 14 }

usrIpAddrPoolTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrIpAddrPoolEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"The table of IP Address Pools. These objects are defined 
		 as read/write so that they can be configured by a Network
		 Manager at the time an IP Address Pool is added."
::= { usrIp 15}

usrIpAddrPoolEntry OBJECT-TYPE
	SYNTAX UsrIpAddrPoolEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A (conceptual) entry for one IP Address Pool. To create 
		 a new row in this table the objects usrIpAddrPoolBegin
	      and usrIpAddrPoolNetMask must be provided."
	INDEX { usrIpAddrPoolName}
::= { usrIpAddrPoolTable 1 }

UsrIpAddrPoolEntry ::= SEQUENCE {
	usrIpAddrPoolName		DisplayString,
	usrIpAddrPoolBegin		IpAddress,
	usrIpAddrPoolNetMask	IpAddress,
	usrIpAddrPoolSize		INTEGER,
	usrIpAddrPoolState		INTEGER,
	usrIpAddrPoolRoute 		INTEGER,
	usrIpAddrPoolStatus		INTEGER
	}

usrIpAddrPoolName	OBJECT-TYPE
	SYNTAX	 DisplayString (SIZE (1..16))
	ACCESS	 not-accessible
	STATUS	 mandatory
	DESCRIPTION
		"the name of this IP address pool."
::= { usrIpAddrPoolEntry 1 }

usrIpAddrPoolBegin	OBJECT-TYPE
	SYNTAX	 IpAddress
	ACCESS	 read-write
	STATUS	 mandatory
	DESCRIPTION
		"the starting ip address of this IP address pool."
	--CONFIGURABLE
::= { usrIpAddrPoolEntry 2 }

usrIpAddrPoolNetMask	 OBJECT-TYPE
	SYNTAX	 IpAddress
	ACCESS	 read-write
	STATUS	 mandatory
	DESCRIPTION
		"the network mask for this IP address pool."
	--CONFIGURABLE
::= { usrIpAddrPoolEntry 3 }

usrIpAddrPoolSize	 OBJECT-TYPE
	SYNTAX	 INTEGER	(1..4096)
	ACCESS	 read-write
	STATUS	 mandatory
	DESCRIPTION
		"the number of IP addresses in this pool. the default size is 1"
	--CONFIGURABLE
::= { usrIpAddrPoolEntry 4 }

usrIpAddrPoolState	 OBJECT-TYPE
	SYNTAX	 INTEGER	{
		public(1),
		private(2)
	}
	ACCESS	 read-write
	STATUS	 mandatory
	DESCRIPTION
		"If this object is set to public(1) an IP address can be selected
		 from this pool for any user not assigned to a pool.  If set to
		 private(2) IP addresses can only be selected from this pool by 
		 users assigned to it. "
	--CONFIGURABLE
::= { usrIpAddrPoolEntry 5 }


usrIpAddrPoolRoute	 OBJECT-TYPE
	SYNTAX	 INTEGER	{
		aggregate(1),
		no-aggregate(2)
	}
	ACCESS	 read-write
	STATUS	 mandatory
	DESCRIPTION
		"If this object is set to aggregate(1) a host routes
                 within RIP updates will be aggregated.  If set to 
                 no_aggregate(2) host routes will not be aggregated."
	--CONFIGURABLE
::= { usrIpAddrPoolEntry 6 }

usrIpAddrPoolStatus 	OBJECT-TYPE
	SYNTAX	 INTEGER {
		delete(1),
		active(2),
		remove(3),
		remove-pending(4),
		delete-pending(5)
	}
	ACCESS	 read-write
	STATUS	 mandatory
	DESCRIPTION
		"This object can only be set to delete(1) or active(2).
           If set to active(2) IP addresses can be assigned from this pool. 
		 If set to delete(1) this pool is being deleted so no new users can 	
		 be assigned IP addresses from this pool.  If set to remove(3) IP 
		 addresses are being removed from this pool so no new users can
		 be assigned IP address from this pool.  If set to remove_pending(4) 
		 this pool is currenly waiting for users to release IP addresses that
		 need to be deleted, new users can be assigned IP addresses from
		 this pool.  If set to delete_pending(5) this pool is waiting for users
		 to release IP addresses so this pool can be deleted.  No new users
		can be assigned from this pool "
::= { usrIpAddrPoolEntry 7 }


usrIpAddressPoolFilter OBJECT-TYPE
     SYNTAX  INTEGER {
             filtering(1),       -- enable ip addresss_pool_filtering 
             not-filtering(2)    -- disable ip address_pool_filtering
             }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"This object may only be set to enable(1) or disable
                 (2).  If set to enable(1) and if IP address found in
                 any pools, but for which a host route does not exits, 
                 will return null route to drop packet.  If set to 
                 disable(2) there will be no check for IP address in
                 pool table.  This is disabled by default."
	--CONFIGURABLE
::= { usrIp 16 }


END         -- End Template MIB definitions

--
--
-- $Log: usr_ip.mib,v $
-- Revision 1.29.2.2  1997/09/12 12:49:31  lmorrison
-- fix minimum IP address pool size to 1
--
-- Revision 1.29.2.1  1997/08/27 15:08:51  edjean
-- bug# 2311, modify usr_ip.mib to include the right range  for usrIpNetRip2AuthKey
--
-- Revision 1.29  1997/07/25 14:44:03  clarke
-- Fix for MR #2059. MIB objects that have been made obsolete should not be CONFIGURABLE or the Configuration Manager will try to save it.
--
-- Revision 1.28  1997/06/09 17:04:46  mharper
-- bump size of IP address pool to match IP_POOL_MAX_SIZE
-- in ip_fwd_aux.h
--
-- Revision 1.27  1997/05/22 18:34:19  modyd
-- Added back usrIpAddrPoolNetMask mib variable.
--
-- Revision 1.25  1997/05/09 12:54:51  lmorrison
-- make max pool size 512
--
-- Revision 1.24  1997/04/14 16:14:30  modyd
-- Added new mib variable usrIpAddressPoolFilter.
--
-- Revision 1.23  1997/03/31 15:55:50  lmorrison
-- remove old ip address pool commands
--
-- Revision 1.22  1997/03/27 18:43:04  jwang
-- Enable/Disable ICMP Router Advertisement
--
-- Revision 1.21  1997/03/21 18:44:44  lmorrison
-- add public vs private IP address pools
--
-- Revision 1.20  1997/03/11 16:00:10  lmorrison
-- add multiple IP address pools
--
-- Revision 1.19  1997/02/19 16:02:42  jhalpin
-- RECONFIGURE IP NETWORK support
--
-- Revision 1.18  1997/01/13 20:37:13  jwang
-- Implementations of IP Security Options
--
-- Revision 1.17  1996/12/17 22:21:00  dym
-- define object for proprietary ICMP counters & ICMP syslog flag
--
-- Revision 1.16  1996/11/20 21:57:19  winter
-- Fix Notes bug 52044 (host IP address can change after a reboot)
--
-- Revision 1.15  1996/09/18 21:44:45  jhalpin
-- Merge in LANLinker branch changes <sawdust city here I come..>
--
-- Revision 1.14  1996/08/29 19:50:34  winter
-- Fixes 19960826110832 (UsrIpAddressPoolSize is not in range)
--
-- Revision 1.13  1996/08/27 15:14:49  pfc
-- Add shadow of ipForwarding
--
-- Revision 1.12  1996/06/18 10:24:49  sbarrett
-- changed RIP policies to each have their own MIB entry
--
-- Revision 1.10  1996/05/10 21:57:50  hanson
-- .
--
-- Revision 1.9  1996/05/10 18:40:06  hanson
-- added save ip setting code
--
-- Revision 1.8  1996/05/04 07:01:42  hanson
-- the end?!
--
-- Revision 1.7  1996/04/24 00:02:45  hanson
-- added code for configuring and saving ip routing protocol and policies configuration per ip network
--
-- Revision 1.6  1996/04/22 23:05:11  hanson
-- rip related mibs added
--
-- Revision 1.5  1996/04/08 16:17:26  hanson
-- address pool mibs
--
-- Revision 1.4  1996/04/02 21:48:32  jhalpin
-- Add a OID for usrIpRouting MIBs
--
-- Revision 1.3  1996/03/18 23:26:01  jhalpin
-- Update mib files
--
-- Revision 1.2  1996/03/17 21:56:37  jhalpin
-- Change CFM flag name, define valid values for bcast addr
--
-- Revision 1.1  1996/02/16 22:03:27  jhalpin
-- USR IP MIB
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_ip_cfg.mib
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_ip_cfg.mib,v 1.10 1997/02/19 16:02:44 jhalpin Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-IP-CFG-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrIpCfg
                  FROM USR-DEFINITIONS-MIB;


   -- Begin managed object definitions here...

usrIpCfgNetworkTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrIpCfgNetworkEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"This table is the same as the usrIpNetworkTable definied above,
		 with the exception that it is indexed by the Network Name defined
		 in the usrCfgNetworkTable. This table will be used only by the
		 the Configuration File Manager process to load permament configuration
		 file records for named networks at system boot time. Any attempt
		 to set this table from either the CLI process or SNMP will
		 fail."
::= { usrIpCfg 1 }

usrIpCfgNetworkEntry OBJECT-TYPE
	SYNTAX UsrIpCfgNetworkEntry
	ACCESS not-accessible
	STATUS mandatory
	DESCRIPTION
		"A (conceptual) entry for one IP Network."
	INDEX { usrIpCfgNetName }
::= { usrIpCfgNetworkTable 1 }

UsrIpCfgNetworkEntry ::= SEQUENCE {
	usrIpCfgNetName			DisplayString,
	usrIpCfgNetBcastAddr		INTEGER,
	usrIpCfgNetReasmMaxSize		INTEGER,
	usrIpCfgNetRoutingProtocol	INTEGER,
	usrIpCfgNetSendDefaultRoutePolicy 		INTEGER,
	usrIpCfgNetSendRoutesPolicy 			INTEGER,
	usrIpCfgNetSendSubnetsOnlyPolicy 		INTEGER,
	usrIpCfgNetAcceptDefaultRoutePolicy 	INTEGER,
	usrIpCfgNetSilentPolicy 				INTEGER,
	usrIpCfgNetSplitHorizonPolicy 		INTEGER,
	usrIpCfgNetPoisonReversePolicy 		INTEGER,
	usrIpCfgNetFlashUpdatePolicy 			INTEGER,
	usrIpCfgNetSimpleAuthenPolicy			INTEGER,
	usrIpCfgNetSendRipV1CompatPolicy 		INTEGER,
	usrIpCfgNetRcvRipV1Policy	 		INTEGER,
	usrIpCfgNetRcvRipV2Policy	 		INTEGER,
	usrIpCfgNetRip2AuthKey			OCTET STRING
	}

usrIpCfgNetName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (1..32))
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
		"The name of this network. Network names can either be assigned
           by a network administrator when the Network is created. Or it will
           generated by the Configuration Process when it adds the network to
		 its internal table."
::= { usrIpCfgNetworkEntry 1}

usrIpCfgNetBcastAddr OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
	STATUS  mandatory
     DESCRIPTION
          "The value of the least-significant bit in the IP
           broadcast address used for sending datagrams on
           the (logical) interface associated with the IP
           address of this entry.  For example, when the
           Internet standard all-ones broadcast address is
           used, the value will be 1.  This value applies to
           both the subnet and network broadcasts addresses
           used by the entity on this (logical) interface."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 4 }

usrIpCfgNetReasmMaxSize OBJECT-TYPE
     SYNTAX  INTEGER (0..65535)
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
		"The size of the largest IP datagram which this
           entity can re-assemble from incoming IP fragmented
           datagrams received on this interface."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 5 }

usrIpCfgNetRoutingProtocol	OBJECT-TYPE
	SYNTAX INTEGER {
			none(0),
			ripv1(1),
			ripv2(2)
		}
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"The routing protocol to be operated on this IP network.  Currently,
		 there are none, rip version 1 and rip version 2."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 6 }

usrIpCfgNetSendDefaultRoutePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send default route RIP policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 7 }

	
usrIpCfgNetSendRoutesPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send routes RIP policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 8 }

usrIpCfgNetSendSubnetsOnlyPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send subnets only RIP policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 9 }

usrIpCfgNetAcceptDefaultRoutePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the accept default route RIP policy.
		 This policy is disabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 10 }

usrIpCfgNetSilentPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the silent policy.
		 This policy is disabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 11 }

usrIpCfgNetSplitHorizonPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the split horizon RIP policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 12 }

usrIpCfgNetPoisonReversePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the poison reverse RIP policy.
	 	 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 13 }

usrIpCfgNetFlashUpdatePolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the flash update RIP policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 14 }

usrIpCfgNetSimpleAuthenPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the simple authentication RIP policy.
		 This policy is valid for RIPV2 only and is enabled by default when
		 RIPV2 is selected as the routing protocol."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 15 }

usrIpCfgNetSendRipV1CompatPolicy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the send RipV1 compatible policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 16 }

usrIpCfgNetRcvRipV1Policy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the receive RipV1 policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 17 }

usrIpCfgNetRcvRipV2Policy OBJECT-TYPE
	SYNTAX	INTEGER {
		disable(0),
		enable(1)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Allows disabling or enabling of the receive RipV2 policy.
		 This policy is enabled by default."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 18 }

usrIpCfgNetRip2AuthKey OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(16))
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"this variable defines the authentication key for ip rip2.  when
		 this varialbe is set, by default, the authentication type is also
		 set to simple."
	--CONFIGURABLE
::= { usrIpCfgNetworkEntry 19 }

END         -- End Template MIB definitions
--
--
-- $Log: usr_ip_cfg.mib,v $
-- Revision 1.10  1997/02/19 16:02:44  jhalpin
-- RECONFIGURE IP NETWORK support
--
-- Revision 1.9.2.1  1997/02/14 19:46:58  jhalpin
-- Add reconfig_need object, fix up some other minor stuff
--
-- Revision 1.9  1996/06/28 00:33:41  dougo
-- this should work
--
-- Revision 1.8  1996/06/27 23:43:40  dougo
-- wait until tomorrow
--
-- Revision 1.6  1996/05/04 07:01:42  hanson
-- the end?!
--
-- Revision 1.5  1996/04/29 21:08:19  hanson
-- .
--
-- Revision 1.4  1996/04/27 17:57:39  hanson
-- more mib shit
--
-- Revision 1.3  1996/04/24 00:02:46  hanson
-- added code for configuring and saving ip routing protocol and policies configuration per ip network
--
-- Revision 1.2  1996/04/22 23:05:11  hanson
-- rip related mibs added
--
-- Revision 1.1  1996/03/18 23:21:48  jhalpin
-- Move CFM only table to a separate mib file.
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_ip_routing.mib
--
--
-- Author:         han-son on
--
-- $Id: usr_ip_routing.mib,v 1.9.2.1 1997/08/29 18:11:36 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-IP-ROUTING-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		usrIpRouting, UsrNetLogicalId
				FROM USR-DEFINITIONS-MIB
		Counter, IpAddress
				FROM RFC1155-SMI
		OBJECT-TYPE
				FROM RFC-1212;

-- Begin IP routing object definitions here...

usrIpRouterId	OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"the router id is usually the ip address of one of the router's
		 lan interface ip address.  this variable can only be set when
		 usrIpAdminStatus is set to eisabled."
::= {usrIpRouting 1}

usrIpAdminStatus	OBJECT-TYPE
	SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this variable is used to enable or disable the ip routing instance."
::= {usrIpRouting 2}

usrIpStaticProtoStatus	OBJECT-TYPE
	SYNTAX	INTEGER {
			enable(1),
			disable(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this variable is used to enable or disable static remote routes"
::= {usrIpRouting 3}

usrIpASNumber	OBJECT-TYPE
	SYNTAX	INTEGER (1..65535)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this is the autonomous system number used by egp, which can only be 
		 modified when usrIpAdminStatus is set to disabled."
::= {usrIpRouting 4}

usrIpRtabMaxAdmin	OBJECT-TYPE
	SYNTAX		INTEGER (30..65535)
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"the max admin route table entries for next set.  this is put in by
		 rci for lightstream atm.  it is not used by lanlinker or netserver."
::= {usrIpRouting 5}

usrIpRtabMax	OBJECT-TYPE
	SYNTAX	INTEGER (30..1450)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"this displays the maximum routing table size, this
                 value can no longer be modified. The max size of the
                 routing table is determined at compilation time, 
                 based on the DFLT_RTH_CNT. DFLT_RTH_CNT is currently 
		 set to 1450."
::= {usrIpRouting 6}

usrIpNHEntryMax	OBJECT-TYPE
	SYNTAX		INTEGER (256..65535)
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this defines the maximum next hop entries, which can only be 
		 modified when usrIpAdminStatus is set to disabled.  the default
		 is 512"
::= {usrIpRouting 7}

usrIpRtEntryCount	OBJECT-TYPE
	SYNTAX		Counter
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"this keeps the number of route entries."
::= {usrIpRouting 8}

usrIpGenStat	OBJECT-TYPE
	SYNTAX	INTEGER {
			create(1),
			delete(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this variable denotes the existence of the ip routing instace,
		 which can also be used to delete the routing instance."
::= {usrIpRouting 9}

usrIpRipGenStat	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this mib variable is used to enable or disable the ip rip instance
		 at the ip rounting instance level.  it is a no op if ip rip instance
		 is not yet created.
		 the rip instance, i.e. usrIpRipAdminStatus, may still remain
		 disabled, if it is either not created or it was disabled at ip rip
		 instance level.  to fully enable the rip instance, one has to make
		 sure that ip rip instance is already created and enabled on both
		 levels."
::= {usrIpRouting 10}

usrIpRipAdminStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				create(1),
				delete(2)
		}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable is used to create or delete the ip rip instance."
::= {usrIpRouting 11}

usrIpRipFlags	OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"three disable flags to indicate at which level the rip instance is
		 disabled.
		 MGR_COENTITY_DISABLE	:=	0x20000000 (peer level)
		 MGR_ENTITY_DISABLE		:= 	0x40000000 (ip rip level)
		 MGR_PARENT_DISABLE		:=	0x80000000 (ip routing level)

		 five configuration flags
		 RIP_FLAG_RECHECK_POLICY	:=	0x00000001
		 RIP_FLAG_JITTER_UPDATE	:=	0x00000002 (default)
		 RIP_FLAG_STATIC_INSTANCE:=	0x00000004
		 RIP_FLAG_RFC1058_METRICS:=	0x00000008 (default)
		 RIP_FLAG_SEND_REQUEST	:=	0x00000010 (default)
		 RIP_FLAG_ZERO_ATM_INTF	:=	0x00000020"
::= {usrIpRouting 12}

usrIpIfbTable	OBJECT-TYPE
	SYNTAX	SEQUENCE OF UsrIpIfbEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"rci uses interface block to describe the system's network interface
		 which is similar to pilgrim portal."
::= {usrIpRouting 13}

usrIpIfbEntry	OBJECT-TYPE
	SYNTAX	UsrIpIfbEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"an entry for one ip interface block."
	INDEX {usrIpIfbEntAddr, usrIpIfbEntIfIndex}
::= {usrIpIfbTable 1}

UsrIpIfbEntry ::= SEQUENCE {
	usrIpIfbEntAddr		IpAddress,
	usrIpIfbEntIfIndex		UsrNetLogicalId,
	usrIpIfbEntIfHandle		INTEGER,
	usrIpIfbEntNetMask		IpAddress,
	usrIpIfbEntOnesBc		INTEGER,
	usrIpIfbEntZerosBc		INTEGER,
	usrIpIfbEntReasmMaxSize	INTEGER,
	usrIpIfbEntType		INTEGER,
	usrIpIfbEntNbrAddr		IpAddress,
	usrIpIfbEntAdminStatus	INTEGER,
	usrIpIfbEntStat		INTEGER,
	usrIpIfbEntPortDown		INTEGER
}

usrIpIfbEntAddr	OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"ip network interface address, i.e. host address"
::= {usrIpIfbEntry 1}

usrIpIfbEntIfIndex	OBJECT-TYPE
	SYNTAX		UsrNetLogicalId
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"the logical identifier of the ip network."
::={usrIpIfbEntry 2}

usrIpIfbEntIfHandle	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"don't know yet"
::= {usrIpIfbEntry 3}

usrIpIfbEntNetMask	OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"the subnet mask associated w/ the ip address of this entry."
::= {usrIpIfbEntry 4}

usrIpIfbEntOnesBc	OBJECT-TYPE
	SYNTAX		INTEGER (0..1)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"the value of the least-significant bit in the ip broadcast address
		 used for sending datagrams on the (logical) interface associated w/
		 the ip address of this entry."
::= {usrIpIfbEntry 5}

usrIpIfbEntZerosBc	OBJECT-TYPE
	SYNTAX		INTEGER (0..1)
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"the value of the least-significant bit in the ip broadcast address
		 used for sending datagrams on the (logical) interface associated w/
		 the ip address of this entry."
::= {usrIpIfbEntry 6}

usrIpIfbEntReasmMaxSize	OBJECT-TYPE
	SYNTAX			INTEGER (0..65535)
	ACCESS			read-only
	STATUS			mandatory
	DESCRIPTION
		"the size of the largest ip datagram which this entity can re-assemble
		 from incoming ip fragmented datagrams received on this interface.
		 it is usually equivalent to the mtu of the interface."
::= {usrIpIfbEntry 7}

usrIpIfbEntType	OBJECT-TYPE
	SYNTAX		INTEGER {
				broadcast(1),
				non-broadcast(2),
				point-to-point(3)
			}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"this denotes the ip network (logical) type."
::= {usrIpIfbEntry 8}

usrIpIfbEntNbrAddr	OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this may be needed for point to point connection."
::= {usrIpIfbEntry 9}

usrIpIfbEntAdminStatus	OBJECT-TYPE
	SYNTAX			INTEGER {
					enabled(1),
					disabled(2)
				}
	ACCESS			read-write
	STATUS			mandatory
	DESCRIPTION
		"this variable is used to enable or disable this interface block"
::= {usrIpIfbEntry 10}

usrIpIfbEntStat	OBJECT-TYPE
	SYNTAX		INTEGER {
				create(1),
				delete(2)
			}
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"this variable is used to create or delete an interface block."
::= {usrIpIfbEntry 11}

usrIpIfbEntPortDown	OBJECT-TYPE
	SYNTAX		INTEGER {
				active(1),
				inactive(2)
			}
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"this variable is used to indicate the state of the hardware."
::= {usrIpIfbEntry 12}

usrIpRipGenAdminStat	OBJECT-TYPE
	SYNTAX			INTEGER {
					enabled(1),
					disabled(2)
				}
	ACCESS			read-write
	STATUS			mandatory
	DESCRIPTION
		"this variable is used to disable or enable the ip rip instance at
		 the rip instance level."
::= {usrIpRouting 14}

usrIpRipGenIntfCnt	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"this variable shows the number of the ip rip interfaces."
::= {usrIpRouting 15}

usrIpRipGenNbrCnt	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"this variable shows the number of the rip neighbours."
::= {usrIpRouting 16}

usrIpRipGenJitter	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable is used to enable or disable the rip packet
		 jitter feature."
::= {usrIpRouting 17}

usrIpRipIfTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF UsrIpRipIfEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"rci uses interface block to describe the system's network interface
		 which is similar to pilgrim portal."
::= {usrIpRouting 18}

usrIpRipIfEntry	OBJECT-TYPE
	SYNTAX		UsrIpRipIfEntry
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"an entry of rip interface block."
	INDEX {usrIpRipIfEntAddr, usrIpRipIfEntAddrLessIf}
::= {usrIpRipIfTable 1}

UsrIpRipIfEntry ::= SEQUENCE {
	usrIpRipIfEntAddr			IpAddress,
	usrIpRipIfEntAddrLessIf		INTEGER,
	usrIpRipIfVersion			INTEGER,
	usrIpRipIfType				INTEGER,
	usrIpRipIfAdminStat			INTEGER,
	usrIpRipIfMetric			INTEGER,
	usrIpRipIfSendDefault		INTEGER,
	usrIpRipIfAcceptDefault		INTEGER,
	usrIpRipIfSubnetsOnly		INTEGER,
	usrIpRipIfSilent			INTEGER,
	usrIpRipIfSplitHorizon		INTEGER,
	usrIpRipIfPoison			INTEGER,
	usrIpRipIfFlash			INTEGER,
	usrIpRipIfDfltRouteMetric	INTEGER,
	usrIpRipIfPortDown			INTEGER,
	usrIpRipIfStat				INTEGER,
	usrIpRip2IfStatRcvBadPackets	INTEGER,
	usrIpRip2IfStatRcvBadRoutes	INTEGER,
	usrIpRip2IfStatSendUpdates	INTEGER
}

usrIpRipIfEntAddr	OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"the interface ip address."
::= {usrIpRipIfEntry 1}

usrIpRipIfEntAddrLessIf	OBJECT-TYPE
	SYNTAX			INTEGER
	ACCESS			read-only
	STATUS			mandatory
	DESCRIPTION
		"this column is used when the interface ip address is not specified.
		 in general, it is equal to network id."
::= {usrIpRipIfEntry 2}

usrIpRipIfVersion	OBJECT-TYPE
	SYNTAX		INTEGER {
				ripv1(1),
				ripv2(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable tells what version of rip this interface is running."
::= {usrIpRipIfEntry 3}

usrIpRipIfType	OBJECT-TYPE
	SYNTAX	INTEGER {
			broadcast(1),
			non-broadcast(2),
			point-to-point(3)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this variable shows the interface type, i.e. broadcast,
		 non-broadcast, point-to-point and undefined."
::= {usrIpRipIfEntry 4}

usrIpRipIfAdminStat	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable shows whether the rip is enabled for this interface."
::= {usrIpRipIfEntry 5}

usrIpRipIfMetric	OBJECT-TYPE
	SYNTAX		INTEGER (1..16)
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable is to define the metric for this interface."
::= {usrIpRipIfEntry 6}

usrIpRipIfSendDefault	OBJECT-TYPE
	SYNTAX			INTEGER {
					enabled(1),
					disabled(2)
				}
	ACCESS			read-write
	STATUS			mandatory
	DESCRIPTION
		"this variable is to enalbe advertising the default route."
::= {usrIpRipIfEntry 7}

usrIpRipIfAcceptDefault	OBJECT-TYPE
	SYNTAX			INTEGER {
					enabled(1),
					disabled(2)
				}
	ACCESS			read-write
	STATUS			mandatory
	DESCRIPTION
		"this variable is to enable accepting the default route."
::= {usrIpRipIfEntry 8}

usrIpRipIfSubnetsOnly	OBJECT-TYPE
	SYNTAX			INTEGER {
					enabled(1),
					disabled(2)
				}
	ACCESS			read-write
	STATUS			mandatory
	DESCRIPTION
		"this variable is to enable this interface to advertise
		 only subnet routes only."
::= {usrIpRipIfEntry 9}

usrIpRipIfSilent	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable is to enable listen-only feature for this interface."
::= {usrIpRipIfEntry 10}

usrIpRipIfSplitHorizon	OBJECT-TYPE
	SYNTAX			INTEGER {
					enabled(1),
					disabled(2)
				}
	ACCESS			read-write
	STATUS			mandatory
	DESCRIPTION
		"this variable is to enable split horizon."
::= {usrIpRipIfEntry 11}

usrIpRipIfPoison	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable is to enable poison reverse."
::= {usrIpRipIfEntry 12}

usrIpRipIfFlash	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable is to enable sending flash update."
::= {usrIpRipIfEntry 13}

usrIpRipIfDfltRouteMetric	OBJECT-TYPE
	SYNTAX				INTEGER (1..16)
	ACCESS				read-write
	STATUS				mandatory
	DESCRIPTION
		"this variable specifies the metric of the default route."
::= {usrIpRipIfEntry 14}

usrIpRipIfPortDown	OBJECT-TYPE
	SYNTAX		INTEGER {
				down(1),
				up(2)
			}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"this variable denotes the status of the physical port."
::= {usrIpRipIfEntry 15}

usrIpRipIfStat	OBJECT-TYPE
	SYNTAX	INTEGER {
			create(1),
			delete(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"this variable is to delete the rip interface."
::= {usrIpRipIfEntry 16}

usrIpRip2IfStatRcvBadPackets	OBJECT-TYPE
	SYNTAX				INTEGER
	ACCESS				read-only
	STATUS				mandatory
	DESCRIPTION
		"ripv2 received bad packet counter."
::= {usrIpRipIfEntry 17}

usrIpRip2IfStatRcvBadRoutes	OBJECT-TYPE
	SYNTAX				INTEGER
	ACCESS				read-only
	STATUS				mandatory
	DESCRIPTION
		"ripv2 received bad route counter."
::= {usrIpRipIfEntry 18}

usrIpRip2IfStatSendUpdates	OBJECT-TYPE
	SYNTAX				INTEGER
	ACCESS				read-only
	STATUS				mandatory
	DESCRIPTION
		"ripv2 sent update packet counter."
::= {usrIpRipIfEntry 19}

usrIpRip2IfConfTable	OBJECT-TYPE
	SYNTAX			SEQUENCE OF UsrIpRip2IfConfEntry
	ACCESS			not-accessible
	STATUS			mandatory
	DESCRIPTION
		"table for ripv2 specific interface configuration information"
::= {usrIpRouting 19}

usrIpRip2IfConfEntry	OBJECT-TYPE
	SYNTAX			UsrIpRip2IfConfEntry
	ACCESS			not-accessible
	STATUS			mandatory
	DESCRIPTION
		"an entry of ripv2 interface configuration table."
	INDEX {rip2IfConfAddress, rip2IfConfIndex}
::= {usrIpRip2IfConfTable 1}

UsrIpRip2IfConfEntry ::= SEQUENCE {
	rip2IfConfAddress			IpAddress,
	rip2IfConfIndex			INTEGER,
	rip2IfConfDomain			INTEGER,
	rip2IfConfAuthType			INTEGER,
	rip2IfConfAuthKey			OCTET STRING,
	rip2IfConfSend				INTEGER,
	rip2IfConfReceive			INTEGER,
	rip2IfConfDefaultMetric		INTEGER,
	rip2IfConfStatus			INTEGER,
	rip2IfConfSrcAddress		INTEGER
}

rip2IfConfAddress	OBJECT-TYPE
	SYNTAX		IpAddress
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"the network interface address."
::= {usrIpRip2IfConfEntry 1}

rip2IfConfIndex	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION
		"the network id."
::= {usrIpRip2IfConfEntry 2}

rip2IfConfDomain	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		not-accessible
	STATUS		mandatory
	DESCRIPTION
		"this thing is obsolete."
::= {usrIpRip2IfConfEntry 3}

rip2IfConfAuthType	OBJECT-TYPE
	SYNTAX		INTEGER {
				none(1),
				simple(2),
				md5(3)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable specifies the authentication type.  md5 is not 
		 supported in this version yet."
::= {usrIpRip2IfConfEntry 4}

rip2IfConfAuthKey	OBJECT-TYPE
	SYNTAX		OCTET STRING (SIZE(16))
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"the authentication key is defined here."
::= {usrIpRip2IfConfEntry 5}

rip2IfConfSend		OBJECT-TYPE
	SYNTAX		INTEGER {
				none(1),
				version1(2),
				compatible(3),
				version2(4)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable defines the send policy."
::= {usrIpRip2IfConfEntry 6}

rip2IfConfReceive	OBJECT-TYPE
	SYNTAX		INTEGER {
				version1(1),
				version2(2),
				both(3),
				none(4)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable defines the receive policy."
::= {usrIpRip2IfConfEntry 7}

rip2IfConfDefaultMetric	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"this variable defines the default metric of this network interface."
::= {usrIpRip2IfConfEntry 8}

rip2IfConfStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2)
			}
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		""
::= {usrIpRip2IfConfEntry 9}

rip2IfConfSrcAddress	OBJECT-TYPE
	SYNTAX			INTEGER
	ACCESS			read-only
	STATUS			mandatory
	DESCRIPTION
		""
::= {usrIpRip2IfConfEntry 10}

END			-- End Template MIB definitions
--
--	filter.mib - Filter MIB file
--
--
-- Author:         Fritz Reeve
--
-- $Id: usr_filter.mib,v 1.11 1997/07/14 19:10:00 ussrey Exp $
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

Usr-Filter-MIB DEFINITIONS ::= BEGIN

        IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrFilter, UsrConfigStatus, UsrFilterName
                  FROM USR-DEFINITIONS-MIB;

   -- textual conventions

   -- Begin managed object definitions here...


     usrFilterConfigFileName OBJECT-TYPE
         SYNTAX      DisplayString
         ACCESS      read-write
         STATUS      mandatory
         DESCRIPTION             
            "The name of a ConfigFile to read/write permanent database
             records.  If the value of this object is an empty string, 
             then the Filter Manager process uses the default name 
             `@file://filter.cfg'. "
     ::= { usrFilter 1 }

     usrFilterCFMStatusFlag  OBJECT-TYPE
         SYNTAX      UsrConfigStatus
         ACCESS      read-write
         STATUS      mandatory
         DESCRIPTION
            "Setting the value of this object to `save' causes the values
             of the SNMP Group to be written out to the current config
             file, which is stored in the usrFilterConfigFileName object.
             While the new ConfigFile is being written, the SNMP process
             will set the value of this flag to `saving''. Any
             attempts to set the value while it is not `normal'
             (i.e. the file is currently being written to the
             ConfigFile) will result in a badValue error being
             returned. Setting the value to `normal' will result in no
             action."
     ::= { usrFilter 2 }

     usrFilterTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF UsrFilterEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table of packet filter names.  The actual filter
             information is stored in an ASCII file in flash."
     ::= { usrFilter 3 }

     usrFilterEntry OBJECT-TYPE
         SYNTAX   UsrFilterEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
                "The parameters for a packet filter."
         INDEX {usrFilterName}
     ::= { usrFilterTable 1 }

     --
     -- The row is composed of these components
     --

     UsrFilterEntry ::=
         SEQUENCE {
         usrFilterName
            UsrFilterName,
         usrFilterStatus
            INTEGER,
         usrFilterProtocols
            INTEGER,
         usrFilterVerifyError
            DisplayString
     }

     usrFilterName OBJECT-TYPE
         SYNTAX  UsrFilterName
         ACCESS  not-accessible
         STATUS  mandatory
         DESCRIPTION
            "The character name for this filter."
     ::= { usrFilterEntry 1 }

     usrFilterStatus OBJECT-TYPE
         SYNTAX  INTEGER {
                         normal(1),
                         delete(2),
                         verify(3),
                         reading(4),       -- File reading in progress
                         verifying(5),     -- Filter verification in progress
                         compiling(6),     -- Filter compilation in progress
                         verifyFailed(7),  -- Filter verification failed
                         starting(8)       -- Filter operation starting
                         }
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
            "The status of this filter entry. Valid row entries in this
             table have the status field set to normal. The settable values
             are normal and delete.  If the instance is not in the table 
             and the status is normal, this will be an add operation.  If the
             instance is in the table and the status is normal, this will be a
             modify operation.  If the instance is in the table and the 
             status is delete, this will be a delete operation.  The values 
             reading, verifying, and compiling are read-only."
         --CONFIGURABLE
     ::= { usrFilterEntry 2 }

     usrFilterProtocols OBJECT-TYPE
         SYNTAX  INTEGER {
                         bridge(1),        -- Bridge filter
                         bridge-call(2),   -- Bridge Call filter
                         ip(4),            -- IP filter
                         ip-call(8),       -- IP Call filter
                         ipx(16),          -- IPX filter
                         ipx-call(32),     -- IPX Call filter
                         atalk(64),        -- AppleTalk filter
                         atalk-call(128),  -- Appletalk Call filter
                         rip(256),         -- IP RIP filter
                         xrip(512),        -- IPX RIP filter
                         sap(1024),        -- IPX SAP filter
                         rtmp(2048),       -- AppleTalk RTMP filter
                         zip(4096),        -- Appletalk ZIP filter
                         access(8192),     -- Login Access filter
					arap(16384)       -- ARAP Zone filter 
                         }
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
            "Packet filters can be created for the following protocols:
             BRIDGE, IP, IPX, AppleTalk, IP-RIP, IPX-RIP, IPX-SAP, ATALK-RTMP.
             There will be others in the future.  This object uses the 32 bit 
             integer as a bit field.  A single filter specification may contain
             one or more protocols."
     ::= { usrFilterEntry 3 }

     usrFilterVerifyError OBJECT-TYPE
         SYNTAX  DisplayString (SIZE (0..255))
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
            "The error string returned when a filter fails its verification
             process.  Otherwise, this field is NULL."
     ::= { usrFilterEntry 4 }

 usrFilterPktLogFlag OBJECT-TYPE
         SYNTAX  INTEGER {
                         all   (1),
                         radius(2),
                         off   (3)
                         }
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
            "A flag that controls the generation of syslog messages for filtered
             packets.
             
              all    - all filtered packets will generate a syslog message.
              radius - the radius attribute, Filter-Log-Packet will control syslog
                       message generation.
              off    - no syslog messages will be generated."
             
         --CONFIGURABLE
     ::= { usrFilter 4 }
     
usrFilterPktLogSize OBJECT-TYPE
         SYNTAX  INTEGER (0..493)
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
            "The size of a filtered packet that will be included in the actual 
             syslog message.  The default value is 0.  NOTE: syslog can only 
             handle 1028 bytes of ascii text, therefore packet data must 
             converted from hex to ascii, thus reducing the maxium packet data 
             size in half. When syslog begin and end strings are added it is 
             further reduced to 493 bytes." 


             
         --CONFIGURABLE
     ::= { usrFilter 5 }     
     
usrFilterPktLogCount OBJECT-TYPE
         SYNTAX  INTEGER 
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
            "The number of packets that were filtered and sent to syslog."
             
     ::= { usrFilter 6 }          
END         -- End Filter MIB definitions

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_filter.mib,v $
-- Revision 1.11  1997/07/14 19:10:00  ussrey
-- fixed bug #1710 usrFilterPktLogSize did not include the default value of 0 in the range. also changed description.
--
-- Revision 1.10  1997/04/09 21:04:59  ussrey
--  added usrFilterPktLogCount
--
-- Revision 1.9  1997/03/31 15:50:08  ussrey
-- added usrFilterPktLogSize and usrFilterPktLogFlag used for syslogging filtered packets
--
-- Revision 1.8  1997/02/03 19:41:40  sef
-- fixed typo in last checkin
--
-- Revision 1.7  1997/02/03 19:37:31  sef
-- add ARAP zone filter value
--
-- Revision 1.6  1996/09/25 21:07:37  patton
-- Put in error message
--
-- Revision 1.4.2.2  1996/09/20 15:47:18  freeve
-- Add new status info and object for verify error string
--
-- Revision 1.4.2.1  1996/09/12 18:32:07  jhalpin
-- Fix Filter protocol bits, build usr_cli.mib into usr_netserver.mib, remove unneeded definitions from usr_definitions.mib
--
-- Revision 1.4  1996/04/17 22:56:25  freeve
-- Create and use usrFilteName type
--
-- Revision 1.3  1996/03/29 20:05:19  psd
-- Config file name is not configurable.
--
-- Revision 1.2  1996/03/25 23:59:52  freeve
-- Add Configuration File Manager objects and consolidate the status and 
-- state fields into one.
--
-- Revision 1.1  1996/03/18 21:01:40  freeve
-- First cut at filter MIB
--
--
--

USR-AT-MIB DEFINITIONS ::= BEGIN

          IMPORTS
              atprivateFwd				FROM USR-DEFINITIONS-MIB
              OBJECT-TYPE				FROM RFC-1212
		    atportIndex				FROM RFC1742-FORW-MIB;

    DdpNodeAddress ::= OCTET STRING (SIZE (3))

	-- AppleTalk Private port table
	-- 
	-- This is a USRobotics Private MIB, that allows configuration
	-- of port information that is not in the public MIB.
	-- It is indexed the same as the atportTable, using the atportIndex.
	--
	atprivPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtprivPortEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"This table is used to configure an appletalk port."
		::= { atprivateFwd 1 }

	atprivPortEntry OBJECT-TYPE
		SYNTAX AtprivPortEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The description of one of the AppleTalk configuration port."
		INDEX { atportIndex }
		::= { atprivPortTable 1 }

	AtprivPortEntry ::= SEQUENCE {
		atprivportSendChecksums	INTEGER,
		atprivportGleaning		INTEGER,
		atprivportNodeSet		DdpNodeAddress,
		atprivportNodeLock		INTEGER
          }

	atprivportSendChecksums OBJECT-TYPE
		SYNTAX INTEGER {
			send (1),
			dontsend (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to send to send checksums on this port."
		--CONFIGURABLE
		::= { atprivPortEntry 1 }

	atprivportGleaning OBJECT-TYPE
		SYNTAX INTEGER {
			glean (1),
			dontglean (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to glean to glean to the AARP cache."
		--CONFIGURABLE
		::= { atprivPortEntry 2 }

	atprivportNodeSet OBJECT-TYPE
		SYNTAX DdpNodeAddress
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The node number requested for this port by the administrator.
			 If set to 0.0, then select any node number."
		::= { atprivPortEntry 3 }

	atprivportNodeLock OBJECT-TYPE
		SYNTAX INTEGER {
			locked (1),
			unlocked (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"If this is TRUE, the router will come up on the set node
			 or it won't come up at all."
		::= { atprivPortEntry 4 }


END

USR-AT-FORW-MIB DEFINITIONS ::= BEGIN

          IMPORTS
              DisplayString, atcfgFwd,
				UsrConfigStatus		FROM USR-DEFINITIONS-MIB
              OBJECT-TYPE				FROM RFC-1212
              DdpNodeAddress
              							FROM RFC1742-BASE-MIB;

    ATName         ::= OCTET STRING (SIZE (0..32))
    ATNetworkRange ::= OCTET STRING (SIZE (4))

	-- AppleTalk Forwarder Configuration group
	-- 
	-- This is USRobotics Private MIB, that defines the configuration
	-- information for the AppleTalk forwarder.
	--
	atcfgFwdPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtcfgFwdPortEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"This table is used to configure an appletalk port."
		::= { atcfgFwd 1 }

	atcfgFwdPortEntry OBJECT-TYPE
		SYNTAX AtcfgFwdPortEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The description of one of the AppleTalk configuration port."
		INDEX { atcfgFwdPortIndex }
		::= { atcfgFwdPortTable 1 }

	AtcfgFwdPortEntry ::= SEQUENCE {
		atcfgFwdPortIndex		DisplayString,
		atcfgFwdPortName		DisplayString,
		atcfgFwdNetworkRange		ATNetworkRange,
		atcfgFwdSeedRouter		INTEGER,
		atcfgFwdSendChecksums		INTEGER,
		atcfgFwdDefaultPort		INTEGER,
		atcfgFwdGleaning		INTEGER,
		atcfgFwdDefaultZone		ATName,
		atcfgFwdCurrentZone		ATName,
		atcfgFwdZoneList		OCTET STRING,
		atcfgFwdPortSave		UsrConfigStatus,
		atcfgFwdNodeSet			DdpNodeAddress,
		atcfgFwdNodeLock		INTEGER
          }

	atcfgFwdPortIndex OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..32))
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The identifier of the port in the configuration file,
			 this is the same as the network name stored by the
			 configuration process."
		::= { atcfgFwdPortEntry 1 }

	atcfgFwdPortName OBJECT-TYPE
		SYNTAX DisplayString
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A name for this port. Maps to the Port Descriptor for
			 the atportTable."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 2 }

	atcfgFwdNetworkRange OBJECT-TYPE
		SYNTAX ATNetworkRange
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The startup network range for this port."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 3 }

	atcfgFwdSeedRouter OBJECT-TYPE
		SYNTAX INTEGER {
			seed (1),
			notseed (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to seed if this is a seed router on this port."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 5 }

	atcfgFwdSendChecksums OBJECT-TYPE
		SYNTAX INTEGER {
			send (1),
			dontsend (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to send to send checksums on this port."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 6 }

	atcfgFwdDefaultPort OBJECT-TYPE
		SYNTAX INTEGER {
			default (1),
			notdefault (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to default if this port can be the default port."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 7 }


	atcfgFwdGleaning OBJECT-TYPE
		SYNTAX INTEGER {
			glean (1),
			dontglean (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to glean to glean to the AARP cache."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 8 }

	atcfgFwdDefaultZone OBJECT-TYPE
		SYNTAX ATName
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The default zone name for this port.
			 Only valid if this node is a seed router on this port."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 9 }

	atcfgFwdCurrentZone OBJECT-TYPE
		SYNTAX ATName
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The desired zone name for this router on this port.
			 May be left blank."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 10 }

	atcfgFwdZoneList OBJECT-TYPE
		SYNTAX OCTET STRING
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The list of zones configured for this port.
			 Not used if this is not a seed router.
			 Mandatory if this is a seed router."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 11 }

	atcfgFwdPortSave OBJECT-TYPE
		SYNTAX UsrConfigStatus
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this value to 'save' to save this port configuration."
		::= { atcfgFwdPortEntry 12 }

	atcfgFwdNodeSet OBJECT-TYPE
		SYNTAX DdpNodeAddress
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The node number requested for this port by the administrator.
			 If set to 0.0, then select any node number."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 13 }

	atcfgFwdNodeLock OBJECT-TYPE
		SYNTAX INTEGER {
			locked (1),
			unlocked (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"If this is TRUE, the router will come up on the set node
			 or it won't come up at all."
		--CONFIGURABLE
		::= { atcfgFwdPortEntry 14 }

	atcfgFwdPortNodeTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtcfgFwdPortNodeEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"This table is used to store the node-hint for this port."
		::= { atcfgFwd 2 }

	atcfgFwdPortNodeEntry OBJECT-TYPE
		SYNTAX AtcfgFwdPortNodeEntry
		ACCESS not-accessible
		STATUS mandatory
		DESCRIPTION
			"The description of one of the AppleTalk configuration port node."
		INDEX { atcfgFwdPortIndex }
		::= { atcfgFwdPortNodeTable 1 }

	AtcfgFwdPortNodeEntry ::= SEQUENCE {
		atcfgFwdStartupNode		DdpNodeAddress
          }

	atcfgFwdStartupNode OBJECT-TYPE
		SYNTAX DdpNodeAddress
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"A startup node hint for the DDP node."
		--CONFIGURABLE
		::= { atcfgFwdPortNodeEntry 1 }

	atcfgFwdSave OBJECT-TYPE
		SYNTAX UsrConfigStatus
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this variable save the appletalk configuration"
		::= { atcfgFwd 3 }

	atcfgFwdArapOn OBJECT-TYPE
		SYNTAX INTEGER {
			arapon (1),
			arapoff (2)
			}
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Set this variable to arap_on to enable ARAP"
		--CONFIGURABLE
		::= { atcfgFwd 4 }

	atcfgFwdNumArapSessions OBJECT-TYPE
		SYNTAX INTEGER(0..64)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable describes the maximum number of simultaneous
			 ARAP sessions supported by the software."
		--CONFIGURABLE
		::= { atcfgFwd 5 }

	atcfgFwdV42Sessions OBJECT-TYPE
		SYNTAX INTEGER(0..64)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This variable describes the maximum number of simultaneous
			 compressed V42bis sessions supported by the software."
		--CONFIGURABLE
		::= { atcfgFwd 6 }

	atcfgFwdArapZone OBJECT-TYPE
		SYNTAX ATName
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"This sets the default zone for ARAP nodes. If it is not set,
			 the standard default zone will be used."
		--CONFIGURABLE
		::= { atcfgFwd 7 }

	atcfgFwdArapNodeNetRange OBJECT-TYPE
		SYNTAX ATNetworkRange
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The range of the networks for for ARAP nodes.
			 If not set, any node in the network range may be used.
			 This address must be valid within the network range for the
			 default LAN port."
		--CONFIGURABLE
		::= { atcfgFwd 8 }

	atcfgFwdArapNodesMax OBJECT-TYPE
		SYNTAX INTEGER (1..16)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The maximum number of free nodes held for ARAP sessions at any
			 one time. 0 means no limit."
		--CONFIGURABLE
		::= { atcfgFwd 9 }

	atcfgFwdArapNodesMin OBJECT-TYPE
		SYNTAX INTEGER(0..16)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The minimum number of free nodes held for ARAP sessions at
			 any one time."
		--CONFIGURABLE
		::= { atcfgFwd 10 }

	atcfgFwdPasswordChangeOkay OBJECT-TYPE
		SYNTAX INTEGER { true(1), false(2) }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Can an ARAP user change his or her password?"
		--CONFIGURABLE
		::= { atcfgFwd 11 }

	atcfgFwdMinPasswordLength OBJECT-TYPE
		SYNTAX INTEGER (1..16)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The minimum length of an ARAP password, when it is set."
		--CONFIGURABLE
		::= { atcfgFwd 12 }

	atcfgFwdMaxPasswordLength OBJECT-TYPE
		SYNTAX INTEGER (4..16)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The maximum length of an ARAP password, when it is set."
		--CONFIGURABLE
		::= { atcfgFwd 13 }

	atcfgFwdArapMaxPasswordRetries OBJECT-TYPE
		SYNTAX INTEGER (0..16)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"The maximum number of retries allowed for an failed ARAP
			authentication"
		--CONFIGURABLE
		::= { atcfgFwd 14 }

	atcfgFwdManualPasswordEntry OBJECT-TYPE
		SYNTAX INTEGER { true(1), false(2) }
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Do you force the user to enter her or his password manually,
			in ARAP"
		--CONFIGURABLE
		::= { atcfgFwd 15 }

	atcfgFwdMaxRTEs OBJECT-TYPE
		SYNTAX INTEGER (32..2096)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Maximum number of routing tables entries maintained, subject to
			memory availability.  Default is 256"
		--CONFIGURABLE
		::= { atcfgFwd 16 }

	atcfgFwdMaxFTEs OBJECT-TYPE
		SYNTAX INTEGER (32..2096)
		ACCESS read-write
		STATUS mandatory
		DESCRIPTION
			"Maximum number of forwarding table entries, subject to
			memory availablity. Default is 256"
		--CONFIGURABLE
		::= { atcfgFwd 17 }

	atcfgFwdCurrRTEs OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Current number of routing tables entries maintained."
		::= { atcfgFwd 18 }

	atcfgFwdCurrFTEs OBJECT-TYPE
		SYNTAX INTEGER
		ACCESS read-only
		STATUS mandatory
		DESCRIPTION
			"Current number of forwarding table entries maintained."
		::= { atcfgFwd 19 }



END

USR-AT-NBPZIP-MIB DEFINITIONS ::= BEGIN



END

--
--	usr_ip.mib
--
--
-- Author:         Brian Winter
--
-- $Id: 
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

TERM-PROT-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		  IpAddress
		 	  	  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          TruthValue
		  FROM SNMPv2-TC
          DisplayString, usrTermProt, UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;

-- Begin managed object definitions here...

usrTermProtCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"This variable controls saving and loading of configuration
		information for the Terminal Protocols Module. The value can 
		be set to either save or load by a management station. The other
		values indicate if any configuration operation and what type
		is in progress."
::= { usrTermProt 1 }

usrTermProtCfgFileName OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION		
		"The name of a ConfigFile to read/write  permanent database records.
		 If the value of this object is an empty string, then the Terminal
		 Protocols module uses the default name `@file://TermProt.cfg'. "
::= { usrTermProt 2 }

usrTermProtConnectedMsg OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION		
		"The string which is displayed when a ClearTCP client session
		is connected to the remote TCP host. If the value of this object
		is an empty string, the Terminal Protocols module uses a 
		default of CONNECTED"
	--CONFIGURABLE
::= { usrTermProt 3 }

usrTermProtTelnetEscEnabled OBJECT-TYPE
	SYNTAX      TruthValue
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION		
		"If set to false(2), this object prevents all Telnet Clients
		from using the escape character during a session. If they
		enter that character, it will be sent as regular text. If
		set to true(1), the user will be permitted to enter the
		escape character to use the local Telnet command line."
	--CONFIGURABLE
::= { usrTermProt 4 }

usrTermProtAllowManageUsers OBJECT-TYPE
        SYNTAX  INTEGER {
                        manage-off(0),
                        manage-on (1)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This variable turns on/off the ability to manage the system
                 through telnet server connections."
        --CONFIGURABLE
::= { usrTermProt 5 }

usrTermProtTelnetClientAccess OBJECT-TYPE
        SYNTAX  INTEGER {
                        disable(0),
                        enable (1)
                        }
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION		
		"This flag decides whether to use the client access table.
		 By default, this value will be false.
		If set to enable(1), the users can telnet into the HiPer only
		from ip addresses added in the client access table. If the value
		if set to disable (0), the client access table is not referred."
	--CONFIGURABLE
::= { usrTermProt 6 }

usrTelnetAccessTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF UsrTelnetAccessEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The Telnet access table"
::= { usrTermProt 7 }

usrTelnetAccessEntry OBJECT-TYPE
         	SYNTAX  UsrTelnetAccessEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            ""
         INDEX   { usrTelnetAccessIpAddr }
::= { usrTelnetAccessTable 1 }

UsrTelnetAccessEntry ::=
         	SEQUENCE {
         	usrTelnetAccessIpAddr IpAddress,
         	usrTelnetAccessIpMask IpAddress,
         	usrTelnetAccessStatus INTEGER
         }

usrTelnetAccessIpAddr OBJECT-TYPE
         	SYNTAX  IpAddress
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The IP Address of the station allowed for telnet into HiPerARC."
::= { usrTelnetAccessEntry 1 }

usrTelnetAccessStatus OBJECT-TYPE
	 	SYNTAX   INTEGER {
			add(1),
			normal(2),
			delete(3)
			}
         	ACCESS   read-write
         	STATUS   mandatory
         	DESCRIPTION
            "The status of the entry for this address."
          --CONFIGURABLE
::= { usrTelnetAccessEntry 2 }

usrTelnetAccessIpMask OBJECT-TYPE
         	SYNTAX  IpAddress
         	ACCESS  read-write
         	STATUS  mandatory
         	DESCRIPTION
            "The IP Address of the station allowed for telnet into HiPerARC."
        --CONFIGURABLE
::= { usrTelnetAccessEntry 3 }


END 

--
--    usr_br.mib - The USR Bridge MIB module
--
--
-- Author:         <Joe Kralowetz>
--
-- $Id: usr_br.mib,v 1.9.14.1 1997/09/05 15:09:27 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-BRIDGE-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               Counter, TimeTicks
                    FROM RFC1155-SMI
               OBJECT-TYPE
                    FROM RFC-1212
               DisplayString, usrBridge, UsrUserName, UsrConfigStatus
                    FROM USR-DEFINITIONS-MIB;


          -- All representations of MAC addresses in this MIB Module
          -- use, as a textual convention (i.e. this convention does
          -- not affect their encoding), the data type:

          MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
                                                    -- in the
                                                    -- "canonical"
                                                    -- order
          -- defined by IEEE 802.1a, i.e., as if it were transmitted
          -- least significant bit first, even though 802.5 (in
          -- contrast to other n802.x protocols) requires MAC
          -- addresses to be transmitted most significant bit first.
          --
          -- 16-bit addresses, if needed, are represented by setting
          -- their upper 4 octets to all 0's, i.e., AAFF would be
          -- represented as 00000000AAFF.


          -- Similarly, all representations of Bridge-Id in this MIB
          -- Module use, as a textual convention (i.e. this
          -- convention does not affect their encoding), the data
          -- type:

          BridgeId ::= OCTET STRING (SIZE (8))   -- the
                                                 -- Bridge-Identifier
                                                 -- as used in the
                                                 -- Spanning Tree
          -- Protocol to uniquely identify a bridge.  Its first two
          -- octets (in network byte order) contain a priority
          -- value and its last 6 octets contain the MAC address
          -- used to refer to a bridge in a unique fashion
          -- (typically, the numerically smallest MAC address
          -- of all ports on the bridge).
          --
          -- Several objects in this MIB module represent values of
          -- timers used by the Spanning Tree Protocol.  In this
          -- MIB, these timers have values in units of hundreths of
          -- a second (i.e. 1/100 secs).
          -- These timers, when stored in a Spanning Tree Protocol's
          -- BPDU, are in units of 1/256 seconds.  Note, however,
          -- that 802.1D-1990 specifies a settable granularity of
          -- no more than 1 second for these timers.  To avoid
          -- ambiguity, a data type is defined here as a textual
          -- convention and all representation of these timers
          -- in this MIB module are defined using this data type.  An
          -- algorithm is also defined for converting between the
          -- different units, to ensure a timer's value is not
          -- distorted by multiple conversions.
          -- The data type is:

          Timeout ::= INTEGER -- a STP timer in units of 1/100 seconds

          -- To convert a Timeout value into a value in units of
          -- 1/256 seconds, the following algorithm should be used:
          --
          --      b  = floor( (n * 256) / 100)
          --
          -- where:
          --      floor   =  quotient [ignore remainder]
          --      n is the value in 1/100 second units
          --      b is the value in 1/256 second units
          --
          -- To convert the value from 1/256 second units back to
          -- 1/100 seconds, the following algorithm should be used:
          --
          --      n = ceiling( (b * 100) / 256)
          --
          -- where:
          --      ceiling =  quotient [if remainder is 0], or
          --                 quotient + 1 [if remainder is non-zero]
          --      n is the value in 1/100 second units
          --      b is the value in 1/256 second units
          --
          -- Note: it is important that the arithmetic operations are
          -- done in the order specified (i.e., multiply first, divide
          -- second).


          -- groups in the Bridge MIB

          usrBRBase       OBJECT IDENTIFIER ::= { usrBridge 1 }

          usrBRStp        OBJECT IDENTIFIER ::= { usrBridge 2 }

          usrBRTp         OBJECT IDENTIFIER ::= { usrBridge 3 }

          usrBRStaticMAC  OBJECT IDENTIFIER ::= { usrBridge 4 }


          -- the usrBRBase group

          -- Implementation of the usrBRBase group is mandatory for all
          -- bridges.

          usrBRBaseBridgeAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  read-only
              STATUS  mandatory
              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 usrBRStpPriority a unique
                      BridgeIdentifier is formed which is used in the
                      Spanning Tree Protocol."
              REFERENCE
                      "IEEE 802.1D-1990: Sections 6.4.1.1.3 and 3.12.5"
              ::= { usrBRBase 1 }

          usrBRBaseNumPorts OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ports controlled by this bridging
                      entity."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.4.1.1.3"
              ::= { usrBRBase 2 }

          usrBRBaseType OBJECT-TYPE
              SYNTAX  INTEGER {
                          unknown(1),
                          transparent-only(2),
                          sourceroute-only(3),
                          srt(4)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Indicates what type of bridging this bridge can
                      perform.  If a bridge is actually performing a
                      certain type of bridging this will be indicated by
                      entries in the port table for the given type."
              ::= { usrBRBase 3 }

          usrBRBaseStaticMacsOnly OBJECT-TYPE
              SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2)
                      }
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "Indicates whether the bridge will forward
                      all (non-local) packets or just those to and
					  from the stations whose MAC addresses are
					  specified in the Access List (BRStaticTable)."
              DEFVAL { disabled }
              --CONFIGURABLE
              ::= { usrBRBase 4 }

          usrBRBaseAgingTime OBJECT-TYPE
              SYNTAX   INTEGER (10..1000000)
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "The timeout period in seconds for aging out
                      dynamically learned forwarding information.
                      802.1D-1990 recommends a default of 300 seconds."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.7.1.1.3"
              --CONFIGURABLE
              ::= { usrBRBase 5 }

          usrBRBaseLearnedEntryDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of Forwarding Database entries,
                      which have been or would have been learnt, but
                      have been discarded due to a lack of space to
                      store them in the Forwarding Database.  If this
                      counter is increasing, it indicates that the
                      Forwarding Database is regularly becoming full (a
                      condition which has unpleasant performance effects
                      on the subnetwork).  If this counter has a
                      significant value but is not presently increasing,
                      it indicates that the problem has been occurring
                      but is not persistent."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.7.1.1.3"
              ::= { usrBRBase 6 }

          usrBRBaseCfgFileName OBJECT-TYPE
              SYNTAX   DisplayString
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "The name of a ConfigFile to read/write
                      permanent database records. If the value of this
                      object is an empty string, then the Bridge process
                      uses the default name `@file://BridgeFile.cfg'."
              ::= { usrBRBase 7 }

          usrBRBaseCFMSaveStatus OBJECT-TYPE
              SYNTAX  UsrConfigStatus
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Setting the value of this object to `save'
                      causes the values of the Bridge Base Group
                      entries to be written out to the current Bridge
                      config file. While the new config file is being
                      written, the Bridge process will set the value
                      of this flag set to `saving''. Any attempts to set
                      the value while it is  not `normal' (i.e. the file
                      is currently being written to the config file)
                      while result in a badValue error being returned.
                      Setting the value to `normal' will result in no
                      action."
              ::= { usrBRBase 8 }


          -- The Generic Bridge Port Table (Port equals Network )

          usrBRBasePortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF UsrBRBasePortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains generic information about
                      every port that is associated with this bridge.
                      Transparent, source-route, and srt ports are
                      included."
              ::= { usrBRBase 9 }

          usrBRBasePortEntry OBJECT-TYPE
              SYNTAX  UsrBRBasePortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of information for each port of the
                      bridge."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.4.2, 6.6.1"
              INDEX  { usrBRBasePortId }
              ::= { usrBRBasePortTable 1 }


          UsrBRBasePortEntry ::=
              SEQUENCE {
                  usrBRBasePortId
                      INTEGER,
                  usrBRBaseIfName
                      DisplayString,
                  usrBRBasePortIfIndex
                      INTEGER,
                  usrBRBasePortInFrames
                      Counter,
                  usrBRBasePortOutFrames
                      Counter,
                  usrBRBasePortInDiscards
                      Counter
              }

          usrBRBasePortId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The value of the instance of the ifIndex object,
                      defined in MIB-II, for the interface corresponding
                      to this port."
              ::= { usrBRBasePortEntry 1 }

          usrBRBaseIfName OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The interface name of the port for which this entry
                      contains bridge management information."
              ::= { usrBRBasePortEntry 2 }

          usrBRBasePortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of the instance of the ifIndex object,
                      defined in MIB-II, for the interface corresponding
                      to this port."
              ::= { usrBRBasePortEntry 3 }

          usrBRBasePortInFrames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of frames that have been received by
                      this port from its segment. Note that a frame
                      received on the interface corresponding to this
                      port is only counted by this object if and only if
                      it is for a protocol being processed by the local
                      bridging function, including bridge management
                      frames."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { usrBRBasePortEntry 4 }

          usrBRBasePortOutFrames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of frames that have been transmitted
                      by this port to its segment.  Note that a frame
                      transmitted on the interface corresponding to this
                      port is only counted by this object if and only if
                      it is for a protocol being processed by the local
                      bridging function, including bridge management
                      frames."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { usrBRBasePortEntry 5 }

          usrBRBasePortInDiscards OBJECT-TYPE
              SYNTAX   Counter
              ACCESS   read-only
              STATUS   mandatory
              DESCRIPTION
                      "Count of valid frames received which were
                      discarded (i.e., filtered) by the Forwarding
                      Process."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { usrBRBasePortEntry 6 }


          -- the usrBRStp group

          -- Implementation of the usrBRStp group is optional.  It is
          -- implemented by those bridges that support the Spanning Tree
          -- Protocol.


          usrBRStpMode   OBJECT-TYPE
              SYNTAX  INTEGER {
                        enabled(1),
                        disabled(2)
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Indicates whether the Spanning Tree Protocol is
                      enabled for this unit."
              DEFVAL { disabled }
              --CONFIGURABLE
              ::= { usrBRStp 1 }

          usrBRStpProtocolSpecification OBJECT-TYPE
              SYNTAX  INTEGER {
                          unknown(1),
                          decLb100(2),
                          ieee8021d(3)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "An indication of what version of the Spanning
                      Tree Protocol is being run.  The value
                      'decLb100(2)' indicates the DEC LANbridge 100
                      Spanning Tree protocol.  IEEE 802.1d
                      implementations will return 'ieee8021d(3)'.  If
                      future versions of the IEEE Spanning Tree Protocol
                      are released that are incompatible with the
                      current version a new value will be defined."
              ::= { usrBRStp 2 }

          usrBRStpPriority OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value of the write-able portion of the Bridge
                      ID, i.e., the first two octets of the (8 octet
                      long) Bridge ID.  The other (last) 6 octets of the
                      Bridge ID are given by the value of
                      usrBRBaseBridgeAddress."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.7"
              --CONFIGURABLE
              ::= { usrBRStp 3 }

          usrBRStpTimeSinceTopologyChange OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The time (in hundredths of a second) since the
                      last time a topology change was detected by the
                      bridge entity."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.8.1.1.3"
              ::= { usrBRStp 4 }

          usrBRStpTopChanges OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of topology changes detected by
                      this bridge since the management entity was last
                      reset or initialized."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.8.1.1.3"
              ::= { usrBRStp 5 }

          usrBRStpDesignatedRoot OBJECT-TYPE
              SYNTAX  BridgeId
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The bridge identifier of the root of the spanning
                      tree as determined by the Spanning Tree Protocol
                      as executed by this node.  This value is used as
                      the Root Identifier parameter in all Configuration
                      Bridge PDUs originated by this node."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.1"
              ::= { usrBRStp 6 }

          usrBRStpRootCost OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The cost of the path to the root as seen from
                      this bridge."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.2"
              ::= { usrBRStp 7 }

          usrBRStpRootPort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port number of the port which offers the
                      lowest cost path from this bridge to the root
                      bridge."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.3"
              ::= { usrBRStp 8 }

          usrBRStpMaxAge OBJECT-TYPE
              SYNTAX  Timeout
              ACCESS  read-only
              STATUS  mandatory
              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."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.4"
              ::= { usrBRStp 9 }

          usrBRStpHelloTime OBJECT-TYPE
              SYNTAX  Timeout
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The amount of time between the transmission of
                      Configuration bridge PDUs by this node on any port
                      when it is the root of the spanning tree or trying
                      to become so, in units of hundredths of a second.
                      This is the actual value that this bridge is
                      currently using."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.5"
              ::= { usrBRStp 10 }

          usrBRStpHoldTime OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              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."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.14"
              ::= { usrBRStp 11 }

          usrBRStpForwardDelay OBJECT-TYPE
              SYNTAX  Timeout
              ACCESS  read-only
              STATUS  mandatory
              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 each of the Listening and Learning
                      states, which precede the Forwarding state.  This
                      value is also used, when a topology change has
                      been detected and is underway, to age all dynamic
                      entries in the Forwarding Database.  [Note that
                      this value is the one that this bridge is
                      currently using, in contrast to
                      usrBRStpBridgeForwardDelay which is the value that
                      this bridge and all others would start using
                      if/when this bridge were to become the root.]"
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.6"
              ::= { usrBRStp 12 }

          usrBRStpBridgeMaxAge OBJECT-TYPE
              SYNTAX  Timeout (600..4000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value that all bridges use for MaxAge when
                      this bridge is acting as the root.  Note that
                      802.1D-1990 specifies that the range for this
                      parameter is related to the value of
                      usrBRStpBridgeHelloTime. The granularity of this
                      timer is specified by 802.1D-1990 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."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.8"
              --CONFIGURABLE
              ::= { usrBRStp 13 }

          usrBRStpBridgeHelloTime OBJECT-TYPE
              SYNTAX  Timeout (1..10)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value that all bridges use for HelloTime when
                      this bridge is acting as the root.  The
                      granularity of this timer is specified by 802.1D-
                      1990 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."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.9"
              --CONFIGURABLE
              ::= { usrBRStp 14 }

          usrBRStpBridgeForwardDelay OBJECT-TYPE
              SYNTAX  Timeout (4..30)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value that all bridges use for ForwardDelay
                      when this bridge is acting as the root.  Note that
                      802.1D-1990 specifies that the range for this
                      parameter is related to the value of
                      usrBRStpBridgeMaxAge.  The granularity of this
                      timer is specified by 802.1D-1990 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."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.10"
              --CONFIGURABLE
              ::= { usrBRStp 15 }


          -- The Spanning Tree Port Table

          usrBRStpPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF UsrBRStpPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains port-specific information
                      for the Spanning Tree Protocol."
              ::= { usrBRStp 16 }

          usrBRStpPortEntry OBJECT-TYPE
              SYNTAX  UsrBRStpPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of information maintained by every port
                      about the Spanning Tree Protocol state for that
                      port."
              INDEX   { usrBRStpPortId }
              ::= { usrBRStpPortTable 1 }

          UsrBRStpPortEntry ::=
              SEQUENCE {
                  usrBRStpPortId
                      INTEGER,
                  usrBRStpPort
                      INTEGER,
                  usrBRStpPortPriority
                      INTEGER,
                  usrBRStpPortState
                      INTEGER,
                  usrBRStpPortEnable
                      INTEGER,
                  usrBRStpPortPathCost
                      INTEGER,
                  usrBRStpPortDesignatedRoot
                      BridgeId,
                  usrBRStpPortDesignatedCost
                      INTEGER,
                  usrBRStpPortDesignatedBridge
                      BridgeId,
                  usrBRStpPortDesignatedPort
                      OCTET STRING,
                  usrBRStpPortForwardTransitions
                      Counter
              }

          usrBRStpPortId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The value of the instance of the ifIndex object,
                      defined in MIB-II, for the interface corresponding
                      to this port."
              ::= { usrBRStpPortEntry 1 }

          usrBRStpPort OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port number of the port for which this entry
                      contains Spanning Tree Protocol management
                      information."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.8.2.1.2"
              ::= { usrBRStpPortEntry 2 }

          usrBRStpPortPriority OBJECT-TYPE
              SYNTAX  INTEGER (0..255)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of the priority field which is
                      contained in the first (in network byte order)
                      octet of the (2 octet long) Port ID.  The other
                      octet of the Port ID is given by the value of
                      usrBRStpPort."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.1"
              ::= { usrBRStpPortEntry 3 }

          usrBRStpPortState OBJECT-TYPE
              SYNTAX  INTEGER {
                          disabled(1),
                          on-demand-idle(2),
                          on-demand-initing(3),
                          blocking(4),
                          listening(5),
                          learning(6),
                          forwarding(7),
                          broken(8)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port's current state as defined by
                      application of the Spanning Tree Protocol.  This
                      state controls what action a port takes on
                      reception of a frame.  For ports which are
                      disabled (see usrBRStpPortEnable), this object
                      will have a value of disabled(1)."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.2"
              ::= { usrBRStpPortEntry 4 }

          usrBRStpPortEnable OBJECT-TYPE
              SYNTAX  INTEGER {
                          enabled(1),
                          disabled(2)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enabled/disabled status of the port."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.2"
              ::= { usrBRStpPortEntry 5 }

          usrBRStpPortPathCost OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The contribution of this port to the path cost of
                      paths towards the spanning tree root which include
                      this port.  802.1D-1990 recommends that the
                      default value of this parameter be in inverse
                      proportion to the speed of the attached LAN."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.3"
              ::= { usrBRStpPortEntry 6 }

          usrBRStpPortDesignatedRoot OBJECT-TYPE
              SYNTAX  BridgeId
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The unique Bridge Identifier of the Bridge
                      recorded as the Root in the Configuration BPDUs
                      transmitted by the Designated Bridge for the
                      segment to which the port is attached."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.4"
              ::= { usrBRStpPortEntry 7 }

          usrBRStpPortDesignatedCost OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The path cost of the Designated Port of the
                      segment connected to this port.  This value is
                      compared to the Root Path Cost field in received
                      bridge PDUs."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.5"
              ::= { usrBRStpPortEntry 8 }

          usrBRStpPortDesignatedBridge OBJECT-TYPE
              SYNTAX  BridgeId
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The Bridge Identifier of the bridge which this
                      port considers to be the Designated Bridge for
                      this port's segment."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.6"
              ::= { usrBRStpPortEntry 9 }

          usrBRStpPortDesignatedPort OBJECT-TYPE
              SYNTAX  OCTET STRING
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The Port Identifier of the port on the Designated
                      Bridge for this port's segment."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.7"
              ::= { usrBRStpPortEntry 10 }

          usrBRStpPortForwardTransitions OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of times this port has transitioned
                      from the Learning state to the Forwarding state."
              ::= { usrBRStpPortEntry 11 }


          --  The Forwarding Database for Transparent Bridges

          usrBRTpFdbTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF UsrBRTpFdbEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "This table that contains information about unicast
                      entries for which the bridge has forwarding and/or
                      filtering information.  This information is used
                      by the transparent bridging function in
                      determining how to propagate a received frame."
              ::= { usrBRTp 1 }

          usrBRTpFdbEntry OBJECT-TYPE
              SYNTAX  UsrBRTpFdbEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Information about a specific unicast MAC address
                      for which the bridge has some forwarding and/or
                      filtering information."
              INDEX   { usrBRTpFdbAddress }
              ::= { usrBRTpFdbTable 1 }

          UsrBRTpFdbEntry ::=
              SEQUENCE {
                  usrBRTpFdbAddress
                      MacAddress,
                  usrBRTpFdbPort
                      INTEGER,
                  usrBRTpFdbStatus
                      INTEGER,
                  usrBRTpFdbRxPkts
                      Counter,
                  usrBRTpFdbRxOctets
                      Counter,
                  usrBRTpFdbRxFiltPkts
                      Counter,
                  usrBRTpFdbRxFwdPkts
                      Counter,
                  usrBRTpFdbTxPkts
                      Counter,
                  usrBRTpFdbTxOctets
                      Counter
              }

          usrBRTpFdbAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A unicast MAC address for which the bridge has
                      forwarding and/or filtering information."
              REFERENCE
                      "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
              ::= { usrBRTpFdbEntry 1 }

          usrBRTpFdbPort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Either the value '0', or the port number of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of usrBRTpFdbAddress has been seen.  A value of
                      '0' indicates that the port number has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the usrBRStaticTable).
                      Implementors are encouraged to assign the port
                      value to this object whenever it is learned even
                      for addresses for which the corresponding value of
                      usrBRTpFdbStatus is not learned(3)."
              ::= { usrBRTpFdbEntry 2 }

          usrBRTpFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The status of this entry.  The meanings of the
                      values are:

                        other(1)   : none of the following.  This would
                                     include the case where some other
                                     MIB object (not the corresponding
                                     instance of usrBRTpFdbPort, nor an
                                     entry in the usrBRStaticTable) is
                                     being used to determine if and how
                                     frames addressed to the value of
                                     the corresponding instance of
                                     usrBRTpFdbAddress are being
                                     forwarded.

                        invalid(2) : this entry is not longer valid
                                     (e.g., it was learned but has since
                                     aged-out), but has not yet been
                                     flushed from the table.

                        learned(3) : the value of the corresponding
                                     instance of usrBRTpFdbPort was
                                     learned, and is being used.

                        self(4)    : the value of the corresponding
                                     instance of usrBRTpFdbAddress
                                     represents one of the bridge's
                                     addresses.  The corresponding
                                     instance of usrBRTpFdbPort
                                     indicates which of the bridge's
                                     ports has this address.

                        mgmt(5)    : the value of the corresponding
                                     instance of usrBRTpFdbAddress is
                                     also the value of an existing
                                     instance of usrBRStaticAddress."
              ::= { usrBRTpFdbEntry 3 }

          usrBRTpFdbRxPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Number of packets received from this MAC station."
              ::= { usrBRTpFdbEntry 4 }

          usrBRTpFdbRxOctets OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Number of bytes received from this MAC station."
              ::= { usrBRTpFdbEntry 5 }

          usrBRTpFdbRxFiltPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Number of packets received from this MAC station
                      that were filtered (not forwarded)."
              ::= { usrBRTpFdbEntry 6 }

          usrBRTpFdbRxFwdPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Number of packets received from this MAC station
                      that were forwarded."
              ::= { usrBRTpFdbEntry 7 }

          usrBRTpFdbTxPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Number of packets forwarded to this MAC station."
              ::= { usrBRTpFdbEntry 8 }

          usrBRTpFdbTxOctets OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Number of bytes forwarded to this MAC station."
              ::= { usrBRTpFdbEntry 9 }


          --  The Static MAC Address Table


          usrBRStaticMACTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF UsrBRStaticMACEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "This table contains MAC addresses of stations
					   whose traffic is allowed to pass from one bridge
					   port to another.  Note that this table is used
					   to filter traffic only when BRBaseStaticMacsOnly 
					   is set to Enabled." 
					   
              ::= { usrBRStaticMAC 1 }

          usrBRStaticMACEntry OBJECT-TYPE
              SYNTAX  UsrBRStaticMACEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A MAC Address that identifies a station whose
                      traffic is allowed to pass from one bridge port
					  to another."		
              INDEX   { usrBRStaticMACAddress }
              ::= { usrBRStaticMACTable 1 }

          UsrBRStaticMACEntry ::=
              SEQUENCE {
                  usrBRStaticMACAddress
                      MacAddress,
                  usrBRStaticMACUser
                      UsrUserName,
                  usrBRStaticStatus
                      INTEGER
              }

          usrBRStaticMACAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The MAC Address of the station allowed access
					   through the bridge."
              --CONFIGURABLE
              ::= { usrBRStaticMACEntry 1 }

          usrBRStaticMACUser OBJECT-TYPE
              SYNTAX  UsrUserName
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Name of the user to be associated with the
                      specified MAC Address."
              --CONFIGURABLE
              ::= { usrBRStaticMACEntry 2 }

          usrBRStaticStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          normal(1),
                          delete(2)
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Setting this variable to delete removes the entry."
              DEFVAL { normal }
              ::= { usrBRStaticMACEntry 3 }

          END


--
--    usr_fr.mib - The USR Frame Relay MIB module
--
--
-- Author:         <Ginny Walker>
--
-- $Id: usr_fr.mib,v 1.9.16.1 1997/09/05 15:09:31 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-FR-MIB DEFINITIONS ::= BEGIN

     IMPORTS
             Counter, TimeTicks
                      FROM RFC1155-SMI
             OBJECT-TYPE
                     FROM RFC-1212
             usrFR, UsrUserName, DisplayString, UsrConfigStatus
                     FROM USR-DEFINITIONS-MIB;

     --  Frame Relay DTE MIB

     --
     --      the range of ifIndex
     --
     Index ::= INTEGER       -- 1..ifNumber

     --
     --      the range of a Data Link Connection Identifier
     --
     DLCI ::= INTEGER        -- 0..DLCINumber


     --
     -- The Frame Relay Base Group.
     --

     usrfrBaseCfgFileName OBJECT-TYPE
         SYNTAX   DisplayString
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
                 "The name of a ConfigFile to read/write
                 permanent database records. If the value of this
                 object is an empty string, then the FR process
                 uses the default name `@file://FrFile.cfg'."
         ::= { usrFR 1 }

     usrfrBaseCFMSaveStatus OBJECT-TYPE
         SYNTAX  UsrConfigStatus
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
                 "Setting the value of this object to `save'
                 causes the values of the FR Base Group
                 entries to be written out to the current FR
                 config file. While the new config file is being
                 written, the FR process will set the value
                 of this flag set to `saving''. Any attempts to set
                 the value while it is  not `normal' (i.e. the file
                 is currently being written to the config file)
                 while result in a badValue error being returned.
                 Setting the value to `normal' will result in no
                 action."
         ::= { usrFR 2 }


     --  Data Link Connection Management Interface
     --
     --      The variables that configure the DLC Management Interface.
     --

     usrfrDlcmiTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF UsrFrDlcmiEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "The Parameters for the Data Link Connection Management
            Interface for the frame relay service on this
            interface."
         REFERENCE
            "Draft American National Standard T1.617-1991, Annex D"
         ::= { usrFR 3 }

         usrfrDlcmiEntry OBJECT-TYPE
             SYNTAX   UsrFrDlcmiEntry
             ACCESS   not-accessible
             STATUS   mandatory
             DESCRIPTION
                "The Parameters for a particular Data Link Con-
                nection Management Interface."
            INDEX { usrfrDlcmiIfIndex }
            ::= { usrfrDlcmiTable 1 }

         UsrFrDlcmiEntry ::=
             SEQUENCE {
                 usrfrDlcmiIfIndex
                     Index,
                 usrfrDlcmiStateDetect 
                     INTEGER,
                 usrfrDlcmiState
                     INTEGER,
                 usrfrDlcmiLinkStatus
                     INTEGER,
                 usrfrDlcmiAddress
                     INTEGER,
                 usrfrDlcmiAddressLen
                     INTEGER,
                 usrfrDlcmiPollingInterval
                     INTEGER,
                 usrfrDlcmiFullEnquiryInterval
                     INTEGER,
                 usrfrDlcmiErrorThreshold
                     INTEGER,
                 usrfrDlcmiMonitoredEvents
                     INTEGER,
                 usrfrDlcmiMaxSupportedVCs
                     INTEGER,
                 usrfrDlcmiMulticast
                     INTEGER,
                 usrfrDlcmiNetworkSimulation
                     INTEGER
         }

         usrfrDlcmiIfIndex OBJECT-TYPE
             SYNTAX   Index
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The ifIndex value of the  corresponding  ifEn-
                try."
            ::= { usrfrDlcmiEntry 1 }

         usrfrDlcmiStateDetect OBJECT-TYPE
             SYNTAX INTEGER {
                 autodetect   (1),
                 manual       (2)
             }
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "This variable indicates whether to autodetect
                the Management type that is used by the 
                switch or whether to use the type specified by
                usrfrDlcmiState."
            ::= { usrfrDlcmiEntry 2 }

         usrfrDlcmiState OBJECT-TYPE
             SYNTAX INTEGER {
                 noLmiConfigured (1),
                 lmiRev1         (2),
                 ansiT1-617-D    (3),  -- ANSI T1.617 Annex D
                 ansiT1-617-B    (4)   -- ANSI T1.617 Annex B
             }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This variable states which Data Link Connec-
                tion Management scheme is active (and by impli-
                cation, what DLCI it uses) on the  Frame  Relay
                interface."
            REFERENCE
               "Draft American National Standard T1.617-1991"
              --CONFIGURABLE
           ::= { usrfrDlcmiEntry 3 }

         usrfrDlcmiLinkStatus OBJECT-TYPE
             SYNTAX INTEGER {
                 up         (1),
                 down       (2)
                         }
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "This variable indicates the status of the Frame 
                Relay link. Status is determined by the success or
                failure of the link management (heartbeat) message
                exchange with the Frame Relay switch."
           ::= { usrfrDlcmiEntry 4 }

         usrfrDlcmiAddress OBJECT-TYPE
             SYNTAX      INTEGER {
                         q921           (1),  -- 13 bit DLCI
                         q922March90    (2),  -- 11 bit DLCI
                         q922November90 (3),  -- 10 bit DLCI
                         q922           (4)   -- Final Standard
             }
             ACCESS  read-only
             STATUS  mandatory
             DESCRIPTION
                "This variable states which address format is
                in use on the Frame Relay interface."
            ::= { usrfrDlcmiEntry 5 }

         usrfrDlcmiAddressLen OBJECT-TYPE
             SYNTAX  INTEGER {
                     two-octets (2),
                     three-octets (3),
                     four-octets (4)
             }
             ACCESS  read-only
             STATUS  mandatory
             DESCRIPTION
                "This variable states which address  length  in
                octets.  In the case of Q922 format, the length
                indicates the entire length of the address  in-
                cluding the control portion."

            ::= { usrfrDlcmiEntry 6 }

         usrfrDlcmiPollingInterval OBJECT-TYPE
             SYNTAX   INTEGER (5..30)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This is the number of seconds between  succes-
                sive status enquiry messages."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.7 Timer T391."
           DEFVAL { 10 }
              --CONFIGURABLE
           ::= { usrfrDlcmiEntry 7 }


         usrfrDlcmiFullEnquiryInterval OBJECT-TYPE
             SYNTAX   INTEGER (1..255)
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of status enquiry intervals  that  pass
                before  issuance  of a full status enquiry mes-
                sage."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.7 Counter N391."
           DEFVAL { 6 }
           ::= { usrfrDlcmiEntry 8 }

         usrfrDlcmiErrorThreshold OBJECT-TYPE
             SYNTAX   INTEGER (1..10)
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "This  is  the  maximum  number  of  unanswered
                Status Enquiries the equipment shall accept be-
                fore declaring the interface down."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.5.1 Counter N392."
           DEFVAL { 3 }
           ::= { usrfrDlcmiEntry 9 }

         usrfrDlcmiMonitoredEvents OBJECT-TYPE
             SYNTAX   INTEGER (1..10)
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "This is the number of status polling intervals
                over which the error threshold is counted.  For
                example, if within 'MonitoredEvents' number  of
                events  the  station  receives 'ErrorThreshold'
                number of errors, the interface  is  marked  as
                down."
            REFERENCE
               "Draft American National  Standard  T1.617-1991,
               Section D.5.2 Counter N393."
           DEFVAL { 4 }
           ::= { usrfrDlcmiEntry 10 }

         usrfrDlcmiMaxSupportedVCs OBJECT-TYPE
             SYNTAX   INTEGER
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The maximum number of Virtual Circuits allowed
                for  this  interface.   Usually dictated by the
                Frame Relay network.

                In response to a SET, if a value less than zero
                or  higher  than the agent's maximal capability
                is configured, the agent  should  respond  bad-
                Value"
            ::= { usrfrDlcmiEntry 11 }

         usrfrDlcmiMulticast OBJECT-TYPE
             SYNTAX   INTEGER {
                         nonBroadcast (1),
                         broadcast (2)
                         }
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "This indicates whether the Frame Relay  inter-
                face is using a multicast service."
            ::= { usrfrDlcmiEntry 12 }

         usrfrDlcmiNetworkSimulation OBJECT-TYPE
             SYNTAX   INTEGER {
                         off (1),
                         on  (2)
                         }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "This indicates whether the Frame Relay inter-
                face is simulating the Frame Relay network."
           DEFVAL { 1 }
              --CONFIGURABLE
            ::= { usrfrDlcmiEntry 13 }


     -- A Frame Relay service is a multiplexing service.  Data
     -- Link Connection Identifiers enumerate virtual circuits
     -- (permanent or dynamic) which are layered onto the underlying
     -- circuit, represented by ifEntry.  Therefore, each of the entries
     -- in the Standard MIB's Interface Table with an IfType of
     -- Frame Relay represents a Q.922 interface.  Zero or more
     -- virtual circuits are layered onto this interface and provide
     -- interconnection with various remote destinations.
     -- Each such virtual circuit is represented by an entry in the
     -- circuit table.

     --   Circuit Table

     -- The table describing the use of the DLCIs attached to
     -- each Frame Relay Interface.

     usrfrCircuitTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF UsrFrCircuitEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table containing information about specific Data
            Link Connection Identifiers and corresponding virtual
            circuits."
         ::= { usrFR 4 }

         usrfrCircuitEntry OBJECT-TYPE
             SYNTAX   UsrFrCircuitEntry
             ACCESS   not-accessible
             STATUS   mandatory
             DESCRIPTION
                "The information regarding a single  Data  Link
                Connection Identifier."
            INDEX { usrfrCircuitIfIndex, usrfrCircuitDlci }
            ::= { usrfrCircuitTable 1 }

         UsrFrCircuitEntry ::=
             SEQUENCE {
                 usrfrCircuitIfIndex
                     Index,
                 usrfrCircuitDlci
                     DLCI,
                 usrfrCircuitAdminStatus
                     INTEGER,
                 usrfrCircuitOperStatus
                     INTEGER,
                 usrfrCircuitReceivedFECNs
                     Counter,
                 usrfrCircuitReceivedBECNs
                     Counter,
                 usrfrCircuitSentFrames
                     Counter,
                 usrfrCircuitSentOctets
                     Counter,
                 usrfrCircuitReceivedFrames
                     Counter,
                 usrfrCircuitReceivedOctets
                     Counter,
                 usrfrCircuitCreationTime
                     TimeTicks,
                 usrfrCircuitLastTimeChange
                     TimeTicks,
                 usrfrCircuitCIR
                     INTEGER,
                  usrfrCircuitCIRMinRate
                     INTEGER,
                  usrfrCircuitCIRMaxRate 
                     INTEGER,
                 usrfrCircuitUserProfile
                     UsrUserName
         }

         usrfrCircuitIfIndex OBJECT-TYPE
             SYNTAX   Index
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The ifIndex Value of the ifEntry this  virtual
                circuit is layered onto."
            ::= { usrfrCircuitEntry 1 }

         usrfrCircuitDlci OBJECT-TYPE
             SYNTAX   DLCI
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The Data Link Connection Identifier  for  this
                virtual circuit."
            REFERENCE
               "Draft American National  Standard  T1.618-1991,
               Section 3.3.6"
           ::= { usrfrCircuitEntry 2 }

         usrfrCircuitAdminStatus OBJECT-TYPE
             SYNTAX  INTEGER {
                   up(1),       -- ready to pass packets
                   down(2),
                   testing(3)   -- in some test mode
               }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "The desired state of the FR interface.  The testing(3)
                state indicates that no operational packets can be
                passed.  When a managed system initializes, all
                interfaces start with ifAdminStatus in the down(2)
                state.  As a result of either explicit management
                action or per configuration information retained by
                the managed system, ifAdminStatus is then changed to
                either the up(1) or testing(3) states (or remains in
                the down(2) state)."
              --CONFIGURABLE
            ::= { usrfrCircuitEntry 3 }

         usrfrCircuitOperStatus 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)
               }
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The current operational state of the FR interface.  The
                testing(3) state indicates that no operational packets
                can be passed.  If usrfrCircuitAdminStatus is down(2) then
                usrfrCircuitOperStatus should be down(2).  If
                usrfrCircuitAdminStatus is changed to up(1) then
                usrfrCircuitAdminStatus should change to up(1) if the
                interface is ready to transmit and receive network traffic;
                it should change to dormant(5) if the interface is waiting
                for external actions; it should remain in the down(2)
                state if and only if there is a fault that prevents if
                from going to the up(1) state."
            ::= { usrfrCircuitEntry 4 }

         usrfrCircuitReceivedFECNs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames received from the network in-
                dicating  forward  congestion since the virtual
                circuit was created."
            REFERENCE
               "Draft American National  Standard  T1.618-1991,
               Section 3.3.3"
           ::= { usrfrCircuitEntry 5 }

         usrfrCircuitReceivedBECNs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames received from the network in-
                dicating  backward congestion since the virtual
                circuit was created."

            REFERENCE
               "Draft American National  Standard  T1.618-1991,
               Section 3.3.4"
           ::= { usrfrCircuitEntry 6 }

         usrfrCircuitSentFrames OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The number of frames sent  from  this  virtual
                circuit since it was created."
            ::= { usrfrCircuitEntry 7 }

         usrfrCircuitSentOctets OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The number of octets sent  from  this  virtual
                circuit since it was created."
            ::= { usrfrCircuitEntry 8 }

         usrfrCircuitReceivedFrames OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames received  over  this  virtual
                circuit since it was created."
            ::= { usrfrCircuitEntry 9 }

         usrfrCircuitReceivedOctets OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of octets received  over  this  virtual
                circuit since it was created."
            ::= { usrfrCircuitEntry 10 }

         usrfrCircuitCreationTime OBJECT-TYPE
             SYNTAX   TimeTicks
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The value of sysUpTime when the  virtual  cir-
                cuit was created, whether by the Data Link Con-
                nection Management Interface  or  by  a  SetRe-
                quest."
            ::= { usrfrCircuitEntry 11 }

         usrfrCircuitLastTimeChange OBJECT-TYPE
             SYNTAX   TimeTicks
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The value of sysUpTime when last there  was  a
                change in the virtual circuit state"
            ::= { usrfrCircuitEntry 12 }

         usrfrCircuitCIR OBJECT-TYPE
             SYNTAX   INTEGER {
                         off (1),
                         constant (2),
                         variable (3)
                      }
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "Committed Information Rate (CIR) describes how congestion
                control is handled.  Off indicates that no attempt
                at congestion control is made.  Constant indicates that
                data is sent at a constant rate (set using usrfrCIRMinRate
                and usrfrCIRMaxRate).  Variable indicates that the BECN bit
                of the Q.922 header is monitored.  When the BECN bit 
                indicates that the Frame Relay switch is experiencing
                congestion over this DLCI, the transmission rate will 
                be slowed to usrfrCircuitCIRMinRate.  When the bit indicates 
                alleviation of congestion, the transmission rate will 
                be incrementally increased back to usrfrCircuitCIRMaxRate."
           DEFVAL {1}  -- the default value of CIR is "off".
              --CONFIGURABLE
           ::= { usrfrCircuitEntry 13 }

         usrfrCircuitCIRMinRate OBJECT-TYPE
             SYNTAX   INTEGER (1..56000)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "When the usrfrCircuitCIR is set to 'constant', 
                CIRMinRate indicates the constant rate for 
                transmitting data.  Its value should be the same 
                as usrfrCircuitCIRMaxRate.  When usrfrCircuitCIR is set 
                to 'variable', the CIRMinRate indicates the 
                lowest rate to which to slow transmission when 
                congestion is detected."
              --CONFIGURABLE
           ::= { usrfrCircuitEntry 14 }

         usrfrCircuitCIRMaxRate OBJECT-TYPE
             SYNTAX   INTEGER (1..56000)
             ACCESS   read-write
             STATUS   mandatory
             DESCRIPTION
                "When the usrfrCircuitCIR is set to 'constant', 
                CIRMaxRate indicates the constant rate for
                transmitting data.  Its value should be the same 
                as usrfrCircuitCIRMinRate.  When usrfrCircuitCIR is 
                set to 'variable', the CIRMaxRate indicates
                the rate to transmit data when congestion is not 
                reported. After a period of congestion, the 
                transmission rate will incrementally increase until
                the Maximum Rate is reached."
              --CONFIGURABLE
           ::= { usrfrCircuitEntry 15 }

          usrfrCircuitUserProfile   OBJECT-TYPE
               SYNTAX    UsrUserName
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                  "The name of the User Profile that is being used to 
                  contain the characteristics for this DLCI."
               ::= { usrfrCircuitEntry 16 }


     --  Error Table

     -- The table describing errors encountered on each Frame
     -- Relay Interface.

     usrfrErrTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF UsrFrErrEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
            "A table containing information about Errors on the 
            Frame Relay interface."
         ::= { usrFR 5 }

         usrfrErrEntry OBJECT-TYPE
             SYNTAX   UsrFrErrEntry
             ACCESS   not-accessible
             STATUS   mandatory
             DESCRIPTION
                "The error information for a single Frame Relay
                interface."
            INDEX { usrfrErrIfIndex }
            ::= { usrfrErrTable 1 }

         UsrFrErrEntry ::=
             SEQUENCE {
                 usrfrErrIfIndex
                     Index,
                 usrfrErrUnknownError
                     Counter,
                 usrfrErrReceivedShortFrames
                     Counter,
                 usrfrErrReceivedLongFrames
                     Counter,
                 usrfrErrIllegalDlcis
                     Counter,
                 usrfrErrUnknownDlcis
                     Counter,
                 usrfrErrDlmciProtocolErrs
                     Counter,
                 usrfrErrDlmciUnknownIEs
                     Counter,
                 usrfrErrDlmciSequenceErrs
                     Counter,
                 usrfrErrDlmciUnknownRpts
                     Counter
         }

         usrfrErrIfIndex OBJECT-TYPE
             SYNTAX   Index
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "The ifIndex Value of the ifEntry this  virtual
                circuit is layered onto."
            ::= { usrfrErrEntry 1 }

         usrfrErrUnknownError OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "An error which is not specified by another counter."
           ::= { usrfrErrEntry 2 }

         usrfrErrReceivedShortFrames OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames discarded because they were
                too short."
           ::= { usrfrErrEntry 3 }

         usrfrErrReceivedLongFrames OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames discarded because they were
                too long."
           ::= { usrfrErrEntry 4 }

         usrfrErrIllegalDlcis OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames discarded because they contained
                illegal DLCIs."
           ::= { usrfrErrEntry 5 }

                 
         usrfrErrUnknownDlcis OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of frames discarded because they contained
                unknown DLCIs."
           ::= { usrfrErrEntry 6 }

                 
         usrfrErrDlmciProtocolErrs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of Frame Relay protocol errors."
           ::= { usrfrErrEntry 7 }
                 
         usrfrErrDlmciUnknownIEs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of Frame Relay management message IE errors."
           ::= { usrfrErrEntry 8 }

                 
         usrfrErrDlmciSequenceErrs OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of Frame Relay management message sequence errors."
           ::= { usrfrErrEntry 9 }

                 
         usrfrErrDlmciUnknownRpts OBJECT-TYPE
             SYNTAX   Counter
             ACCESS   read-only
             STATUS   mandatory
             DESCRIPTION
                "Number of Frame Relay management message unknown reports."
           ::= { usrfrErrEntry 10 }

     END

--
--    usr_bri.mib - The USR BRI mib
--
--
-- Author:         <Doug Ortega>
--
-- $Id: usr_bri.mib,v 1.7.16.1 1997/09/05 15:09:27 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-ISDN-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE,
        Counter32,
        Integer32
                FROM SNMPv2-SMI
        DisplayString,
        TruthValue,
        TimeStamp,
        RowStatus,
        TEXTUAL-CONVENTION
                 FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        usrIsdnMib, UsrConfigStatus
                FROM USR-DEFINITIONS-MIB;

--usrIsdnMib MODULE-IDENTITY
--        LAST-UPDATED    "9511172041Z"
--        ORGANIZATION    "IETF ISDN MIB Working Group"
--        CONTACT-INFO
--            "        Guenter Roeck
--             Postal: Conware GmbH
--                     Killisfeldstrasse 64
--                     76227 Karlsruhe
--                     Germany
--             Tel:    +49 721 9495 0
--             E-mail: roeck@conware.de"
--        DESCRIPTION
--            "The MIB module to describe the
--             management of ISDN interfaces."
--        ::= { transmission 20 }

-- The ISDN hardware interface (BRI or PRI) will be represented
-- by a media specific ifEntry.
--
-- For basic rate lines, the media specifics for the physical interface
-- will be defined in the physical interface group of the ISDN MIB.
-- The ifType for physical basic rate interfaces will be tbd(xxx).
--
-- For primary rate, the media specifics will be defined in the Trunk
-- MIB. The ifType will be one of E1 or T1, depending on the line type.

-- Each signalling channel, will be represented by an entry
-- in the isdnSignallingTable.
-- The signalling channel will have an ifType value of
-- basicISDN(20) or primaryISDN(21), refer to RFC 1213.
-- Each B channel will also be represented as an entry
-- in the ifTable. The B channels will have an ifType value
-- of isdn(63).
-- This model will be used while defining objects and tables
-- for management.
-- The ISDN MIB will allow sub-layers. For example, the data transfer
-- over a B channel may take place with PPP encapsulation. While the
-- ISDN MIB will describe the D and B channels, a media specific MIB
-- for PPP can be used on a layered basis. This will be as per
-- RFC 1573.

-- Textual conventions

UsrIsdnSignallingProtocol ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
               "This data type is used as the syntax of the
               isdnSigTblSignallingProtocol object in the
               definition of ISDN-MIB's isdnSignallingTable.

               The definition of this textual convention with the
               addition of newly assigned values is published
               periodically by the IANA, in either the Assigned
               Numbers RFC, or some derivative of it specific to
               Internet Network Management number assignments.  (The
               latest arrangements can be obtained by contacting the
               IANA.)

               Requests for new values should be made to IANA via
               email (iana@isi.edu)."
        SYNTAX INTEGER {
            other(1),           -- none of the following
            dss1(2),            -- ITU DSS1 (formerly CCITT) Q.931
            etsi(3),            -- Europe / ETSI ETS300-102
                                -- plus supplementary services
                                -- (ETSI 300-xxx)
                                -- note that NET3, NET5 define
                                -- test procedures for ETS300-102
                                -- and have been replaced by
                                -- I-CTR 3 and I-CTR 4.
            btnr(4),            -- U.K.   / BTNR (BRI ?) (retired ?)
            dass2(5),           -- U.K.   / DASS2 (PRI)
            ess4(6),            -- U.S.A. / AT&T 4ESS
            ess5(7),            -- U.S.A. / AT&T 5ESS
            dms100(8),          -- U.S.A. / Northern Telecom DMS100
            dms250(9),          -- U.S.A. / Northern Telecom DMS250
            ni1(10),             -- U.S.A. / National ISDN 1 (BRI)
            ni2(11),            -- U.S.A. / National ISDN 2 (BRI, PRI)
            ni3(12),            -- U.S.A. / next one ?
            vn2(13),            -- France / VN2
            vn3(14),            -- France / VN3
            vn4(15),            -- France / VN4 (ETSI with changes)
            vn6(16),            -- France / VN6 (ETSI with changes)
                                -- delta document CSE P 10-21 A
                                -- test document  CSE P 10-20 A
            kdd(17),            -- Japan  / KDD
            ins64(18),          -- Japan  / NTT INS64
            ins1500(19),        -- Japan  / NTT INS1500
            itr6(20),           -- Germany/ 1TR6 (BRI, PRI)
            cornet(21),         -- Germany/ Siemens HiCom CORNET
            tad2(22),           -- ???    / (BRI)
            tad30(23),          -- ???    / (PRI)
            ts013(24),          -- Australia / TS013
                                -- (formerly TPH 1962, BRI)
            ts014(25),          -- Australia / TS014
                                -- (formerly TPH 1856, PRI)
            dpnss(26),          -- ???
            qsig(27),           -- Q.SIG
            swissnet2(28),      -- SwissNet-2
            swissnet3(29)       -- SwissNet-3
        }

UsrBriIANAifType ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
               "This data type is used as the syntax of the ifType
               object in the (updated) definition of MIB-II's
               ifTable.
               The definition of this textual convention with the
               addition of newly assigned values is published
               periodically by the IANA, in either the Assigned
               Numbers RFC, or some derivative of it specific to
               Internet Network Management number assignments.  (The
               latest arrangements can be obtained by contacting the
               IANA.)

               Requests for new values should be made to IANA via
               email (iana@isi.edu).

               The relationship between the assignment of ifType
               values and of OIDs to particular media-specific MIBs
               is solely the purview of IANA and is subject to change
               without notice.  Quite often, a media-specific MIB's
               OID-subtree assignment within MIB-II's 'transmission'
               subtree will be the same as its ifType value.
               However, in some circumstances this will not be the
               case, and implementors must not pre-assume any
               specific relationship between ifType values and
               transmission subtree OIDs."
       SYNTAX  INTEGER {
                   other(1),          -- none of the following
                   regular1822(2),
                   hdh1822(3),
                   ddnX25(4),
                   rfc877x25(5),
                   ethernetCsmacd(6),
                   iso88023Csmacd(7),
                   iso88024TokenBus(8),
                   iso88025TokenRing(9),
                   iso88026Man(10),
                   starLan(11),
                   proteon10Mbit(12),
                   proteon80Mbit(13),
                   hyperchannel(14),
                   fddi(15),
                   lapb(16),
                   sdlc(17),
                   ds1(18),           -- DS1/E1 (RFC 1406)
                   e1(19),            -- obsolete
                   basicISDN(20),
                   primaryISDN(21),
                   propPointToPointSerial(22), -- proprietary serial
                   ppp(23),
                   softwareLoopback(24),
                   eon(25),            -- CLNP over IP (RFC 1070)
                   ethernet3Mbit(26),
                   nsip(27),           -- XNS over IP
                   slip(28),           -- generic SLIP
                   ultra(29),          -- ULTRA technologies
                   ds3(30),            -- T-3
                   sip(31),            -- SMDS
                   frameRelay(32),    -- DTE only
                   rs232(33),
                   para(34),           -- parallel-port
                   arcnet(35),         -- arcnet
                   arcnetPlus(36),     -- arcnet plus
                   atm(37),            -- ATM cells
                   miox25(38),
                   sonet(39),          -- SONET or SDH
                   x25ple(40),
                   iso88022llc(41),
                   localTalk(42),
                   smdsDxi(43),
                   frameRelayService(44),  -- Frame relay DCE
                   v35(45),
                   hssi(46),
                   hippi(47),
                   modem(48),          -- Generic modem
                   aal5(49),           -- AAL5 over ATM
                   sonetPath(50),
                   sonetVT(51),
                   smdsIcip(52),       -- SMDS InterCarrier Interface
                   propVirtual(53),    -- proprietary virtual/internal
                   propMultiplexor(54) -- proprietary multiplexing
               }

-- Isdn object type definitions

UsrBriIfIndex ::= INTEGER(-2147483648..2147483647)
UsrBriSigIndex ::= INTEGER(-2147483648..2147483647)
UsrBriInterfaceIndex ::= INTEGER(-2147483648..2147483647)

-- Isdn Mib objects definitions

usrIsdnMibObjects OBJECT IDENTIFIER ::= { usrIsdnMib 1 }

-- ISDN physical interface group
-- This group describes physical basic rate interfaces.

-- Note:
--   We might omit this table by having two ifTypes
--   assigned for the Basic Rate physical interface.
--   Unfortunately, ifType is read-only, so we won't be
--   able to set it in this case.

--
-- The Isdn Base Group.
--

usrIsdnBaseGroup      OBJECT IDENTIFIER ::= { usrIsdnMibObjects 1 }

usrIsdnBaseCfgFileName OBJECT-TYPE
	    SYNTAX   DisplayString
        MAX-ACCESS   read-write
	    STATUS   current
	    DESCRIPTION		
		    "The name of a ConfigFile to read/write
			permanent database records. If the value of this
			object is an empty string, then the BRI process
			uses the default name `@file://BriFile.cfg'."
        ::= { usrIsdnBaseGroup 1 }

usrIsdnBaseCFMSaveStatus OBJECT-TYPE
        SYNTAX  UsrConfigStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Setting the value of this object to `save'
            Causes the values of the BRI Group
            entries to be written out to the current BRI
            config file. While the new config file is being
            written, the BRI process will set the value
            of this flag set to `saving''. Any attempts to set
            the value while it is  not `normal' (i.e. the file
            is currently being written to the config file)
            while result in a badValue error being returned.
            Setting the value to `normal' will result in no
            action."
        ::= { usrIsdnBaseGroup 2 }

usrIsdnBasicRateGroup      OBJECT IDENTIFIER ::= { usrIsdnMibObjects 2 }

usrIsdnBasicRateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UsrIsdnBasicRateTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing configuration and operational
            parameters for all physical Basic Rate
            interfaces on this managed device."
        ::= { usrIsdnBasicRateGroup 1 }

usrIsdnBasicRateTableEntry OBJECT-TYPE
        SYNTAX UsrIsdnBasicRateTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Basic Rate Table."
        INDEX { UsrBriIfIndex }
        ::= { usrIsdnBasicRateTable 1 }

UsrIsdnBasicRateTableEntry ::= SEQUENCE {
        usrIsdnBasicTblIfType INTEGER
        }

usrIsdnBasicTblIfType OBJECT-TYPE
        SYNTAX INTEGER {
          isdnS(1),
          isdnU(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The physical interface type. For 'S/T' interfaces,
             also called 'Four-wire Basic Access Interface',
             the value of this object will be isdnS(1).
             For 'U' interfaces, also called 'Two-wire Basic
             Access Interface', the value of this object will be
             isdnU(2)."
        ::= { usrIsdnBasicRateTableEntry 1 }

-- The B channel (bearer channel) group

-- Note that disconnects can explicitely be handled using the
-- ifStack table. If a connection is to be disconnected,
-- the according ifStack entry has to be removed.
-- More specific, the ifStackTable entry which binds the high-layer
-- ifTable entry (and related dialCtlNbrCfgTable entry) to the
-- B channel ifTable entry (and related isdnBearerTable entry)
-- during an active call has to be removed.

usrIsdnBearerGroup OBJECT IDENTIFIER ::= { usrIsdnMibObjects 3 }

usrIsdnBearerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrIsdnBearerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "This table defines port specific operational, statistics
           and active call data for ISDN B channels. Each entry
           in this table describes one B (bearer) channel."
        ::= { usrIsdnBearerGroup 1 }

usrIsdnBearerEntry OBJECT-TYPE
        SYNTAX      UsrIsdnBearerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Operational and statistics information relating to
           one port. A port is a single B channel."
        INDEX { UsrBriIfIndex }
        ::= { usrIsdnBearerTable 1 }

UsrIsdnBearerEntry ::=
        SEQUENCE {
          usrIsdnBearerChannelType INTEGER,
          usrIsdnBearerOperStatus INTEGER,
          usrIsdnBearerChannelNumber INTEGER,
          usrIsdnBearerPeerAddress DisplayString,
          usrIsdnBearerPeerSubAddress DisplayString,
          usrIsdnBearerCallOrigin INTEGER,
          usrIsdnBearerInfoType INTEGER,
          usrIsdnBearerMultirate TruthValue,
          usrIsdnBearerCallSetupTime TimeStamp,
          usrIsdnBearerCallConnectTime TimeStamp,
          usrIsdnBearerChargedUnits Integer32
        }

usrIsdnBearerChannelType      OBJECT-TYPE
        SYNTAX INTEGER {
          dialup (1),
          leased (2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
          "The B channel type. If the B channel is connected
           to a dialup line, this object will be have a value of
           dialup(1). In this case, it will be controlled by
           an associated signalling channel. If the B channel
           is connected to a leased line, this object will have
           a value of leased(2). For leased line B channels, there
           is no signalling channel control available."
        ::= { usrIsdnBearerEntry 1 }

usrIsdnBearerOperStatus      OBJECT-TYPE
        SYNTAX INTEGER {
          idle (1),
          connecting (2),
          connected (3),
          active (4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The current call control state for this port.
           idle(1):       The B channel is idle.
                          No call or call attempt is going on.
           connecting(2): A connection attempt (outgoing call)
                          is being made on this interface.
           connected(3):  An incoming call is in the process
                          of validation.
           active(4):     A call is active on this interface."
        ::= { usrIsdnBearerEntry 2 }

usrIsdnBearerChannelNumber      OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The identifier being used by a signalling protocol
           to identify this B channel, also referred to as
           B channel number."
        ::= { usrIsdnBearerEntry 3 }

usrIsdnBearerPeerAddress    OBJECT-TYPE
          SYNTAX   DisplayString
          MAX-ACCESS   read-only
          STATUS   current
          DESCRIPTION
          "The ISDN address the current or last call is or was
           connected to. If the peer ISDN address is not available,
           this object it will have a length of zero."
          ::= { usrIsdnBearerEntry 4 }

usrIsdnBearerPeerSubAddress    OBJECT-TYPE
          SYNTAX   DisplayString
          MAX-ACCESS   read-only
          STATUS   current
          DESCRIPTION
          "The ISDN subaddress the current or last call is or was
           connected to. If the peer subaddress is not available,
           this object it will have a length of zero."
          ::= { usrIsdnBearerEntry 5 }

usrIsdnBearerCallOrigin OBJECT-TYPE
          SYNTAX   INTEGER {
                unknown(1),
                originate(2),
                answer(3),
                callback(4)
          }
          MAX-ACCESS   read-only
          STATUS   current
          DESCRIPTION
          "The call origin for the current or last call. If since
           system startup there was no call on this interface,
           this object will have a value of unknown(1)."
          ::= { usrIsdnBearerEntry 6 }

usrIsdnBearerInfoType OBJECT-TYPE
        SYNTAX      INTEGER {
          unknown(1),
          speech(2),
          unrestrictedDigital(3),         -- as defined in [5]
          unrestrictedDigital56(4),       -- with 56k rate adaption
          restrictedDigital(5),
          audio31(6),                     -- 3.1 kHz audio
          audio7(7),                      -- 7 kHz audio
          video(8),
          packetSwitched(9)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The Information Transfer Capability for the current
           or last call, as defined in [5], chapter 4.5.5,
           octet 3 of bearer capability information element,
           combined with the User Rate (as defined in octet 5
           and 5a to 5d), if rate adaption is being used.

           speech(2) refers to a non-data connection, whereas
           audio31(6) and audio7(7) refer to data mode connections.

           Note that [5], chapter 4.5.5, originaly defined audio7(7)
           as '7 kHz audio' and now defines it as 'Unrestricted
           digital information with tones/announcements'.

           If since system startup there was no call on this
           interface, this object will have a value of unknown(1)."
        ::= { usrIsdnBearerEntry 7 }

usrIsdnBearerMultirate OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "This flag describes if the current or last call used
           multirate as defined in [5], chapter 4.5.5.
           The actual information transfer rate,
           in detail specified in octet 4.1 (rate multiplier),
           will be defined in ifSpeed for this interface.

           If since system startup there was no call on this
           interface, this object will have a value of false(2)."
        ::= { usrIsdnBearerEntry 8 }

usrIsdnBearerCallSetupTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
        "The value of sysUpTime when the ISDN setup message for the
         current or last call was sent or received. If since system
         startup there was no call on this interface, this object
         will have a value of zero."
        ::= { usrIsdnBearerEntry 9 }

usrIsdnBearerCallConnectTime OBJECT-TYPE
        SYNTAX   TimeStamp
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
        "The value of sysUpTime when the ISDN connect message for the
         current or last call was sent or received. If since system
         startup there was no call on this interface, this object will
         have a value of zero."
        ::= { usrIsdnBearerEntry 10 }

usrIsdnBearerChargedUnits OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
        "The number of charged units for the current or last
         connection. For incoming calls or if charging information
         is not supplied by the switch, the value of this object
         will be zero."
        ::= { usrIsdnBearerEntry 11 }

-- ISDN signalling group

usrIsdnSignallingGroup     OBJECT IDENTIFIER ::= { usrIsdnMibObjects 4 }

-- Assumptions being made:
--      - BRI/PRI definition will be handled in ifTable, thus not
--        be required here.

-- signalling channel configuration table
-- There is one entry in this table for each terminal endpoint
-- (link layer connection to the switch).
-- Usually, there will be one endpoint per D channel. In some
-- cases, however, there can be multiple endpoints.
-- Thus, entries in this table can be created and deleted.
-- This will also mean the creation of an associated interface.
--
-- D channel backup and NFAS trunks will be handled using the
-- ifStack table.
-- In case of D channel backup, there will be multiple
-- lower interfaces (D channels). Only one interface  will be
-- active; all others will be dormant(5).
-- In case of NFAS trunks, one lower interface will be the
-- D channel, while the other lower interfaces will be physical
-- interfaces.

-- If directory number and calling address differ from each other
-- or multiple directory numbers are being used,
-- the isdnDirectoryTable has to be used to enter such
-- directory numbers.

usrIsdnSignallingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UsrIsdnSignallingTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ISDN signalling table containing configuration and
            operational parameters for all ISDN signalling
            interfaces on this managed device."
        ::= { usrIsdnSignallingGroup 1 }

usrIsdnSignallingTableEntry OBJECT-TYPE
        SYNTAX UsrIsdnSignallingTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Signalling Table."
        INDEX { UsrBriIfIndex, UsrBriSigIndex }
        ::= { usrIsdnSignallingTable 1 }

UsrIsdnSignallingTableEntry ::= SEQUENCE {
        usrIsdnSigTblSignallingProtocol UsrIsdnSignallingProtocol,
        usrIsdnSigTblLineTopology INTEGER,
        usrIsdnSigTblCallingAddress DisplayString,
        usrIsdnSigTblSubAddress DisplayString,
        usrIsdnSigTblBchannelCount Integer32,
        usrIsdnSigTblStatus RowStatus,
		usrIsdnSigTblIndex UsrBriSigIndex
        }
--
-- Editor's note:
--   We decided to have IANA supporting the signalling protocols.
--   Thus, each switch manufacturer or anyone needing a new protocol
--   entry will be responsible for getting a value from IANA.
--   The definition has thereby been moved into a textual convention
--   defined above.

usrIsdnSigTblSignallingProtocol OBJECT-TYPE
        SYNTAX UsrIsdnSignallingProtocol
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The particular protocol type supported by the
            switch providing access to the ISDN network
            to which this signalling interface is connected."
              --CONFIGURABLE
        ::= { usrIsdnSignallingTableEntry 1 }

usrIsdnSigTblLineTopology OBJECT-TYPE
        SYNTAX INTEGER {
          pointToPoint(1),
          pointToMultipoint(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The line topology to be used for this interface.
             On Primary Rate interfaces, this object must have
             a value of pointToPoint(1) and should be read-only."
        ::= { usrIsdnSignallingTableEntry 2 }

usrIsdnSigTblCallingAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The ISDN Address to be assigned to this signalling
            interface. More specific, this is the 'Calling Address
            information element' as being passed to the switch
            in outgoing call setup messages.

            It can be an EAZ (1TR6), a calling number (DSS1, ETSI)
            or any other number necessary to identify a signalling
            interface. If there is no such number defined or required,
            this is a zero length string. It is represented in
            DisplayString form.

            Incoming calls can also be identified by this number.
            If the Directory Number, i.e. the Called Number in
            incoming calls, is different to this number, the
            isdnDirectoryTable has to be used to specify all
            possible Directory Numbers."
              --CONFIGURABLE
        ::= { usrIsdnSignallingTableEntry 3 }

usrIsdnSigTblSubAddress OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Supplementary information to the ISDN address assigned
            to this interface. Usually, this will be the subaddress
            as defined in Q.931.
            If there is no such number defined or required, this is
            a zero length string.
            The subaddress will be used for incoming calls as well as
            for outgoing calls.
            It is represented in DisplayString form."
        ::= { usrIsdnSignallingTableEntry 4 }

usrIsdnSigTblBchannelCount OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The total number of B channels (bearer channels)
            managed by this signalling interface."
        ::= { usrIsdnSignallingTableEntry 5 }

usrIsdnSigTblStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is used to create and delete rows in the
            usrIsdnSignallingTable."
              --CONFIGURABLE
        ::= { usrIsdnSignallingTableEntry 6 }

usrIsdnSigTblIndex OBJECT-TYPE
        SYNTAX UsrBriSigIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { usrIsdnSignallingTableEntry 7 }

-- Signalling channel statistics table
-- There is one entry for each signalling connection
-- in this table.
-- Note that the ifEntry also has some statistics information.

usrIsdnSignallingStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UsrIsdnSignallingStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ISDN signalling table containing statistics
            information for all ISDN signalling interfaces
            on this managed device.
            Only statistical information which is not being counted
            in the ifTable is being defined in this table."
        ::= { usrIsdnSignallingGroup 2 }

usrIsdnSignallingStatsEntry OBJECT-TYPE
        SYNTAX UsrIsdnSignallingStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the ISDN Signalling statistics Table"
        INDEX { UsrBriIfIndex, UsrBriSigIndex }
        ::= { usrIsdnSignallingStatsTable 1 }

UsrIsdnSignallingStatsEntry ::= SEQUENCE {
        usrIsdnSigStatsOperStatus INTEGER,
        usrIsdnSigStatsLapdPeerSabme Counter32,
        usrIsdnSigStatsLapdRecvdFrmr Counter32,
        usrIsdnSigStatsInCalls Counter32,
        usrIsdnSigStatsInConnected Counter32,
        usrIsdnSigStatsOutCalls Counter32,
        usrIsdnSigStatsOutConnected Counter32,
        usrIsdnSigStatsChargedUnits Counter32,
		usrIsdnSigStatsIndex UsrBriSigIndex
        }

usrIsdnSigStatsOperStatus OBJECT-TYPE
         SYNTAX INTEGER {
             inactive (1),
             l1Active (2),
             l2Active (3),
             l3Active (4)
         }
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The operational status of this signalling interface:
             inactive  all layers are inactive
             l1Active  layer 1 is activated,
                       layer 2 datalink not established
             l2Active  layer 1 is activated,
                       layer 2 datalink established,
                       no layer 3 call activity
             l3Active  layer 1 is activated,
                       layer 2 datalink established,
                       layer 3 engaged in call activity
             "
       ::= { usrIsdnSignallingStatsEntry 1 }

usrIsdnSigStatsLapdPeerSabme OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of peer SABME frames received on all
            data links associated with the D-channel of this
            interface. This is the number of peer-initiated
            new connections on this interface."
        ::= { usrIsdnSignallingStatsEntry 2 }

usrIsdnSigStatsLapdRecvdFrmr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of LAPD FRMR response frames received.
             This is the number of framing errors on this
             interface."
        ::= { usrIsdnSignallingStatsEntry 3 }

usrIsdnSigStatsInCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of incoming calls on this interface."
        ::= { usrIsdnSignallingStatsEntry 4 }

usrIsdnSigStatsInConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of incoming calls on this interface
            which were actually connected."
        ::= { usrIsdnSignallingStatsEntry 5 }

usrIsdnSigStatsOutCalls OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of outgoing calls on this interface."
        ::= { usrIsdnSignallingStatsEntry 6 }

usrIsdnSigStatsOutConnected OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of outgoing calls on this interface
            which were actually connected."
        ::= { usrIsdnSignallingStatsEntry 7 }

usrIsdnSigStatsChargedUnits OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The number of charging units on this interface since system
         startup.
         Only the charging units applying to the local interface,
         i.e. for originated calls or for calls with 'Reverse charging'
         being active, will be counted here."
        ::= { usrIsdnSignallingStatsEntry 8 }

usrIsdnSigStatsIndex OBJECT-TYPE
        SYNTAX UsrBriSigIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { usrIsdnSignallingStatsEntry 9 }
--
-- Optional groups follow here.

-- The Terminal Endpoint group and table

-- This table is required only if TEI values or SPID numbers
-- have to be entered.
-- The BriIfIndex values for this table are identical to those of
-- the isdnSignallingChannel table.

usrIsdnEndpointGroup OBJECT IDENTIFIER ::= { usrIsdnMibObjects 5 }

usrIsdnEndpointTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UsrIsdnEndpointTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing configuration for Terminal
             Endpoints."
        ::= { usrIsdnEndpointGroup 1 }

usrIsdnEndpointTableEntry OBJECT-TYPE
        SYNTAX UsrIsdnEndpointTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the Terminal Endpoint Table."
        INDEX { UsrBriIfIndex, UsrBriSigIndex }
        ::= { usrIsdnEndpointTable 1 }

UsrIsdnEndpointTableEntry ::= SEQUENCE {
        usrIsdnEndpointIfType UsrBriIANAifType,
        usrIsdnEndpointTeiType INTEGER,
        usrIsdnEndpointTeiValue INTEGER,
        usrIsdnEndpointSpid DisplayString,
        usrIsdnEndpointStatus RowStatus,
		usrIsdnEndpointIndex UsrBriSigIndex
        }

usrIsdnEndpointIfType OBJECT-TYPE
        SYNTAX UsrBriIANAifType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The interface type for this Terminal Endpoint."
        ::= { usrIsdnEndpointTableEntry 1 }

usrIsdnEndpointTeiType OBJECT-TYPE
        SYNTAX INTEGER {
            dynamic(1),
            static(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The type of TEI (Terminal Endpoint Identifier) to be
             used for this Terminal Endpoint. In case of dynamic(1),
             the TEI value will be selected by the switch. In
             case of static(2), a valid TEI value will have to be
             entered in the isdnTeTeiValue object."
        ::= { usrIsdnEndpointTableEntry 2 }

usrIsdnEndpointTeiValue OBJECT-TYPE
        SYNTAX INTEGER ( 0..255 )
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The TEI (Terminal Endpoint Identifier) value
             for this Terminal Endpoint. If isdnTeTeiType
             is set to static(2), valid numbers are 0..63,
             while otherwise the value will be set internally."
        ::= { usrIsdnEndpointTableEntry 3 }

usrIsdnEndpointSpid OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
          "The SPID information required to configure this
           terminal endpoint.
           This information has to be defined in addition to
           the local number for some switch protocol types,
           e.g. Bellcore NI-1 and NI-2.

           If this object is not required, it will be a
           zero length string."
              --CONFIGURABLE
        ::= { usrIsdnEndpointTableEntry 4 }

usrIsdnEndpointStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is used to create and delete rows in the
            isdnEndpointTable."
              --CONFIGURABLE
        ::= { usrIsdnEndpointTableEntry 5 }

usrIsdnEndpointIndex OBJECT-TYPE
        SYNTAX UsrBriSigIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { usrIsdnEndpointTableEntry 6 }
--
-- The Directory Number group
--

usrIsdnDirectoryGroup OBJECT IDENTIFIER ::= { usrIsdnMibObjects 6 }

usrIsdnDirectoryTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UsrIsdnDirectoryTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table containing Directory Numbers."
        ::= { usrIsdnDirectoryGroup 1 }

usrIsdnDirectoryTableEntry OBJECT-TYPE
        SYNTAX UsrIsdnDirectoryTableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in the Directory Number Table."
        INDEX { UsrBriIfIndex, UsrBriSigIndex }
        ::= { usrIsdnDirectoryTable 1 }

UsrIsdnDirectoryTableEntry ::= SEQUENCE {
        usrIsdnDirectoryIndex INTEGER,
        usrIsdnDirectoryNumber DisplayString,
        usrIsdnDirectoryIfIndex UsrBriInterfaceIndex,
        usrIsdnDirectoryStatus RowStatus,
		usrIsdnDirectoryTableIndex UsrBriSigIndex
        }

usrIsdnDirectoryIndex OBJECT-TYPE
        SYNTAX INTEGER ( 1..'7fffffff'h )
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The index value which uniquely identifies an entry
             in the isdnDiretoryTable."
        ::= { usrIsdnDirectoryTableEntry 1 }

usrIsdnDirectoryNumber OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "A Directory Number. Directory Numbers will be used
             to identify incoming calls on the signalling
             channel given in isdnDirectoryIfIndex."
        ::= { usrIsdnDirectoryTableEntry 2 }


usrIsdnDirectoryIfIndex OBJECT-TYPE
        SYNTAX UsrBriInterfaceIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "A interface index pointing to an ISDN signalling
             channel. Incoming calls will be accepted on this
             signalling channel if the isdnDirectoryNumber is
             presented as Called Number in the SETUP message."
        ::= { usrIsdnDirectoryTableEntry 3 }

usrIsdnDirectoryStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is used to create and delete rows in the
            isdnDirectoryTable."
        ::= { usrIsdnDirectoryTableEntry 4 }

usrIsdnDirectoryTableIndex OBJECT-TYPE
        SYNTAX UsrBriSigIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            ""
        ::= { usrIsdnDirectoryTableEntry 5 }
--
-- conformance information
--

usrIsdnMibConformance OBJECT IDENTIFIER ::= { usrIsdnMib 2 }
usrIsdnMibCompliances OBJECT IDENTIFIER ::= { usrIsdnMibConformance 1 }
usrIsdnMibGroups      OBJECT IDENTIFIER ::= { usrIsdnMibConformance 2 }

-- compliance statements

usrIsdnMibCompliance MODULE-COMPLIANCE
        STATUS    current
        DESCRIPTION
            "The compliance statement for entities which implement
             the ISDN MIB. Note that the isdnMibBasicRateGroup
             is mandatory only for entities supporting Basic Rate
             interfaces."
        MODULE    -- this module
            MANDATORY-GROUPS {
                        usrIsdnMibBasicRateGroup,
                        usrIsdnMibSignallingGroup,
                        usrIsdnMibBearerGroup
            }
        GROUP usrIsdnMibEndpointGroup
        DESCRIPTION
            "Implementation of this group is optional for all systems
             that attach to ISDN interfaces."
        GROUP usrIsdnMibDirectoryGroup
        DESCRIPTION
            "Implementation of this group is optional for all systems
             that attach to ISDN interfaces."

        OBJECT usrIsdnBasicTblIfType
          MIN-ACCESS  read-only
          DESCRIPTION
          "It is conformant to implement this object as read-only."

        OBJECT isdnSigTblLineTopology
          MIN-ACCESS  read-only
          DESCRIPTION
          "It is conformant to implement this object as read-only.
           For Primary Rate ISDN interfaces, this object must be
           implemented as read-only and has to return the value of
           pointToPoint(1)."

        ::= { usrIsdnMibCompliances 1 }

-- units of conformance

usrIsdnMibBasicRateGroup OBJECT-GROUP
        OBJECTS {
          usrIsdnBasicTblIfType
        }
        STATUS current
        DESCRIPTION
          "A collection of objects required for ISDN basic rate
           physical interface configuration and statistics."
        ::= { usrIsdnMibGroups 1 }

usrIsdnMibSignallingGroup OBJECT-GROUP
        OBJECTS {
          usrIsdnSigTblSignallingProtocol,
          usrIsdnSigTblLineTopology,
          usrIsdnSigTblCallingAddress,
          usrIsdnSigTblSubAddress,
          usrIsdnSigTblBchannelCount,
          usrIsdnSigTblStatus,
          usrIsdnSigStatsOperStatus,
          usrIsdnSigStatsLapdPeerSabme,
          usrIsdnSigStatsLapdRecvdFrmr,
          usrIsdnSigStatsInCalls,
          usrIsdnSigStatsInConnected,
          usrIsdnSigStatsOutCalls,
          usrIsdnSigStatsOutConnected,
          usrIsdnSigStatsChargedUnits
        }
        STATUS    current
        DESCRIPTION
          "A collection of objects required for ISDN signalling
           interface configuration and statistics."
        ::= { usrIsdnMibGroups 2 }

usrIsdnMibBearerGroup OBJECT-GROUP
        OBJECTS {
          usrIsdnBearerChannelType,
          usrIsdnBearerOperStatus,
          usrIsdnBearerChannelNumber,
          usrIsdnBearerPeerAddress,
          usrIsdnBearerPeerSubAddress,
          usrIsdnBearerCallOrigin,
          usrIsdnBearerInfoType,
          usrIsdnBearerMultirate,
          usrIsdnBearerCallSetupTime,
          usrIsdnBearerCallConnectTime,
          usrIsdnBearerChargedUnits
        }
        STATUS    current
        DESCRIPTION
          "A collection of objects required for ISDN bearer channel
           interface control and statistics."
        ::= { usrIsdnMibGroups 3 }

usrIsdnMibEndpointGroup OBJECT-GROUP
        OBJECTS {
          usrIsdnEndpointIfType,
          usrIsdnEndpointTeiType,
          usrIsdnEndpointTeiValue,
          usrIsdnEndpointSpid,
          usrIsdnEndpointStatus
        }
        STATUS    current
        DESCRIPTION
          "A collection of objects describing Terminal Endpoints."
        ::= { usrIsdnMibGroups 4 }

usrIsdnMibDirectoryGroup OBJECT-GROUP
        OBJECTS {
            usrIsdnDirectoryIndex,
            usrIsdnDirectoryNumber,
            usrIsdnDirectoryIfIndex,
            usrIsdnDirectoryStatus
        }
        STATUS current
        DESCRIPTION
          "A collection of objects describing directory numbers."
        ::= { usrIsdnMibGroups 5 }

END

--
--    usr_d56k.mib - The USR D56K MIB module
--
--
-- Author:         <Joe Kralowetz>
--
-- $Id: usr_d56k.mib,v 1.3.10.1 1997/09/05 15:09:28 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-D56K-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               OBJECT-TYPE
                    FROM RFC-1212
               DisplayString, usrD56k, UsrConfigStatus
                    FROM USR-DEFINITIONS-MIB;


          -- Herein lies the D56k group.

          usrD56kCFMStatusFlag OBJECT-TYPE
              SYNTAX  UsrConfigStatus
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                "This variable controls saving and loading of configuration
                information for the D56k WAN Driver. The value can be set
                to either save or load by a management station. The other
                values indicate if any configuration operation and what type
                is in progress."
              ::= { usrD56k 1 }

          usrD56kCfgFileName OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                "The name of a ConfigFile to read/write the D56k parameters.
                 If the value of this object is an empty string, then the
                 D56k Driver uses the default name `@file://D56k.cfg'."
              ::= { usrD56k 2 }

          usrD56kNetworkLoopback OBJECT-TYPE
              SYNTAX  INTEGER {
                          none(1),
                          networkCsu(2),
                          networkDsu(3)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                "Indicates the type (if any) of loopback which is 
                currently being applied from the network side.
                This loopback cannot be controlled by the local user."
              ::= { usrD56k 3 }

          END

--
--	usr_tftp.mib - The usr TFTP MIB module
--
--
-- Author:         Peter Dobransky
--
-- $Id: usr_tftp.mib,v 1.1.16.1 1997/09/05 15:09:38 psd Exp $
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-TFTP-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		IpAddress
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrTftp, UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;


   -- textual conventions
   -- 
   -- textual conventions are like pre-processor macro in 'C'
   --        (i.e. #define statements)
   -- Use them to define your own 'datatypes'

   -- memory size, expressed in units of 1024bytes


	-- A sample Table definiton.

	usrTftpConfigFileName OBJECT-TYPE
		SYNTAX      DisplayString
		ACCESS      read-write
		STATUS      mandatory
		DESCRIPTION		
		  "The name of a ConfigFile to read/write permanent database records.
		   If the value of this object is an empty string, then the
		   TFTP process uses the default name `@file://TftpProcess.cfg'. "
	::= { usrTftp 1 }

	usrTftpCFMStatusFlag  OBJECT-TYPE
	 	SYNTAX	  UsrConfigStatus
		ACCESS      read-write
		STATUS      mandatory
		DESCRIPTION
		  "Setting the value of this object to `save' causes the values
		   of the TFTP Group to be written out to the current config
		   file, which is stored in the usrTftpConfigFileName object.
		   While the new ConfigFile is being written, the TFTP process
		   will set the value of this flag to `saving''. Any
		   attempts to set the value while it is not `normal'
		   (i.e. the file is currently being written to the
		   ConfigFile) while result in a badValue error being
		   returned. Setting the value to `normal' will result in no
		   action."
	::= { usrTftp 2 }

	usrTftpAccessTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF UsrTftpAccessEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The TFTP access table"
	::= { usrTftp 3 }

	usrTftpAccessEntry OBJECT-TYPE
         	SYNTAX  UsrTftpAccessEntry
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            ""
         INDEX   { usrTftpAccessIpAddr }
	::= { usrTftpAccessTable 1 }

	UsrTftpAccessEntry ::=
         	SEQUENCE {
         	usrTftpAccessIpAddr
            IpAddress,
         	usrTftpAccessStatus
            INTEGER
         }

	usrTftpAccessIpAddr OBJECT-TYPE
         	SYNTAX  IpAddress
         	ACCESS  not-accessible
         	STATUS  mandatory
         	DESCRIPTION
            "The IP Address of the station allowed to perform TFTP file
             transfers."
	::= { usrTftpAccessEntry 1 }

	usrTftpAccessStatus OBJECT-TYPE
	 	SYNTAX   INTEGER {
			add(1),
			normal(2),
			delete(3)
			}
         	ACCESS   read-write
         	STATUS   mandatory
         	DESCRIPTION
            "The status of the entry for this address."
          --CONFIGURABLE
         ::= { usrTftpAccessEntry 2 }

END         -- End usr TFTP MIB definitions

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_tftp.mib,v $
-- Revision 1.1.16.1  1997/09/05 15:09:38  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.1  1996/05/22  18:39:52  psd
--Initial TFTP security access MIB.
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_dialout.mib - The USR Dial-out MIB module
--
--
-- Author:         Peter Dobransky
--
-- $Id: usr_dialout.mib,v 1.6.14.1 1997/09/05 15:09:30 psd Exp $
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-DIALOUT-MIB DEFINITIONS ::= BEGIN

     IMPORTS
          IpAddress
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrDialout, UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;


-- textual conventions
-- 
-- textual conventions are like pre-processor macro in 'C'
--        (i.e. #define statements)
-- Use them to define your own 'datatypes'

-- memory size, expressed in units of 1024bytes


usrDialoutConfigFileName OBJECT-TYPE
     SYNTAX DisplayString
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
       "The name of a ConfigFile to read/write permanent database
        records. If the value of this object is an empty string,
        then the Dial-out process uses the default name
        `@file://DialOutProcess.cfg'."
::= { usrDialout 1 }

usrDialoutCFMStatusFlag  OBJECT-TYPE
     SYNTAX UsrConfigStatus
     ACCESS read-write
     STATUS mandatory
     DESCRIPTION
       "Setting the value of this object to `save' causes the values
        of the Dial-out Group to be written out to the current config
        file, which is stored in the usrDialoutConfigFileName object.
        While the new ConfigFile is being written, the Dial-out process
        will set the value of this flag to `saving''. Any
        attempts to set the value while it is not `normal'
        (i.e. the file is currently being written to the
        ConfigFile) while result in a badValue error being
        returned. Setting the value to `normal' will result in no
        action."
::= { usrDialout 2 }

usrDialoutSecurity OBJECT-TYPE
	SYNTAX      INTEGER {
                    no(1),
                    yes(2)
                    }
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
       "Setting the value of this object to yes(2) will instruct the
        Dial-out process to authenticate all network users who attempt to
        connect to a virtual port. Setting the value of this object to
        no(1) will instruct the Dial-out process to bypass the user
        authentication process."
     --CONFIGURABLE
::= { usrDialout 3 }

usrDialoutWorkstationTimeout OBJECT-TYPE
	SYNTAX      INTEGER (0..180)
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
       "Even when it appears there is no activity on a connected virtual
        port, the client and server are still actively sending and
        receiving messages. If the client is re-booted, or if the client
        experiences a system error that interrupts this activity, the
        server will wait a certain amount of time before terminating the
        connection. Depending on what caused the interruption, this
        period of time may allow the client to restore the connection.
        This time-out value is specified in minutes. The default is 5
        minutes. To disable workstation time-out, set this object to 0."
     --CONFIGURABLE
::= { usrDialout 4 }

usrDialoutUserTimeout OBJECT-TYPE
	SYNTAX      INTEGER (0..180)
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
       "The User time-out is provided so that a virtual port will be
        freed for use by others when the current user is not actively
        using the virtual port. If the server does not receive any
        transmit data requests from the client for the period of the
        time-out, the session is disconnected. The time-out value is
        specified in minutes. The default is 5 minutes. To disable
        user time-out, set this object to 0."
     --CONFIGURABLE
::= { usrDialout 5 }

usrDialoutPortTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF UsrDialoutPortEntry
     ACCESS     not-accessible
     STATUS     mandatory
     DESCRIPTION
       "A list of virtual ports available for dial-out."
::= { usrDialout 6 }

usrDialoutPortEntry OBJECT-TYPE
     SYNTAX      UsrDialoutPortEntry
     ACCESS      not-accessible
     STATUS      mandatory
     DESCRIPTION
       "An entry containing management information applicable to a
        particular virtual port."
     INDEX { usrDialoutPortNumber }
::= { usrDialoutPortTable 1}

UsrDialoutPortEntry ::=
     SEQUENCE {
          usrDialoutPortNumber INTEGER,
          usrDialoutPortGeneralName DisplayString,
          usrDialoutPortSpecificName DisplayString,
          usrDialoutPortState INTEGER,
          usrDialoutPortClientType INTEGER,
          usrDialoutPortIpxClientAddress OCTET STRING,
          usrDialoutPortIpClientAddress IpAddress
          }

usrDialoutPortNumber OBJECT-TYPE
	SYNTAX      INTEGER
	ACCESS      not-accessible
	STATUS      mandatory
	DESCRIPTION
       "The virtual port number of the dial-out port."
::= { usrDialoutPortEntry 1}

usrDialoutPortGeneralName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE(8))
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
       "The general service name associated with a virtual port. When a
        network user requires access to a type of service, rather than a
        specific port, the user is able to request a service by its
        general name. This provides network users access to the
        communication server ports without requiring the user to know
        the specific name or location of a port."
::= { usrDialoutPortEntry 2}

usrDialoutPortSpecificName OBJECT-TYPE
	SYNTAX      DisplayString (SIZE(14))
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
       "The specific name associated with a virtual port. This allows a
        network user to locate a particular port for access to a specific
        service associated with that port."
::= { usrDialoutPortEntry 3}

usrDialoutPortState OBJECT-TYPE
	SYNTAX      INTEGER {
                    available(1),
                    unavailable(2),
                    in-use(3),
                    disconnect(4)
                    }
	ACCESS      read-write
	STATUS      mandatory
	DESCRIPTION
       "The state of the virtual port. When a port is in the available(1)
        state, it is available to a network user. When a port is in the
        unavailable(2) state, it is not available to a network user. When
        a port is in the in-use(3) state, it is currently in use by a
        network user. Setting this object to disconnect(4) will cause a
        supervisory disconnect of the current user. Setting this object
        to any other value will have no effect."
::= { usrDialoutPortEntry 4}

usrDialoutPortClientType OBJECT-TYPE
	SYNTAX      INTEGER {
                    none(0),
                    ip(1),
                    ipx(2)
                    }
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
       "The type of client that is attached to this port. This object
        is set to none(0) if no client is attached to the port."
::= { usrDialoutPortEntry 5}

usrDialoutPortIpxClientAddress OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE(6))
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
       "The Ethernet address of the IPX client workstation attached
        to the port. If no client is attached to the port or an IP
        client is attached to the port, this object is set to all
        zeros."
::= { usrDialoutPortEntry 6}

usrDialoutPortIpClientAddress OBJECT-TYPE
	SYNTAX      IpAddress
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION
       "The IP address of the IP client workstation attached to
        the port. If no client is attached to the port or an IPX
        client is attached to the port, this object is set to all
        zeros."
::= { usrDialoutPortEntry 7}

END         -- End usr Dial-out MIB definitions

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_dialout.mib,v $
-- Revision 1.6.14.1  1997/09/05 15:09:30  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.6  1996/09/25  19:13:21  psd
--Changed usrDialoutSecurity values.
--
-- Revision 1.5  1996/09/25 18:26:21  psd
-- Made 3 port table objects global.
--
-- Revision 1.4  1996/09/23 14:11:42  psd
-- Add client type/address objects.
--
-- Revision 1.3  1996/09/03 16:18:21  psd
-- Enhanced MIB support.
--
-- Revision 1.2  1996/07/12 19:57:49  psd
-- New MIB format.
--
-- Revision 1.1  1996/07/09 18:46:27  psd
-- Initial draft of the Dial-out MIB.
--
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--	usr_cli.mib
--
--
-- Author:         Clarise Patton
--
-- $Id: usr_cli.mib,v 1.4 1997/07/15 19:34:48 drema Exp $
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-CLI-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, UsrConfigStatus, usrCli
                  FROM USR-DEFINITIONS-MIB;


   -- textual conventions

   -- Begin managed object definitions here...

usrCliVersion OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		obsolete
	DESCRIPTION
		"The current software version of the Command Line Interpreter
	       process.."
::= { usrCli 1 }

usrCliConfigFileName OBJECT-TYPE
	SYNTAX		DisplayString
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION		
		  "The name of a ConfigFile to read/write permanent database
                   records."
	::= { usrCli 2 }

usrCliCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"This variable controls saving and loading of configuration
           information for the CLI process. The value can 
           be set to either save or load by a management station. The other
           values indicate if any configuration operation and what type
           is in progress."
::= { usrCli 3 }

usrCliHistoryDepth OBJECT-TYPE
     SYNTAX   INTEGER
     ACCESS   read-write
     STATUS   mandatory
     DESCRIPTION
            "The number of commands to be held in the History Array."
	--CONFIGURABLE
::= { usrCli 4 }

usrCliPrompt OBJECT-TYPE
     SYNTAX   DisplayString
     ACCESS   read-write
     STATUS   mandatory
     DESCRIPTION
            "The specific prompt to be used for this CLI."
	--CONFIGURABLE
::= { usrCli 5 }


usrCliConsoleLogin OBJECT-TYPE
     SYNTAX   INTEGER {no(1),yes(2) }
     ACCESS   read-write
     STATUS   mandatory
     DESCRIPTION
            "Whether the Console user will be required to log in.
		This defaults to Enabled and can only be changed by
		a priviledged user."
	--CONFIGURABLE
::= { usrCli 6 }

usrCliConsoleIdleTimeout OBJECT-TYPE
     SYNTAX   INTEGER (0..60)
     ACCESS   read-write
     STATUS   mandatory
     DESCRIPTION
            "If Console user is required to log in, there will be
		an idle timeout specified in minutes.  
		This will default to 5 minutes.
		There is a max of 60 minutes.  
		If this is set to 0, there will be no timeout. 
		This can only be modified by a priviledged user."
	--CONFIGURABLE
::= { usrCli 7 }

END         -- End CLI MIB definitions

--
--
-- $Log: usr_cli.mib,v $
-- Revision 1.4  1997/07/15 19:34:48  drema
-- Fixed bug #1712 by changing usrCliVersion's status to obsolete
--
-- Revision 1.3  1996/10/18 18:26:20  patton
-- added console login entries
--
-- Revision 1.2  1996/09/18 21:44:40  jhalpin
-- Merge in LANLinker branch changes <sawdust city here I come..>
--
-- Revision 1.1.2.1  1996/09/12 18:32:03  jhalpin
-- Fix Filter protocol bits, build usr_cli.mib into usr_netserver.mib, remove unneeded definitions from usr_definitions.mib
--
-- Revision 1.1  1996/05/20 14:06:20  patton
-- added the CLI MIB
--
-- End:
--
--
--	usr_adsl.mib - ADSL Driver MIB
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_adsl.mib,v 1.3 1997/02/28 20:16:02 jhalpin Exp $
--
--  | Copyright (c) 1995-1997 U.S. Robotics Access Corp., Skokie, IL 60076 |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

Template-MIB DEFINITIONS ::= BEGIN

	IMPORTS
	     Counter
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrAdsl, UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;


   -- textual conventions
   -- 
   -- textual conventions are like pre-processor macro in 'C'
   --        (i.e. #define statements)
   -- Use them to define your own 'datatypes'


   -- Begin managed object definitions here...

	usrAdslXmitPower OBJECT-TYPE
         SYNTAX   INTEGER(-15..-3)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Transmit power of ADSL transceiver represented in dB."
         ::= { usrAdsl 1 }

	usrAdslRmtReqDwnConstStatus OBJECT-TYPE
         SYNTAX   INTEGER (0..128)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            	"Value corresponds to the downstream constellation
                 requested."
         ::= { usrAdsl 2 }

	usrAdslActualDwnConstStatus OBJECT-TYPE
         SYNTAX   INTEGER (0..128)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            	"Value corresponds to the actual downstream constellation
                 that was used, which may differ from the value requested."
         ::= { usrAdsl 3 }

	usrAdslRmtReqUpConstStatus OBJECT-TYPE
         SYNTAX   INTEGER (0..128)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Value corresponds to the upstream constellation requested."
         ::= { usrAdsl 4 }

	usrAdslActualUpConstStatus OBJECT-TYPE
         SYNTAX   INTEGER (0..128)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Value corresponds to the actual upstream constellation that
             was used, which may differ from the value requested."
         ::= { usrAdsl 5 }


	usrAdslFwRel OBJECT-TYPE
         SYNTAX   INTEGER (0..16777215)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Firmware release number of the GTI supplied transceiver
             software module."
         ::= { usrAdsl 6 }

	usrAdslStartletVerson OBJECT-TYPE
         SYNTAX   INTEGER (0..4)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Value is a number that corresponds to the version number of
             the STARLET VLSI in the transceiver."
         ::= { usrAdsl 7 }

	usrAdslMeanSqError OBJECT-TYPE
         SYNTAX   INTEGER {
                           minus50db(1),
                           plus50db(2)
                          }
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Received signal to noise ratio."
         ::= { usrAdsl 8 }

	usrAdslEqualization OBJECT-TYPE
         SYNTAX   INTEGER  -- Range values are TBD
         ACCESS   read-only -- TBD
         STATUS   mandatory
         DESCRIPTION
            "TBD"
         ::= { usrAdsl 9 }

	usrAdslReceiverGain OBJECT-TYPE
         SYNTAX   INTEGER -- Range values are TBD
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "Total receiver gain measured in dB."
         ::= { usrAdsl 10 }


	usrAdslBytesErrCorrected OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Number of bytes corrected by Reed-Solomon error correction
             algorithm in the STARLET."
         ::= { usrAdsl 11 }

	usrAdslBytesNotErrCorrected OBJECT-TYPE
         SYNTAX   INTEGER (0..255)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Number of bytes not corrected by Reed-Solomon error correction
             algorithm in the STARLET."
         ::= { usrAdsl 12 }

	usrAdslOverflowCounter OBJECT-TYPE
         SYNTAX   Counter
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Running counter for when usrAdslBytesErrorCorrected or 
             usrAdslBytesNotErrorCorrected overflows"
         ::= { usrAdsl 13 }


	usrAdslOpState OBJECT-TYPE
         SYNTAX   INTEGER (0..134)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Defines the high level operating state of the transceiver.
             Used by the customer to determine whether the transceiver
             is in idle mode, data mode, test mode, or startup."
         ::= { usrAdsl 14 }

	usrAdslStartupProgress OBJECT-TYPE
         SYNTAX   INTEGER (0..191)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Defines the current detailed startup state of the
             transceiver.  The LSB determines the major mode
             corresponding to startup in var usrAdslOpState."
         ::= { usrAdsl 15 }


	usrAdslLastFailedStatus OBJECT-TYPE
         SYNTAX   INTEGER (0..191)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Defines the last detailed state reached in
             usrAdslStartupProgress before startup failed."
         ::= { usrAdsl 16 }


	usrAdslActualBaudDataRateDwn OBJECT-TYPE
         SYNTAX   INTEGER (340..952)
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Actual downstream rate of kilobytes per second."
         ::= { usrAdsl 17 }

	usrAdslActualBaudDataRateDwnMar OBJECT-TYPE
         SYNTAX   INTEGER -- Range values are TBD
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "TBD"
         ::= { usrAdsl 18 }


	usrAdslActualBaudDataRateUp OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "Actual upstream rate of kilobytes per second."
         ::= { usrAdsl 19 }


	usrAdslActualBaudDataRateUpMarg OBJECT-TYPE
         SYNTAX   INTEGER -- Range values are TBD
         ACCESS   read-only
         STATUS   mandatory
         DESCRIPTION
            "TBD"
         ::= { usrAdsl 20 }

        usrAdslCFMStatusFlag OBJECT-TYPE
         SYNTAX  UsrConfigStatus
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
                "This variable controls saving and loading of configuration
                information for the D56k WAN Driver. The value can be set
                to either save or load by a management station. The other
                values indicate if any configuration operation and what type
                is in progress."
         ::= { usrAdsl 21 }

        usrAdslCfgFileName OBJECT-TYPE
         SYNTAX  DisplayString
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
                "The name of a ConfigFile to read/write the D56k parameters.
                 If the value of this object is an empty string, then the
                 D56k Driver uses the default name `@file://D56k.cfg'."
         ::= { usrAdsl 22 }

        usrAdslResetStatus OBJECT-TYPE
         SYNTAX   INTEGER
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION
            "The Reset Status of the ADSL Starlet chipset"
         ::= { usrAdsl 23 }


END         -- End usrAdsl MIB definitions

--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_adsl.mib,v $
-- Revision 1.3  1997/02/28 20:16:02  jhalpin
-- Add new object
--
-- Revision 1.2  1997/01/23 17:02:33  jhalpin
-- Remove unused datatype imports
--
-- Revision 1.1  1997/01/23 16:58:07  jhalpin
-- Add new ADSL MIB module
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--      usr_ntp.mib - A proprietary Network Time Protocol MIB
--
--
-- Author:         ??? maintained by Reuben Sivan
-- Created:        Feb-24-1997
--
--
--
--  | Copyright (c) 1997 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--


USR-NTP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
          OBJECT-TYPE,
          MODULE-IDENTITY,
          Integer32,
          Counter32,
          IpAddress
                FROM SNMPv2-SMI
          TruthValue,
          DisplayString
                FROM SNMPv2-TC
          MODULE-COMPLIANCE,
          OBJECT-GROUP
                FROM SNMPv2-CONF
          common,
          UsrConfigStatus
                FROM USR-DEFINITIONS-MIB;

usrNTPMib MODULE-IDENTITY
    LAST-UPDATED        "9704282000Z"
    ORGANIZATION        "U.S. Robotics"
    CONTACT-INFO        ""
    DESCRIPTION
     "This MIB Module defines the USRobotics private interface
      to the Simple Network Time Protocol client process.
      The process can be configured with up to two alternate servers,
      a primary server and a secondary server. The primary server is
      always contacted first, the secondary server is contacted after
      all retransmissions to the primary failed have failed.
      The implementation is based on RFC 2030, using unicast mode
      only.
      Note that all the writable objects include a 'DEFVAL'
      clause. The clause is intended to be used as a reference only,
      in case an agent has no previously saved configuration.
      Typically, at start-up, an agent will load data saved from a
      previous session - thus 'DEFVAL' is used mainly for new
      systems."
    ::= { common 34 }

usrNTPObjects OBJECT IDENTIFIER ::= { usrNTPMib 1 }


-- Begin managed object definitions here...

usrNTPPrimaryServer OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..132))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "The IP address or host name of the primary NTP server that the
      module will query for time synchronization.
      An empty string means that no primary server is defined."
    DEFVAL { "" }
    --CONFIGURABLE
    ::= { usrNTPObjects 1 }     

usrNTPSecondaryServer OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..132))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "The IP address or host name of the secondary NTP server that the
      module will query for time synchronization whenever the primary
      server is unavailable.
      An empty string means that no secondary server is defined."
    DEFVAL { "" }
    --CONFIGURABLE
    ::= { usrNTPObjects 2 }

usrNTPPollingInterval OBJECT-TYPE
    SYNTAX      Integer32 (64..1024)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "The polling interval used by the NTP process to gather time
      synchronization information. In sconds.
      The range available is 64 seconds to 1024 seconds. The default is 600
      seconds (10 minutes)."
    REFERENCE "RFC 1305 (NTPv3)."
    DEFVAL { 600 }
    --CONFIGURABLE
    ::= { usrNTPObjects 3 }

usrNTPMaxRetransmits OBJECT-TYPE
    SYNTAX      Integer32 (1..200)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
     "The maximum number of times a request will be retransmitted to a
      given server before the server is considered unavailable. The range
      allowed is 1 to 200 times. The default is 5 times."
    DEFVAL { 5 }
    --CONFIGURABLE
    ::= { usrNTPObjects 4 }

usrNTPTimeOut OBJECT-TYPE
    SYNTAX      Integer32 (1..60)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "The number of seconds since a request has been sent to a server,
      after which period the request is considered timed-out.
      The range for this is 1 second to 1 minute. The default is 10
      seconds."
    DEFVAL { 10 }
    --CONFIGURABLE
    ::= { usrNTPObjects 5 }

usrNTPEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "This object enables or disables NTP synchronization in a
      system. Default is off (false)."
    DEFVAL { false }
    --CONFIGURABLE
    ::= { usrNTPObjects 6 }

usrNTPProtocolVersion OBJECT-TYPE
    SYNTAX INTEGER {
        ntpV3(3),
        ntpV4(4)
      }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "The protocol version that the NTP client will use when sending NTP
      client requests to a server."
    DEFVAL { ntpV3 }
    --CONFIGURABLE
    ::= { usrNTPObjects 7 }

usrNTPCfmFileName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The name of the configuration file currently in use."
    DEFVAL { "@file://Ntp.cfg" }
    ::= { usrNTPObjects 8 }

usrNTPCfmSaveFlag OBJECT-TYPE
    SYNTAX      UsrConfigStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "Setting the value of this object to `save' causes the values of the
     NTP Group to be written out to the current config file, which
     is stored in the usrNTPCfmFileName object. While the new
     ConfigFile is being written, the NTP process will set the value
     of this flag set to `saving''. Any attempts to set the value while it
     is  not `normal' (i.e. the file is currently being written to the
     ConfigFile) will result in a badValue error being returned. Setting
     the value to `normal' will result in no action."
    ::= { usrNTPObjects 9 }

usrNTPModuleVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The current software version of the NTP module."
    ::= { usrNTPObjects 10 }

usrNTPLastGoodServer OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The symbolic host name of the last server from which
      time synchronization information was received (if there was a numeric
      address defined, this will be a numeric address in dot notation)."
    ::= { usrNTPObjects 11 }

usrNTPRcvdDatagrams OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of datagrams received at the port on which NTP is listening to."
    ::= { usrNTPObjects 12 }

usrNTPRcvdTooShorts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of datagrams received which were too short for NTP version
      four."
    ::= { usrNTPObjects 13 }

usrNTPRcvdBadVersions OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of datagrams received with a wrong NTP version."
    ::= { usrNTPObjects 14 }

usrNTPRcvdRequests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP requests received."
    ::= { usrNTPObjects 15 }

usrNTPRcvdReplies OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP replies received."
    ::= { usrNTPObjects 16 }

usrNTPRcvdUnsuportedModes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP datagrams received which had a mode value not supported
      by this entity."
    ::= { usrNTPObjects 17 }

usrNTPSentRequests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP requests sent."
    ::= { usrNTPObjects 18 }

usrNTPSentReplies OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP replies sent since the system was last rebooted."
    ::= { usrNTPObjects 19 }

usrNTPSentRexmits OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP requests that were retransmitted due to lack of a timely
      reply."
    ::= { usrNTPObjects 20 }

usrNTPSendErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of NTP requests that could not be sent due to internal errors."
    ::= { usrNTPObjects 21 }

usrNTPDnsErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of times an error was returned by DNS when processing a name
      resolution request from the NTP module."
    ::= { usrNTPObjects 22 }

usrNTPServerTimeouts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of times a server was considered unavailable after requests
      were sent to it a maximum number of retransmissions without a reply."
    ::= { usrNTPObjects 23 }

usrNTPAllocErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of times an operation could not be performed due to a failure
      to allocate memory resources."
    ::= { usrNTPObjects 24 }

usrNTPResolvedIPAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The IP address resolved from the 'current' server with which
      synchronization is being attempted.
      If there is no resolution, or there is no current server defined, this
      object returns zero."
    ::= { usrNTPObjects 25 }

usrNTPLastRcvdLeapIndicator OBJECT-TYPE
    SYNTAX      Integer32 (0..3)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Leap Indicator field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 26 }

usrNTPLastRcvdMode OBJECT-TYPE
    SYNTAX      Integer32 (0..7)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Mode field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 27 }

usrNTPLastRcvdStratum OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Stratum field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 28 }

usrNTPLastRcvdPoll OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Poll field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 29 }

usrNTPLastRcvdPrecision OBJECT-TYPE
    SYNTAX      Integer32 (-127..127)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Precision field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 30 }

usrNTPLastRcvdRootDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Root Delay field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 31 }

usrNTPLastRcvdRootDispersion OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Root Dispersion field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 32 }

usrNTPLastRcvdReferenceIdentifier OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Reference Identifier field."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 33 }

usrNTPLastRcvdReferenceTimestampHigh OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Reference Timestamp field (high octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 34 }

usrNTPLastRcvdReferenceTimestampLow OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Reference Timestamp field (low octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 35 }

usrNTPLastRcvdOriginateTimestampHigh OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Originate Timestamp field (high octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 36 }

usrNTPLastRcvdOriginateTimestampLow OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Originate Timestamp field (low octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 37 }

usrNTPLastRcvdReceiveTimestampHigh OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Receive Timestamp field (high octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 38 }

usrNTPLastRcvdReceiveTimestampLow OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Receive Timestamp field (low octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 39 }

usrNTPLastRcvdTransmitTimestampHigh OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Transmit Timestamp field (high octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 40 }

usrNTPLastRcvdTransmitTimestampLow OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of the last received Transmit Timestamp field (low octets)."
    REFERENCE "RFC 2030 (NTPv4)."
    ::= { usrNTPObjects 41 }


--
-- conformance information
--

usrNTPConformance OBJECT IDENTIFIER ::= { usrNTPMib 2 }
usrNTPCompliances OBJECT IDENTIFIER ::= { usrNTPConformance 1 }
usrNTPGroups      OBJECT IDENTIFIER ::= { usrNTPConformance 2 }

usrNTPCompliance MODULE-COMPLIANCE
    STATUS        current
    DESCRIPTION
     "The compliance statement for entities which implement
      the MIB."
    MODULE    -- this module
    MANDATORY-GROUPS {
      usrNTPGroup
    }
    ::= { usrNTPCompliances 1 }

-- units of conformance

usrNTPGroup OBJECT-GROUP
    OBJECTS {
      usrNTPPrimaryServer,
      usrNTPSecondaryServer,
      usrNTPPollingInterval,
      usrNTPMaxRetransmits,
      usrNTPTimeOut,
      usrNTPEnable,
      usrNTPProtocolVersion,
      usrNTPCfmFileName,
      usrNTPCfmSaveFlag,
      usrNTPModuleVersion,
      usrNTPLastGoodServer,
      usrNTPRcvdDatagrams,
      usrNTPRcvdTooShorts,
      usrNTPRcvdBadVersions,
      usrNTPRcvdRequests,
      usrNTPRcvdReplies,
      usrNTPRcvdUnsuportedModes,
      usrNTPSentRequests,
      usrNTPSentReplies,
      usrNTPSentRexmits,
      usrNTPSendErrors,
      usrNTPDnsErrors,
      usrNTPServerTimeouts,
      usrNTPAllocErrors,
      usrNTPResolvedIPAddress,
      usrNTPLastRcvdLeapIndicator,
      usrNTPLastRcvdMode,
      usrNTPLastRcvdStratum,
      usrNTPLastRcvdPoll,
      usrNTPLastRcvdPrecision,
      usrNTPLastRcvdRootDelay,
      usrNTPLastRcvdRootDispersion,
      usrNTPLastRcvdReferenceIdentifier,
      usrNTPLastRcvdReferenceTimestampHigh,
      usrNTPLastRcvdReferenceTimestampLow,
      usrNTPLastRcvdOriginateTimestampHigh,
      usrNTPLastRcvdOriginateTimestampLow,
      usrNTPLastRcvdReceiveTimestampHigh,
      usrNTPLastRcvdReceiveTimestampLow,
      usrNTPLastRcvdTransmitTimestampHigh,
      usrNTPLastRcvdTransmitTimestampLow
    }
    STATUS        current
    DESCRIPTION
     "All objects in this MIB."
    ::= { usrNTPGroups 1 }



END

--
-- $Log: usr_ntp.mib,v $
-- Revision 1.10.2.1  1997/09/05 15:09:33  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.10  1997/07/02  21:03:44  rsivan
--Corrected the description of 'PollInterval'.
--
-- Revision 1.9  1997/05/06 21:11:24  rsivan
-- Added log info on last received PDU.
--
-- Revision 1.8  1997/05/05 19:18:43  rsivan
-- Added usrNTPResolvedIPAddress, improved other descriptions.
--
-- Revision 1.7  1997/05/01 17:12:59  rsivan
-- Significantly modified.
-- Added extensive statistics.
--
--

--
--    usr_slip.mib - The USR SLIP MIB module
--
--
-- Author:         <sanil>
--
-- $Id: usr_slip.mib,v 1.1.10.1 1997/09/05 15:09:37 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-SLIP-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               OBJECT-TYPE
				FROM RFC-1212
					usrSLIP, DisplayString, UsrConfigStatus
						FROM USR-DEFINITIONS-MIB;


          usrSLIPBase      OBJECT IDENTIFIER ::= { usrSLIP 1 }



          usrSLIPBaseOffloading OBJECT-TYPE
              SYNTAX  INTEGER {
                        yes(2),
                        no(1)
                      }
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "Indicates whether SLIP framing can be offloaded to
					  the modem card, if modem card is capable of doing it."
              DEFVAL { yes }
              --CONFIGURABLE
              ::= { usrSLIPBase 1 }



          usrSLIPBaseCfgFileName OBJECT-TYPE
              SYNTAX   DisplayString
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "The name of a ConfigFile to read/write
                      permanent database records. If the value of this
                      object is an empty string, then the SLIP process
                      uses the default name `@file://SlipFile.cfg'."
              ::= { usrSLIPBase 2 }

          usrSLIPBaseCFMSaveStatus OBJECT-TYPE
              SYNTAX  UsrConfigStatus
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Setting the value of this object to `save'
                      causes the values of the SLIP Base Group
                      entries to be written out to the current SLIP
                      config file. While the new config file is being
                      written, the SLIP process will set the value
                      of this flag set to `saving''. Any attempts to set
                      the value while it is  not `normal' (i.e. the file
                      is currently being written to the config file)
                      while result in a badValue error being returned.
                      Setting the value to `normal' will result in no
                      action."
              ::= { usrSLIPBase 3 }


END

--
--	usr_ping.mib - The U.S. Robotics Ping MIB
--
--
--  | Copyright (c) 1995-97 U.S. Robotics Access Corp., Skokie, IL 60076   |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-PING-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		OBJECT-TYPE, MODULE-IDENTITY, Integer32, Counter32, IpAddress
								FROM	SNMPv2-SMI
		TruthValue, DisplayString	
								FROM SNMPv2-TC
		common, UsrConfigStatus
								FROM USR-DEFINITIONS-MIB;

usrPing MODULE-IDENTITY
        LAST-UPDATED	"9703251600Z"
        ORGANIZATION	"U.S. Robotics"
	   CONTACT-INFO	""
        DESCRIPTION
            "This MIB Module defines the USRobotics private interface
		   to the Ping for Services process."
        ::= { common 36 }


-- Begin managed object definitions here...


	usrPingVersion OBJECT-TYPE
	SYNTAX	     DisplayString
	MAX-ACCESS     read-only
	STATUS      	current
	DESCRIPTION
		"The current software version of the Ping Process."
	::= { usrPing 1}


	usrPingConfigFileName OBJECT-TYPE
	SYNTAX	     DisplayString
	MAX-ACCESS     read-only
	STATUS      	current
	DESCRIPTION		
		"The name of a ConfigFile to read/write  permanent database records.
		 If the value of this object is an empty string, then the
		 Ping process uses the default name `@file://PingProcess.cfg'. "
	::= { usrPing 2 }

	usrPingCFMStatusFlag  OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	MAX-ACCESS     read-write
	STATUS      	current
	DESCRIPTION
		"Setting the value of this object to `save' causes the values
		 of the Ping Group to be written out to the current config
		 file, which is stored in the cfgPingFile object. While
		 the new ConfigFile is being written, the Ping process
		 will set the value of this flag set to `saving''. Any
		 attempts to set the value while it is  not `normal'
		 (i.e. the file is currently being written to the
		 ConfigFile) while result in a badValue error being
		 returned. Setting the value to `normal' will result in no
		 action."
	::= { usrPing 3 }

	usrPingBusyOutEnabled	OBJECT-TYPE
	SYNTAX		TruthValue
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The variable defines whether the Ping process will continuously
		 ping a list of systems and busy out the modems if those systems
		 do not respond in the specified period of time."
	DEFVAL	{ 1 }
	--CONFIGURABLE
	::= { usrPing 4 }

	usrPingBusyOutTable	OBJECT-TYPE
	SYNTAX		SEQUENCE OF UsrPingBusyOutEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
	      	"A list of systems to ping for connectivity."
	::= { usrPing 5 }

	usrPingBusyOutEntry OBJECT-TYPE
	SYNTAX		UsrPingBusyOutEntry
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
			"An entry containing the server info."
	INDEX { usrPingSystem }
	::= { usrPingBusyOutTable 1 }

	UsrPingBusyOutEntry ::=
	SEQUENCE {
		usrPingSystem DisplayString,
		usrPingServerStatus				INTEGER,
		usrPingFrequency				Integer32,
		usrPingMissesAllowed			Integer32,
		usrPingTimeOut					Integer32,
		usrPingServerReachable			INTEGER,
		usrPingServerTimeSinceContacted	Integer32,
		usrPingServerNumberPingsSent		Counter32,
		usrPingServerPingsReceived		Counter32,
		usrPingServerNumberTimeouts		Counter32,
		usrPingServerNumberUnreachable	Counter32,
		usrPingServerAverageResponseTime	Integer32,
		usrPingServerAddress			IpAddress
		}

	usrPingSystem	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..132))
	MAX-ACCESS	not-accessible
	STATUS		current
	DESCRIPTION
		"The name or IP address of the system to ping..."
	--CONFIGURABLE
	::= { usrPingBusyOutEntry 1 }

	usrPingServerStatus	OBJECT-TYPE
	SYNTAX		INTEGER {
				enabled(1),
				disabled(2),
				delete(3)
				}
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"Is this particular server pinged or not?"
	DEFVAL	{ enabled }
	--CONFIGURABLE
	::= { usrPingBusyOutEntry 2 }

	usrPingFrequency	OBJECT-TYPE
	SYNTAX		Integer32(1..200)
	UNITS		"seconds"
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	
		"How many seconds between each ping request."
	DEFVAL	{ 30 }
	--CONFIGURABLE
	::= { usrPingBusyOutEntry 3 }

	usrPingMissesAllowed	OBJECT-TYPE
	SYNTAX		Integer32(1..1000)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION	
		"The number of allowable misses before this system is declared
		 unreachble."
	DEFVAL	{ 1 }
	--CONFIGURABLE
	::= { usrPingBusyOutEntry 4 }

	usrPingTimeOut		OBJECT-TYPE
	SYNTAX		Integer32(1..6000)
	UNITS		"seconds"
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The number of seconds a ping request can be outstanding before
		 it is declared a miss (failure)."
	DEFVAL	{ 10 }
	--CONFIGURABLE
	::= { usrPingBusyOutEntry 5 }

	usrPingServerReachable	OBJECT-TYPE
	SYNTAX		INTEGER {
				reachable (1),
				unreachable (2),
				badNameOrAddress (3),
				unTried (4),
				dnsTimeout (5)
				}
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"Do we consider this server connected?"
	::= { usrPingBusyOutEntry 6 }

	usrPingServerTimeSinceContacted	OBJECT-TYPE
	SYNTAX		Integer32
	UNITS		"seconds"
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The number of seconds since this server was contacted."
	::= { usrPingBusyOutEntry 7 }

	usrPingServerNumberPingsSent	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The number of ping requests sent to this server."
	::= { usrPingBusyOutEntry 8 }

	usrPingServerPingsReceived	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The number of ping responses received from this server."
	::= { usrPingBusyOutEntry 9 }

	usrPingServerNumberTimeouts	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The number of ping requests sent but not responded to in the specified time."
	::= { usrPingBusyOutEntry 10 }

	usrPingServerNumberUnreachable	OBJECT-TYPE
	SYNTAX		Counter32
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The number of ICMP responses received that indicate the system was unreachable."
	::= { usrPingBusyOutEntry 11 }

	usrPingServerAverageResponseTime	OBJECT-TYPE
	SYNTAX		Integer32
	UNITS		"seconds"
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The average response time between ping request and response
		 for this server."
	::= { usrPingBusyOutEntry 12 }

	usrPingServerAddress	OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The translated IP address of this entry"
	::= { usrPingBusyOutEntry 13 }


END



--
-- For the revision history to work correctly, after a new MIB file has been
-- added to the CVS repository the first time the CVS Admin person needs to
-- set the correct comment string delimter for the file.
--
-- $Log: usr_ping.mib,v $
-- Revision 1.7.6.1  1997/09/05 15:09:34  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.7  1997/03/25  18:22:40  pfc
--SNMPv2 compliant
--
-- Revision 1.6  1997/02/19 21:02:51  pfc
-- Last version of ping mib for busy out
--
-- Revision 1.5  1997/02/19 19:18:08  pfc
-- Checkpoint
--
-- Revision 1.4  1997/02/18 14:41:31  pfc
-- Checkpoint the ping mib
--
-- Revision 1.3  1997/02/10 20:34:20  pfc
-- Whoops, need to make something configurable
--
-- Revision 1.2  1997/02/10 19:51:40  pfc
-- Add usr_ping mib and modify configurator mib to support busy out commands
--
-- Revision 1.1  1997/02/10 19:12:33  pfc
-- First cut
--
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
--
--      usr_remote_ping.mib - A proprietary Remote Ping MIB
--
--
-- Author:         Reuben Sivan
-- Created:        Feb-24-1997
--
--
--
--  | Copyright (c) 1997 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--


USR-REMOTE-PING-MIB DEFINITIONS ::= BEGIN

        IMPORTS
          OBJECT-TYPE,
          Integer32,
          IpAddress,
          TimeTicks
                FROM SNMPv2-SMI
          DisplayString,
          RowStatus
                FROM SNMPv2-TC
          MODULE-COMPLIANCE,
          OBJECT-GROUP
                FROM SNMPv2-CONF
          usrRemotePing, UsrConfigStatus
                FROM USR-DEFINITIONS-MIB;

-- The remote ping MIB is a diagnostic tool intended to test reachability,
-- reliability, and round trip delay between a managed USR NAS and any IP
-- system (PC, UNIX, another NAS, etc.) implementing the common ICMP Echo
-- protocol, also known as 'ping' (from the Unix command 'ping' based
-- on that same protocol).
--
-- As a side effect the tool can also be used to estimate DNS processing
-- delays by monitoring the object usrRemotePingDNSResolutionDelay.
--
--
-- In order to test reachability to a given device, an SNMP client
-- application should:
--
-- 1. Issue an SNMP GET for the object usrRemotePingIndexNext.0.
--    (assume the reply is 'x'). This step is optional, clients might browse
--    the table or just attempt a creation on any index until it succeeds.
--
-- 2. Create a new entry in the Remote Ping table by performing a command
--    such as 'SNMP SET usrRemotePingRowStatus.x = createAndWait.
--
-- 3. If the above succeeds, set values of the various settable objects in
--    the new row.
--    In particular, make sure to set usrRemotePingDestination.x to the name
--    or address to be 'pinged'.
--
--    Alternatively, it is possible to combine several settings on a single
--    SNMP PDU. The PDU could also include a rowStatus value of createAndGo
--    (it should be the last entry in the PDU in relation with a given row)
--    in which case a new row will be created, modified and activated in one
--    transaction.
--
-- 4. After setting the various objects of row x to desired values,
--    modify usrRemotePingRowStatus.x to 'active'.
--
-- 5. If the above succeeds, clients will now typically monitor the value of
--                'usrRemotePingConnectionStatus.x'
--    in order to find out if the process is making progress as expected
--    (it should return 'pinging' or 'completed' very soon now).
--
-- 6. Once 'usrRemotePingConnectionStatus' returns the value 'pinging',
--    clients will typically monitor progress by displaying the ongoing
--    values of:
--         usrRemotePingRequestsSent
--         usrRemotePingRepliesReceived
--         usrRemotePingTimeouts
--         usrRemotePingMinRoundTripTime
--         usrRemotePingMaxRoundTripTime
--         usrRemotePingAverageRoundTripTime
--
--    Other objects could be monitored for various diagnostics purposes,
--    such as:
--         usrRemotePingResolvedIPAddress
--         usrRemotePingCreationTime
--         usrRemotePingActivationTime
--         usrRemotePingLastChanged
--
-- 7. A particular ping sequence is completed when
--    'usrRemotePingConnectionStatus' returns 'completed'. At this point,
--    all the values row x will be steady. Note that, unless
--    'usrRemotePingSelfDestroyDelay' is zero, the row will be
--    self-destroyed a number of minutes after completion (see
--    'usrRemotePingSelfDestroyDelay' which has a default value of 10 minutes).
--
-- 8. In order to start a new sequence using the configuration values
--    already available in an existing row, set 'usrRemotePingRowStatus'
--    first to 'notInService' and then again to 'active'."



--
-- The managed objects
--

usrRemotePingObjects OBJECT IDENTIFIER ::= { usrRemotePing 1 }

usrRemotePingBase OBJECT IDENTIFIER ::= { usrRemotePingObjects 1 }

--
-- base (global) objects
--

usrRemotePingIndexNext OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "This object contains an appropriate value that can be used for
      'usrRemotePingIndex' when creating a new row in the Remote Ping
      Table'. If the value 0 is returned, it indicates that the table
      contains the maximum number of rows and thus it is not possible to add
      another one."
    ::= { usrRemotePingBase 1 }

usrRemotePingNRows OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of rows currently present in the remote ping table."
    ::= { usrRemotePingBase 2 }

usrRemotePingMaxRows OBJECT-TYPE
    SYNTAX      Integer32 (1..1000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "Maximum number of rows allowed in the remote ping table.
      Note that setting this object to a number which is smaller than the
      current number of rows will NOT cause any row deletions - rather, the
      effect of such an action will be noted in future attempts at row creation."
    DEFVAL  { 20 }
    --CONFIGURABLE
    ::= { usrRemotePingBase 3 }

usrRemotePingConfigFileName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The name of a ConfigFile to read/write  permanent database records.
     If the value of this object is an empty string, then the Remote Ping
     process uses the default name `@file://RemotePingProcess.cfg'."
    ::= { usrRemotePingBase 4 }

usrRemotePingCFMStatusFlag  OBJECT-TYPE
    SYNTAX      UsrConfigStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "Setting the value of this object to `save' causes the values of the
     Remote Ping Group to be written out to the current config file, which
     is stored in the usrRemotePingConfigFileName object. While the new
     ConfigFile is being written, the Remote Ping process will set the value
     of this flag set to `saving''. Any attempts to set the value while it
     is  not `normal' (i.e. the file is currently being written to the
     ConfigFile) will result in a badValue error being returned. Setting
     the value to `normal' will result in no action."
    ::= { usrRemotePingBase 5 }

usrRemotePingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF UsrRemotePingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
     "A table of remote ping entries."
    ::= { usrRemotePingObjects 2 }

usrRemotePingEntry OBJECT-TYPE
    SYNTAX      UsrRemotePingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
     "A list of control entries used to control and monitor the remote
      ping process."
    INDEX   { usrRemotePingIndex }
    ::= { usrRemotePingTable 1 }

UsrRemotePingEntry ::= SEQUENCE {
    usrRemotePingIndex                      Integer32 (1..65535),
    usrRemotePingDestination                DisplayString (SIZE (1..255)),
    usrRemotePingSize                       Integer32(1..1450),
    usrRemotePingData                       OCTET STRING (SIZE (0..255)),
    usrRemotePingTimeOut                    Integer32(1..60),
    usrRemotePingCount                      Integer32(0..65535),
    usrRemotePingInterval                   Integer32(1..65535),
    usrRemotePingTtl                        Integer32(0..16),
    usrRemotePingSelfDestroyDelay           Integer32(0..65535),
    usrRemotePingState                      INTEGER,
    usrRemotePingRequestsSent               Integer32,
    usrRemotePingRepliesReceived            Integer32,
    usrRemotePingTimeouts                   Integer32,
    usrRemotePingLastRoundTripTime          Integer32,
    usrRemotePingMinRoundTripTime           Integer32,
    usrRemotePingMaxRoundTripTime           Integer32,
    usrRemotePingAverageRoundTripTime       Integer32,
    usrRemotePingResolvedIPAddress          IpAddress,
    usrRemotePingDNSResolutionDelay         Integer32,
    usrRemotePingCreationTime               TimeTicks,
    usrRemotePingActivationTime             TimeTicks,
    usrRemotePingLastChangeTime             TimeTicks,
    usrRemotePingRowStatus                  RowStatus
}

usrRemotePingIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "A unique index identifying this entry in the table."
    ::= { usrRemotePingEntry 1 }

usrRemotePingDestination OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "The host name or IP address (in dot notation) of the target
      destination being tested by this row. A row cannot be activated
      unless this object has a length greater than zero.
      When a row is activated, a request is sent to the internal DNS process
      to resolve the symbolic name into an IP address. That address can be
      displayed by querying the object 'usrRemotePingResolvedIPAddress'.
      If DNS fails, the object usrRemotePingConnectionStatus will indicate
      'dnsFailed'.
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { "" }
    ::= { usrRemotePingEntry 2 }

usrRemotePingSize OBJECT-TYPE
    SYNTAX      Integer32(1..1450)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "Size of the data to be sent, in bytes.
      Note that the actual datagram will be larger than this value, as it
      will include:
        - MAC header (14 octets on Ethernet)
        - IP header (20 octets)
        - ICMP header (8 octets)
      Together these add to a typical 42 octets.
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { 64 }
    ::= { usrRemotePingEntry 3 }

usrRemotePingData OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "This object specifies the data to be transmitted. If the length of
      this object is bigger than usrRemotePingSize, only the first
      usrRemotePingSize octets will be used. If the length of this
      object is zero, the agent will use random data. If the length of
      this object is smaller than usrRemotePingSize, the data pattern
      will be repeated as many times as necessary to fill up the
      transmission buffer.
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { "" }
    ::= { usrRemotePingEntry 4 }

usrRemotePingTimeOut OBJECT-TYPE
    SYNTAX      Integer32(1..60)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "Amount of time in seconds before deciding that a transmission has
      not been replied to.
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { 20 }
    ::= { usrRemotePingEntry 5 }

usrRemotePingCount OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "The number of ICMP ECHO requests to be sent in this sequence.
      The conventional value of zero is interpreted as infinite: the process
      will continue forever until the row is deleted or deactivated via an
      SNMP SET command.
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { 1 }
    ::= { usrRemotePingEntry 6 }

usrRemotePingInterval OBJECT-TYPE
    SYNTAX      Integer32(1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "Number of seconds between successive ECHO REQUEST request
      transmissions. Note that the actual interval might be different for
      any given transmission, as the agent will not send a new request
      before a previous request is completed (replied or timed-out).
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { 1 }
    ::= { usrRemotePingEntry 7 }

usrRemotePingTtl OBJECT-TYPE
    SYNTAX      Integer32(0..16)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "The TTL (time to live) to be used for the ECHO REQUEST commands.
      If this object is zero, the TTL value currently in use by the
      IP stack will be in effect.
      This object cannot be modified whenever usrRemotePingRowStatus is
      'active'."
    DEFVAL  { 0 }
    ::= { usrRemotePingEntry 8 }

usrRemotePingSelfDestroyDelay OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "Number of minutes this row is allowed to be in a state of inactivity
      before it is destroyed by the agent.
      A row is considered inactive anytime 'usrRemotePingState' is one of:
        - notActive
        - dnsFailed
        - badAddress
        - completed
        - allocFailed
      The wait timer is reset upon any change in a row received through an
      SNMP 'SET' command.
      A value of zero implies no self-destruction will take place on
      this row.
      This object can be modified at any time."
    DEFVAL  { 10 }
    ::= { usrRemotePingEntry 9 }

usrRemotePingState OBJECT-TYPE
    SYNTAX      INTEGER {
      notActive(1),    -- this row is not active.
      waitingDns(2),   -- waiting for DNS resolution.
      dnsFailed(3),    -- destination address could not be resolved.
      badAddress(4),   -- the resolved IP address is illegal.
      pinging(5),      -- sending ping commands after successful DNS.
      completed(6),    -- the requested number of iterations is completed.
      allocFailed(7)   -- failed to allocate resources.
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The state of the 'remote ping' process associated with this row.
      Before this row is activated, this object will have the value
      'notActive(1)'.
      Upon activation, if DNS resolution is needed, the object will
      receive the value 'waitingDns(2)'. If DNS times out or otherwise
      fails, this object will receive the value 'dnsFailed(3)'.
      If the resolved IP address is not legal, this object value will be
      'badAddress(4)'.
      If none of the above fails, the first ping command will be sent
      and this object will indicate the value 'pinging(5)'.
      After the desired number of ping commands have been sent and
      replied to (or timed-out) this object will receive the value
      completed(6)'.
      If there is a resource allocation error along the way, the process
      will stop and this object will receive the value allocFailed(7)."
    ::= { usrRemotePingEntry 10 }

usrRemotePingRequestsSent OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of requests transmitted so far since this row became active."
    ::= { usrRemotePingEntry 11 }

usrRemotePingRepliesReceived OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of replies received so far since this row became active."
    ::= { usrRemotePingEntry 12 }

usrRemotePingTimeouts OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "Number of requests timed-out (no reply received after
      'usrRemotePingTimeOut' seconds) since this row became active."
    ::= { usrRemotePingEntry 13 }

usrRemotePingLastRoundTripTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The round trip time in milliseconds experienced by the last
      request-reply iteration. If the last iteration was a time-out, this
      object will return the value -1.
      This object remains zero until an actual reply or timeout is
      received."
    ::= { usrRemotePingEntry 14 }

usrRemotePingMinRoundTripTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The minimum round trip time in milliseconds, not including timed out
      requests. This object remains zero until an actual reply is received."
    ::= { usrRemotePingEntry 15 }

usrRemotePingMaxRoundTripTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The maximum round trip time in milliseconds, not including timed out
      requests. This object remains zero until an actual reply is received."
    ::= { usrRemotePingEntry 16 }

usrRemotePingAverageRoundTripTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The average round trip time in milliseconds, not counting
      timed-out requests. This object remains zero until an actual reply is
      received."
    ::= { usrRemotePingEntry 17 }

usrRemotePingDNSResolutionDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The time elapsed, in milliseconds, since the agent issued a DNS query
      for this entry until it received a reply."
    ::= { usrRemotePingEntry 18 }

usrRemotePingResolvedIPAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The IP address resolved from the destination address string.
      If there is no resolution, this object returns zero."
    ::= { usrRemotePingEntry 19 }

usrRemotePingCreationTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of sysUpTime at the time this row was created."
    ::= { usrRemotePingEntry 20 }

usrRemotePingActivationTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of sysUpTime at the time this row was last activated (or
      zero, if never)."
    ::= { usrRemotePingEntry 21 }

usrRemotePingLastChangeTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
     "The value of sysUpTime at the time any object in this row was last
      modified."
    ::= { usrRemotePingEntry 22 }

usrRemotePingRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
     "This object is used to create, modify or delete a row in this table.
      Setting this object to 'createAndWait' creates the row with default
      values. Right after creation the value of this object will be
      'notReady'.
      When all parameters are given proper values, this object
      will return the value 'notInService', at which point the client can
      set the object to 'active' to activate the row.

      Modifying this object from 'active' to 'notInService' will stop any
      on-going sequence, at which point the row can be re-activated by
      setting the object to 'active' again, after possibly modifying some of
      the associated parameters. Note that this will cause zeroing out of
      any on-going counters such as 'usrRemotePingRequestsSent'.

      Setting this object to 'destroy' will stop any on-going activity and
      delete the row."
    DEFVAL  { createAndWait }
    ::= { usrRemotePingEntry 23 }

--
-- conformance information
--

usrRemotePingConformance OBJECT IDENTIFIER ::= { usrRemotePing 2 }
usrRemotePingCompliances OBJECT IDENTIFIER ::= { usrRemotePingConformance 1 }
usrRemotePingGroups      OBJECT IDENTIFIER ::= { usrRemotePingConformance 2 }

usrRemotePingCompliance MODULE-COMPLIANCE
        STATUS        current
        DESCRIPTION
            "The compliance statement for entities which implement
             the MIB."
        MODULE    -- this module
            MANDATORY-GROUPS {
                usrRemotePingGroup
            }
        ::= { usrRemotePingCompliances 1 }

-- units of conformance

usrRemotePingGroup OBJECT-GROUP
        OBJECTS {
                usrRemotePingIndexNext,
                usrRemotePingNRows,
                usrRemotePingMaxRows,
                usrRemotePingIndex,
                usrRemotePingDestination,
                usrRemotePingSize,
                usrRemotePingData,
                usrRemotePingTimeOut,
                usrRemotePingCount,
                usrRemotePingInterval,
                usrRemotePingTtl,
                usrRemotePingSelfDestroyDelay,
                usrRemotePingState,
                usrRemotePingRequestsSent,
                usrRemotePingRepliesReceived,
                usrRemotePingTimeouts,
                usrRemotePingLastRoundTripTime,
                usrRemotePingMinRoundTripTime,
                usrRemotePingMaxRoundTripTime,
                usrRemotePingAverageRoundTripTime,
                usrRemotePingResolvedIPAddress,
                usrRemotePingDNSResolutionDelay,
                usrRemotePingCreationTime,
                usrRemotePingActivationTime,
                usrRemotePingLastChangeTime,
                usrRemotePingRowStatus
        }
        STATUS        current
        DESCRIPTION
          "All objects in this MIB."
        ::= { usrRemotePingGroups 1 }


END

-- $Log: usr_remote_ping.mib,v $
-- Revision 1.8.10.1  1997/09/05 15:09:36  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.8  1997/05/02  20:35:39  rsivan
--Fixed typo in description of usrRemotePingCFMStatusFlag
--
-- Revision 1.7  1997/03/25 15:10:47  rsivan
-- Removed tbd mark around ttl.
--
-- Revision 1.6  1997/03/24 21:14:45  rsivan
-- Added support for configuration save.
-- Fixed some descriptions and some missnomers.
--
-- Revision 1.5  1997/03/21 16:53:56  rsivan
-- modified to SMIv2, deleted ifIndex, changed min interval, added DNSDelay, added lastTripDelay
--
-- Revision 1.4  1997/03/13 23:55:04  rsivan
-- Self destroy time default changed to 60 minutes.
-- MaxRows made read-write.
--
-- Revision 1.3  1997/03/13 18:01:36  rsivan
-- Removed temp. tree root, this one is linked to USR root.
--
-- Revision 1.2  1997/03/12 19:45:50  rsivan
-- Misc.
--
--
--      usr_traceroute.mib - A proprietary Traceroute MIB
--
--
-- Author:         Jeff Haag
-- Created:        Mar-13-1997
--
--  $Id: usr_traceroute.mib,v 1.5.2.1 1997/09/05 15:09:39 psd Exp $
--
--
--  | Copyright (c) 1997 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--
--
--
-- The traceroute MIB is a diagnostic tool intended to retrieve route 
-- information between a managed USR NAS and any IP system (PC, Unix, 
-- another NAS etc).  It only requires the routers along the way to the
-- the destination to implement IP routing and ICMP Time Exceeded messages.
-- The destination must implement UDP and return ICMP error message 
-- destination unreachable.
-- The functionality is similar to the Unix command 'traceroute' based
-- on those same protocols.
--
-- In order to determine the route to a host, the SNMP client application 
-- should do the following:
--
--
-- *********To start the traceroute*********
--
--  1. Create a new entry in the Traceroute table by performing a command
--     such as 'SNMP SET usrTracerouteRowStatus.x = createAndWait.
--
--  2. If the above succeeds, set values of the various settable objects in
--     the new row.  In particular, make sure to set 
--     usrTracerouteDestination.x to the name or address whose route is to 
--     be traced.
--
--  3. After setting the various objects of row x to desired values,
--     modify usrTracerouteRowStatus.x to 'active'.
--
-- OR
--
--  1. set values of the various settable objects in a new row.  
--     In particular, make sure to set usrTracerouteDestination.x to the 
--     name or address whose route is to be traced. 
--
--  2. Create and activate new entry in the Traceroute table by performing a command
--     such as 'SNMP SET usrTracerouteRowStatus.x = createAndGo.
--
--  3. The row status will automatically get set to active after row creation
--     and the command will begin
--
-- *********After starting the traceroute*********
--
-- 4. If the above succeeds, clients will now typically monitor the values of
--    'usrTracerouteState.x' in order to find out if the process is 
--    'completed' or an error has occurred
--
-- 5. Once 'usrTracerouteState.x' returns the value 'completed',
--    clients can view the route information in the usrTracerouteHopTable
--    by looking at rows that have a matching usrTraceRouteIndex
--
-- 6. A particular traceroute is completed when
--    'usrTracerouteState.x' returns 'completed'. At this point,
--    all the values of row x will be steady and no more entries for this 
--    traceroute will be added to the hop table. 
--
-- 7. In order to start a new sequence using the configuration values
--    already available in an existing row, set 'usrTracerouteRowStatus'
--    first to 'notInService' and then again to 'active'."  This will 
--	  automatically clean up any previous corresponding entries in the 
--    traceroute hop table
--
-- ******************
-- additional notes
-- ******************
-- a)  A row will be removed from the table after 60 minutes if there has been
--     no activity
-- b)  A row may be deleted/destroyed at any time, even if the row status is 
--     'active'
--

USR-TRACEROUTE-MIB DEFINITIONS ::= BEGIN

        IMPORTS
          RowStatus
                FROM SNMPv2-TC
          OBJECT-TYPE
                FROM RFC-1212
          IpAddress
                FROM RFC1155-SMI
          usrTraceroute, DisplayString, UsrConfigStatus 
                FROM USR-DEFINITIONS-MIB;

--
-- Traceroute managed objects
--
usrTracerouteBase OBJECT IDENTIFIER ::= { usrTraceroute 1 }

--
-- Base Objects
--
usrTracerouteIndexNext OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "This object contains an appropriate value that can be used for
      'usrTracerouteIndex' when creating a new row in the Traceroute
      Table'. If the value 0 is returned, it indicates that the table
      contains the maximum number of rows and thus it is not possible to add
      another one."
    ::= { usrTracerouteBase 1 }

usrTracerouteIndexNRows OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "Number of rows currently present in the Traceroute table."
    ::= { usrTracerouteBase 2 }

usrTracerouteMaxRows OBJECT-TYPE
    SYNTAX  INTEGER (1..255)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "Maximum number of rows allowed in the Traceroute table.
      Note that setting this object to a number which is smaller than the
      current number of rows will NOT cause any row deletions - rather, the
      effect of such an action will be noted in future attempts at row creation."
    DEFVAL  { 20 }
    --CONFIGURABLE
    ::= { usrTracerouteBase 3 }

usrTracerouteConfigFileName OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "The name of a ConfigFile to read/write  permanent database records.
     If the value of this object is an empty string, then the Traceroute
     process uses the default name `@file://TracerouteProcess.cfg'."
    ::= { usrTracerouteBase 4 }

usrTracerouteCFMStatusFlag  OBJECT-TYPE
    SYNTAX  UsrConfigStatus
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "Setting the value of this object to `save' causes the values of the
     Remote Ping Group to be written out to the current config file, which
     is stored in the usrTracerouteConfigFileName object. While the new
     ConfigFile is being written, the Remote Ping process will set the value
     of this flag set to `saving''. Any attempts to set the value while it
     is  not `normal' (i.e. the file is currently being written to the
     ConfigFile) while result in a badValue error being returned. Setting
     the value to `normal' will result in no action."
    ::= { usrTracerouteBase 5 }

usrTracerouteTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF UsrTracerouteEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "A table of traceroute entries."
    ::= { usrTraceroute 2 }

usrTracerouteEntry OBJECT-TYPE
    SYNTAX  UsrTracerouteEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "A list of fields defining this traceroute"
    INDEX   { usrTracerouteIndex }
    ::= { usrTracerouteTable 1 }

UsrTracerouteEntry ::= SEQUENCE {
    usrTracerouteIndex                      INTEGER,
    usrTracerouteDestination                DisplayString (SIZE (1..255)),
    usrTracerouteResolvedIPAddress          IpAddress,
    usrTracerouteHopTimeout                 INTEGER(1..60),
    usrTracerouteHopProbes                  INTEGER(1..10),
    usrTracerouteMaxHops                    INTEGER(1..255),
    usrTracerouteUDPPort                    INTEGER(1..65000),
    usrTracerouteDataSize                   INTEGER(1..8184),
    usrTracerouteHopCount                   INTEGER,
    usrTracerouteState                      INTEGER,
    usrTracerouteRowStatus                  RowStatus
}

usrTracerouteIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "A unique index identifying this entry in the table."
    ::= { usrTracerouteEntry 1 }

usrTracerouteDestination OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..255))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "The host name or IP address (in dot notation) of the target
      destination being traced by this row. A row cannot be activated
      unless this object has a length greater than zero.
      Router DNS services will always be used to resolve (names) and/or
	  verify addresses in dot notation.  If DNS fails, the object 
	  usrTracerouteRowState will indicate 'dnsFailed' or 'badAddress'.
      This object cannot be modified whenever usrTracerouteRowStatus is
      'active'."
    DEFVAL  { "" }
    ::= { usrTracerouteEntry 2 }

usrTracerouteResolvedIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "The IP address resolved from the destination address string.
      If an IP address was set in the destination field it will
      be reflected here as well.
      If an address cannot be resolved, this object returns zero and the
      state field is set to dnsFail"
    ::= { usrTracerouteEntry 3 }


usrTracerouteHopTimeout OBJECT-TYPE
    SYNTAX  INTEGER(1..60)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "Amount of time in seconds before retrying a hop.  This object cannot 
	  be modified whenever usrTracerouteRowStatus is 'active'."
    DEFVAL  { 3 }
    ::= { usrTracerouteEntry 4 }

usrTracerouteHopProbes OBJECT-TYPE
    SYNTAX  INTEGER(1..10)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "The maixmum number of times to try to discern a hop before moving 
	  on to the next hop"
    DEFVAL  { 3 }
    ::= { usrTracerouteEntry 5 }

usrTracerouteMaxHops OBJECT-TYPE
    SYNTAX  INTEGER(1..255)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "The maixmum number of hops to trace before quitting."
    DEFVAL  { 30 }
    ::= { usrTracerouteEntry 6 }

usrTracerouteUDPPort OBJECT-TYPE
    SYNTAX  INTEGER(1..65000)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "The UDP port value to use when attempting to find the route"
    DEFVAL  { 33434 }
    ::= { usrTracerouteEntry 7 }

usrTracerouteDataSize OBJECT-TYPE
    SYNTAX  INTEGER(1..8184)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
     "The maixmum number of hops to trace before quitting."
    DEFVAL  { 1 }
    ::= { usrTracerouteEntry 8 }

usrTracerouteHopCount OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "The number of hops taken to get to the destination."
    ::= { usrTracerouteEntry 9 }

usrTracerouteState OBJECT-TYPE
    SYNTAX  INTEGER {
      notActive(1),        -- this row is not active.
      waitingDns(2),       -- waiting for DNS resolution.
      dnsFailed(3),        -- destination address could not be resolved.
      badAddress(4),       -- the resolved IP address is illegal.
      hopsExceeded(5),     -- the maximum number of hops was exceeded
      destUnreachable(6),  -- a route to the host could not be found
      tracing(7),          -- performing traceroute
      completed(8),        -- traceroute completed successfully
	  resourceFailure(9)   -- there was not enough resources to complete the command
    }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "The state of the 'traceroute' process associated with this row.
      Before this row is activated, this object will have the value
      'notActive(1)'.
      Upon activation, if DNS resolution is needed, the object will
      receive the value 'waitingDns(2)'. If DNS times out or otherwise
      fails, this object will receive the value 'dnsFailed(3)'.
      If the resolved IP address is not legal, this object value will be
      'badAddress(4)'.
      If the a timeout occurs or the hop count is exceeded, the value will
      be 'hopTimeout(6)' or 'hopsExceeded(7)'.
	  If a route to the host could not be found, a 'destUnreachable(8)'
	  value will be returned.
      If none of the above fails, the first traceroute command will be sent
      and this object will indicate the value 'tracing(9)'.
      After the completes this object will receive the value
      completed(10)'."
    ::= { usrTracerouteEntry 10 }

usrTracerouteRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    ACCESS          read-write
    STATUS          mandatory
    DESCRIPTION
     "This object is used to create, modify or delete a row in this table.
      Setting this object to 'createAndWait' creates the row with default
      values. Right after creation the value of this object will be
      'notReady'.
      When all parameters are given proper values, this object
      will return the value 'notInService', at which point the client can
      set the object to 'active' to activate the row.
      Modifying this object from 'active' to 'notInService' will cancel any
      on-going traceroute and remove entries for it from the usrTracerouteHopTable.
      Setting the object to 'active' again will start a new traceroute with the
      supplied parameters
      Setting this object to 'destroy' will stop any on-going activity and
      delete the row."
    DEFVAL  { createAndWait }
    ::= { usrTracerouteEntry 11 }


usrTracerouteHopTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF UsrTracerouteHopEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "A table of traceroute hop entries."
    ::= { usrTraceroute 3 }

usrTracerouteHopEntry OBJECT-TYPE
    SYNTAX  UsrTracerouteHopEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "A list of fields containing the hop information for all traceroute instances"
    INDEX   { usrTracerouteTableIndex, usrTracerouteHopIndex }
    ::= { usrTracerouteHopTable 1 }

UsrTracerouteHopEntry ::= SEQUENCE {
    usrTracerouteTableIndex                 INTEGER,
    usrTracerouteHopIndex                   INTEGER,
    usrTracerouteHopIPAddress               IpAddress,
    usrTracerouteHopRoundTripTime           INTEGER
}

usrTracerouteTableIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "The index into the usrTracerouteTable corresponding to this hop."
    ::= { usrTracerouteHopEntry 1 }

usrTracerouteHopIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
     "The hop number corresponding to the usrTracerouteHopIPAddress in this row."
    ::= { usrTracerouteHopEntry 2 }

usrTracerouteHopIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "The IP address for a hop.  An address of zero means that there was no response
	  from that hop."
    ::= { usrTracerouteHopEntry 3 }

usrTracerouteHopRoundTripTime OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
     "Round trip time for this hop in milliseconds."
    ::= { usrTracerouteHopEntry 4 }


END

--
-- File Footer 
--
-- Revisions:
--
-- $Log: usr_traceroute.mib,v $
-- Revision 1.5.2.1  1997/09/05 15:09:39  psd
-- Changes to MIBs so that they compile using the SimpleTester.
--
--Revision 1.5  1997/08/05  18:35:33  jhaag
--MR2281 changed max UDP port to 65000
--
-- Revision 1.4  1997/05/05 14:21:52  jhaag
-- removed embedded command from comment field in file footer
--
-- Revision 1.3  1997/05/05 14:03:55  jhaag
-- added CONFIGURABLE flag to max rows
--
-- Revision 1.2  1997/05/04 21:40:23  jhaag
-- added CFM and CLI enhancements for traceroute
--
--
--
--
--	usr_tcp.mib
--
--
-- Author:         Jim Halpin
--
-- $Id: usr_tcp.mib,v 1.2 1997/06/12 17:55:04 brant Exp $
--
--  | Copyright (c) 1995-1997 U.S. Robotics Access Corp., Skokie, IL 60076 |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equtcpment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownershtcp of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-TCP-MIB DEFINITIONS ::= BEGIN

	IMPORTS
          OBJECT-TYPE
                  FROM RFC-1212
          usrTcp, UsrConfigStatus, DisplayString
                  FROM USR-DEFINITIONS-MIB;


   -- Begin managed object definitions here...

usrTcpCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	ACCESS		read-write
	STATUS		mandatory
	DESCRIPTION
		"This variable controls saving and loading of configuration
           information for the TCP Module. The value can 
           be set to either save or load by a management station. The other
           values indicate if any configuration operation and what type
           is in progress."
::= { usrTcp 1 }

usrTcpCfgFileName OBJECT-TYPE
	SYNTAX      DisplayString
	ACCESS      read-only
	STATUS      mandatory
	DESCRIPTION		
		"The name of a ConfigFile to read/write  permanent database records.
		 If the value of this object is an empty string, then the
		 TCP module uses the default name `@file://TCPModule.cfg'. "
::= { usrTcp 2 }


usrTcpMaxConn	OBJECT-TYPE
	SYNTAX	INTEGER (0..4096)
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"The limit on the total number of TCP connections
           the entity can support.  In entities where the
           maximum number of connections is dynamic, this
           object should contain the value -1.

           This a read-write version of the tcpMaxConn object in rfc1213."
	--CONFIGURABLE
::= { usrTcp 3 }

END         -- End Template MIB definitions

--
--
-- $Log: usr_tcp.mib,v $
-- Revision 1.2  1997/06/12 17:55:04  brant
-- changed tcp max conn upper limit to 4096
--
-- Revision 1.1  1997/06/04 20:55:14  jhalpin
-- Add usrTcp branch
--
--
-- Local Variables:
-- tab-width:5
-- tab-stop-list:( 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80)
-- End:
--
   DNS-SERVER-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       mib-2
           FROM RFC1213-MIB
       MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
       IpAddress, Counter32, Gauge32
           FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue
           FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF;

   dns OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
               "The OID assigned to DNS MIB work by the IANA."
       ::= { mib-2 32 }

   dnsServMIB MODULE-IDENTITY
       LAST-UPDATED "9401282251Z"
       ORGANIZATION "IETF DNS Working Group"
       CONTACT-INFO
               "       Rob Austein
               Postal: Epilogue Technology Corporation
                       268 Main Street, Suite 283
                       North Reading, MA 10864
                       US
                  Tel: +1 617 245 0804
                  Fax: +1 617 245 8122
               E-Mail: sra@epilogue.com

                       Jon Saperia
               Postal: Digital Equipment Corporation
                       110 Spit Brook Road
                       ZKO1-3/H18
                       Nashua, NH 03062-2698
                       US
                  Tel: +1 603 881 0480
                  Fax: +1 603 881 0120
                Email: saperia@zko.dec.com"
       DESCRIPTION
               "The MIB module for entities implementing the server side
               of the Domain Name System (DNS) protocol."
       ::= { dns 1 }

   dnsServMIBObjects       OBJECT IDENTIFIER ::= { dnsServMIB 1 }

   -- (Old-style) groups in the DNS server MIB.

   dnsServConfig           OBJECT IDENTIFIER ::= { dnsServMIBObjects 1 }
   dnsServCounter          OBJECT IDENTIFIER ::= { dnsServMIBObjects 2 }
   dnsServOptCounter       OBJECT IDENTIFIER ::= { dnsServMIBObjects 3 }
   dnsServZone             OBJECT IDENTIFIER ::= { dnsServMIBObjects 4 }


   -- Textual conventions

   DnsName ::= TEXTUAL-CONVENTION
       -- A DISPLAY-HINT would be nice, but difficult to express.
       STATUS  current
       DESCRIPTION
               "A DNS name is a sequence of labels.  When DNS names are
               displayed, the boundaries between labels are typically
               indicated by dots (e.g. `Acme' and `COM' are labels in
               the name `Acme.COM').  In the DNS protocol, however, no
               such separators are needed because each label is encoded
               as a length octet followed by the indicated number of
               octets of label.  For example, `Acme.COM' is encoded as
               the octet sequence { 4, 'A', 'c', 'm', 'e', 3, 'C', 'O',
               'M', 0 } (the final 0 is the length of the name of the
               root domain, which appears implicitly at the end of any
               DNS name).  This MIB uses the same encoding as the DNS
               protocol.

               A DnsName must always be a fully qualified name.  It is
               an error to encode a relative domain name as a DnsName
               without first making it a fully qualified name."
       REFERENCE
               "RFC-1034 section 3.1."
       SYNTAX  OCTET STRING (SIZE (0..255))

   DnsNameAsIndex ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
               "This textual convention is like a DnsName, but is used
               as an index componant in tables.  Alphabetic characters
               in names of this type are restricted to uppercase: the
               characters 'a' through 'z' are mapped to the characters
               'A' through 'Z'.  This restriction is intended to make
               the lexical ordering imposed by SNMP useful when applied
               to DNS names.

               Note that it is theoretically possible for a valid DNS
               name to exceed the allowed length of an SNMP object
               identifer, and thus be impossible to represent in tables
               in this MIB that are indexed by DNS name.  Sampling of
               DNS names in current use on the Internet suggests that
               this limit does not pose a serious problem in practice."
       REFERENCE
               "RFC-1034 section 3.1, RFC-1448 section 4.1."
       SYNTAX  DnsName

   DnsClass ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "2d"
       STATUS  current
       DESCRIPTION
               "This data type is used to represent the class values
               which appear in Resource Records in the DNS.  A 16-bit
               unsigned integer is used to allow room for new classes
               of records to be defined.  Existing standard classes are
               listed in the DNS specifications."
       REFERENCE
               "RFC-1035 section 3.2.4."
       SYNTAX  INTEGER (0..65535)

   DnsType ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "2d"
       STATUS  current
       DESCRIPTION
               "This data type is used to represent the type values
               which appear in Resource Records in the DNS.  A 16-bit
               unsigned integer is used to allow room for new record
               types to be defined.  Existing standard types are listed
               in the DNS specifications."
       REFERENCE
               "RFC-1035 section 3.2.2."
       SYNTAX  INTEGER (0..65535)

   DnsQClass ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "2d"
       STATUS  current
       DESCRIPTION
               "This data type is used to represent the QClass values
               which appear in Resource Records in the DNS.  A 16-bit
               unsigned integer is used to allow room for new QClass
               records to be defined.  Existing standard QClasses are
               listed in the DNS specification."
       REFERENCE
               "RFC-1035 section 3.2.5."
       SYNTAX  INTEGER (0..65535)

   DnsQType ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "2d"
       STATUS  current
       DESCRIPTION
               "This data type is used to represent the QType values
               which appear in Resource Records in the DNS.  A 16-bit
               unsigned integer is used to allow room for new QType
               records to be defined.  Existing standard QTypes are
               listed in the DNS specification."
       REFERENCE
               "RFC-1035 section 3.2.3."
       SYNTAX  INTEGER (0..65535)

   DnsTime ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
               "DnsTime values are 32-bit unsigned integers which
               measure time in seconds."
       REFERENCE
               "RFC-1035."
       SYNTAX  Gauge32


   DnsOpCode ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
               "This textual convention is used to represent the DNS
               OPCODE values used in the header section of DNS
               messages.  Existing standard OPCODE values are listed in
               the DNS specifications."
       REFERENCE
               "RFC-1035 section 4.1.1."
       SYNTAX  INTEGER (0..15)

   DnsRespCode ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
               "This data type is used to represent the DNS RCODE value
               in DNS response messages.  Existing standard RCODE
               values are listed in the DNS specifications."
       REFERENCE
               "RFC-1035 section 4.1.1."
       SYNTAX  INTEGER (0..15)

   -- Server Configuration Group

   dnsServConfigImplementIdent OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The implementation identification string for the DNS
               server software in use on the system, for example;
               `FNS-2.1'"
       ::= { dnsServConfig 1 }

   dnsServConfigRecurs  OBJECT-TYPE
       SYNTAX      INTEGER { available(1),
                             restricted(2),
                             unavailable(3) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "This represents the recursion services offered by this
               name server.  The values that can be read or written
               are:

               available(1) - performs recursion on requests from
               clients.

               restricted(2) - recursion is performed on requests only
               from certain clients, for example; clients on an access
               control list.

               unavailable(3) - recursion is not available."
        ::= { dnsServConfig 2 }

   dnsServConfigUpTime OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "If the server has a persistent state (e.g., a process),
               this value will be the time elapsed since it started.
               For software without persistant state, this value will
               be zero."
       ::= { dnsServConfig 3 }

   dnsServConfigResetTime OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "If the server has a persistent state (e.g., a process)
               and supports a `reset' operation (e.g., can be told to
               re-read configuration files), this value will be the
               time elapsed since the last time the name server was
               `reset.'  For software that does not have persistence or
               does not support a `reset' operation, this value will be
               zero."
       ::= { dnsServConfig 4 }

   dnsServConfigReset OBJECT-TYPE
       SYNTAX      INTEGER { other(1),
                             reset(2),
                             initializing(3),
                             running(4) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status/action object to reinitialize any persistant name
               server state.  When set to reset(2), any persistant
               name server state (such as a process) is reinitialized as
               if the name server had just been started.  This value
               will never be returned by a read operation.  When read,
               one of the following values will be returned:
                   other(1) - server in some unknown state;
                   initializing(3) - server (re)initializing;
                   running(4) - server currently running."
       ::= { dnsServConfig 5 }


   -- Server Counter Group

   dnsServCounterAuthAns OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries which were authoritatively answered."
       ::= { dnsServCounter 2 }

   dnsServCounterAuthNoNames OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries for which `authoritative no such name'
               responses were made."
       ::= { dnsServCounter 3 }

   dnsServCounterAuthNoDataResps OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries for which `authoritative no such data'
               (empty answer) responses were made."
       ::= { dnsServCounter 4 }

   dnsServCounterNonAuthDatas OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries which were non-authoritatively
               answered (cached data)."
       ::= { dnsServCounter 5 }

   dnsServCounterNonAuthNoDatas OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries which were non-authoritatively
               answered with no data (empty answer)."
       ::= { dnsServCounter 6 }

   dnsServCounterReferrals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests that were referred to other servers."
       ::= { dnsServCounter 7 }

   dnsServCounterErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed that were
               answered with errors (RCODE values other than 0 and 3)."
       REFERENCE
               "RFC-1035 section 4.1.1."
       ::= { dnsServCounter 8 }

   dnsServCounterRelNames OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests received by the server for names that
               are only 1 label long (text form - no internal dots)."
       ::= { dnsServCounter 9 }

   dnsServCounterReqRefusals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of DNS requests refused by the server."
       ::= { dnsServCounter 10 }

   dnsServCounterReqUnparses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests received which were unparseable."
       ::= { dnsServCounter 11 }

   dnsServCounterOtherErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests which were aborted for other (local)
               server errors."
       ::= { dnsServCounter 12 }

   -- DNS Server Counter Table

   dnsServCounterTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsServCounterEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Counter information broken down by DNS class and type."
       ::= { dnsServCounter 13 }

   dnsServCounterEntry OBJECT-TYPE
       SYNTAX      DnsServCounterEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "This table contains count information for each DNS class
               and type value known to the server.  The index allows
               management software to to create indices to the table to
               get the specific information desired, e.g., number of
               queries over UDP for records with type value `A' which
               came to this server.  In order to prevent an
               uncontrolled expansion of rows in the table; if
               dnsServCounterRequests is 0 and dnsServCounterResponses
               is 0, then the row does not exist and `no such' is
               returned when the agent is queried for such instances."
       INDEX     { dnsServCounterOpCode,
                   dnsServCounterQClass,
                   dnsServCounterQType,
                   dnsServCounterTransport }
       ::= { dnsServCounterTable 1 }

   DnsServCounterEntry ::=
       SEQUENCE {
           dnsServCounterOpCode
               DnsOpCode,
           dnsServCounterQClass
               DnsClass,
           dnsServCounterQType
               DnsType,
           dnsServCounterTransport
               INTEGER,
           dnsServCounterRequests
               Counter32,
           dnsServCounterResponses
               Counter32
           }

   dnsServCounterOpCode OBJECT-TYPE
       SYNTAX      DnsOpCode
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The DNS OPCODE being counted in this row of the table."
       ::= { dnsServCounterEntry 1 }

   dnsServCounterQClass OBJECT-TYPE
       SYNTAX      DnsClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The class of record being counted in this row of the
               table."
       ::= { dnsServCounterEntry 2 }

   dnsServCounterQType OBJECT-TYPE
       SYNTAX      DnsType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The type of record which is being counted in this row in
               the table."
       ::= { dnsServCounterEntry 3 }

   dnsServCounterTransport OBJECT-TYPE
       SYNTAX      INTEGER { udp(1), tcp(2), other(3) }
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A value of udp(1) indicates that the queries reported on
               this row were sent using UDP.

               A value of tcp(2) indicates that the queries reported on
               this row were sent using TCP.

               A value of other(3) indicates that the queries reported
               on this row were sent using a transport that was neither
               TCP nor UDP."
       ::= { dnsServCounterEntry 4 }

   dnsServCounterRequests OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests (queries) that have been recorded in
               this row of the table."
       ::= { dnsServCounterEntry 5 }

   dnsServCounterResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of responses made by the server since
               initialization for the kind of query identified on this
               row of the table."
       ::= { dnsServCounterEntry 6 }

   -- Server Optional Counter Group

   -- The Server Optional Counter Group is intended for those systems
   -- which make distinctions between the different sources of the DNS
   -- queries as defined below.
   --
   -- Objects in this group are implemented on servers which distinguish
   -- between queries which originate from the same host as the server,
   -- queries from one of an arbitrary group of hosts that are on an
   -- access list defined by the server, and queries from hosts that do
   -- not fit either of these descriptions.
   --
   -- The objects found in the Server Counter group are totals.  Thus if
   -- one wanted to identify, for example, the number of queries from
   -- `remote' hosts which have been given authoritative answers, one
   -- would subtract the current values of ServOptCounterFriendsAuthAns
   -- and ServOptCounterSelfAuthAns from servCounterAuthAns.
   --
   -- The purpose of these distinctions is to allow for implementations
   -- to group queries and responses on this basis.  One way in which
   -- servers may make these distinctions is by looking at the source IP
   -- address of the DNS query.  If the source of the query is `your
   -- own' then the query should be counted as `yourself' (local host).
   -- If the source of the query matches an `access list,' the query
   -- came from a friend.  What constitutes an `access list' is
   -- implementation dependent and could be as simple as a rule that all
   -- hosts on the same IP network as the DNS server are classed
   -- `friends.'
   --
   -- In order to avoid double counting, the following rules apply:
   --
   -- 1. No host is in more than one of the three groups defined above.
   --
   -- 2. All queries from the local host are always counted in the
   --    `yourself' group regardless of what the access list, if any,
   --    says.
   --
   -- 3. The access list should not define `your friends' in such a way
   --    that it includes all hosts.   That is, not everybody is your
   --    `friend.'

   dnsServOptCounterSelfAuthAns OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from a resolver on the same host for which
               there has been an authoritative answer."
       ::= { dnsServOptCounter 1 }

   dnsServOptCounterSelfAuthNoNames OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from a resolver on the same host for which
               there has been an authoritative no such name answer
               given."
       ::= { dnsServOptCounter 2 }

   dnsServOptCounterSelfAuthNoDataResps OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from a resolver on the same host for which
               there has been an authoritative no such data answer
               (empty answer) made."
       ::= { dnsServOptCounter 3 }

   dnsServOptCounterSelfNonAuthDatas OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from a resolver on the same host for which a
               non-authoritative answer (cached data) was made."
       ::= { dnsServOptCounter 4 }

   dnsServOptCounterSelfNonAuthNoDatas OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from a resolver on the same host for which a
               `non-authoritative, no such data' response was made
               (empty answer)."
       ::= { dnsServOptCounter 5 }

   dnsServOptCounterSelfReferrals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries the server has processed which
               originated from a resolver on the same host and were
               referred to other servers."
       ::= { dnsServOptCounter 6 }

   dnsServOptCounterSelfErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from a resolver on the same host which have
               been answered with errors (RCODEs other than 0 and 3)."
       REFERENCE
               "RFC-1035 section 4.1.1."
       ::= { dnsServOptCounter 7 }

   dnsServOptCounterSelfRelNames OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests received for names that are only 1
               label long (text form - no internal dots) the server has
               processed which originated from a resolver on the same
               host."
       ::= { dnsServOptCounter 8 }

   dnsServOptCounterSelfReqRefusals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of DNS requests refused by the server which
               originated from a resolver on the same host."
       ::= { dnsServOptCounter 9 }

   dnsServOptCounterSelfReqUnparses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests received which were unparseable and
               which originated from a resolver on the same host."
       ::= { dnsServOptCounter 10 }

   dnsServOptCounterSelfOtherErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests which were aborted for other (local)
               server errors and which originated on the same host."
       ::= { dnsServOptCounter 11 }

   dnsServOptCounterFriendsAuthAns OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries originating from friends which were
               authoritatively answered.  The definition of friends is
               a locally defined matter."
       ::= { dnsServOptCounter 12 }

   dnsServOptCounterFriendsAuthNoNames OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries originating from friends, for which
               authoritative `no such name' responses were made.  The
               definition of friends is a locally defined matter."
       ::= { dnsServOptCounter 13 }

   dnsServOptCounterFriendsAuthNoDataResps OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries originating from friends for which
               authoritative no such data (empty answer) responses were
               made.  The definition of friends is a locally defined
               matter."
       ::= { dnsServOptCounter 14 }

   dnsServOptCounterFriendsNonAuthDatas OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries originating from friends which were
               non-authoritatively answered (cached data). The
               definition of friends is a locally defined matter."
       ::= { dnsServOptCounter 15 }

   dnsServOptCounterFriendsNonAuthNoDatas OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries originating from friends which were
               non-authoritatively answered with no such data (empty
               answer)."
       ::= { dnsServOptCounter 16 }

   dnsServOptCounterFriendsReferrals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests which originated from friends that
               were referred to other servers.  The definition of
               friends is a locally defined matter."
       ::= { dnsServOptCounter 17 }

   dnsServOptCounterFriendsErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests the server has processed which
               originated from friends and were answered with errors
               (RCODE values other than 0 and 3).  The definition of
               friends is a locally defined matter."
       REFERENCE
               "RFC-1035 section 4.1.1."
       ::= { dnsServOptCounter 18 }

   dnsServOptCounterFriendsRelNames OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests received for names from friends that
               are only 1 label long (text form - no internal dots) the
               server has processed."
       ::= { dnsServOptCounter 19 }

   dnsServOptCounterFriendsReqRefusals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of DNS requests refused by the server which were
               received from `friends'."
       ::= { dnsServOptCounter 20 }

   dnsServOptCounterFriendsReqUnparses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests received which were unparseable and
               which originated from `friends'."
       ::= { dnsServOptCounter 21 }

   dnsServOptCounterFriendsOtherErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests which were aborted for other (local)
               server errors and which originated from `friends'."
       ::= { dnsServOptCounter 22 }


   -- Server Zone Group

   -- DNS Management Zone Configuration Table

   -- This table contains zone configuration information.

   dnsServZoneTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsServZoneEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Table of zones for which this name server provides
               information.  Each of the zones may be loaded from stable
               storage via an implementation-specific mechanism or may
               be obtained from another name server via a zone transfer.

               If name server doesn't load any zones, this table is
               empty."
       ::= { dnsServZone 1 }

   dnsServZoneEntry OBJECT-TYPE
       SYNTAX      DnsServZoneEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry in the name server zone table.  New rows may be
               added either via SNMP or by the name server itself."
       INDEX     { dnsServZoneName,
                   dnsServZoneClass }
       ::= { dnsServZoneTable 1 }

   DnsServZoneEntry ::=
       SEQUENCE {
           dnsServZoneName
               DnsNameAsIndex,
           dnsServZoneClass
               DnsClass,
           dnsServZoneLastReloadSuccess
               DnsTime,
           dnsServZoneLastReloadAttempt
               DnsTime,
           dnsServZoneLastSourceAttempt
               IpAddress,
           dnsServZoneStatus
               RowStatus,
           dnsServZoneSerial
               Counter32,
           dnsServZoneCurrent
               TruthValue,
           dnsServZoneLastSourceSuccess
               IpAddress
       }

   dnsServZoneName OBJECT-TYPE
       SYNTAX      DnsNameAsIndex
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS name of the zone described by this row of the table.
               This is the owner name of the SOA RR that defines the
               top of the zone. This is name is in uppercase:
               characters 'a' through 'z' are mapped to 'A' through 'Z'
               in order to make the lexical ordering useful."
       ::= { dnsServZoneEntry 1 }

   dnsServZoneClass OBJECT-TYPE
       SYNTAX      DnsClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS class of the RRs in this zone."
       ::= { dnsServZoneEntry 2 }

   dnsServZoneLastReloadSuccess OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Elapsed time in seconds since last successful reload of
               this zone."
       ::= { dnsServZoneEntry 3 }

   dnsServZoneLastReloadAttempt OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Elapsed time in seconds since last attempted reload of
               this zone."
       ::= { dnsServZoneEntry 4 }

   dnsServZoneLastSourceAttempt OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "IP address of host from which most recent zone transfer
               of this zone was attempted.  This value should match the
               value of dnsServZoneSourceSuccess if the attempt was
               succcessful.  If zone transfer has not been attempted
               within the memory of this name server, this value should
               be 0.0.0.0."
       ::= { dnsServZoneEntry 5 }

   dnsServZoneStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The status of the information represented in this row of
               the table."
       ::= { dnsServZoneEntry 6 }

   dnsServZoneSerial OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Zone serial number (from the SOA RR) of the zone
               represented by this row of the table.  If the zone has
               not been successfully loaded within the memory of this
               name server, the value of this variable is zero."
       ::= { dnsServZoneEntry 7 }

   dnsServZoneCurrent OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Whether the server's copy of the zone represented by
               this row of the table is currently valid.  If the zone
               has never been successfully loaded or has expired since
               it was last succesfully loaded, this variable will have
               the value false(2), otherwise this variable will have
               the value true(1)."
       ::= { dnsServZoneEntry 8 }

   dnsServZoneLastSourceSuccess OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "IP address of host which was the source of the most
               recent successful zone transfer for this zone.  If
               unknown (e.g., zone has never been successfully
               transfered) or irrelevant (e.g., zone was loaded from
               stable storage), this value should be 0.0.0.0."
       ::= { dnsServZoneEntry 9 }

   -- DNS Zone Source Table

   dnsServZoneSrcTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsServZoneSrcEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "This table is a list of IP addresses from which the
               server will attempt to load zone information using DNS
               zone transfer operations.  A reload may occur due to SNMP
               operations that create a row in dnsServZoneTable or a
               SET to object dnsServZoneReload.  This table is only
               used when the zone is loaded via zone transfer."
       ::= { dnsServZone 2 }

   dnsServZoneSrcEntry OBJECT-TYPE
       SYNTAX      DnsServZoneSrcEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry in the name server zone source table."
       INDEX     { dnsServZoneSrcName,
                   dnsServZoneSrcClass,
                   dnsServZoneSrcAddr }
       ::= { dnsServZoneSrcTable 1 }

   DnsServZoneSrcEntry ::=
       SEQUENCE {
           dnsServZoneSrcName
               DnsNameAsIndex,
           dnsServZoneSrcClass
               DnsClass,
           dnsServZoneSrcAddr
               IpAddress,
           dnsServZoneSrcStatus
               RowStatus
       }

   dnsServZoneSrcName OBJECT-TYPE
       SYNTAX      DnsNameAsIndex
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS name of the zone to which this entry applies."
       ::= { dnsServZoneSrcEntry 1 }

   dnsServZoneSrcClass OBJECT-TYPE
       SYNTAX      DnsClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS class of zone to which this entry applies."
       ::= { dnsServZoneSrcEntry 2 }

   dnsServZoneSrcAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "IP address of name server host from which this zone
               might be obtainable."
       ::= { dnsServZoneSrcEntry 3 }

   dnsServZoneSrcStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The status of the information represented in this row of
               the table."
       ::= { dnsServZoneSrcEntry 4 }


   -- SNMPv2 groups.

   dnsServMIBGroups        OBJECT IDENTIFIER ::= { dnsServMIB 2 }

   dnsServConfigGroup OBJECT-GROUP
       OBJECTS   { dnsServConfigImplementIdent,
                   dnsServConfigRecurs,
                   dnsServConfigUpTime,
                   dnsServConfigResetTime,
                   dnsServConfigReset }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing basic configuration
               control of a DNS name server."
       ::= { dnsServMIBGroups 1 }

   dnsServCounterGroup OBJECT-GROUP
       OBJECTS   { dnsServCounterAuthAns,
                   dnsServCounterAuthNoNames,
                   dnsServCounterAuthNoDataResps,
                   dnsServCounterNonAuthDatas,
                   dnsServCounterNonAuthNoDatas,
                   dnsServCounterReferrals,
                   dnsServCounterErrors,
                   dnsServCounterRelNames,
                   dnsServCounterReqRefusals,
                   dnsServCounterReqUnparses,
                   dnsServCounterOtherErrors,
                   dnsServCounterOpCode,
                   dnsServCounterQClass,
                   dnsServCounterQType,
                   dnsServCounterTransport,
                   dnsServCounterRequests,
                   dnsServCounterResponses }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing basic instrumentation
               of a DNS name server."
       ::= { dnsServMIBGroups 2 }

   dnsServOptCounterGroup OBJECT-GROUP
       OBJECTS   { dnsServOptCounterSelfAuthAns,
                   dnsServOptCounterSelfAuthNoNames,
                   dnsServOptCounterSelfAuthNoDataResps,
                   dnsServOptCounterSelfNonAuthDatas,
                   dnsServOptCounterSelfNonAuthNoDatas,
                   dnsServOptCounterSelfReferrals,
                   dnsServOptCounterSelfErrors,
                   dnsServOptCounterSelfRelNames,
                   dnsServOptCounterSelfReqRefusals,
                   dnsServOptCounterSelfReqUnparses,
                   dnsServOptCounterSelfOtherErrors,
                   dnsServOptCounterFriendsAuthAns,
                   dnsServOptCounterFriendsAuthNoNames,
                   dnsServOptCounterFriendsAuthNoDataResps,
                   dnsServOptCounterFriendsNonAuthDatas,
                   dnsServOptCounterFriendsNonAuthNoDatas,
                   dnsServOptCounterFriendsReferrals,
                   dnsServOptCounterFriendsErrors,
                   dnsServOptCounterFriendsRelNames,
                   dnsServOptCounterFriendsReqRefusals,
                   dnsServOptCounterFriendsReqUnparses,
                   dnsServOptCounterFriendsOtherErrors }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing extended
               instrumentation of a DNS name server."
       ::= { dnsServMIBGroups 3 }

   dnsServZoneGroup OBJECT-GROUP
       OBJECTS   { dnsServZoneName,
                   dnsServZoneClass,
                   dnsServZoneLastReloadSuccess,
                   dnsServZoneLastReloadAttempt,
                   dnsServZoneLastSourceAttempt,
                   dnsServZoneLastSourceSuccess,
                   dnsServZoneStatus,
                   dnsServZoneSerial,
                   dnsServZoneCurrent,
                   dnsServZoneSrcName,
                   dnsServZoneSrcClass,
                   dnsServZoneSrcAddr,
                   dnsServZoneSrcStatus }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing configuration control
               of a DNS name server which loads authoritative zones."
       ::= { dnsServMIBGroups 4 }

   -- Compliances.

   dnsServMIBCompliances OBJECT IDENTIFIER ::= { dnsServMIB 3 }

   dnsServMIBCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
               "The compliance statement for agents implementing the DNS
               name server MIB extensions."
       MODULE -- This MIB module
           MANDATORY-GROUPS { dnsServConfigGroup, dnsServCounterGroup }
           GROUP   dnsServOptCounterGroup
           DESCRIPTION
               "The server optional counter group is unconditionally
               optional."
           GROUP   dnsServZoneGroup
           DESCRIPTION
               "The server zone group is mandatory for any name server
               that acts as an authoritative server for any DNS zone."
           OBJECT  dnsServConfigRecurs
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsServConfigReset
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
       ::= { dnsServMIBCompliances 1 }

   END
   DNS-RESOLVER-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Integer32
           FROM SNMPv2-SMI
       RowStatus, DisplayString
           FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF
       dns, DnsName, DnsNameAsIndex, DnsClass, DnsType, DnsQClass,
       DnsQType, DnsTime, DnsOpCode, DnsRespCode
           FROM DNS-SERVER-MIB;

   -- DNS Resolver MIB

   dnsResMIB MODULE-IDENTITY
       LAST-UPDATED "9401282250Z"
       ORGANIZATION "IETF DNS Working Group"
       CONTACT-INFO
               "       Rob Austein
               Postal: Epilogue Technology Corporation
                       268 Main Street, Suite 283
                       North Reading, MA 10864
                       US
                  Tel: +1 617 245 0804
                  Fax: +1 617 245 8122
               E-Mail: sra@epilogue.com

                       Jon Saperia
               Postal: Digital Equipment Corporation
                       110 Spit Brook Road
                       ZKO1-3/H18
                       Nashua, NH 03062-2698
                       US
                  Tel: +1 603 881 0480
                  Fax: +1 603 881 0120
               E-mail: saperia@zko.dec.com"
       DESCRIPTION
               "The MIB module for entities implementing the client
               (resolver) side of the Domain Name System (DNS)
               protocol."
       ::= { dns 2 }

   dnsResMIBObjects        OBJECT IDENTIFIER ::= { dnsResMIB 1 }

   -- (Old-style) groups in the DNS resolver MIB.

   dnsResConfig            OBJECT IDENTIFIER ::= { dnsResMIBObjects 1 }
   dnsResCounter           OBJECT IDENTIFIER ::= { dnsResMIBObjects 2 }
   dnsResLameDelegation    OBJECT IDENTIFIER ::= { dnsResMIBObjects 3 }
   dnsResCache             OBJECT IDENTIFIER ::= { dnsResMIBObjects 4 }
   dnsResNCache            OBJECT IDENTIFIER ::= { dnsResMIBObjects 5 }
   dnsResOptCounter        OBJECT IDENTIFIER ::= { dnsResMIBObjects 6 }


   -- Resolver Configuration Group

   dnsResConfigImplementIdent OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The implementation identification string for the
               resolver software in use on the system, for example;
               `RES-2.1'"
       ::= { dnsResConfig 1 }

   dnsResConfigService OBJECT-TYPE
       SYNTAX      INTEGER { recursiveOnly(1),
                             iterativeOnly(2),
                             recursiveAndIterative(3) }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Kind of DNS resolution service provided:

               recursiveOnly(1) indicates a stub resolver.

               iterativeOnly(2) indicates a normal full service
               resolver.

               recursiveAndIterative(3) indicates a full-service
               resolver which performs a mix of recursive and iterative
               queries."
        ::= { dnsResConfig 2 }

   dnsResConfigMaxCnames OBJECT-TYPE
       SYNTAX      INTEGER (0..2147483647)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Limit on how many CNAMEs the resolver should allow
               before deciding that there's a CNAME loop.  Zero means
               that resolver has no explicit CNAME limit."
       REFERENCE
               "RFC-1035 section 7.1."
       --CONFIGURABLE
       ::= { dnsResConfig 3 }

   -- DNS Resolver Safety Belt Table

   dnsResConfigSbeltTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsResConfigSbeltEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Table of safety belt information used by the resolver
               when it hasn't got any better idea of where to send a
               query, such as when the resolver is booting or is a stub
               resolver."
       ::= { dnsResConfig 4 }

   dnsResConfigSbeltEntry OBJECT-TYPE
       SYNTAX      DnsResConfigSbeltEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry in the resolver's Sbelt table.
               Rows may be created or deleted at any time by the DNS
               resolver and by SNMP SET requests.  Whether the values
               changed via SNMP are saved in stable storage across
               `reset' operations is implementation-specific."
       INDEX     { dnsResConfigSbeltAddr,
                   dnsResConfigSbeltSubTree,
                   dnsResConfigSbeltClass }
       ::= { dnsResConfigSbeltTable 1 }

   DnsResConfigSbeltEntry ::=
       SEQUENCE {
           dnsResConfigSbeltAddr
               IpAddress,
           dnsResConfigSbeltName
               DnsName,
           dnsResConfigSbeltRecursion
               INTEGER,
           dnsResConfigSbeltPref
               INTEGER,
           dnsResConfigSbeltSubTree
               DnsNameAsIndex,
           dnsResConfigSbeltClass
               DnsClass,
           dnsResConfigSbeltStatus
               RowStatus
       }

   dnsResConfigSbeltAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The IP address of the Sbelt name server identified by
               this row of the table."
       ::= { dnsResConfigSbeltEntry 1 }

   dnsResConfigSbeltName OBJECT-TYPE
       SYNTAX      DnsName
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "The DNS name of a Sbelt nameserver identified by this
               row of the table.  A zero-length string indicates that
               the name is not known by the resolver."
       ::= { dnsResConfigSbeltEntry 2 }

   dnsResConfigSbeltRecursion OBJECT-TYPE
       SYNTAX      INTEGER { iterative(1),
                             recursive(2),
                             recursiveAndIterative(3) }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "Kind of queries resolver will be sending to the name
               server identified in this row of the table:

               iterative(1) indicates that resolver will be directing
               iterative queries to this name server (RD bit turned
               off).

               recursive(2) indicates that resolver will be directing
               recursive queries to this name server (RD bit turned
               on).

               recursiveAndIterative(3) indicates that the resolver
               will be directing both recursive and iterative queries
               to the server identified in this row of the table."
        ::= { dnsResConfigSbeltEntry 3 }

   dnsResConfigSbeltPref OBJECT-TYPE
       SYNTAX      INTEGER (0..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "This value identifies the preference for the name server
               identified in this row of the table.  The lower the
               value, the more desirable the resolver considers this
               server."
        ::= { dnsResConfigSbeltEntry 4 }

   dnsResConfigSbeltSubTree OBJECT-TYPE
       SYNTAX      DnsNameAsIndex
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Queries sent to the name server identified by this row
               of the table are limited to those for names in the name
               subtree identified by this variable.  If no such
               limitation applies, the value of this variable is the
               name of the root domain (a DNS name consisting of a
               single zero octet)."
       ::= { dnsResConfigSbeltEntry 5 }

   dnsResConfigSbeltClass OBJECT-TYPE
       SYNTAX      DnsClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The class of DNS queries that will be sent to the server
               identified by this row of the table."
       ::= { dnsResConfigSbeltEntry 6 }

   dnsResConfigSbeltStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "Row status column for this row of the Sbelt table."
       ::= { dnsResConfigSbeltEntry 7 }

   dnsResConfigUpTime OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "If the resolver has a persistent state (e.g., a
               process), this value will be the time elapsed since it
               started.  For software without persistant state, this
               value will be 0."
       ::= { dnsResConfig 5 }

   dnsResConfigResetTime OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "If the resolver has a persistent state (e.g., a process)
               and supports a `reset' operation (e.g., can be told to
               re-read configuration files), this value will be the
               time elapsed since the last time the resolver was
               `reset.'  For software that does not have persistence or
               does not support a `reset' operation, this value will be
               zero."
       ::= { dnsResConfig 6 }

   dnsResConfigReset OBJECT-TYPE
       SYNTAX      INTEGER { other(1),
                             reset(2),
                             initializing(3),
                             running(4) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status/action object to reinitialize any persistant
               resolver state.  When set to reset(2), any persistant
               resolver state (such as a process) is reinitialized as if
               the resolver had just been started.  This value will
               never be returned by a read operation.  When read, one of
               the following values will be returned:
                   other(1) - resolver in some unknown state;
                   initializing(3) - resolver (re)initializing;
                   running(4) - resolver currently running."
       ::= { dnsResConfig 7 }


   -- Resolver Counters Group

   -- Resolver Counter Table

   dnsResCounterByOpcodeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsResCounterByOpcodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Table of the current count of resolver queries and
               answers."
       ::= { dnsResCounter 3 }

   dnsResCounterByOpcodeEntry OBJECT-TYPE
       SYNTAX      DnsResCounterByOpcodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Entry in the resolver counter table.  Entries are
               indexed by DNS OpCode."
       INDEX     { dnsResCounterByOpcodeCode }
       ::= { dnsResCounterByOpcodeTable 1 }

   DnsResCounterByOpcodeEntry ::=
       SEQUENCE {
           dnsResCounterByOpcodeCode
               DnsOpCode,
           dnsResCounterByOpcodeQueries
               Counter32,
           dnsResCounterByOpcodeResponses
               Counter32
       }

   dnsResCounterByOpcodeCode OBJECT-TYPE
       SYNTAX      DnsOpCode
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The index to this table.  The OpCodes that have already
               been defined are found in RFC-1035."
       REFERENCE
               "RFC-1035 section 4.1.1."
       ::= { dnsResCounterByOpcodeEntry 1 }

   dnsResCounterByOpcodeQueries OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Total number of queries that have sent out by the
               resolver since initialization for the OpCode which is
               the index to this row of the table."
       ::= { dnsResCounterByOpcodeEntry 2 }

   dnsResCounterByOpcodeResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Total number of responses that have been received by the
               resolver since initialization for the OpCode which is
               the index to this row of the table."
       ::= { dnsResCounterByOpcodeEntry 3 }

   -- Resolver Response Code Counter Table

   dnsResCounterByRcodeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsResCounterByRcodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Table of the current count of responses to resolver
               queries."
       ::= { dnsResCounter 4 }

   dnsResCounterByRcodeEntry OBJECT-TYPE
       SYNTAX      DnsResCounterByRcodeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Entry in the resolver response table.  Entries are
               indexed by DNS response code."
       INDEX     { dnsResCounterByRcodeCode }
       ::= { dnsResCounterByRcodeTable 1 }

   DnsResCounterByRcodeEntry ::=
       SEQUENCE {
           dnsResCounterByRcodeCode
               DnsRespCode,
           dnsResCounterByRcodeResponses
               Counter32
       }

   dnsResCounterByRcodeCode OBJECT-TYPE
       SYNTAX      DnsRespCode
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The index to this table.  The Response Codes that have
               already been defined are found in RFC-1035."
       REFERENCE
               "RFC-1035 section 4.1.1."
       ::= { dnsResCounterByRcodeEntry 1 }

   dnsResCounterByRcodeResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of responses the resolver has received for the
               response code value which identifies this row of the
               table."
       ::= { dnsResCounterByRcodeEntry 2 }

   -- Additional DNS Resolver Counter Objects

   dnsResCounterNonAuthDataResps OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests made by the resolver for which a
               non-authoritative answer (cached data) was received."
       ::= { dnsResCounter 5 }

   dnsResCounterNonAuthNoDataResps OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests made by the resolver for which a
               non-authoritative answer - no such data response (empty
               answer) was received."
       ::= { dnsResCounter 6 }

   dnsResCounterMartians OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of responses received which were received from
               servers that the resolver does not think it asked."
       ::= { dnsResCounter 7 }

   dnsResCounterRecdResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of responses received to all queries."
       ::= { dnsResCounter 8 }

   dnsResCounterUnparseResps OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of responses received which were unparseable."
       ::= { dnsResCounter 9 }

   dnsResCounterFallbacks OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of times the resolver had to fall back to its
               seat belt information."
       ::= { dnsResCounter 10 }


   -- Lame Delegation Group

   dnsResLameDelegationOverflows OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of times the resolver attempted to add an entry
               to the Lame Delegation table but was unable to for some
               reason such as space constraints."
       ::= { dnsResLameDelegation 1 }

   -- Lame Delegation Table

   dnsResLameDelegationTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsResLameDelegationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Table of name servers returning lame delegations.

               A lame delegation has occured when a parent zone
               delegates authority for a child zone to a server that
               appears not to think that it is authoritative for the
               child zone in question."
       ::= { dnsResLameDelegation 2 }

   dnsResLameDelegationEntry OBJECT-TYPE
       SYNTAX      DnsResLameDelegationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Entry in lame delegation table.  Only the resolver may
               create rows in this table.  SNMP SET requests may be used
               to delete rows."
       INDEX     { dnsResLameDelegationSource,
                   dnsResLameDelegationName,
                   dnsResLameDelegationClass }
       ::= { dnsResLameDelegationTable 1 }

   DnsResLameDelegationEntry ::=
       SEQUENCE {
           dnsResLameDelegationSource
               IpAddress,
           dnsResLameDelegationName
               DnsNameAsIndex,
           dnsResLameDelegationClass
               DnsClass,
           dnsResLameDelegationCounts
               Counter32,
           dnsResLameDelegationStatus
               RowStatus
       }

   dnsResLameDelegationSource OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Source of lame delegation."
       ::= { dnsResLameDelegationEntry 1 }

   dnsResLameDelegationName OBJECT-TYPE
       SYNTAX      DnsNameAsIndex
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS name for which lame delegation was received."
       ::= { dnsResLameDelegationEntry 2 }

   dnsResLameDelegationClass OBJECT-TYPE
       SYNTAX      DnsClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS class of received lame delegation."
       ::= { dnsResLameDelegationEntry 3 }

   dnsResLameDelegationCounts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "How many times this lame delegation has been received."
       ::= { dnsResLameDelegationEntry 4 }

   dnsResLameDelegationStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status column for the lame delegation table.  Since only
               the agent (DNS resolver) creates rows in this table, the
               only values that a manager may write to this variable
               are active(1) and destroy(6)."
       ::= { dnsResLameDelegationEntry 5 }


   -- Resolver Cache Group

   dnsResCacheStatus OBJECT-TYPE
       SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status/action for the resolver's cache.

               enabled(1) means that the use of the cache is allowed.
               Query operations can return this state.

               disabled(2) means that the cache is not being used.
               Query operations can return this state.

               Setting this variable to clear(3) deletes the entire
               contents of the resolver's cache, but does not otherwise
               change the resolver's state.  The status will retain its
               previous value from before the clear operation (i.e.,
               enabled(1) or disabled(2)).  The value of clear(3) can
               NOT be returned by a query operation."
       --CONFIGURABLE
       ::= { dnsResCache 1 }

   dnsResCacheMaxTTL OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Maximum Time-To-Live for RRs in this cache.  If the
               resolver does not implement a TTL ceiling, the value of
               this field should be zero."
       --CONFIGURABLE
       ::= { dnsResCache 2 }

   dnsResCacheGoodCaches OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of RRs the resolver has cached successfully."
       ::= { dnsResCache 3 }

   dnsResCacheBadCaches OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of RRs the resolver has refused to cache because
               they appear to be dangerous or irrelevant.  E.g., RRs
               with suspiciously high TTLs, unsolicited root
               information, or that just don't appear to be relevant to
               the question the resolver asked."
       ::= { dnsResCache 4 }

   -- Resolver Cache Table

   dnsResCacheRRTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsResCacheRREntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "This table contains information about all the resource
               records currently in the resolver's cache."
       ::= { dnsResCache 5 }

   dnsResCacheRREntry OBJECT-TYPE
       SYNTAX      DnsResCacheRREntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry in the resolvers's cache.  Rows may be created
               only by the resolver.  SNMP SET requests may be used to
               delete rows."
       INDEX     { dnsResCacheRRName,
                   dnsResCacheRRClass,
                   dnsResCacheRRType,
                   dnsResCacheRRIndex }
       ::= { dnsResCacheRRTable 1 }

   DnsResCacheRREntry ::=
       SEQUENCE {
           dnsResCacheRRName
               DnsNameAsIndex,
           dnsResCacheRRClass
               DnsClass,
           dnsResCacheRRType
               DnsType,
           dnsResCacheRRTTL
               DnsTime,
           dnsResCacheRRElapsedTTL
               DnsTime,
           dnsResCacheRRSource
               IpAddress,
           dnsResCacheRRData
               OCTET STRING,
           dnsResCacheRRStatus
               RowStatus,
           dnsResCacheRRIndex
               Integer32,
           dnsResCacheRRPrettyName
               DnsName
       }

   dnsResCacheRRName OBJECT-TYPE
       SYNTAX      DnsNameAsIndex
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "Owner name of the Resource Record in the cache which is
               identified in this row of the table.  As described in
               RFC-1034, the owner of the record is the domain name
               were the RR is found."
       REFERENCE
               "RFC-1034 section 3.6."
       ::= { dnsResCacheRREntry 1 }

   dnsResCacheRRClass OBJECT-TYPE
       SYNTAX      DnsClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS class of the Resource Record in the cache which is
               identified in this row of the table."
       ::= { dnsResCacheRREntry 2 }

   dnsResCacheRRType OBJECT-TYPE
       SYNTAX      DnsType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS type of the Resource Record in the cache which is
               identified in this row of the table."
       ::= { dnsResCacheRREntry 3 }

   dnsResCacheRRTTL OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Time-To-Live of RR in DNS cache.  This is the initial
               TTL value which was received with the RR when it was
               originally received."
       ::= { dnsResCacheRREntry 4 }

   dnsResCacheRRElapsedTTL OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Elapsed seconds since RR was received."
       ::= { dnsResCacheRREntry 5 }

   dnsResCacheRRSource OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Host from which RR was received, 0.0.0.0 if unknown."
       ::= { dnsResCacheRREntry 6 }

   dnsResCacheRRData OBJECT-TYPE
       SYNTAX      OCTET STRING
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "RDATA portion of a cached RR.  The value is in the
               format defined for the particular DNS class and type of
               the resource record."
       REFERENCE
               "RFC-1035 section 3.2.1."
       ::= { dnsResCacheRREntry 7 }

   dnsResCacheRRStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status column for the resolver cache table.  Since only
               the agent (DNS resolver) creates rows in this table, the
               only values that a manager may write to this variable
               are active(1) and destroy(6)."
       ::= { dnsResCacheRREntry 8 }

   dnsResCacheRRIndex OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A value which makes entries in the table unique when the
               other index values (dnsResCacheRRName,
               dnsResCacheRRClass, and dnsResCacheRRType) do not
               provide a unique index."
       ::= { dnsResCacheRREntry 9 }

   dnsResCacheRRPrettyName OBJECT-TYPE
       SYNTAX      DnsName
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Name of the RR at this row in the table.  This is
               identical to the dnsResCacheRRName variable, except that
               character case is preserved in this variable, per DNS
               conventions."
       REFERENCE
               "RFC-1035 section 2.3.3."
       ::= { dnsResCacheRREntry 10 }

   -- Resolver Negative Cache Group

   dnsResNCacheStatus OBJECT-TYPE
       SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status/action for the resolver's negative response
               cache.

               enabled(1) means that the use of the negative response
               cache is allowed.  Query operations can return this
               state.

               disabled(2) means that the negative response cache is
               not being used.  Query operations can return this state.

               Setting this variable to clear(3) deletes the entire
               contents of the resolver's negative response cache.  The
               status will retain its previous value from before the
               clear operation (i.e., enabled(1) or disabled(2)).  The
               value of clear(3) can NOT be returned by a query
               operation."
       --CONFIGURABLE
       ::= { dnsResNCache 1 }

   dnsResNCacheMaxTTL OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Maximum Time-To-Live for cached authoritative errors.
               If the resolver does not implement a TTL ceiling, the
               value of this field should be zero."
       --CONFIGURABLE
       ::= { dnsResNCache 2 }

   dnsResNCacheGoodNCaches OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of authoritative errors the resolver has cached
               successfully."
       ::= { dnsResNCache 3 }

   dnsResNCacheBadNCaches OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of authoritative errors the resolver would have
               liked to cache but was unable to because the appropriate
               SOA RR was not supplied or looked suspicious."
       REFERENCE
               "RFC-1034 section 4.3.4."
       ::= { dnsResNCache 4 }

   -- Resolver Negative Cache Table

   dnsResNCacheErrTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DnsResNCacheErrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "The resolver's negative response cache.  This table
               contains information about authoritative errors that
               have been cached by the resolver."
       ::= { dnsResNCache 5 }

   dnsResNCacheErrEntry OBJECT-TYPE
       SYNTAX      DnsResNCacheErrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry in the resolver's negative response cache
               table.  Only the resolver can create rows.  SNMP SET
               requests may be used to delete rows."
       INDEX     { dnsResNCacheErrQName,
                   dnsResNCacheErrQClass,
                   dnsResNCacheErrQType,
                   dnsResNCacheErrIndex }
       ::= { dnsResNCacheErrTable 1 }

   DnsResNCacheErrEntry ::=
       SEQUENCE {
           dnsResNCacheErrQName
               DnsNameAsIndex,
           dnsResNCacheErrQClass
               DnsQClass,
           dnsResNCacheErrQType
               DnsQType,
           dnsResNCacheErrTTL
               DnsTime,
           dnsResNCacheErrElapsedTTL
               DnsTime,
           dnsResNCacheErrSource
               IpAddress,
           dnsResNCacheErrCode
               INTEGER,
           dnsResNCacheErrStatus
               RowStatus,
           dnsResNCacheErrIndex
               Integer32,
           dnsResNCacheErrPrettyName
               DnsName
       }

   dnsResNCacheErrQName OBJECT-TYPE
       SYNTAX      DnsNameAsIndex
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "QNAME associated with a cached authoritative error."
       REFERENCE
               "RFC-1034 section 3.7.1."
       ::= { dnsResNCacheErrEntry 1 }

   dnsResNCacheErrQClass OBJECT-TYPE
       SYNTAX      DnsQClass
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS QCLASS associated with a cached authoritative
               error."
       ::= { dnsResNCacheErrEntry 2 }

   dnsResNCacheErrQType OBJECT-TYPE
       SYNTAX      DnsQType
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "DNS QTYPE associated with a cached authoritative error."
       ::= { dnsResNCacheErrEntry 3 }

   dnsResNCacheErrTTL OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Time-To-Live of a cached authoritative error at the time
               of the error, it should not be decremented by the number
               of seconds since it was received.  This should be the
               TTL as copied from the MINIMUM field of the SOA that
               accompanied the authoritative error, or a smaller value
               if the resolver implements a ceiling on negative
               response cache TTLs."
       REFERENCE
               "RFC-1034 section 4.3.4."
       ::= { dnsResNCacheErrEntry 4 }

   dnsResNCacheErrElapsedTTL OBJECT-TYPE
       SYNTAX      DnsTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Elapsed seconds since authoritative error was received."
       ::= { dnsResNCacheErrEntry 5 }

   dnsResNCacheErrSource OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Host which sent the authoritative error, 0.0.0.0 if
               unknown."
       ::= { dnsResNCacheErrEntry 6 }

   dnsResNCacheErrCode OBJECT-TYPE
       SYNTAX      INTEGER { nonexistantName(1), noData(2), other(3) }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The authoritative error that has been cached:

               nonexistantName(1) indicates an authoritative name error
               (RCODE = 3).

               noData(2) indicates an authoritative response with no
               error (RCODE = 0) and no relevant data.

               other(3) indicates some other cached authoritative
               error.  At present, no such errors are known to exist."
       ::= { dnsResNCacheErrEntry 7 }

   dnsResNCacheErrStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Status column for the resolver negative response cache
               table.  Since only the agent (DNS resolver) creates rows
               in this table, the only values that a manager may write
               to this variable are active(1) and destroy(6)."
       ::= { dnsResNCacheErrEntry 8 }

   dnsResNCacheErrIndex OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "A value which makes entries in the table unique when the
               other index values (dnsResNCacheErrQName,
               dnsResNCacheErrQClass, and dnsResNCacheErrQType) do not
               provide a unique index."
       ::= { dnsResNCacheErrEntry 9 }

   dnsResNCacheErrPrettyName OBJECT-TYPE
       SYNTAX      DnsName
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "QNAME associated with this row in the table.  This is
               identical to the dnsResNCacheErrQName variable, except
               that character case is preserved in this variable, per
               DNS conventions."
       REFERENCE
               "RFC-1035 section 2.3.3."
       ::= { dnsResNCacheErrEntry 10 }


   -- Resolver Optional Counters Group

   dnsResOptCounterReferals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of responses which were received from servers
               redirecting query to another server."
       ::= { dnsResOptCounter 1 }

   dnsResOptCounterRetrans OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number requests retransmitted for all reasons."
       ::= { dnsResOptCounter 2 }

   dnsResOptCounterNoResponses OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries that were retransmitted because of no
               response."
       ::= { dnsResOptCounter 3 }

   dnsResOptCounterRootRetrans OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of queries that were retransmitted that were to
               root servers."
       ::= { dnsResOptCounter 4 }

   dnsResOptCounterInternals OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests internally generated by the
               resolver."
       ::= { dnsResOptCounter 5 }

   dnsResOptCounterInternalTimeOuts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Number of requests internally generated which timed
               out."
       ::= { dnsResOptCounter 6 }


   -- SNMPv2 groups.

   dnsResMIBGroups         OBJECT IDENTIFIER ::= { dnsResMIB 2 }

   dnsResConfigGroup OBJECT-GROUP
       OBJECTS   { dnsResConfigImplementIdent,
                   dnsResConfigService,
                   dnsResConfigMaxCnames,
                   dnsResConfigSbeltAddr,
                   dnsResConfigSbeltName,
                   dnsResConfigSbeltRecursion,
                   dnsResConfigSbeltPref,
                   dnsResConfigSbeltSubTree,
                   dnsResConfigSbeltClass,
                   dnsResConfigSbeltStatus,
                   dnsResConfigUpTime,
                   dnsResConfigResetTime }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing basic configuration
               information for a DNS resolver implementation."
       ::= { dnsResMIBGroups 1 }

   dnsResCounterGroup OBJECT-GROUP
       OBJECTS   { dnsResCounterByOpcodeCode,
                   dnsResCounterByOpcodeQueries,
                   dnsResCounterByOpcodeResponses,
                   dnsResCounterByRcodeCode,
                   dnsResCounterByRcodeResponses,
                   dnsResCounterNonAuthDataResps,
                   dnsResCounterNonAuthNoDataResps,
                   dnsResCounterMartians,
                   dnsResCounterRecdResponses,
                   dnsResCounterUnparseResps,
                   dnsResCounterFallbacks }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing basic instrumentation
               of a DNS resolver implementation."
       ::= { dnsResMIBGroups 2 }

   dnsResLameDelegationGroup OBJECT-GROUP
       OBJECTS   { dnsResLameDelegationOverflows,
                   dnsResLameDelegationSource,
                   dnsResLameDelegationName,
                   dnsResLameDelegationClass,
                   dnsResLameDelegationCounts,
                   dnsResLameDelegationStatus }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing instrumentation of
               `lame delegation' failures."
       ::= { dnsResMIBGroups 3 }


   dnsResCacheGroup OBJECT-GROUP
       OBJECTS   { dnsResCacheStatus,
                   dnsResCacheMaxTTL,
                   dnsResCacheGoodCaches,
                   dnsResCacheBadCaches,
                   dnsResCacheRRName,
                   dnsResCacheRRClass,
                   dnsResCacheRRType,
                   dnsResCacheRRTTL,
                   dnsResCacheRRElapsedTTL,
                   dnsResCacheRRSource,
                   dnsResCacheRRData,
                   dnsResCacheRRStatus,
                   dnsResCacheRRIndex,
                   dnsResCacheRRPrettyName }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing access to and control
               of a DNS resolver's cache."
       ::= { dnsResMIBGroups 4 }

   dnsResNCacheGroup OBJECT-GROUP
       OBJECTS   { dnsResNCacheStatus,
                   dnsResNCacheMaxTTL,
                   dnsResNCacheGoodNCaches,
                   dnsResNCacheBadNCaches,
                   dnsResNCacheErrQName,
                   dnsResNCacheErrQClass,
                   dnsResNCacheErrQType,
                   dnsResNCacheErrTTL,
                   dnsResNCacheErrElapsedTTL,
                   dnsResNCacheErrSource,
                   dnsResNCacheErrCode,
                   dnsResNCacheErrStatus,
                   dnsResNCacheErrIndex,
                   dnsResNCacheErrPrettyName }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing access to and control
               of a DNS resolver's negative response cache."
       ::= { dnsResMIBGroups 5 }

   dnsResOptCounterGroup OBJECT-GROUP
       OBJECTS   { dnsResOptCounterReferals,
                   dnsResOptCounterRetrans,
                   dnsResOptCounterNoResponses,
                   dnsResOptCounterRootRetrans,
                   dnsResOptCounterInternals,
                   dnsResOptCounterInternalTimeOuts }
       STATUS      current
       DESCRIPTION
               "A collection of objects providing further
               instrumentation applicable to many but not all DNS
               resolvers."
       ::= { dnsResMIBGroups 6 }


   -- Compliances.

   dnsResMIBCompliances OBJECT IDENTIFIER ::= { dnsResMIB 3 }

   dnsResMIBCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
               "The compliance statement for agents implementing the DNS
               resolver MIB extensions."
       MODULE -- This MIB module
           MANDATORY-GROUPS { dnsResConfigGroup, dnsResCounterGroup }
           GROUP   dnsResCacheGroup
           DESCRIPTION
               "The resolver cache group is mandatory for resolvers that
               implement a cache."
           GROUP   dnsResNCacheGroup
           DESCRIPTION
               "The resolver negative cache group is mandatory for
               resolvers that implement a negative response cache."
           GROUP   dnsResLameDelegationGroup
           DESCRIPTION
               "The lame delegation group is unconditionally optional."
           GROUP   dnsResOptCounterGroup
           DESCRIPTION
               "The optional counters group is unconditionally
               optional."
           OBJECT  dnsResConfigMaxCnames
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResConfigSbeltName
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResConfigSbeltRecursion
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResConfigSbeltPref
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResConfigReset
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResCacheStatus
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResCacheMaxTTL
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResNCacheStatus
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
           OBJECT  dnsResNCacheMaxTTL
           MIN-ACCESS      read-only
           DESCRIPTION
               "This object need not be writable."
       ::= { dnsResMIBCompliances 1 }

   END
--
--	usr_dns.mib - A proprietary MIB file for the Domain Name Service
--
--
-- Author:         Clarise E. Patton
--
-- $Id: usr_dns.mib,v 1.6 1997/08/06 19:57:40 psd Exp $
--
--  | Copyright (c) 1995 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

USR-DNS-MIB DEFINITIONS ::= BEGIN

	IMPORTS
	  RowStatus
                FROM SNMPv2-TC
          Counter, IpAddress
                FROM RFC1155-SMI
          OBJECT-TYPE, Integer32
                FROM SNMPv2-SMI
          DisplayString, UsrConfigStatus, usrDns
                FROM USR-DEFINITIONS-MIB
          DnsName, DnsClass, DnsType, DnsQClass, DnsQType, DnsTime
                FROM DNS-SERVER-MIB;



   -- Begin managed object definitions here...

usrDnsVersion OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-only
	STATUS		current
	DESCRIPTION
		"The current software version of the Domain Name Server."
::= { usrDns 1 }

usrDnsCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION
	"This variable controls saving and loading of all the configuration
           information for the Domain Name Service. The value can 
           be set to either save or load by a management station. The other
           values indicate if any configuration operation and what type
           is in progress."
::= { usrDns 2 }

usrDnsCfgFileName OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS      read-write
	STATUS      current
	DESCRIPTION		
		"The name of a ConfigFile to read/write  permanent database records.
		 If the value of this object is an empty string, then the
		 DNS module uses the default name `@file://DNS.cfg'. "
	--CONFIGURABLE
::= { usrDns 3 }

usrDnsDomainName OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS      read-write
	STATUS      current
	DESCRIPTION		
		"The default Domain Name to be appended to a Host Name if
           it cannot be resolved without a Domain Name."
	--CONFIGURABLE
::= { usrDns 4 }

usrDnsNumberRetries OBJECT-TYPE
     SYNTAX   INTEGER
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
            "The number of times DNS will attempt to resolve a name before
             determining it cannot be resolved."
	--CONFIGURABLE
::= { usrDns 5 }

usrDnsTimeout OBJECT-TYPE
     SYNTAX   INTEGER
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
            "The number of seconds DNS will wait for a response from
             a name server before determining it is not coming."
	--CONFIGURABLE
::= { usrDns 6 }

usrDnsQueries OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The total number of queries received by DNS"
::= { usrDns 7 }

usrDnsTotalResponses OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The total number of responses sent by DNS"
::= { usrDns 8 }

usrDnsResponseOK OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of success responses received by DNS"
::= { usrDns 9 }

usrDnsResponseFormat OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of Format Error responses received by DNS"
::= { usrDns 10 }

usrDnsResponseServer OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of Server Error responses received by DNS"
::= { usrDns 11 }

usrDnsResponseName OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of No Such Name responses received by DNS"
::= { usrDns 12 }

usrDnsResponseNIY OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of NIY responses sent by DNS.
	This indicates that the Server does not implement this operation"
::= { usrDns 13 }

usrDnsResponseRefused OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of Refused responses sent by DNS.
	This indicates the Server refuses to perform the operation."
::= { usrDns 14 }

usrDnsResponsesLocal OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of responses answered Locally by DNS"
::= { usrDns 15 }

usrDnsResponsesRemote OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of responses received by DNS"
::= { usrDns 16 }

usrDnsResponseBadProt OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of corrupted responses received by DNS"
::= { usrDns 17 }

usrDnsTimeOuts OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The total number of timeouts on requests sent by DNS"
::= { usrDns 18 }

usrDnsResponseNotSent OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of send failures on replies sent by DNS"
::= { usrDns 19 }

usrDnsErrorResponse OBJECT-TYPE
     SYNTAX   Counter
     MAX-ACCESS   read-only
     STATUS   current
     DESCRIPTION
            "The number of failure  replies sent by DNS"
::= { usrDns 20 }

usrDnsHostTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrDnsHostEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table of DNS Hosts. "
::= { usrDns 21 }

usrDnsHostEntry OBJECT-TYPE
	SYNTAX UsrDnsHostEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A (conceptual) entry for one Dns Host."
	INDEX { usrDnsHostName }
::= { usrDnsHostTable 1 }

UsrDnsHostEntry ::= SEQUENCE {
	usrDnsHostName			DisplayString,
	usrDnsHostAddress		IpAddress,
	usrDnsHostStatus     	        RowStatus
	}

usrDnsHostName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION
		"The logical identifier of the Host Table. "
::= { usrDnsHostEntry 1 }

usrDnsHostAddress OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The specified or resolved ip address of the named Host. "
	--CONFIGURABLE
::= { usrDnsHostEntry 2 }

usrDnsHostStatus OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The status of this row of the Host Table. "
	--CONFIGURABLE
::= { usrDnsHostEntry 3 }

usrDnsServerTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrDnsServerEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table of DNS Servers. "
::= { usrDns 22 }
usrDnsServerEntry OBJECT-TYPE
	SYNTAX UsrDnsServerEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A (conceptual) entry for one Dns Server."
	INDEX { usrDnsServerPreference }
::= { usrDnsServerTable 1 }

UsrDnsServerEntry ::= SEQUENCE {
	usrDnsServerPreference		INTEGER,
	usrDnsServerName		DisplayString,
	usrDnsServerAddress		IpAddress,
	usrDnsServerStatus     	        RowStatus
	}

usrDnsServerPreference OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS		not-accessible
	STATUS		current
	DESCRIPTION
		"The logical identifier of the Server Table. "
::= { usrDnsServerEntry 1 }

usrDnsServerName OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The specified name of the Server. "
	--CONFIGURABLE
::= { usrDnsServerEntry 2 }

usrDnsServerAddress OBJECT-TYPE
	SYNTAX		IpAddress
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The specified or resolved ip address of the named Server. "
	--CONFIGURABLE
::= { usrDnsServerEntry 3 }

usrDnsServerStatus OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The status of this row of the Server Table. "
	--CONFIGURABLE
::= { usrDnsServerEntry 4 }

usrDnsHostRotation OBJECT-TYPE
     SYNTAX   INTEGER { enabled(1), disabled(2) }
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
            "Setting this object to a value of enabled(1) will enable
             the DNS host rotation feature. Setting this object to
             disabled(2) will disable the DNS Host Rotation feature."
     --CONFIGURABLE
::= { usrDns 23 }

-- Resolver Cache Table

usrDnsCacheTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF UsrDnsCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "This table contains information about all the resource
           records currently in the resolver's cache."
::= { usrDns 24 }

usrDnsCacheEntry OBJECT-TYPE
    SYNTAX      UsrDnsCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "An entry in the resolvers's cache.  Rows may be created
           only by the resolver.  SNMP SET requests may be used to
           delete rows."
    INDEX     { usrDnsCacheRRIndex }
::= { usrDnsCacheTable 1 }

UsrDnsCacheEntry ::=
    SEQUENCE {
        usrDnsCacheRRIndex
            Integer32,
        usrDnsCacheRRClass
            DnsClass,
        usrDnsCacheRRType
            DnsType,
        usrDnsCacheRRTTL
            DnsTime,
        usrDnsCacheRRElapsedTTL
            DnsTime,
        usrDnsCacheRRSource
            IpAddress,
        usrDnsCacheRRData
            OCTET STRING,
        usrDnsCacheRRStatus
            RowStatus,
        usrDnsCacheRRPrettyName
            DnsName
    }

usrDnsCacheRRIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "A value which makes entries in the table unique."
::= { usrDnsCacheEntry 1 }

usrDnsCacheRRClass OBJECT-TYPE
    SYNTAX      DnsClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "DNS class of the Resource Record in the cache which is
           identified in this row of the table."
::= { usrDnsCacheEntry 2 }

usrDnsCacheRRType OBJECT-TYPE
    SYNTAX      DnsType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "DNS type of the Resource Record in the cache which is
           identified in this row of the table."
::= { usrDnsCacheEntry 3 }

usrDnsCacheRRTTL OBJECT-TYPE
    SYNTAX      DnsTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Time-To-Live of RR in DNS cache.  This is the initial
           TTL value which was received with the RR when it was
           originally received."
::= { usrDnsCacheEntry 4 }

usrDnsCacheRRElapsedTTL OBJECT-TYPE
    SYNTAX      DnsTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Elapsed seconds since RR was received."
::= { usrDnsCacheEntry 5 }

usrDnsCacheRRSource OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Host from which RR was received, 0.0.0.0 if unknown."
::= { usrDnsCacheEntry 6 }

usrDnsCacheRRData OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "RDATA portion of a cached RR.  The value is in the
           format defined for the particular DNS class and type of
           the resource record."
    REFERENCE
           "RFC-1035 section 3.2.1."
::= { usrDnsCacheEntry 7 }

usrDnsCacheRRStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "Status column for the resolver cache table.  Since only
           the agent (DNS resolver) creates rows in this table, the
           only values that a manager may write to this variable
           are active(1) and destroy(6)."
::= { usrDnsCacheEntry 8 }

usrDnsCacheRRPrettyName OBJECT-TYPE
    SYNTAX      DnsName
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Name of the RR at this row in the table.  This is
           identical to the dnsResCacheRRName variable, except that
           character case is preserved in this variable, per DNS
           conventions."
    REFERENCE
           "RFC-1035 section 2.3.3."
::= { usrDnsCacheEntry 9 }

-- Resolver Negative Cache Table

usrDnsNCacheTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF UsrDnsNCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "The resolver's negative response cache.  This table
           contains information about authoritative errors that
           have been cached by the resolver."
::= { usrDns 25 }

usrDnsNCacheEntry OBJECT-TYPE
    SYNTAX      UsrDnsNCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "An entry in the resolver's negative response cache
           table.  Only the resolver can create rows.  SNMP SET
           requests may be used to delete rows."
       INDEX     { usrDnsNCacheErrIndex }
::= { usrDnsNCacheTable 1 }

UsrDnsNCacheEntry ::=
    SEQUENCE {
        usrDnsNCacheErrIndex
            Integer32,
        usrDnsNCacheErrQClass
            DnsQClass,
        usrDnsNCacheErrQType
            DnsQType,
        usrDnsNCacheErrTTL
            DnsTime,
        usrDnsNCacheErrElapsedTTL
            DnsTime,
        usrDnsNCacheErrSource
            IpAddress,
        usrDnsNCacheErrCode
            INTEGER,
        usrDnsNCacheErrStatus
            RowStatus,
        usrDnsNCacheErrPrettyName
            DnsName
    }

usrDnsNCacheErrIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "A value which makes entries in the table unique."
::= { usrDnsNCacheEntry 9 }

usrDnsNCacheErrQClass OBJECT-TYPE
    SYNTAX      DnsQClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "DNS QCLASS associated with a cached authoritative
           error."
::= { usrDnsNCacheEntry 2 }

usrDnsNCacheErrQType OBJECT-TYPE
    SYNTAX      DnsQType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "DNS QTYPE associated with a cached authoritative error."
::= { usrDnsNCacheEntry 3 }

usrDnsNCacheErrTTL OBJECT-TYPE
    SYNTAX      DnsTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Time-To-Live of a cached authoritative error at the time
           of the error, it should not be decremented by the number
           of seconds since it was received.  This should be the
           TTL as copied from the MINIMUM field of the SOA that
           accompanied the authoritative error, or a smaller value
           if the resolver implements a ceiling on negative
           response cache TTLs."
    REFERENCE
           "RFC-1034 section 4.3.4."
::= { usrDnsNCacheEntry 4 }

usrDnsNCacheErrElapsedTTL OBJECT-TYPE
    SYNTAX      DnsTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Elapsed seconds since authoritative error was received."
::= { usrDnsNCacheEntry 5 }

usrDnsNCacheErrSource OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "Host which sent the authoritative error, 0.0.0.0 if
           unknown."
::= { usrDnsNCacheEntry 6 }

usrDnsNCacheErrCode OBJECT-TYPE
    SYNTAX      INTEGER { nonexistantName(1), noData(2), other(3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The authoritative error that has been cached:

           nonexistantName(1) indicates an authoritative name error
           (RCODE = 3).

           noData(2) indicates an authoritative response with no
           error (RCODE = 0) and no relevant data.

           other(3) indicates some other cached authoritative
           error.  At present, no such errors are known to exist."
::= { usrDnsNCacheEntry 7 }

usrDnsNCacheErrStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "Status column for the resolver negative response cache
           table.  Since only the agent (DNS resolver) creates rows
           in this table, the only values that a manager may write
           to this variable are active(1) and destroy(6)."
::= { usrDnsNCacheEntry 8 }

usrDnsNCacheErrPrettyName OBJECT-TYPE
    SYNTAX      DnsName
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "QNAME associated with this row in the table.  This is
           identical to the dnsResNCacheErrQName variable, except
           that character case is preserved in this variable, per
           DNS conventions."
    REFERENCE
           "RFC-1035 section 2.3.3."
::= { usrDnsNCacheEntry 10 }

END         -- End USR-DNS-MIB definitions

--
--
-- $Log: usr_dns.mib,v $
-- Revision 1.6  1997/08/06 19:57:40  psd
-- Added the DNS Host Rotation feature.
--
--Revision 1.5  1996/05/14  20:28:54  patton
--put configurable into min
--
-- Revision 1.4  1996/04/25 21:32:25  patton
-- added counters
--
-- Revision 1.3  1996/04/09 20:44:48  patton
-- Added Timeout
--
-- Revision 1.2  1996/04/08 21:49:56  patton
-- NameServer Table
--
-- Revision 1.1  1996/03/21 22:59:26  patton
-- DNS proprietary mib
--
--
-- End:
--
--
--	usr_dhcp.mib - The 3Com/USR DHCP Relay Agent MIB 
--
--
-- Author:         Fritz Reeve
--
-- $Id: usr_filter.mib,v 1.4.2.3 1997/02/03 19:47:03 sef Exp $
--
--  | Copyright (c) 1996 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--

Usr-Dhcp-MIB DEFINITIONS ::= BEGIN

        IMPORTS
          Counter, IpAddress
                  FROM RFC1155-SMI
          OBJECT-TYPE
                  FROM RFC-1212
          DisplayString, usrDhcp, UsrConfigStatus
                  FROM USR-DEFINITIONS-MIB;

   -- textual conventions

   -- Begin managed object definitions here...


     usrDhcpConfigFileName OBJECT-TYPE
         SYNTAX      DisplayString
         ACCESS      read-write
         STATUS      mandatory
         DESCRIPTION             
            "The name of a ConfigFile to read/write permanent database
             records.  If the value of this object is an empty string, 
             then the Filter Manager process uses the default name 
             `@file://filter.cfg'. "
     ::= { usrDhcp 1 }

     usrDhcpCFMStatusFlag  OBJECT-TYPE
         SYNTAX      UsrConfigStatus
         ACCESS      read-write
         STATUS      mandatory
         DESCRIPTION
            "Setting the value of this object to `save' causes the values
             of the SNMP Group to be written out to the current config
             file, which is stored in the usrFilterConfigFileName object.
             While the new ConfigFile is being written, the SNMP process
             will set the value of this flag to `saving''. Any
             attempts to set the value while it is not `normal'
             (i.e. the file is currently being written to the
             ConfigFile) will result in a badValue error being
             returned. Setting the value to `normal' will result in no
             action."
     ::= { usrDhcp 2 }

     usrDhcpAgent OBJECT-TYPE
         SYNTAX  INTEGER {
             disable(0),
             enable(1)
         }
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
             "this variable enables/disables the DHCP Relay Agent"
         --CONFIGURABLE
     ::= { usrDhcp 3 }
      
     usrDhcpServer1    OBJECT-TYPE
         SYNTAX  IpAddress
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
             "when usrDhcpAgent is enabled, this variable contains the DHCP
              Server IP Address."
          --CONFIGURABLE
     ::= { usrDhcp 4 }
     
     usrDhcpServer2    OBJECT-TYPE
         SYNTAX  IpAddress
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
             "when usrDhcpAgent is enabled, this variable contains the DHCP
              Server IP Address."
          --CONFIGURABLE
     ::= { usrDhcp 5 }

     usrDhcpClientMessages OBJECT-TYPE
         SYNTAX  Counter
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
                 "The total number of messages received on the LAN
                 interface from the Client."
     ::= { usrDhcp 6 }

     usrDhcpServerMessages OBJECT-TYPE
         SYNTAX  Counter
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
                 "The total number of messages received on the WAN 
                 interfaces from the Servers."
     ::= { usrDhcp 7 }

     usrDhcpClientErrors   OBJECT-TYPE
         SYNTAX  Counter
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
                 "The total number of messages received on the LAN 
                 interfaces from the Client which were discarded 
                 due to validation errors."
     ::= { usrDhcp 8 }

     usrDhcpServerErrors   OBJECT-TYPE
         SYNTAX  Counter
         ACCESS  read-only
         STATUS  mandatory
         DESCRIPTION
                 "The total number of messages received on the WAN 
                 interfaces from the Servers which were discarded 
                 due to validation errors."
     ::= { usrDhcp 9 }

     usrDhcpCmGiAddr   OBJECT-TYPE
         SYNTAX  DisplayString
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
            "The network name for the Cable Modems in the Cable Modem Termination
			System"
          --CONFIGURABLE
     ::= { usrDhcp 10 }

     usrDhcpCpeGiAddr   OBJECT-TYPE
         SYNTAX  DisplayString
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
            "The network name for the Customer Premises Equipment in the 
	    Cable Modem Termination System"
          --CONFIGURABLE
     ::= { usrDhcp 11 }


     usrDhcpTrCmGiAddr   OBJECT-TYPE
         SYNTAX  DisplayString
         ACCESS  read-write
         STATUS  mandatory
         DESCRIPTION
           "The network name for the Telco Return Cable Modems in  in the 
	    Cable Modem Termination System"
          --CONFIGURABLE
     ::= { usrDhcp 12 }

     usrDhcpAgentInfoOption OBJECT-TYPE
         SYNTAX  INTEGER {
             disable(0),
             enable(1)
         }
         ACCESS read-write
         STATUS mandatory
         DESCRIPTION
             "When enabled, the DHCP Relay Agent Information Option is added 
              to DHCP DISCOVERs and REQUESTs from Cable Modems and CPEs. 
              See DOCSIS ECN RFI-N-98033."
         --CONFIGURABLE
     ::= { usrDhcp 13 }

END         -- End DHCP MIB definitions

--
-- MCNS MIB
-- from draft-docs-rf-mib-00.txt 
--
--
-- 5.1 Root MIB for MCNS
--
--  This MIB exists solely to provide an anchor in the mib tree for the two 
--  MIBs which follow.

MCNS-MIB DEFINITIONS ::= BEGIN

IMPORTS 
MODULE-IDENTITY,
enterprises
    FROM SNMPv2-SMI;

mcns MODULE-IDENTITY
LAST-UPDATED "9703241130Z"
ORGANIZATION "Multimedia Cable Network System"
CONTACT-INFO "        Pam Anderson
              Postal: CableLabs
                      400 Centennial Parkway
                      Louisville, CO 80027-1266
              Tel:    +1 303 661 9100
              Fax:    +1 303 661 9199
              E-mail: p.anderson@cablelabs.com"
DESCRIPTION
"This is the MIB Module for MCNS-compliant cable modems
and cable-modem termination systems."
::= { enterprises 2141 }

END

DOCS-IF-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
--        BITS,  
        Unsigned32,
        Integer32,
        Counter32,
        TimeTicks,
        IpAddress
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        MacAddress,
        RowStatus,
        TimeInterval,
        TimeStamp,
        TruthValue
                FROM SNMPv2-TC
        OBJECT-GROUP,
        MODULE-COMPLIANCE
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB
        InterfaceIndexOrZero
                FROM USR-DEFINITIONS-MIB
        transmission
                    FROM RFC1213-MIB;

docsIfMib MODULE-IDENTITY
        LAST-UPDATED    "9801301743Z" -- Jan 30, 1998
        ORGANIZATION    "IETF IPCDN Working Group"
        CONTACT-INFO
            "        Guenter Roeck
             Postal: cisco Systems
                     170 West Tasman Drive
                     San Jose, CA 95134
                     U.S.A.
             Phone:  +1 408 527 3143
             E-mail: groeck@cisco.com"
        DESCRIPTION
            "This is the MIB Module for MCNS compliant Radio Frequency
             (RF) interfaces in Cable Modems (CM) and Cable Modem
             Termination Systems (CMTS)."
        ::= { transmission 127 }

-- Textual Conventions
TenthdBmV ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d-1"
        STATUS       current
        DESCRIPTION
            "This data type represents power levels that are normally
             expressed in dBmV. Units are in tenths of a dBmV;
             for example, 5.1 dBmV will be represented as 51."
        SYNTAX       Integer32

TenthdB ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d-1"
        STATUS       current
        DESCRIPTION
            "This data type represents power levels that are normally
             expressed in dB. Units are in tenths of a dB;
             for example, 5.1 dB will be represented as 51."
        SYNTAX       Integer32

docsIfMibObjects  OBJECT IDENTIFIER ::= { docsIfMib 1 }
docsIfBaseObjects OBJECT IDENTIFIER ::= { docsIfMibObjects 1 }
docsIfCmObjects   OBJECT IDENTIFIER ::= { docsIfMibObjects 2 }
docsIfCmtsObjects OBJECT IDENTIFIER ::= { docsIfMibObjects 3 }

--
-- BASE GROUP
--

--
-- The following table is implemented on both the Cable Modem (CM)
-- and the Cable Modem Termination System (CMTS).
--

docsIfDownstreamChannelTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfDownstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table describes the attributes of downstream
             channels (frequency bands)."
        ::= { docsIfBaseObjects 1 }

docsIfDownstreamChannelEntry OBJECT-TYPE
        SYNTAX      DocsIfDownstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for a single Downstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableDownstream(128)."
        INDEX { ifIndex }
        ::= { docsIfDownstreamChannelTable 1 }

DocsIfDownstreamChannelEntry ::= SEQUENCE {
            docsIfDownChannelId               Integer32,
            docsIfDownChannelFrequency        Integer32,
            docsIfDownChannelWidth            Integer32,
            docsIfDownChannelModulation       INTEGER,
            docsIfDownChannelInterleave       INTEGER,
            docsIfDownChannelPower            TenthdBmV,
            docsIfDownChannelAnnex            INTEGER
        }

docsIfDownChannelId OBJECT-TYPE
        SYNTAX      Integer32(0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The CMTS identification of the downstream channel within
             this particular MAC interface. If the interface is down,
             the object returns the most current value. If the
             downstream channel ID is unknown, this object returns
             a value of 0."
        ::= { docsIfDownstreamChannelEntry 1 }

docsIfDownChannelFrequency  OBJECT-TYPE
        SYNTAX      Integer32(0..1000000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The center of the downstream frequency associated with
             this channel. This object will return the current tuner
             frequency. If a CMTS provides IF output, this object
             will return 0, unless this CMTS is in control of the
             final downstream RF frequency."
        ::= { docsIfDownstreamChannelEntry 2 }

docsIfDownChannelWidth  OBJECT-TYPE
        SYNTAX      Integer32(0..16000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The bandwidth of this downstream channel. Most
             implementations are expected to support a channel width
             of 6 MHz (North America) and/or 8 MHz (Europe)."
        ::= { docsIfDownstreamChannelEntry 3 }

docsIfDownChannelModulation OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            qam64(3),
            qam256(4)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The modulation type associated with this downstream
             channel. If the interface is down, this object either
             returns the configured value (CMTS), the most current
             value (CM), or the value of unknown(1)."
	--CONFIGURABLE
        ::= { docsIfDownstreamChannelEntry 4 }

docsIfDownChannelInterleave OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            taps8Increment16(3),
            taps16Increment8(4),
            taps32Increment4(5),
            taps64Increment2(6),
            taps128Increment1(7),
            taps12Increment17(8)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Forward Error Correction (FEC) interleaving used
             for this downstream channel.
             Values are defined as follows:
             taps8Increment16(3):   protection 5.9/4.1 usec,
                                    latency .22/.15 mse
             taps16Increment8(4):   protection 12/8.2 usec,
                                    latency .48/.33 msec
             taps32Increment4(5):   protection 24/16 usec,
                                    latency .98/.68 msec
             taps64Increment2(6):   protection 47/33 usec,
                                    latency 2/1.4 msec
             taps128Increment1(7):  protection 95/66 usec,
                                    latency 4/2.8 msec
             taps12Increment17(8):  protection 18/14 usec,
                                    latency 0.43/0.32 msec
             If the interface is down, this object either returns
             the configured value (CMTS), the most current value (CM),
             or the value of unknown(1).
             The value of other(2) is returned if the interleave
             is known but not defined in the above list."
	--CONFIGURABLE
        ::= { docsIfDownstreamChannelEntry 5 }

docsIfDownChannelPower OBJECT-TYPE
        SYNTAX      TenthdBmV
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "At the CMTS, the operational transmit power. At the CM,
             the received power level. May be set to zero at the CM
             if power level measurement is not supported.
             If the interface is down, this object either returns
             the configured value (CMTS), the most current value (CM)
             or the value of 0."
        ::= { docsIfDownstreamChannelEntry 6 }

docsIfDownChannelAnnex OBJECT-TYPE
        SYNTAX      INTEGER {
            unknown(1),
            other(2),
            annexA(3),
            annexB(4),
            annexC(5)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "annexA : Annex A from ITU-J83 is used.
             annexB : Annex B from ITU-J83 is used.
             annexC : Annex C from ITU-J83 is used."
        ::= { docsIfDownstreamChannelEntry 7 }

--
-- The following table is implemented on both the CM and the CMTS.
-- For the CM, only attached channels appear in the table.
--

docsIfUpstreamChannelTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfUpstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of attached upstream channels
             (frequency bands)."
        ::= { docsIfBaseObjects 2 }

docsIfUpstreamChannelEntry OBJECT-TYPE
        SYNTAX      DocsIfUpstreamChannelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "List of attributes for a single upstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableUpstream(129)."
        INDEX { ifIndex }
        ::= { docsIfUpstreamChannelTable 1 }

DocsIfUpstreamChannelEntry ::= SEQUENCE {
            docsIfUpChannelId                     Integer32,
            docsIfUpChannelFrequency              Integer32,
            docsIfUpChannelWidth                  Integer32,
            docsIfUpChannelModulationProfile      Unsigned32,
            docsIfUpChannelSlotSize               Unsigned32,
            docsIfUpChannelTxTimingOffset         Unsigned32,
            docsIfUpChannelRangingBackoffStart    Integer32,
            docsIfUpChannelRangingBackoffEnd      Integer32,
            docsIfUpChannelTxBackoffStart         Integer32,
            docsIfUpChannelTxBackoffEnd           Integer32
        }

docsIfUpChannelId OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The CMTS identification of the upstream channel."
        ::= { docsIfUpstreamChannelEntry 1 }

docsIfUpChannelFrequency OBJECT-TYPE
        SYNTAX      Integer32 (0..1000000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The center of the frequency band associated with this
             upstream channel. This object returns 0 if the frequency
             is undefined or unknown. Minimum permitted upstream
             frequency is 5,000,000 Hz."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 2 }

docsIfUpChannelWidth OBJECT-TYPE
        SYNTAX      Integer32 (0..16000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The bandwidth of this upstream channel. This object
             returns 0 if the channel width is undefined or unknown.
             Minimum permitted channel width is 160,000 Hz."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 3 }

docsIfUpChannelModulationProfile OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "An entry identical to the docsIfModIndex in the
             docsIfCmtsModulationTable that describes this channel.
             This channel is further instantiated there by a grouping
             of interval usage codes which together fully describe the
             channel modulation. This object returns 0 if the
             docsIfCmtsModulationTable does not exist or is empty."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 4 }

docsIfUpChannelSlotSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The number of 6.25 microsecond ticks in each upstream mini-
             slot. Returns zero if the value is undefined or unknown."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 5 }

docsIfUpChannelTxTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A measure of the current round trip time at the CM, or the
             maximum round trip time seen by the CMTS.  Used for timing
             of CM upstream transmissions to ensure synchronized
             arrivals at the CMTS. Units are in terms of
             (6.25 microseconds/64)."
        ::= { docsIfUpstreamChannelEntry 6 }

docsIfUpChannelRangingBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The initial random backoff window to use when retrying
             Ranging Requests. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 7 }

docsIfUpChannelRangingBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The final random backoff window to use when retrying
             Ranging Requests. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 8 }

docsIfUpChannelTxBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The initial random backoff window to use when retrying
             transmissions. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 9 }

docsIfUpChannelTxBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The final random backoff window to use when retrying
             transmissions. Expressed as a power of 2. A value of 16
             at the CMTS indicates that a proprietary adaptive retry
             mechanism is to be used."
	--CONFIGURABLE
        ::= { docsIfUpstreamChannelEntry 10 }

-- The following table describes the attributes of each class of
-- service.
-- The entries in this table are referenced from the
-- docsIfServiceEntries.
-- They exist as a separate table in order to reduce redundant
-- information in docsIfServiceTable.
--
-- This table is implemented at both the CM and the CMTS.
-- The CM need only maintain entries for the classes of service
-- referenced by its docsIfServiceTable.
--

docsIfQosProfileTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes for each class of service."
        ::= { docsIfBaseObjects 3 }

docsIfQosProfileEntry OBJECT-TYPE
        SYNTAX      DocsIfQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes for a single class of service.
             Entries in this table are created at CM registration time
             as required."
        INDEX { docsIfQosProfIndex }
        ::= { docsIfQosProfileTable 1 }

DocsIfQosProfileEntry ::= SEQUENCE {
            docsIfQosProfIndex                Integer32,
            docsIfQosProfPriority             Integer32,
            docsIfQosProfMaxUpBandwidth       Integer32,
            docsIfQosProfGuarUpBandwidth      Integer32,
            docsIfQosProfMaxDownBandwidth     Integer32,
            docsIfQosProfMaxTxBurst           Integer32,
            docsIfQosProfBaselinePrivacy      TruthValue,
            docsIfQosProfStatus               RowStatus
        }

docsIfQosProfIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The index value which uniquely identifies an entry
             in the docsIfQosProfileTable."
        ::= { docsIfQosProfileEntry 1 }

docsIfQosProfPriority  OBJECT-TYPE
        SYNTAX      Integer32 (0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "A relative priority assigned to this service when
             allocating bandwidth. Zero indicates lowest priority;
             seven highest.
             Interpretation of priority is device-specific."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 2 }

docsIfQosProfMaxUpBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The maximum upstream bandwidth, in bits per second,
             allowed for a service with this service class.
             Zero if there is no restriction of upstream bandwidth."
        ::= { docsIfQosProfileEntry 3 }

docsIfQosProfGuarUpBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Minimum guaranteed upstream bandwidth, in bits per second,
             allowed for a service with this service class."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 4 }

docsIfQosProfMaxDownBandwidth OBJECT-TYPE
        SYNTAX      Integer32 (0..100000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The maximum downstream bandwidth, in bits per second,
             allowed for a service with this service class.
             Zero if there is no restriction of downstream bandwidth."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 5 }

docsIfQosProfMaxTxBurst OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The maximum number of mini-slots that may be requested
             for a single upstream transmission.
             A value of zero means there is no limit."
        DEFVAL { 0 }
        ::= { docsIfQosProfileEntry 6 }

docsIfQosProfBaselinePrivacy  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates whether Baseline Privacy is enabled for this
             service class."
        DEFVAL { false }
        ::= { docsIfQosProfileEntry 7 }

docsIfQosProfStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table."
        ::= { docsIfQosProfileEntry 8 }


docsIfSignalQualityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfSignalQualityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "At the CM, describes the PHY signal quality of downstream
             channels. At the CMTS, describes the PHY signal quality of
             upstream channels. At the CMTS, this table may exclude
             contention intervals."
        ::= { docsIfBaseObjects 4 }

docsIfSignalQualityEntry OBJECT-TYPE
        SYNTAX      DocsIfSignalQualityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "At the CM, describes the PHY characteristics of a
             downstream channel. At the CMTS, describes the PHY signal
             quality of an upstream channel.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableUpstream(129) for Cable Modem Termination
             Systems and docsCableDownstream(128) for Cable Modems."
        INDEX { ifIndex }
        ::= { docsIfSignalQualityTable 1 }

DocsIfSignalQualityEntry ::= SEQUENCE {
            docsIfSigQIncludesContention  TruthValue,
            docsIfSigQUnerroreds          Counter32,
            docsIfSigQCorrecteds          Counter32,
            docsIfSigQUncorrectables      Counter32,
            docsIfSigQSignalNoise         TenthdBmV,
            docsIfSigQMicroreflections    Integer32,
            docsIfSigQEqualizationData    OCTET STRING 
        }

docsIfSigQIncludesContention OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "true(1) if this CMTS includes contention intervals in
             the counters in this table. Always false(2) for CMs."
        ::= { docsIfSignalQualityEntry 1 }

docsIfSigQUnerroreds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel without error.
             This includes all codewords, whether or not they
             were part of frames destined for this device."
        ::= { docsIfSignalQualityEntry 2 }

docsIfSigQCorrecteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel with correctable
             errors. This includes all codewords, whether or not
             they were part of frames destined for this device."
        ::= { docsIfSignalQualityEntry 3 }

docsIfSigQUncorrectables OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received on this channel with uncorrectable
             errors. This includes all codewords, whether or not
             they were part of frames destined for this device."
        ::= { docsIfSignalQualityEntry 4 }

docsIfSigQSignalNoise OBJECT-TYPE
        SYNTAX      TenthdBmV
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Signal/Noise ratio as perceived for this channel.
             At the CMTS describes the average Sinal/Noise of the
             upstream channel."
        ::= { docsIfSignalQualityEntry 5 }

docsIfSigQMicroreflections OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        UNITS       "dBc"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Total microreflections including in-channel response
             as perceived on this interface, measured in dBc below
             the signal level.
             This object is not assumed to return an absolutely
             accurate value, but should give a rough indication
             of microreflections received on this interface.
             It is up to the implementor to provide information
             as accurate as possible."
        ::= { docsIfSignalQualityEntry 6 }

docsIfSigQEqualizationData OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "At the CM, returns the equalization data for the downstream
             channel. At the CMTS, returns the average equalization
             data for the upstream channel. Returns an empty string
             if the value is unknown or if there is no equalization
             data available or defined."
        ::= { docsIfSignalQualityEntry 7 }
--
-- CABLE MODEM GROUP
--

-- #######

--
-- The CM MAC Table
--

docsIfCmMacTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of each CM MAC interface,
             extending the information available from ifEntry."
        ::= { docsIfCmObjects 1 }

docsIfCmMacEntry OBJECT-TYPE
        SYNTAX      DocsIfCmMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry containing objects describing attributes of
             each MAC entry, extending the information in ifEntry.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmMacTable 1 }

DocsIfCmMacEntry ::= SEQUENCE {
            docsIfCmCmtsAddress           MacAddress,
            docsIfCmCapabilities          BITS,
            docsIfCmRangingRespTimeout    TimeTicks,
            docsIfCmRangingTimeout        TimeInterval 
        }

docsIfCmCmtsAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Identifies the CMTS that is believed to control this MAC
             domain. At the CM, this will be the source address from
             SYNC, MAP, and other MAC-layer messages. If the CMTS is
             unknown, returns 00-00-00-00-00-00."
        ::= { docsIfCmMacEntry 1 }

docsIfCmCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            atmCells(0),
            concatenation(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Identifies the capabilities of the MAC implementation
             at this interface. Note that packet transmission is
             always supported. Therefore, there is no specific bit
             required to explicitely indicate this capability."
        ::= { docsIfCmMacEntry 2 }

docsIfCmRangingRespTimeout OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Waiting time for a Ranging Response packet."
        REFERENCE
            "Data over Cable Radio Frequency Interface specification,
             Section 7, timer T3"
        DEFVAL { 20 }
        ::= { docsIfCmMacEntry 3 }

docsIfCmRangingTimeout OBJECT-TYPE
        SYNTAX      TimeInterval
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Waiting time for a Ranging Response packet."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Figure 7-6 and 7-7, timer T3."
        DEFVAL { 20 }
        ::= { docsIfCmMacEntry 4 }
--
-- CM status table.
-- This table is implemented only at the CM.
--

docsIfCmStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table maintains a number of status objects
             and counters for Cable Modems."
        ::= { docsIfCmObjects 2 }

docsIfCmStatusEntry OBJECT-TYPE
        SYNTAX      DocsIfCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of status objects and counters for a single MAC
             layer instance in a Cable Modem.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmStatusTable 1 }

DocsIfCmStatusEntry ::= SEQUENCE {
            docsIfCmStatusValue                     INTEGER,
            docsIfCmStatusCode                      OCTET STRING,
            docsIfCmStatusTxPower                   TenthdBmV,
            docsIfCmStatusResets                    Counter32,
            docsIfCmStatusLostSyncs                 Counter32,
            docsIfCmStatusInvalidMaps               Counter32,
            docsIfCmStatusInvalidUcds               Counter32,
            docsIfCmStatusInvalidRangingResp        Counter32,
            docsIfCmStatusInvalidRegistrationResp   Counter32,
            docsIfCmStatusT1Timeouts                Counter32,
            docsIfCmStatusT2Timeouts                Counter32,
            docsIfCmStatusT3Timeouts                Counter32,
            docsIfCmStatusT4Timeouts                Counter32,
            docsIfCmStatusRangingAborteds           Counter32
        }

docsIfCmStatusValue OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            notReady(2),
            notSynchronized(3),
            phySynchronized(4),
            usParametersAcquired(5),
            rangingComplete(6),
            ipComplete(7),
            todEstablished(8),
            securityEstablished(9),
            paramTransferComplete(10),
            registrationComplete(11),
            operational(12),
            accessDenied(13)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current Cable Modem connectivity state, as specified
             in the RF Interface Specification."
        REFERENCE
            "Data over Cable Radio Frequency Interface Specification,
             Chapter 7.2."
        ::= { docsIfCmStatusEntry 1 }

docsIfCmStatusCode OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Status code for this Cable Modem as defined in the
             RF Interface Specification. The status code consists
             of a single character indicating error groups, followed
             by a two- or three-digit number indicating the status
             condition."
        REFERENCE
            "Data over Cable Radio Frequency Interface Specification,
             Cable Modem status codes."
        ::= { docsIfCmStatusEntry 2 }

docsIfCmStatusTxPower OBJECT-TYPE
        SYNTAX      TenthdBmV
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The operational transmit power for the attached upstream
             channel."
        ::= { docsIfCmStatusEntry 3 }

docsIfCmStatusResets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM reset or initialized
             this interface."
        ::= { docsIfCmStatusEntry 4 }

docsIfCmStatusLostSyncs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM lost synchronization with
             the downstream channel."
        ::= { docsIfCmStatusEntry 5 }

docsIfCmStatusInvalidMaps OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid MAP messages."
        ::= { docsIfCmStatusEntry 6 }

docsIfCmStatusInvalidUcds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid UCD messages."
        ::= { docsIfCmStatusEntry 7 }

docsIfCmStatusInvalidRangingResp OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid ranging response
             messages."
        ::= { docsIfCmStatusEntry 8 }

docsIfCmStatusInvalidRegistrationResp OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the CM received invalid registration
             response messages."
        ::= { docsIfCmStatusEntry 9 }

docsIfCmStatusT1Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T1 expired in the CM."
        ::= { docsIfCmStatusEntry 10 }

docsIfCmStatusT2Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T2 expired in the CM."
        ::= { docsIfCmStatusEntry 11 }

docsIfCmStatusT3Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T3 expired in the CM."
        ::= { docsIfCmStatusEntry 12 }

docsIfCmStatusT4Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times counter T4 expired in the CM."
        ::= { docsIfCmStatusEntry 13 }

docsIfCmStatusRangingAborteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of times the ranging process was aborted
             by the CMTS."
        ::= { docsIfCmStatusEntry 14 }

--
-- The Cable Modem Service Table
--

docsIfCmServiceTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of each upstream service queue
             on a CM."
        ::= { docsIfCmObjects 3 }

docsIfCmServiceEntry OBJECT-TYPE
        SYNTAX      DocsIfCmServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of an upstream bandwidth service
             queue.
             An entry in this table exists for each Service ID.
             The primary index is an ifIndex with an ifType of
             docsCableMaclayer(127)."
        INDEX { ifIndex, docsIfCmServiceId }
        ::= { docsIfCmServiceTable 1 }

DocsIfCmServiceEntry ::= SEQUENCE {
            docsIfCmServiceId               Integer32,
            docsIfCmServiceQosProfile       Integer32,
            docsIfCmServiceTxSlotsImmed     Counter32,
            docsIfCmServiceTxSlotsDed       Counter32,
            docsIfCmServiceTxRetries        Counter32,
            docsIfCmServiceTxExceeded       Counter32,
            docsIfCmServiceRqRetries        Counter32,
            docsIfCmServiceRqExceeded       Counter32
        }

docsIfCmServiceId OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Identifies a service queue for upstream bandwidth. The
             attributes of this service queue are shared between the
             CM and the CMTS. The CMTS allocates upstream bandwidth
             to this service queue based on requests from the CM and
             on the class of service associated with this queue."
        ::= { docsIfCmServiceEntry 1 }

docsIfCmServiceQosProfile OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index in docsIfQosProfileTable describing the quality
             of service attributes associated with this particular
             service."
        ::= { docsIfCmServiceEntry 2 }

docsIfCmServiceTxSlotsImmed OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of upstream mini-slots which have been used to
             transmit data PDUs in immediate (contention) mode. This
             includes only those PDUs which are presumed to have
             arrived at the headend (i.e., those which were explicitly
             acknowledged.) It does not include retransmission attempts
             or mini-slots used by Requests."
        ::= { docsIfCmServiceEntry 3 }

docsIfCmServiceTxSlotsDed OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of upstream mini-slots which have been used to
             transmit data PDUs in dedicated mode (i.e., as a result
             of a unicast Data Grant)."
        ::= { docsIfCmServiceEntry 4 }



docsIfCmServiceTxRetries OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of attempts to transmit data PDUs containing
             requests for acknowledgment which did not result in
             acknowledgment."
        ::= { docsIfCmServiceEntry 5 }

docsIfCmServiceTxExceeded OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of data PDUs transmission failures due to
             excessive retries without acknowledgment."
        ::= { docsIfCmServiceEntry 6 }

docsIfCmServiceRqRetries OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of attempts to transmit bandwidth requests
             which did not result in acknowledgment."
        ::= { docsIfCmServiceEntry 7 }

docsIfCmServiceRqExceeded OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of requests for bandwidth which failed due to
             excessive retries without acknowledgment."
        ::= { docsIfCmServiceEntry 8 }

--
-- CMTS GROUP
--

--
-- The CMTS MAC Table
--

docsIfCmtsMacTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of each CMTS MAC interface,
             extending the information available from ifEntry.
             Mandatory for all CMTS devices."
        ::= { docsIfCmtsObjects 1 }

docsIfCmtsMacEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry containing objects describing attributes of each
             MAC entry, extending the information in ifEntry.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmtsMacTable 1 }

DocsIfCmtsMacEntry ::= SEQUENCE {
            docsIfCmtsCapabilities            BITS,
            docsIfCmtsSyncInterval            Integer32,
            docsIfCmtsUcdInterval             Integer32,
            docsIfCmtsMaxServiceIds           Integer32,
            docsIfCmtsInsertionInterval       TimeTicks,
            docsIfCmtsInvitedRangingAttempts  Integer32,
            docsIfCmtsInsertInterval          TimeInterval
        }

docsIfCmtsCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            atmCells(0),
            concatenation(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Identifies the capabilities of the CMTS MAC
             implementation at this interface. Note that packet
             transmission is always supported. Therefore, there
             is no specific bit required to explicitely indicate
             this capability."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Chapter 6."
        ::= { docsIfCmtsMacEntry 1 }

docsIfCmtsSyncInterval OBJECT-TYPE
        SYNTAX      Integer32 (1..200)
        UNITS       "Milliseconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The interval between CMTS transmission of successive SYNC
             messages at this interface.
             Data Over Cable Radio Frequency Interface Specification,
             Sync Interval."
	--CONFIGURABLE
        ::= { docsIfCmtsMacEntry 2 }

docsIfCmtsUcdInterval OBJECT-TYPE
        SYNTAX      Integer32 (1..2000)
        UNITS       "Milliseconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The interval between CMTS transmission of successive
             Upstream Channel Descriptor messages for each upstream
             channel at this interface.
             Data Over Cable Radio Frequency Interface Specification,
             UCD Interval."
	--CONFIGURABLE
        ::= { docsIfCmtsMacEntry 3 }

docsIfCmtsMaxServiceIds OBJECT-TYPE
        SYNTAX     Integer32 (1..16383)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The maximum number of service IDs that may be
             simultaneously active."
        ::= { docsIfCmtsMacEntry 4 }

docsIfCmtsInsertionInterval OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-write
        STATUS      obsolete
        DESCRIPTION
            "The amount of time to elapse between each broadcast
             station maintenance grant. Broadcast station maintenance
             grants are used to allow new cable modems to join the
             network. Zero indicates that a vendor-specific algorithm
             is used instead of a fixed time. Maximum amount of time
             permitted by the specification is 2 seconds.
             Data Over Cable Radio Frequency Interface Specification,
             Ranging Interval."
       ::= { docsIfCmtsMacEntry 5 }

docsIfCmtsInvitedRangingAttempts OBJECT-TYPE
        SYNTAX      Integer32 (0..1024)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The maximum number of attempts to make on invitations
             for ranging requests. A value of zero means the system
             should attempt to range forever."
	--CONFIGURABLE
        ::= { docsIfCmtsMacEntry 6 }

docsIfCmtsInsertInterval OBJECT-TYPE
        SYNTAX      TimeInterval
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The amount of time to elapse between each broadcast
             station maintenance grant. Broadcast station maintenance
             grants are used to allow new cable modems to join the
             network. Zero indicates that a vendor-specific algorithm
             is used instead of a fixed time. Maximum amount of time
             permitted by the specification is 2 seconds."
        REFERENCE
            "DOCSIS Radio Frequency Interface Specification,
             Appendix B."
       --CONFIGURABLE 
        ::= { docsIfCmtsMacEntry 7 }
--
-- CMTS status table.
--


docsIfCmtsStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "For the MAC layer, this group maintains a number of
             status objects and counters."
        ::= { docsIfCmtsObjects 2 }

docsIfCmtsStatusEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Status entry for a single MAC layer.
             An entry in this table exists for each ifEntry with an
             ifType of docsCableMaclayer(127)."
        INDEX { ifIndex }
        ::= { docsIfCmtsStatusTable 1 }

DocsIfCmtsStatusEntry ::= SEQUENCE {
            docsIfCmtsStatusInvalidRangeReqs        Counter32,
            docsIfCmtsStatusRangingAborteds         Counter32,
            docsIfCmtsStatusInvalidRegReqs          Counter32,
            docsIfCmtsStatusFailedRegReqs           Counter32,
            docsIfCmtsStatusInvalidDataReqs         Counter32,
            docsIfCmtsStatusT5Timeouts              Counter32
        }

docsIfCmtsStatusInvalidRangeReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts invalid RNG-REQ messages received on
             this interface."
        ::= { docsIfCmtsStatusEntry 1 }

docsIfCmtsStatusRangingAborteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts ranging attempts that were explicitely
             aborted by the CMTS."
        ::= { docsIfCmtsStatusEntry 2 }

docsIfCmtsStatusInvalidRegReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts invalid REG-REQ messages received on
             this interface."
        ::= { docsIfCmtsStatusEntry 3 }

docsIfCmtsStatusFailedRegReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts failed registration attempts, i.e.,
             authentication failures and class of service failures,
             on this interface."
        ::= { docsIfCmtsStatusEntry 4 }

docsIfCmtsStatusInvalidDataReqs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts invalid data request messages
             received on this interface."
        ::= { docsIfCmtsStatusEntry 5 }

docsIfCmtsStatusT5Timeouts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object counts the number of times counter T5
             expired on this interface."
        ::= { docsIfCmtsStatusEntry 6 }

--
-- CM status table (within CMTS).
-- This table is implemented only at the CMTS.
-- It contains per CM status information available in the CMTS.
--

docsIfCmtsCmStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of objects in the CMTS, maintained for each
             Cable Modem connected to this CMTS."
        ::= { docsIfCmtsObjects 3 }

docsIfCmtsCmStatusEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsCmStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Status information for a single Cable Modem.
             An entry in this table exists for each Cable Modem
             that is connected to the CMTS implementing this table."
        INDEX { docsIfCmtsCmStatusIndex }
        ::= { docsIfCmtsCmStatusTable 1 }

DocsIfCmtsCmStatusEntry ::= SEQUENCE {
            docsIfCmtsCmStatusIndex               Integer32,
            docsIfCmtsCmStatusMacAddress          MacAddress,
            docsIfCmtsCmStatusIpAddress           IpAddress,
            docsIfCmtsCmStatusDownChannelIfIndex  InterfaceIndexOrZero,
            docsIfCmtsCmStatusUpChannelIfIndex    InterfaceIndexOrZero,
            docsIfCmtsCmStatusRxPower             TenthdBmV,
            docsIfCmtsCmStatusTimingOffset        Unsigned32,
            docsIfCmtsCmStatusEqualizationData    OCTET STRING,
            docsIfCmtsCmStatusValue               INTEGER,
            docsIfCmtsCmStatusUnerroreds          Counter32,
            docsIfCmtsCmStatusCorrecteds          Counter32,
            docsIfCmtsCmStatusUncorrectables      Counter32,
            docsIfCmtsCmStatusSignalNoise         TenthdB,
            docsIfCmtsCmStatusMicroreflections    Integer32
         }

docsIfCmtsCmStatusIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { docsIfCmtsCmStatusEntry 1 }

docsIfCmtsCmStatusMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        ::= { docsIfCmtsCmStatusEntry 2 }

docsIfCmtsCmStatusIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of this Cable Modem. If the Cable Modem has no
             IP address assigned, or the IP address is unknown, this
             object returns a value of 0.0.0.0. If the Cable Modem has
             multiple IP addresses, this object returns the IP address
             associated with the Cable interface."
        ::= { docsIfCmtsCmStatusEntry 3 }

docsIfCmtsCmStatusDownChannelIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IfIndex of the downstream channel this CM is connected
             to. If the downstream channel is unknown, this object
             returns a value of zero."
        ::= { docsIfCmtsCmStatusEntry 4 }

docsIfCmtsCmStatusUpChannelIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IfIndex of the upstream channel this CM is connected
             to. If the upstream channel is unknown, this object
             returns a value of zero."
        ::= { docsIfCmtsCmStatusEntry 5 }

docsIfCmtsCmStatusRxPower OBJECT-TYPE
        SYNTAX      TenthdBmV
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The receive power as percieved for upstream data from
             this Cable Modem.
             If the receive power is unknown, this object returns
             a value of zero."
        ::= { docsIfCmtsCmStatusEntry 6 }

docsIfCmtsCmStatusTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "A measure of the current round trip time for this CM.
             Used for timing of CM upstream transmissions to ensure
             synchronized arrivals at the CMTS. Units are in terms
             of (6.25 microseconds/64). Returns zero if the value
             is unknown."
        ::= { docsIfCmtsCmStatusEntry 7 }

docsIfCmtsCmStatusEqualizationData OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Equalization data for this CM. Returns an empty string
             if the value is unknown or if there is no equalization
             data available or defined."
        REFERENCE
            "Data over Cable Radio Frequency Interface Specification,
             Figure 6-22."
        ::= { docsIfCmtsCmStatusEntry 8 }

docsIfCmtsCmStatusValue OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            ranging(2),
            rangingAborted(3),
            rangingComplete(4),
            ipComplete(5),
            registrationComplete(6),
            accessDenied(7)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Current Cable Modem connectivity state, as specified
             in the RF Interface Specification. Returned status
             information is the CM status as assumed by the CMTS,
             and indicates the following events:
             other(1)
                Any state other than below.
             ranging(2)
                The CMTS has received an Initial Ranging Request
                message from the CM, and the ranging process is not
                yet complete.
             rangingAborted(3)
                The CMTS has sent a Ranging Abort message to the CM.
             rangingComplete(4)
                The CMTS has sent a Ranging Complete message to the CM.
             ipComplete(5)
                The CMTS has received a DHCP reply message and forwarded
                it to the CM.
             registrationComplete(6)
                The CMTS has sent a Registration Response mesage to
                the CM.
             accessDenied(7)
                The CMTS has sent a Registration Aborted message
                to the CM.
             The CMTS only needs to report states it is able to detect."
        REFERENCE
            "Data over Cable Radio Frequency Interface Specification,
             Chapter 7.2."
        ::= { docsIfCmtsCmStatusEntry 9 }

docsIfCmtsCmStatusUnerroreds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received without error from this Cable Modem."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3"
        ::= { docsIfCmtsCmStatusEntry 10 }

docsIfCmtsCmStatusCorrecteds OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with correctable errors from this
             Cable Modem."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3"
        ::= { docsIfCmtsCmStatusEntry 11 }

docsIfCmtsCmStatusUncorrectables OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Codewords received with uncorrectable errors from this
             Cable Modem."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Section 4.2.3"
        ::= { docsIfCmtsCmStatusEntry 12 }

docsIfCmtsCmStatusSignalNoise OBJECT-TYPE
        SYNTAX      TenthdB
        UNITS       "dB"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Signal/Noise ratio as perceived for upstream data from
             this Cable Modem.
             If the Signal/Noise is unknown, this object returns
             a value of zero."
        ::= { docsIfCmtsCmStatusEntry 13 }

docsIfCmtsCmStatusMicroreflections OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        UNITS       "dBc"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Total microreflections including in-channel response
             as perceived on this interface, measured in dBc below
             the signal level.
             This object is not assumed to return an absolutely
             accurate value, but should give a rough indication
             of microreflections received on this interface.
             It is up to the implementor to provide information
             as accurate as possible."
        REFERENCE
            "DOCSIS Radio Frequency Interface specification,
             Table 2-1 and 2-2"
        ::= { docsIfCmtsCmStatusEntry 14 }
--
-- The CMTS Service Table.
--

docsIfCmtsServiceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of upstream service queues
             in a Cable Modem Termination System."
        ::= { docsIfCmtsObjects 4 }

docsIfCmtsServiceEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsServiceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes of a single upstream bandwidth
             service queue.
             Entries in this table exist for each ifEntry with an
             ifType of docsCableMaclayer(127), and for each service
             queue (Service ID) within this MAC layer.
             Entries in this table are created with the creation of
             individual Service IDs by the MAC layer and removed
             when a Service ID is removed."
        INDEX { ifIndex, docsIfCmtsServiceId }
        ::= { docsIfCmtsServiceTable 1 }

DocsIfCmtsServiceEntry ::= SEQUENCE {
            docsIfCmtsServiceId               Integer32,
            docsIfCmtsServiceCmStatusIndex    Integer32,
            docsIfCmtsServiceAdminStatus      INTEGER,
            docsIfCmtsServiceQosProfile       Integer32,
            docsIfCmtsServiceCreateTime       TimeStamp,
            docsIfCmtsServiceInOctets         Counter32,
            docsIfCmtsServiceInPackets        Counter32
        }

docsIfCmtsServiceId OBJECT-TYPE
        SYNTAX      Integer32 (1..16383)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Identifies a service queue for upstream bandwidth. The
             attributes of this service queue are shared between the
             Cable Modem and the Cable Modem Termination System.
             The CMTS allocates upstream bandwidth to this service
             queue based on requests from the CM and on the class of
             service associated with this queue."
        ::= { docsIfCmtsServiceEntry 1 }

docsIfCmtsServiceCmStatusIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Pointer to an entry in docsIfCmtsCmStatusTable identifying
             the Cable Modem using this Service Queue. If multiple
             Cable Modems are using this Service Queue, the value of
             this object is zero."
        ::= { docsIfCmtsServiceEntry 2 }

docsIfCmtsServiceAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
            enabled(1),
            disabled(2),
            destroyed(3) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Allows a service class for a particular modem to be
             suppressed, (re-)enabled, or deleted altogether."
        ::= { docsIfCmtsServiceEntry 3 }

docsIfCmtsServiceQosProfile OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The index in docsIfQosProfileTable describing the quality
             of service attributes associated with this particular
             service."
        ::= { docsIfCmtsServiceEntry 4 }

docsIfCmtsServiceCreateTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime when this entry was created."
        ::= { docsIfCmtsServiceEntry 5 }

docsIfCmtsServiceInOctets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The cumulative number of Packet Data octets received
             on this Service ID. The count does not include the
             size of the Cable MAC header"
        ::= { docsIfCmtsServiceEntry 6 }

docsIfCmtsServiceInPackets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The cumulative number of Packet Data packets received
             on this Service ID."
        ::= { docsIfCmtsServiceEntry 7 }

--
-- The following table provides upstream channel modulation profiles.
-- Entries in this table can be
-- re-used by one or more upstream channels. An upstream channel will
-- have a modulation profile
-- for each value of docsIfModIntervalUsageCode.
--

docsIfCmtsModulationTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsModulationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a modulation profile associated with one or more
             upstream channels."
        ::= { docsIfCmtsObjects 5 }

docsIfCmtsModulationEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsModulationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a modulation profile for an Interval Usage Code
             for one or more upstream channels.
             Entries in this table are created by the operator. Initial
             default entries may be created at system initialization
             time. No individual objects have to be specified in order
             to create an entry in this table."
        INDEX { docsIfCmtsModIndex, docsIfCmtsModIntervalUsageCode }
        ::= { docsIfCmtsModulationTable 1 }

DocsIfCmtsModulationEntry ::= SEQUENCE {
            docsIfCmtsModIndex                    Integer32,
            docsIfCmtsModIntervalUsageCode        INTEGER,
            docsIfCmtsModControl                  RowStatus,
            docsIfCmtsModType                     INTEGER,
            docsIfCmtsModPreambleLen              Integer32,
            docsIfCmtsModDifferentialEncoding     TruthValue,
            docsIfCmtsModFECErrorCorrection       Integer32,
            docsIfCmtsModFECCodewordLength        Integer32,
            docsIfCmtsModScramblerSeed            Integer32,
            docsIfCmtsModMaxBurstSize             Integer32,
            docsIfCmtsModGuardTimeSize            Unsigned32,
            docsIfCmtsModLastCodewordShortened    TruthValue,
            docsIfCmtsModScrambler                TruthValue
        }

docsIfCmtsModIndex OBJECT-TYPE
        SYNTAX       Integer32 (1..2147483647)
        MAX-ACCESS   not-accessible
        STATUS      current
        DESCRIPTION
             "An index into the Channel Modulation table representing
              a group of Interval Usage Codes, all associated with the
              same channel."
        ::= { docsIfCmtsModulationEntry 1 }

docsIfCmtsModIntervalUsageCode OBJECT-TYPE
        SYNTAX       INTEGER {
            request(1),
            requestData(2),
            initialRanging(3),
            periodicRanging(4),
            shortData(5),
            longData(6)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An index into the Channel Modulation table which, when
             grouped with other Interval Usage Codes, fully
             instantiate all modulation sets for a given upstream
             channel."
        ::= { docsIfCmtsModulationEntry 2 }

docsIfCmtsModControl OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table."
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 3 }

docsIfCmtsModType OBJECT-TYPE
        SYNTAX      INTEGER {
            other(1),
            qpsk(2),
            qam16(3)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The modulation type used on this channel."
        DEFVAL { qpsk }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 4 }

docsIfCmtsModPreambleLen OBJECT-TYPE
        SYNTAX      Integer32 (0..1024)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The preamble length for this modulation profile in bits.
             Default value is the minimum needed by the implementation
             at the CMTS for the given modulation profile."
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 5 }

docsIfCmtsModDifferentialEncoding OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies whether or not differential encoding is used
             on this channel."
        DEFVAL { false }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 6 }

docsIfCmtsModFECErrorCorrection OBJECT-TYPE
        SYNTAX      Integer32 (0..10)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The number of correctable errored bytes (t) used in
             forward error correction code. The value of 0 indicates
             no correction is employed. The number of check bytes
             appended will be twice this value."
        DEFVAL { 0 }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 7 }

docsIfCmtsModFECCodewordLength OBJECT-TYPE
        SYNTAX      Integer32 (1..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The number of data bytes (k) in the forward error
             correction codeword.
             This object is not used if docsIfCmtsModFECErrorCorrection
             is zero."
        DEFVAL { 32 }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 8 }

docsIfCmtsModScramblerSeed OBJECT-TYPE
        SYNTAX      Integer32 (0..32767)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The 15 bit seed value for the scrambler polynomial."
        DEFVAL { 0 }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 9 }

docsIfCmtsModMaxBurstSize OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The maximum number of mini-slots that can be transmitted
             during this channel's burst time. Returns zero if the
             burst length is bounded by the allocation MAP rather than
             this profile.
             Default value is 0 except for shortData, where it is 8."
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 10 }

docsIfCmtsModGuardTimeSize OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of symbol-times which must follow the end of
             this channel's burst. Default value is the minimum time
             needed by the implementation for this modulation profile."
        ::= { docsIfCmtsModulationEntry 11 }

docsIfCmtsModLastCodewordShortened OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates if the last FEC codeword is truncated."
        DEFVAL { true }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 12 }

docsIfCmtsModScrambler OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates if the scrambler is employed."
        DEFVAL { false }
	--CONFIGURABLE
        ::= { docsIfCmtsModulationEntry 13 }


docsIfCmtsQosProfilePermissions OBJECT-TYPE
        SYNTAX      BITS {
            createByManagement(0),
            updateByManagement(1),
            createByModems(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object specifies permitted methods of creating
             entries in docsIfQosProfileTable.
             CreateByManagement(0) is set if entries can be created
             using SNMP. UpdateByManagement(1) is set if updating
             entries using SNMP is permitted. CreateByModems(2)
             is set if entries can be created based on information
             in REG-REQ MAC messages received from Cable Modems.
             Information in this object is only applicable if
             docsIfQosProfileTable is implemented as read-create.
             Otherwise, this object is implemented as read-only
             and returns CreateByModems(2).
             Either CreateByManagement(0) or CreateByModems(1)
             must be set when writing to this object. createByManagement(0),
            updateByManagement(1), createByModems(2)"
        ::= { docsIfCmtsObjects 6 }

docsIfCmtsMacToCmTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsIfCmtsMacToCmEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This is a table to provide a quick access index into the
             docsIfCmtsCmStatusTable. There is exactly one row in this
             table for each row in the docsIfCmtsCmStatusTable. In
             general, the management station should use this table only
             to get a pointer into the docsIfCmtsCmStatusTable (which
             corresponds to the CM's RF interface MAC address), and
             should not iterate (e.g. GetNext through) this table."
    ::= { docsIfCmtsObjects 7 }

docsIfCmtsMacToCmEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsMacToCmEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A row in the docsIfCmtsMacToCmTable.
             An entry in this table exists for each Cable Modem
             that is connected to the CMTS implementing this table."
        INDEX   { docsIfCmtsCmMac }
        ::= {docsIfCmtsMacToCmTable 1 }

DocsIfCmtsMacToCmEntry ::= SEQUENCE {
                docsIfCmtsCmMac     MacAddress,
                docsIfCmtsCmPtr     Integer32
        }

docsIfCmtsCmMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The RF side MAC address for the referenced CM. (E.g. the
             interface on the CM that has docsCableMacLayer(127) as
             its ifType."
    ::= { docsIfCmtsMacToCmEntry 1 }

docsIfCmtsCmPtr OBJECT-TYPE
        SYNTAX      Integer32 (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "An row index into docsIfCmtsCmStatusTable. When queried
             with the correct instance value (e.g. a CM's MAC address),
             returns the index in docsIfCmtsCmStatusTable which
             represents that CM."
    ::= { docsIfCmtsMacToCmEntry 2 }

--
-- notification group is for future extension.
--
docsIfNotification OBJECT IDENTIFIER     ::= { docsIfMib 2 }

docsIfConformance  OBJECT IDENTIFIER     ::= { docsIfMib 3 }
docsIfCompliances  OBJECT IDENTIFIER     ::= { docsIfConformance 1 }
docsIfGroups       OBJECT IDENTIFIER     ::= { docsIfConformance 2 }

-- compliance statements

docsIfBasicCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION
            "The compliance statement for devices that implement MCNS
             compliant Radio Frequency Interfaces."

MODULE  -- docsIfMib

-- unconditionally mandatory groups
MANDATORY-GROUPS {
        docsIfBasicGroup
        }

-- conditionally mandatory group
GROUP docsIfCmGroup
        DESCRIPTION
            "This group is implemented only in Cable Modems, not in
             Cable Modem Termination Systems."

-- conditionally mandatory group
GROUP docsIfCmtsGroup
        DESCRIPTION
            "This group is implemented only in Cable Modem Termination
             Systems, not in Cable Modems."

OBJECT  docsIfDownChannelFrequency
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfDownChannelWidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is conformant to implement this object as read-only.
             In Cable Modems, this object is always implemented as
             read-only."

OBJECT  docsIfDownChannelModulation
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfDownChannelInterleave
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfDownChannelPower
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelFrequency
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelWidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelModulationProfile
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelSlotSize
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfUpChannelRangingBackoffStart
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelRangingBackoffEnd
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelTxBackoffStart
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfUpChannelTxBackoffEnd
        MIN-ACCESS  read-only
        DESCRIPTION
            "Read-write in Cable Modem Termination Systems;
             read-only in Cable Modems."

OBJECT  docsIfQosProfPriority
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfMaxUpBandwidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfGuarUpBandwidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfMaxDownBandwidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfMaxTxBurst
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfQosProfBaselinePrivacy
        MIN-ACCESS  read-only
        DESCRIPTION
            "This object is always read-only in Cable Modems.
             It is compliant to implement this object as read-only
             in Cable Modem Termination Systems."

OBJECT  docsIfCmtsServiceAdminStatus
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsSyncInterval
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsUcdInterval
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsInsertionInterval
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsInvitedRangingAttempts
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

OBJECT  docsIfCmtsQosProfilePermissions
        MIN-ACCESS  read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only."

        ::= { docsIfCompliances 1 }

docsIfBasicGroup OBJECT-GROUP
        OBJECTS {
            docsIfDownChannelId,
            docsIfDownChannelFrequency,
            docsIfDownChannelWidth,
            docsIfDownChannelModulation,
            docsIfDownChannelInterleave,
            docsIfDownChannelPower,
            docsIfUpChannelId,
            docsIfUpChannelFrequency,
            docsIfUpChannelWidth,
            docsIfUpChannelModulationProfile,
            docsIfUpChannelSlotSize,
            docsIfUpChannelTxTimingOffset,
            docsIfUpChannelRangingBackoffStart,
            docsIfUpChannelRangingBackoffEnd,
            docsIfUpChannelTxBackoffStart,
            docsIfUpChannelTxBackoffEnd,
            docsIfQosProfPriority,
            docsIfQosProfMaxUpBandwidth,
            docsIfQosProfGuarUpBandwidth,
            docsIfQosProfMaxDownBandwidth,
            docsIfQosProfMaxTxBurst,
            docsIfQosProfBaselinePrivacy,
            docsIfQosProfStatus,
            docsIfSigQIncludesContention,
            docsIfSigQUnerroreds,
            docsIfSigQCorrecteds,
            docsIfSigQUncorrectables,
            docsIfSigQSignalNoise,
            docsIfSigQMicroreflections
        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in both Cable Modems and
             Cable Modem Termination Systems."
        ::= { docsIfGroups 1 }

docsIfCmGroup OBJECT-GROUP
        OBJECTS {
            docsIfCmCmtsAddress,
            docsIfCmCapabilities,
            docsIfCmRangingRespTimeout,
            docsIfCmRangingTimeout,
            docsIfCmStatusValue,
            docsIfCmStatusCode,
            docsIfCmStatusTxPower,
            docsIfCmStatusResets,
            docsIfCmStatusLostSyncs,
            docsIfCmStatusInvalidMaps,
            docsIfCmStatusInvalidUcds,
            docsIfCmStatusInvalidRangingResp,
            docsIfCmStatusInvalidRegistrationResp,
            docsIfCmStatusT1Timeouts,
            docsIfCmStatusT2Timeouts,
            docsIfCmStatusT3Timeouts,
            docsIfCmStatusT4Timeouts,
            docsIfCmStatusRangingAborteds,
            docsIfCmServiceQosProfile,
            docsIfCmServiceTxSlotsImmed,
            docsIfCmServiceTxSlotsDed,
            docsIfCmServiceTxRetries,
            docsIfCmServiceTxExceeded,
            docsIfCmServiceRqRetries,
            docsIfCmServiceRqExceeded
        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in Cable Modems."
        ::= { docsIfGroups 2 }

docsIfCmtsGroup OBJECT-GROUP
        OBJECTS {
            docsIfCmtsCapabilities,
            docsIfCmtsSyncInterval,
            docsIfCmtsUcdInterval,
            docsIfCmtsMaxServiceIds,
            docsIfCmtsInsertionInterval,
            docsIfCmtsInvitedRangingAttempts,
            docsIfCmtsInsertInterval,
            docsIfCmtsStatusInvalidRangeReqs,
            docsIfCmtsStatusRangingAborteds,
            docsIfCmtsStatusInvalidRegReqs,
            docsIfCmtsStatusFailedRegReqs,
            docsIfCmtsStatusInvalidDataReqs,
            docsIfCmtsStatusT5Timeouts,
            docsIfCmtsCmStatusMacAddress,
            docsIfCmtsCmStatusIpAddress,
            docsIfCmtsCmStatusDownChannelIfIndex,
            docsIfCmtsCmStatusUpChannelIfIndex,
            docsIfCmtsCmStatusRxPower,
            docsIfCmtsCmStatusTimingOffset,
            docsIfCmtsCmStatusEqualizationData,
            docsIfCmtsCmStatusValue,
            docsIfCmtsCmStatusUnerroreds, 
            docsIfCmtsCmStatusCorrecteds, 
            docsIfCmtsCmStatusUncorrectables,
            docsIfCmtsCmStatusSignalNoise, 
            docsIfCmtsCmStatusMicroreflections,
            docsIfCmtsServiceCmStatusIndex,
            docsIfCmtsServiceAdminStatus,
            docsIfCmtsServiceQosProfile,
            docsIfCmtsServiceCreateTime,
            docsIfCmtsServiceInOctets,
            docsIfCmtsServiceInPackets,
            docsIfCmtsModType,
            docsIfCmtsModControl,
            docsIfCmtsModPreambleLen,
            docsIfCmtsModDifferentialEncoding,
            docsIfCmtsModFECErrorCorrection,
            docsIfCmtsModFECCodewordLength,
            docsIfCmtsModScramblerSeed,
            docsIfCmtsModMaxBurstSize,
            docsIfCmtsModGuardTimeSize,
            docsIfCmtsModLastCodewordShortened,
            docsIfCmtsModScrambler,
            docsIfCmtsQosProfilePermissions
        }
        STATUS      current
        DESCRIPTION
            "Group of objects implemented in Cable Modem Termination
             Systems."
        ::= { docsIfGroups 3 }
END

DOCS-CABLE-DEVICE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        -- BITS,
        IpAddress,
        Unsigned32,
        Counter32,
        experimental
                FROM SNMPv2-SMI
        DisplayString,
        RowStatus,
        DateAndTime,
        TruthValue
                FROM SNMPv2-TC
        OBJECT-GROUP,
        MODULE-COMPLIANCE
                FROM SNMPv2-CONF
        InterfaceIndexOrZero
                FROM USR-DEFINITIONS-MIB;


docsDev MODULE-IDENTITY
        LAST-UPDATED    "9803031546Z" -- Mar 03, 1998
        ORGANIZATION    "IETF IPCDN Working Group"
        CONTACT-INFO
            "        Guenter Roeck
             Postal: cisco Systems
                     170 West Tasman Drive
                     San Jose, CA 95134
                     U.S.A.
             Phone:  +1 408 527 3143
             E-mail: groeck@cisco.com"
        DESCRIPTION
            "This is the MIB Module for MCNS-compliant cable modems and
             cable-modem termination systems."
        ::= { experimental 83}
-- Editor's note: This is not a valid assignment. Final value is TBD.

docsDevMIBObjects  OBJECT IDENTIFIER ::= { docsDev 1 }
docsDevBase OBJECT IDENTIFIER ::= { docsDevMIBObjects 1 }

--
-- For the following object, there is no concept in the
-- RFI specification corresponding to a backup CMTS. The
-- enumeration is provided here in case someone is able
-- to define such a role or device.
--

docsDevRole OBJECT-TYPE
        SYNTAX INTEGER {
            cm(1),
            cmtsActive(2),
            cmtsBackup(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Defines the current role of this device."
        ::= { docsDevBase 1 }

docsDevDateTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The date and time, with optional timezone information."
        ::= { docsDevBase 2 }

docsDevResetNow OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Setting this object to true(1) causes the device to reset.
             Reading this object always returns false(2)."
        ::= { docsDevBase 3 }

docsDevSerialNumber OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The manufacturer's serial number for this device."
        ::= { docsDevBase 4 }

docsDevSTPControl OBJECT-TYPE
        SYNTAX INTEGER {
            stEnabled(1),
            noStFilterBpdu(2),
            noStPassBpdu(3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object controls operation of the spanning tree
             protocol (as distinguished from transparent bridging).
             If set to stEnabled(1) then the spanning tree protocol
             is enabled, subject to bridging constraints. If
             noStFilterBpdu(2), then spanning tree is not active,
             and Bridge PDUs received are discarded.
             If noStPassBpdu(3) then spanning tree is not active
             and Bridge PDUs are transparently forwarded. Note that
             a device need not implement all of these options,
             but that noStFilterBpdu(2) is required."
        ::= { docsDevBase 5 }

--
-- The following table provides one level of security for access
-- to the device by network management stations.
-- Note that access is also constrained by the
-- community strings and any vendor-specific security.
--

docsDevNmAccessTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsDevNmAccessEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table controls access to SNMP objects by network
             management stations. If the table is empty, access
             to SNMP objects is unrestricted."
        ::= { docsDevMIBObjects 2 }

docsDevNmAccessEntry OBJECT-TYPE
        SYNTAX      DocsDevNmAccessEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Controls access to SNMP objects by a particular network
             management station. For each entry in this table, the
             contents are not readable unless the management station
             has read-write permission."
        INDEX { docsDevNmAccessIndex  }
        ::= {  docsDevNmAccessTable 1 }

DocsDevNmAccessEntry ::= SEQUENCE {
            docsDevNmAccessIndex         INTEGER,
            docsDevNmAccessIp            IpAddress,
            docsDevNmAccessIpMask        IpAddress,
            docsDevNmAccessCommunity     DisplayString,
            docsDevNmAccessControl       INTEGER,
            docsDevNmAccessInterfaces    OCTET STRING,
            docsDevNmAccessStatus        RowStatus
        }

docsDevNmAccessIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index used to order the application of access entries."
        ::= { docsDevNmAccessEntry 1 }

docsDevNmAccessIp OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The IP address (or subnet) of the network management
             station. The address 255.255.255.255 is defined to mean
             any NMS. If traps are enabled for this entry, then the
             value must be the address of a specific device."
        DEFVAL { 'ffffffff'h }
        ::= { docsDevNmAccessEntry 2 }

docsDevNmAccessIpMask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The IP subnet mask of the network management stations.
             If traps are enabled for this entry, then the value must
             be 255.255.255.255."
        DEFVAL { 'ffffffff'h }
        ::= { docsDevNmAccessEntry 3 }

docsDevNmAccessCommunity OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The community string to be matched for access by this
             entry. If set to the null string then any community string
             will match."
        DEFVAL { "public" }
        ::= { docsDevNmAccessEntry 4 }

docsDevNmAccessControl OBJECT-TYPE
        SYNTAX         INTEGER {
            none(1),
            read(2),
            readWrite(3),
            roWithTraps(4),
            rwWithTraps(5),
            trapsOnly(6)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the type of access allowed to this NMS. Setting
             this object to none(1) causes the table entry to be
             destroyed. Read(2) allows access by 'get' and 'get-next'
             PDUs. ReadWrite(3) allows access by 'set' as well.
             RoWithtraps(4), rwWithTraps(5), and trapsOnly(6)
             control distribution of Trap PDUs transmitted by this
             device."
        DEFVAL { read }
        ::= { docsDevNmAccessEntry 5 }

-- The syntax of the following object was copied from RFC1493,
-- dot1dStaticAllowedToGoTo.

docsDevNmAccessInterfaces OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the set of interfaces from which requests from
             this NMS will be accepted.
             Each octet within the value of this object specifies a set
             of eight interfaces, with the first octet specifying ports
             1 through 8, the second octet specifying interfaces 9
             through 16, etc.  Within each octet, the most significant
             bit represents the lowest numbered interface, and the least
             significant bit represents the highest numbered interface.
             Thus, each interface is represented by a single bit within
             the value of this object. If that bit has a value of '1'
             then that interface is included in the set.

             Note that entries in this table apply only to link-layer
             interfaces (e.g., Ethernet and CATV MAC). Upstream and
             downstream channel interfaces must not be specified."
--         DEFVAL is the bitmask corresponding to all interfaces
        ::= { docsDevNmAccessEntry 6 }
docsDevNmAccessStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table."
        ::= { docsDevNmAccessEntry 7 }

--
--  Procedures for using the following group are described in section
--  3.2.1
--

-- docsDevSoftware OBJECT IDENTIFIER ::= { docsDevMIBObjects 3 }

-- docsDevSwServer OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "The address of the TFTP server used for software upgrades."
--         ::= { docsDevSoftware 1 }
-- 
-- docsDevSwFilename OBJECT-TYPE
--         SYNTAX      DisplayString (SIZE (0..32))
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "The file name of the software image to be loaded into this
--              device. Unless set via SNMP, this is the file name
--              specified by the provisioning server that corresponds to
--              the software version that is desired for this device.
--              If unknown, the string '(unknown)' is returned."
--         ::= { docsDevSoftware 2 }
-- 
-- docsDevSwAdminStatus OBJECT-TYPE
--         SYNTAX INTEGER {
--             upgradeFromMgt(1),
--             allowProvisioningUpgrade(2),
--             ignoreProvisioningUpgrade(3)
--         }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "If set to upgradeFromMgt(1), the device will initiate a
--              TFTP software image download using docsDevSwFilename.
--              After successfully receiving an image, the device will
--              set its state to ignoreProvisioningUpgrade(3) and reboot.
--              If the download process is interrupted by a reset or
--              power failure, the device will load the previous image
--              and, after re-initialization, continue to attempt loading
--              the image specified in docsDevSwFilename.
--              If set to allowProvisioningUpgrade(2), the device will
--              use the software version information supplied by the
--              provisioning server when next rebooting (this does not
--              cause a reboot).
-- 
--              When set to ignoreProvisioningUpgrade(3), the device
--              will disregard software image upgrade information from the
--              provisioning server.
-- 
--              Note that reading this object can return upgradeFromMgt(1).
--              This indicates that a software download is currently in
--              progress, and that the device will reboot after
--              successfully receiving an image."
--         ::= { docsDevSoftware 3 }
-- 
-- docsDevSwOperStatus OBJECT-TYPE
--         SYNTAX INTEGER {
--             inProgress(1),
--             completeFromProvisioning(2),
--             completeFromMgt(3),
--             failed(4),
--             other(5)
--         }
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "InProgress(1) indicates that a TFTP download is underway,
--              either as a result of a version mismatch at provisioning
--              or as a result of a upgradeFromMgt request.
--              CompleteFromProvisioning(2) indicates that the last
--              software upgrade was a result of version mismatch at
--              provisioning. CompleteFromMgt(3) indicates that the last
--              software upgrade was a result of setting
--              docsDevSwAdminStatus to upgradeFromMgt.
--              Failed(4) indicates that the last attempted download
--              failed, ordinarily due to TFTP timeout."
--         ::= { docsDevSoftware 4 }
-- 

--
-- The following group describes server access and parameters used for
-- initial provisioning and bootstrapping.
--

-- docsDevServer OBJECT IDENTIFIER ::= { docsDevMIBObjects 4 }

-- docsDevServerBootState OBJECT-TYPE
--         SYNTAX INTEGER {
--             operational(1),
--             disabled(2),
--             waitingForDhcpOffer(3),
--             waitingForDhcpResponse(4),
--             waitingForTimeServer(5),
--             waitingForTftp(6),
--             refusedByCmts(7),
--             forwardingDenied(8),
--             other(9),
--             unknown(10)
--         }
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "If operational(1), the device has completed loading and
--              processing of configuration parameters and the CMTS has
--              completed the Registration exchange.
--              If disabled(2) then the device was administratively
--              disabled, possibly by being refused network access in the
--              configuration file.
--              If waitingForDhcpOffer(3) then a DHCP Discover has been
--              transmitted and no offer has yet been received.
--              If waitingForDhcpResponse(4) then a DHCP Request has been
--              transmitted and no response has yet been received.
--              If waitingForTimeServer(5) then a Time Request has been
--              transmitted and no response has yet been received.
--              If waitingForTftp(6) then a request to the TFTP parameter
--              server has been made and no response received.
--              If refusedByCmts(7) then the Registration Request/Response
--              exchange with the CMTS failed.
--              If forwardingDenied(8) then the registration process
--              completed, but the network access option in the received
--              configuration file prohibits forwarding. "
--         ::= { docsDevServer 1 }

-- docsDevServerDhcp OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "The IP address of the DHCP server that assigned an IP
--              address to this device. Returns 0.0.0.0 if DHCP was not
--              used for IP address assignment."
--         ::= { docsDevServer 2 }
-- 
-- docsDevServerTime OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "The IP address of the Time server (RFC-868)."
--         ::= { docsDevServer 3 }
-- 
-- docsDevServerTftp OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "The IP address of the TFTP server responsible for
--              downloading provisioning and configuration parameters
--              to this device."
--         ::= { docsDevServer 4 }

-- docsDevServerConfigFile OBJECT-TYPE
--         SYNTAX      DisplayString
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "The name of the device configuration file read from the
--              TFTP server."
--         ::= { docsDevServer 5 }

--
--  Event Reporting
--

docsDevEvent OBJECT IDENTIFIER ::= { docsDevMIBObjects 5 }
-- 
-- docsDevEvControl OBJECT-TYPE
--         SYNTAX INTEGER {
--             resetLog(1),
--             useDefaultReporting(2)
--         }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "Setting this object to resetLog(1) empties the event log.
--              All data is deleted. Setting it to useDefaultReporting(2)
--              returns all event priorities to their factory-default
--              reporting. Reading this object always returns
--              useDefaultReporting(2)."
--         ::= { docsDevEvent 1 }
-- 
-- docsDevEvSyslog OBJECT-TYPE
--         SYNTAX      IpAddress
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "The IP address of the Syslog server. If 0.0.0.0, syslog
--              transmission is inhibited."
--         ::= { docsDevEvent 2 }
-- 
-- docsDevEvThrottleAdminStatus OBJECT-TYPE
--         SYNTAX INTEGER {
--             unconstrained(1),
--             maintainBelowThreshold(2),
--             stopAtThreshold(3),
--             inhibited(4)
--         }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "Controls the transmission of traps and syslog messages
--              with respect to the trap pacing threshold.
--              unconstrained(1) causes traps and syslog messages to be
--              transmitted without regard to the threshold settings.
--              maintainBelowThreshold(2) causes trap transmission and
--              syslog messages to be suppressed if the number of traps
--              would otherwise exceed the threshold.
--              stopAtThreshold(3) causes trap transmission to cease
--              at the threshold, and not resume until directed to do so.
--              inhibited(4) causes all trap transmission and syslog
--              messages to be suppressed.
-- 
--              A single event is always treated as a single event for
--              threshold counting. That is, an event causing both a trap
--              and a syslog message is still treated as a single event.
-- 
--              Writing to this object resets the thresholding state."
--         ::= { docsDevEvent 3 }
-- 
-- docsDevEvThrottleInhibited OBJECT-TYPE
--         SYNTAX      TruthValue
--         MAX-ACCESS  read-only
--         STATUS      current
--         DESCRIPTION
--             "If true(1), trap and syslog transmission is currently
--              inhibited due to thresholds and/or the current setting of
--              docsDevEvThrottleAdminStatus."
--         ::= { docsDevEvent 4 }
-- 
docsDevEvThrottleThreshold OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Number of trap/syslog events per docsDevEvThrottleInterval
             to be transmitted before throttling.

             A single event is always treated as a single event for
             threshold counting. That is, an event causing both a trap
             and a syslog message is still treated as a single event."
        ::= { docsDevEvent 5 }

-- docsDevEvThrottleInterval OBJECT-TYPE
--         SYNTAX      INTEGER(1..2147483647)
--         UNITS       "seconds"
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "The interval over which the trap threshold applies."
--         ::= { docsDevEvent 6 }
-- 
-- --
-- The following table controls the reporting of the various classes of
-- events. For each event priority,
-- a combination of logging and reporting mechanisms may be chosen. The
-- mapping of event types
-- to priorities is vendor-dependent. Vendors may also choose to allow
-- the user to control that mapping
-- through proprietary means.
-- 
-- docsDevEvControlTable OBJECT-TYPE
--         SYNTAX      SEQUENCE OF DocsDevEvControlEntry
--         MAX-ACCESS  not-accessible
--         STATUS      current
--         DESCRIPTION
--             "Allows control of the reporting of event classes."
--         ::= {  docsDevEvent 7 }
-- 
-- 
-- docsDevEvControlEntry OBJECT-TYPE
--         SYNTAX      DocsDevEvControlEntry
--         MAX-ACCESS  not-accessible
--         STATUS      current
--         DESCRIPTION
--             "Allows configuration of the reporting mechanisms for a
--              particular event priority."
--         INDEX { docsDevEvPriority }
--         ::= { docsDevEvControlTable 1 }
-- 
-- DocsDevEvControlEntry ::= SEQUENCE {
--             docsDevEvPriority        INTEGER,
--             docsDevEvReporting       BITS
--         }
-- 
-- docsDevEvPriority OBJECT-TYPE
--         SYNTAX INTEGER {
--             emergency(1),
--             alert(2),
--             critical(3),
--             error(4),
--             warning(5),
--             notice(6),
--             information(7),
--             debug(8)
--         }
--         MAX-ACCESS  not-accessible
--         STATUS      current
--         DESCRIPTION
--             "The priority level that is controlled by this entry."
--         ::= { docsDevEvControlEntry 1 }
-- docsDevEvReporting OBJECT-TYPE
--      SYNTAX BITS {
--         SYNTAX INTEGER {
--             local(0),
--             traps(1),
--             syslog(2)
--         }
--         MAX-ACCESS  read-write
--         STATUS      current
--         DESCRIPTION
--             "Defines the action to be taken on occurrence of this
--              event class. Implementations may not necessarily support
--              all options for all event classes, but at minimum must
--              allow traps and syslogging to be disabled."
--         ::= { docsDevEvControlEntry 2 }
-- 
 docsDevEventTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsDevEventEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Contains a log of network and device events that may be
             of interest in fault isolation and troubleshooting."
        ::= {  docsDevEvent 8 }

docsDevEventEntry OBJECT-TYPE
        SYNTAX      DocsDevEventEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a network or device event that may be of
             interest in fault isolation and troubleshooting."
        INDEX { docsDevEvIndex }
        ::= { docsDevEventTable 1 }

DocsDevEventEntry ::= SEQUENCE {
            docsDevEvIndex           INTEGER,
            docsDevEvFirstTime       DateAndTime,
            docsDevEvLastTime        DateAndTime,
            docsDevEvCount           Counter32,
            docsDevEvLevel           INTEGER,
            docsDevEvId              Unsigned32,
            docsDevEvText            DisplayString
        }

docsDevEvIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Provides relative ordering of the objects in the event
             log. This object will always increase except when
             (a) the log is reset via docsDevEvControl,
             (b) the device reboots and does not implement nonvolatile
             storage for this log, or (c) it reaches the value 2^31.
             The next entry for all the above cases is 1."
        ::= { docsDevEventEntry 1 }

docsDevEvFirstTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The time that this entry was created."
     ::= { docsDevEventEntry 2 }

docsDevEvLastTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "If multiple events are reported via the same entry, the
             time that the last event for this entry occurred."
        ::= { docsDevEventEntry 3 }

docsDevEvCount OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of consecutive event instances reported by
             this entry."
        ::= { docsDevEventEntry 4 }

docsDevEvLevel OBJECT-TYPE
        SYNTAX INTEGER {
            emergency(1),
            alert(2),
            critical(3),
            error(4),
            warning(5),
            notice(6),
            information(7),
            debug(8)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The priority level of this event."
        ::= { docsDevEventEntry 5 }


-- Vendors will provide their own enumerations for the following.
-- The interpretation of the enumeration is unambiguous for a
-- particular value of the vendor's enterprise number in sysObjectID.
--
-- 
docsDevEvId OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "For this product, uniquely identifies the type of event
             that is reported by this entry."
        ::= { docsDevEventEntry 6 }

docsDevEvText OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Provides a human-readable description of the event,
             including all relevant context (interface numbers,
             etc.)."
        ::= { docsDevEventEntry 7 }

docsDevFilter OBJECT IDENTIFIER ::= { docsDevMIBObjects 6 }

-- LLC filters can be defined on an inclusive or exclusive basis: CMs
-- can be configured to forward only packets matching a set of layer
-- three protocols,  or to drop packets matching a set of layer three
-- protocols.

docsDevFilterLLCDefault OBJECT-TYPE
        SYNTAX INTEGER {
            discard(1),
            accept(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "If set to discard(1), all packets not matching an LLC
             filter will be discarded. If set to accept(2), all
             packets not matching an LLC filter will be accepted for
             further processing (e.g., bridging)."
        ::= { docsDevFilter 1 }

docsDevFilterLLCTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsDevFilterLLCEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of filters to apply to (bridged) LLC traffic, which
             forwards or drops packets on the basis of the layer three
             protocol type."
        ::= { docsDevFilter 2 }
docsDevFilterLLCEntry OBJECT-TYPE
        SYNTAX      DocsDevFilterLLCEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a single filter to apply to (bridged) LLC traffic
             received on a specified interface. "
        INDEX { docsDevFilterLLCIndex }
        ::= { docsDevFilterLLCTable 1 }

DocsDevFilterLLCEntry ::= SEQUENCE {
            docsDevFilterLLCIndex               INTEGER,
            docsDevFilterLLCStatus              RowStatus,
            docsDevFilterLLCIfIndex             InterfaceIndexOrZero,
            docsDevFilterLLCProtocolType        INTEGER,
            docsDevFilterLLCProtocol            INTEGER,
            docsDevFilterLLCMatches             Counter32
        }

docsDevFilterLLCIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index used for the identification of filters (note that LLC
             filter order is irrelevant)."
        ::= { docsDevFilterLLCEntry 1 }

docsDevFilterLLCStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table."
        ::= { docsDevFilterLLCEntry 2}

docsDevFilterLLCIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The entry interface to which this filter applies.
             The value corresponds to ifIndex for either a CATV MAC
             or another network interface. If the value is zero, the
             filter applies to all interfaces. In Cable Modems, the
             default value is the customer side interface. In Cable
             Modem Termination Systems, this object has to be
             specified to create a row in this table."
        ::= { docsDevFilterLLCEntry 3 }

docsDevFilterLLCProtocolType OBJECT-TYPE
        SYNTAX INTEGER {
            ethertype(1),
            dsap(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The format of the value in docsDevFilterLLCProtocol:
             either a two-byte Ethernet Ethertype, or a one-byte
             802.2 SAP value. EtherType(1) also applies to SNAP-
             encapsulated frames."
        DEFVAL { ethertype }
        ::= { docsDevFilterLLCEntry 4 }

docsDevFilterLLCProtocol OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The layer three protocol for which this filter applies.
             The protocol value format depends on
             docsDevFilterLLCProtocolType. Note that for SNAP frames,
             etherType filtering is performed rather than DSAP=0xAA."
        DEFVAL { 0 }
        ::= { docsDevFilterLLCEntry 5 }

docsDevFilterLLCMatches OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Counts the number of times this filter was matched."
        ::= { docsDevFilterLLCEntry 6 }

-- The default behavior for (bridged) packets that do not match IP
-- filters is defined by
-- docsDevFilterIpDefault.

docsDevFilterIpDefault OBJECT-TYPE
        SYNTAX INTEGER {
            discard(1),
            accept(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "If set to discard(1), all packets not matching an IP filter
             will be discarded. If set to accept(2), all packets not
             matching an IP filter will be accepted for further
             processing (e.g., bridging)."
        ::= { docsDevFilter 3 }

docsDevFilterIpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF DocsDevFilterIpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An ordered list of filters to apply to IP traffic. Filter
             application is ordered by the filter index, rather than
             by a best match algorithm. Packets which match no filters
             are discarded or forwarded according to the setting of
             docsDevFilterIpDefault."
        ::= { docsDevFilter 4 }

docsDevFilterIpEntry OBJECT-TYPE
        SYNTAX      DocsDevFilterIpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a filter to apply to IP traffic received on a
             specified interface. Both source and destination addresses
             must match for the filter to apply."
        INDEX { docsDevFilterIpIndex }
        ::= { docsDevFilterIpTable 1 }

DocsDevFilterIpEntry ::= SEQUENCE {
            docsDevFilterIpIndex             INTEGER,
            docsDevFilterIpStatus            RowStatus,
            docsDevFilterIpControl           INTEGER,
            docsDevFilterIpIfIndex           InterfaceIndexOrZero,
            docsDevFilterIpDirection         INTEGER,
            docsDevFilterIpBroadcast         TruthValue,
            docsDevFilterIpSaddr             IpAddress,
            docsDevFilterIpSmask             IpAddress,
            docsDevFilterIpDaddr             IpAddress,
            docsDevFilterIpDmask             IpAddress,
            docsDevFilterIpProtocol          INTEGER,
            docsDevFilterIpSourcePortLow     INTEGER,
            docsDevFilterIpSourcePortHigh    INTEGER,
            docsDevFilterIpDestPortLow       INTEGER,
            docsDevFilterIpDestPortHigh      INTEGER,
            docsDevFilterIpMatches           Counter32
        }

docsDevFilterIpIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index used to order the application of filters.
             The filter with the lowest index is always applied
             first."
        ::= { docsDevFilterIpEntry 1 }

docsDevFilterIpStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Controls and reflects the status of rows in this table."
        ::= { docsDevFilterIpEntry 2 }

docsDevFilterIpControl OBJECT-TYPE
        SYNTAX INTEGER {
            discard(1),
            accept(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "If set to discard(1), all packets matching this filter
             will be discarded and scanning of the remainder of the
             filter list will be aborted. If set to accept(2), all
             packets matching this filter will be accepted for further
             processing (e.g., bridging) and scanning of the remainder
             of the filter list will be aborted. "
        DEFVAL { discard }
        ::= { docsDevFilterIpEntry 3 }

docsDevFilterIpIfIndex OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The entry interface to which this filter applies. The
             value corresponds to ifIndex for either a CATV MAC or
             another network interface. If the value is zero, the
             filter applies to all interfaces. Default value in Cable
             Modems is the customer-side interface. In Cable Modem
             Termination Systems, this object has to be specified to
             create a row in this table."
        ::= { docsDevFilterIpEntry 4 }

docsDevFilterIpDirection OBJECT-TYPE
        SYNTAX INTEGER {
            inbound(1),
            outbound(2),
            both(3)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Determines whether the filter is applied to inbound(1)
             traffic, outbound(2) traffic, or traffic in both(3)
             directions."
        DEFVAL { inbound }
        ::= { docsDevFilterIpEntry 5 }
docsDevFilterIpBroadcast OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "If set to true(1), the filter only applies to multicast
             and broadcast traffic. If set to false(2), the filter
             applies to all traffic."
        DEFVAL { false }
        ::= { docsDevFilterIpEntry 6 }

docsDevFilterIpSaddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The source IP address, or portion thereof, that is to be
             matched for this filter."
        DEFVAL { '00000000'h }
        ::= { docsDevFilterIpEntry 7 }

docsDevFilterIpSmask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "A bit mask that is to be applied to the source address
             prior to matching. This mask is not necessarily the same
             as a subnet mask, but 1's bits must be leftmost and
             contiguous."
        DEFVAL { '00000000'h }
        ::= { docsDevFilterIpEntry 8 }

docsDevFilterIpDaddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The destination IP address, or portion thereof, that is
             to be matched for this filter "
        DEFVAL { '00000000'h }
        ::= { docsDevFilterIpEntry 9 }

docsDevFilterIpDmask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "A bit mask that is to be applied to the destination
             address prior to matching. This mask is not necessarily
             the same as a subnet mask, but 1's bits must be leftmost
             and contiguous "
        DEFVAL { '00000000'h }
        ::= { docsDevFilterIpEntry 10 }

docsDevFilterIpProtocol OBJECT-TYPE
        SYNTAX INTEGER {
            icmp(1),
            tcp(6),
            udp(17),
            any(256)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The IP protocol value that is to be matched."
        DEFVAL { any }
        ::= { docsDevFilterIpEntry 11 }

docsDevFilterIpSourcePortLow OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "If docsDevFilterIpProtocol is udp or tcp, this is the
             inclusive lower bound of the transport-layer source port
             range that is to be matched."
        DEFVAL { 0 }
        ::= { docsDevFilterIpEntry 12 }

docsDevFilterIpSourcePortHigh OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "If docsDevFilterIpProtocol is udp or tcp, this is the
             inclusive upper bound of the transport-layer source port
             range that is to be matched."
        DEFVAL { 65535 }
        ::= { docsDevFilterIpEntry 13 }

docsDevFilterIpDestPortLow OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "If docsDevFilterIpProtocol is udp or tcp, this is the
             inclusive lower bound of the transport-layer destination
             port range that is to be matched."
        DEFVAL { 0 }
        ::= { docsDevFilterIpEntry 14 }

docsDevFilterIpDestPortHigh OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "If docsDevFilterIpProtocol is udp or tcp, this is the
             inclusive upper bound of the transport-layer destination
             port range that is to be matched."
        DEFVAL { 65535 }
        ::= { docsDevFilterIpEntry 15 }

docsDevFilterIpMatches OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Counts the number of times this filter was matched."
        ::= { docsDevFilterIpEntry 16 }

--
-- Placeholder for notifications/traps.
--
docsDevNotification OBJECT IDENTIFIER   ::= { docsDev 2 }


--
-- Conformance definitions
--
docsDevConformance  OBJECT IDENTIFIER   ::= { docsDev 3 }
docsDevGroups       OBJECT IDENTIFIER   ::= { docsDevConformance 1 }
docsDevCompliances  OBJECT IDENTIFIER   ::= { docsDevConformance 2 }

docsDevBasicCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
            "The compliance statement for MCNS Cable Modems and
             Cable Modem Termination Systems."

MODULE  -- docsDev

-- conditionally mandatory groups

GROUP docsDevBaseGroup
        DESCRIPTION
            "Mandatory in Cable Modems, optional in Cable Modem
             Termination Systems."

GROUP docsDevEventGroup
        DESCRIPTION
            "Mandatory in Cable Modems, optional in Cable Modem
             Termination Systems."

GROUP docsDevFilterGroup
        DESCRIPTION
            "Mandatory in Cable Modems, optional in Cable Modem
             Termination Systems."

GROUP docsDevNmAccessGroup
        DESCRIPTION
            "Mandatory in Cable Modems, optional in Cable Modem
             Termination Systems."

GROUP docsDevServerGroup
        DESCRIPTION
            "This group is implemented only in Cable Modems,
             not in Cable Modem Termination Systems."

GROUP docsDevSoftwareGroup
        DESCRIPTION
            "Mandatory in Cable Modems, optional in Cable Modem
             Termination Systems."

OBJECT docsDevSTPControl
        MIN-ACCESS read-only
        DESCRIPTION
            "It is compliant to implement this object as read-only.
             Devices need only support noStFilterBpdu(2)."

OBJECT docsDevEvReporting
         MIN-ACCESS read-only
         DESCRIPTION
             "It is compliant to implement this object as read-only.
              Devices need only support local(1)."

         ::= { docsDevCompliances 1 }

docsDevBaseGroup OBJECT-GROUP
        OBJECTS {
             docsDevRole,
             docsDevDateTime,
             docsDevResetNow,
             docsDevSerialNumber,
             docsDevSTPControl
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects providing device status and
             control."
        ::= { docsDevGroups 1 }

docsDevNmAccessGroup OBJECT-GROUP
        OBJECTS {
             docsDevNmAccessIp,
             docsDevNmAccessIpMask,
             docsDevNmAccessCommunity,
             docsDevNmAccessControl,
             docsDevNmAccessInterfaces,
             docsDevNmAccessStatus
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects for controlling access to SNMP
             objects."
        ::= { docsDevGroups 2 }

-- docsDevSoftwareGroup OBJECT-GROUP
--         OBJECTS {
--             docsDevSwServer,
--             docsDevSwFilename,
--             docsDevSwAdminStatus,
--             docsDevSwOperStatus
--         }
--         STATUS      current
--         DESCRIPTION
--             "A collection of objects for controlling software
--              downloads."
--         ::= { docsDevGroups 3 }
-- 
-- docsDevServerGroup OBJECT-GROUP
--         OBJECTS {
--             docsDevServerBootState,
--             docsDevServerDhcp,
--             docsDevServerTime,
--             docsDevServerTftp,
--             docsDevServerConfigFile
--         }
--         STATUS      current
--         DESCRIPTION
--             "A collection of objects providing status about server
--              provisioning."
--         ::= { docsDevGroups 4 }
-- 
-- docsDevEventGroup OBJECT-GROUP
--         OBJECTS {
--             docsDevEvControl,
--             docsDevEvSyslog,
--             docsDevEvThrottleAdminStatus,
--             docsDevEvThrottleInhibited,
--             docsDevEvThrottleThreshold,
--             docsDevEvThrottleInterval,
--             docsDevEvReporting,
--             docsDevEvFirstTime,
--             docsDevEvLastTime,
--             docsDevEvCount,
--             docsDevEvLevel,
--             docsDevEvId,
--             docsDevEvText
--         }
--         STATUS      current
--         DESCRIPTION
--             "A collection of objects used to control and monitor
--              events."
--         ::= { docsDevGroups 5 }

docsDevFilterGroup OBJECT-GROUP
        OBJECTS {
            docsDevFilterLLCDefault,
            docsDevFilterIpDefault,
            docsDevFilterLLCStatus,
            docsDevFilterLLCIfIndex,
            docsDevFilterLLCProtocolType,
            docsDevFilterLLCProtocol,
            docsDevFilterLLCMatches,
            docsDevFilterIpControl,
            docsDevFilterIpIfIndex,
            docsDevFilterIpStatus,
            docsDevFilterIpDirection,
            docsDevFilterIpBroadcast,
            docsDevFilterIpSaddr,
            docsDevFilterIpSmask,
            docsDevFilterIpDaddr,
            docsDevFilterIpDmask,
            docsDevFilterIpProtocol,
            docsDevFilterIpSourcePortLow,
            docsDevFilterIpSourcePortHigh,
            docsDevFilterIpDestPortLow,
            docsDevFilterIpDestPortHigh,
            docsDevFilterIpMatches
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects to specify filters at link layer
             and IP layer."
        ::= { docsDevGroups 6 }

END
   DOCS-BPI-MIB DEFINITIONS ::= BEGIN

   IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE,
   Integer32, Counter32, IpAddress
   FROM SNMPv2-SMI
   DisplayString, MacAddress, RowStatus, TruthValue, DateAndTime
   FROM SNMPv2-TC
   OBJECT-GROUP, MODULE-COMPLIANCE
   FROM SNMPv2-CONF
   ifIndex
   FROM IF-MIB
   docsIfMib, docsIfCmServiceId, docsIfCmtsServiceId
   FROM DOCS-IF-MIB
   ;

   docsBpiMIB      MODULE-IDENTITY
   LAST-UPDATED "0002161930Z"
   ORGANIZATION "IETF IPCDN Working Group"
   CONTACT-INFO "Rich Woundy
                 Postal: Cisco Systems
                 250 Apollo Drive
                 Chelmsford, MA 01824
                 U.S.A.
                 Tel: +1 978 244 8000
                 E-mail: rwoundy@cisco.com"
   DESCRIPTION
   "This is the MIB Module for the DOCSIS Baseline Privacy Interface
   (BPI) at cable modems (CMs) and cable modem termination systems
   (CMTSs)."
   ::= { docsIfMib 5 }

   docsBpiMIBObjects  OBJECT IDENTIFIER ::= { docsBpiMIB 1 }

   -- Cable Modem Group

   docsBpiCmObjects OBJECT IDENTIFIER ::= { docsBpiMIBObjects 1 }

   --
   -- The BPI base and authorization table for CMs, indexed by ifIndex
   --

   docsBpiCmBaseTable      OBJECT-TYPE
   SYNTAX                  SEQUENCE OF     DocsBpiCmBaseEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "This table describes the basic and authorization-related Baseline
   Privacy attributes of each CM MAC interface."
   ::= { docsBpiCmObjects 1 }

   docsBpiCmBaseEntry      OBJECT-TYPE
   SYNTAX                  DocsBpiCmBaseEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "Each entry contains objects describing attributes of one CM MAC
   interface. An entry in this table exists for each ifEntry with an
   ifType of docsCableMaclayer(127)."
   INDEX                   { ifIndex }
   ::= { docsBpiCmBaseTable 1 }

   DocsBpiCmBaseEntry ::= SEQUENCE {
   docsBpiCmPrivacyEnable                  TruthValue,
   docsBpiCmPublicKey                      OCTET STRING,
   docsBpiCmAuthState                      INTEGER,
   docsBpiCmAuthKeySequenceNumber          Integer32,
   docsBpiCmAuthExpires                    DateAndTime,
   docsBpiCmAuthReset                      TruthValue,
   docsBpiCmAuthGraceTime                  Integer32,
   docsBpiCmTEKGraceTime                   Integer32,
   docsBpiCmAuthWaitTimeout                Integer32,
   docsBpiCmReauthWaitTimeout              Integer32,
   docsBpiCmOpWaitTimeout                  Integer32,
   docsBpiCmRekeyWaitTimeout               Integer32,
   docsBpiCmAuthRejectWaitTimeout          Integer32,
   docsBpiCmAuthRequests                   Counter32,
   docsBpiCmAuthReplies                    Counter32,
   docsBpiCmAuthRejects                    Counter32,
   docsBpiCmAuthInvalids                   Counter32,
   docsBpiCmAuthRejectErrorCode            INTEGER,
   docsBpiCmAuthRejectErrorString          DisplayString,
   docsBpiCmAuthInvalidErrorCode           INTEGER,
   docsBpiCmAuthInvalidErrorString         DisplayString
   }

   docsBpiCmPrivacyEnable  OBJECT-TYPE
   SYNTAX                  TruthValue
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "This object identifies whether this CM is provisioned to run
   Baseline Privacy. This is analogous to the presence (or absence)
   of the Baseline Privacy Configuration Setting option. The status
   of each individual SID with respect to Baseline Privacy is
   captured in the docsBpiCmTEKPrivacyEnable object."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1."
   ::= { docsBpiCmBaseEntry 1 }

   docsBpiCmPublicKey      OBJECT-TYPE
   SYNTAX                  OCTET STRING (SIZE (74 | 106 | 140 | 270))
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is a DER-encoded RSAPublicKey ASN.1 type
   string, as defined in the RSA Encryption Standard (PKCS #1) [22],
   corresponding to the public key of the CM. The 74, 106, 140, and
   270 byte key encoding lengths correspond to 512 bit, 768 bit, 1024
   bit, and 2048 public moduli respectively."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.2.4."
   ::= { docsBpiCmBaseEntry 2 }

   docsBpiCmAuthState      OBJECT-TYPE
   SYNTAX                  INTEGER {
                                   start(1),
                                   authWait(2),
                                   authorized(3),
                                   reauthWait(4),
                                   authRejectWait(5)
                           }
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the state of the CM authorization
   FSM.  The start state indicates that FSM is in its initial state."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.1.2.1."
   ::= { docsBpiCmBaseEntry 3 }

   docsBpiCmAuthKeySequenceNumber  OBJECT-TYPE
   SYNTAX                          Integer32 (0..15)
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the authorization key sequence number
   for this FSM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.2
   and 4.2.2.10."
   ::= { docsBpiCmBaseEntry 4 }

   docsBpiCmAuthExpires    OBJECT-TYPE
   SYNTAX                  DateAndTime
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the actual clock time when the current
   authorization for this FSM expires. If the CM does not have an active
   authorization, then the value is of the expiration date and time of
   the last active authorization."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.2
   and 4.2.2.9."
   ::= { docsBpiCmBaseEntry 5 }

   docsBpiCmAuthReset      OBJECT-TYPE
   SYNTAX                  TruthValue
   MAX-ACCESS              read-write
   STATUS                  current
   DESCRIPTION
   "Setting this object to TRUE generates a Reauthorize event in the
   authorization FSM. Reading this object always returns FALSE."
   REFERENCE

   "DOCSIS Baseline Privacy Interface Specification, Section 4.1.2.3.4."
   ::= { docsBpiCmBaseEntry 6 }

   docsBpiCmAuthGraceTime  OBJECT-TYPE
   SYNTAX                  Integer32 (1..1800)
   UNITS                   "seconds"
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the grace time for an authorization key.
   A CM is expected to start trying to get a new authorization key
   beginning AuthGraceTime seconds before the authorization key actually
   expires. The value of this object cannot be changed while the
   authorization state machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.3."
   ::= { docsBpiCmBaseEntry 7 }

   docsBpiCmTEKGraceTime   OBJECT-TYPE
   SYNTAX                  Integer32 (1..1800)
   UNITS                   "seconds"
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the grace time for a TEK.  A CM is
   expected to start trying to get a new TEK beginning TEKGraceTime
   seconds before the TEK actually expires. The value of this object
   cannot be changed while the authorization state machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.6."
   ::= { docsBpiCmBaseEntry 8 }

   docsBpiCmAuthWaitTimeout        OBJECT-TYPE
   SYNTAX                          Integer32 (1..30)
   UNITS                           "seconds"
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Authorize Wait Timeout. The value
   of this object cannot be changed while the authorization state
   machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.1."
   ::= { docsBpiCmBaseEntry 9 }

   docsBpiCmReauthWaitTimeout      OBJECT-TYPE
   SYNTAX                          Integer32 (1..30)
   UNITS                           "seconds"
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Reauthorize Wait Timeout in seconds.
   The value of this object cannot be changed while the authorization
   state machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.2."
   ::= { docsBpiCmBaseEntry 10 }

   docsBpiCmOpWaitTimeout  OBJECT-TYPE
   SYNTAX                  Integer32 (1..10)
   UNITS                   "seconds"
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the Operational Wait Timeout in seconds.
   The value of this object cannot be changed while the authorization
   state machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.4."
   ::= { docsBpiCmBaseEntry 11 }

   docsBpiCmRekeyWaitTimeout       OBJECT-TYPE
   SYNTAX                          Integer32 (1..10)
   UNITS                           "seconds"
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Rekey Wait Timeout in seconds. The
   value of this object cannot be changed while the authorization state
   machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.5."
   ::= { docsBpiCmBaseEntry 12 }

   docsBpiCmAuthRejectWaitTimeout  OBJECT-TYPE
   SYNTAX                          Integer32 (1..600)
   UNITS                           "seconds"
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Authorization Reject Wait Timeout in
   seconds. The value of this object cannot be changed while the
   authorization state machine is running."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.7."
   ::= { docsBpiCmBaseEntry 13 }

   docsBpiCmAuthRequests   OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has
   transmitted an Authorization Request message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.1."
   ::= { docsBpiCmBaseEntry 14 }

   docsBpiCmAuthReplies    OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has
   received an Authorization Reply message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.2."
   ::= { docsBpiCmBaseEntry 15 }

   docsBpiCmAuthRejects    OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has
   received an Authorization Reject message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.3."
   ::= { docsBpiCmBaseEntry 16 }

   docsBpiCmAuthInvalids   OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has
   received an Authorization Invalid message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.7."
   ::= { docsBpiCmBaseEntry 17 }

   docsBpiCmAuthRejectErrorCode    OBJECT-TYPE
   SYNTAX                          INTEGER {
                                           none(1),
                                           unknown(2),
                                           unauthorizedCm(3),
                                           unauthorizedSid(4)
                                   }
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in most recent Authorization Reject message received by
   the CM.  This has value unknown(2) if the last Error-Code value was
   0, and none(1) if no Authorization Reject message has been received
   since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.3
   and 4.2.2.16."
   ::= { docsBpiCmBaseEntry 18 }

   docsBpiCmAuthRejectErrorString  OBJECT-TYPE
   SYNTAX                          DisplayString (SIZE (0..128))
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Display-String in most recent
   Authorization Reject message received by the CM.  This is a zero
   length string if no Authorization Reject message has been received
   since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.3
   and 4.2.2.6."
   ::= { docsBpiCmBaseEntry 19 }

   docsBpiCmAuthInvalidErrorCode   OBJECT-TYPE
   SYNTAX                  INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedCm(3),
                                   unsolicited(5),
                                   invalidKeySequence(6),
                                   keyRequestAuthenticationFailure(7)
                           }
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in most recent Authorization Invalid message received by
   the CM.  This has value unknown(2) if the last Error-Code value was
   0, and none(1) if no Authorization Invalid message has been received
   since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.7
   and 4.2.2.16."
   ::= { docsBpiCmBaseEntry 20 }

   docsBpiCmAuthInvalidErrorString OBJECT-TYPE
   SYNTAX                          DisplayString (SIZE (0..128))
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Display-String in most recent
   Authorization Invalid message received by the CM.  This is a zero
   length string if no Authorization Invalid message has been received
   since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.7
   and 4.2.2.6."
   ::= { docsBpiCmBaseEntry 21 }

   --
   -- The CM TEK Table, indexed by ifIndex and SID
   --

   docsBpiCmTEKTable       OBJECT-TYPE
   SYNTAX                  SEQUENCE OF     DocsBpiCmTEKEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "This table describes the attributes of each CM Traffic Encryption Key
   (TEK) association. The CM maintains (no more than) one TEK association
   per SID per CM MAC interface."
   ::= { docsBpiCmObjects 2 }

   docsBpiCmTEKEntry       OBJECT-TYPE
   SYNTAX                  DocsBpiCmTEKEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "Each entry contains objects describing the TEK association attributes
   of one SID. The CM MUST create one entry per unicast SID, regardless
   of whether the SID was obtained from a Registration Response message,
   or from an Authorization Reply message."
   INDEX                   { ifIndex, docsIfCmServiceId }
   ::= { docsBpiCmTEKTable 1 }

   DocsBpiCmTEKEntry ::= SEQUENCE {
   docsBpiCmTEKPrivacyEnable               TruthValue,
   docsBpiCmTEKState                       INTEGER,
   docsBpiCmTEKExpiresOld                  DateAndTime,
   docsBpiCmTEKExpiresNew                  DateAndTime,
   docsBpiCmTEKKeyRequests                 Counter32,
   docsBpiCmTEKKeyReplies                  Counter32,
   docsBpiCmTEKKeyRejects                  Counter32,
   docsBpiCmTEKInvalids                    Counter32,
   docsBpiCmTEKAuthPends                   Counter32,
   docsBpiCmTEKKeyRejectErrorCode          INTEGER,
   docsBpiCmTEKKeyRejectErrorString        DisplayString,
   docsBpiCmTEKInvalidErrorCode            INTEGER,
   docsBpiCmTEKInvalidErrorString          DisplayString
   }

   docsBpiCmTEKPrivacyEnable       OBJECT-TYPE
   SYNTAX                          TruthValue
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "This object identifies whether this SID is provisioned to run
   Baseline Privacy. This is analogous to enabling Baseline Privacy on
   a provisioned SID using the Class-of-Service Privacy Enable option.
   Baseline Privacy is not effectively enabled for any SID unless
   Baseline Privacy is enabled for the CM, which is managed via the
   docsBpiCmPrivacyEnable object."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.2."
   ::= { docsBpiCmTEKEntry 1 }

   docsBpiCmTEKState       OBJECT-TYPE
   SYNTAX                  INTEGER {
                                   start(1),
                                   opWait(2),
                                   opReauthWait(3),
                                   operational(4),
                                   rekeyWait(5),
                                   rekeyReauthWait(6)
                           }
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the state of the indicated TEK FSM.
   The start(1) state indicates that FSM is in its initial state."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.1.3.1."
   ::= { docsBpiCmTEKEntry 2 }

   docsBpiCmTEKExpiresOld  OBJECT-TYPE
   SYNTAX                  DateAndTime
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the actual clock time for expiration
   of the immediate predecessor of the most recent TEK for this FSM.
   If this FSM has only one TEK, then the value is the time of activation
   of this FSM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.5 and
   4.2.2.9."
   ::= { docsBpiCmTEKEntry 3 }

   docsBpiCmTEKExpiresNew  OBJECT-TYPE
   SYNTAX                  DateAndTime
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the actual clock time for expiration
   of the most recent TEK for this FSM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.5 and
   4.2.2.9."
   ::= { docsBpiCmTEKEntry 4 }

   docsBpiCmTEKKeyRequests OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has transmitted
   a Key Request message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.4."
   ::= { docsBpiCmTEKEntry 5 }

   docsBpiCmTEKKeyReplies  OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has received
   a Key Reply message, including a message whose authentication failed."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.5."
   ::= { docsBpiCmTEKEntry 6 }

   docsBpiCmTEKKeyRejects  OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has received
   a Key Reject message, including a message whose authentication failed."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.6."
   ::= { docsBpiCmTEKEntry 7 }

   docsBpiCmTEKInvalids    OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CM has received
   a TEK Invalid message, including a message whose authentication failed."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.8."
   ::= { docsBpiCmTEKEntry 8 }

   docsBpiCmTEKAuthPends   OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times an Authorization
   Pending (Auth Pend) event occurred in this FSM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.1.3.3.3."
   ::= { docsBpiCmTEKEntry 9 }

   docsBpiCmTEKKeyRejectErrorCode  OBJECT-TYPE
   SYNTAX                          INTEGER {
                                           none(1),
                                           unknown(2),
                                           unauthorizedSid(4)
                                   }
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in most recent Key Reject message received by the CM. This
   has value unknown(2) if the last Error-Code value was 0, and none(1)
   if no Key Reject message has been received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.1.2.6
   and 4.2.2.16."
   ::= { docsBpiCmTEKEntry 10 }

   docsBpiCmTEKKeyRejectErrorString        OBJECT-TYPE
   SYNTAX                                  DisplayString (SIZE (0..128))
   MAX-ACCESS                              read-only
   STATUS                                  current
   DESCRIPTION
   "The value of this object is the Display-String in most recent Key
   Reject message received by the CM. This is a zero length string if no
   Key Reject message has been received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.1.2.6
   and 4.2.2.6."
   ::= { docsBpiCmTEKEntry 11 }

   docsBpiCmTEKInvalidErrorCode    OBJECT-TYPE
   SYNTAX                          INTEGER {
                                           none(1),
                                           unknown(2),
                                           invalidKeySequence(6)
                                   }
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in most recent TEK Invalid message received by the CM.
   This has value unknown(2) if the last Error-Code value was 0, and
   none(1) if no TEK Invalid message has been received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.1.2.8
   and 4.2.2.16."
   ::= { docsBpiCmTEKEntry 12 }

   docsBpiCmTEKInvalidErrorString  OBJECT-TYPE
   SYNTAX                          DisplayString (SIZE (0..128))
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Display-String in most recent TEK
   Invalid message received by the CM. This is a zero length string if
   no TEK Invalid message has been received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.1.2.8
   and 4.2.2.6."
   ::= { docsBpiCmTEKEntry 13 }

   -- Cable Modem Termination System Group

   docsBpiCmtsObjects OBJECT IDENTIFIER ::= { docsBpiMIBObjects 2 }
 
   --
   -- The BPI base table for CMTSs, indexed by ifIndex
   --

   docsBpiCmtsBaseTable    OBJECT-TYPE
   SYNTAX                  SEQUENCE OF     DocsBpiCmtsBaseEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "This table describes the basic Baseline Privacy attributes of each
   CMTS MAC interface."
   ::= { docsBpiCmtsObjects 1 }

   docsBpiCmtsBaseEntry    OBJECT-TYPE
   SYNTAX                  DocsBpiCmtsBaseEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "Each entry contains objects describing attributes of one CMTS MAC
   interface. An entry in this table exists for each ifEntry with an
   ifType of docsCableMaclayer(127)."
   INDEX                   { ifIndex }
   ::= { docsBpiCmtsBaseTable 1 }

   DocsBpiCmtsBaseEntry ::= SEQUENCE {
   docsBpiCmtsDefaultAuthLifetime  Integer32,
   docsBpiCmtsDefaultTEKLifetime   Integer32,
   -- docsBpiCmtsDefaultAuthGraceTime      Integer32,
   -- docsBpiCmtsDefaultTEKGraceTime       Integer32,
   docsBpiCmtsAuthRequests         Counter32,
   docsBpiCmtsAuthReplies          Counter32,
   docsBpiCmtsAuthRejects          Counter32,
   docsBpiCmtsAuthInvalids         Counter32
   }

   docsBpiCmtsDefaultAuthLifetime  OBJECT-TYPE
   SYNTAX                          Integer32 (1..6048000)
   UNITS                           "seconds"
   MAX-ACCESS                      read-write
   STATUS                          current
   DESCRIPTION
   "The value of this object is the default lifetime, in seconds, the
   CMTS assigns to a new authorization key."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.2."
   --CONFIGURABLE
   ::= { docsBpiCmtsBaseEntry 1 }

   docsBpiCmtsDefaultTEKLifetime   OBJECT-TYPE
   SYNTAX                          Integer32 (1..604800)
   UNITS                           "seconds"
   MAX-ACCESS                      read-write
   STATUS                          current
   DESCRIPTION
   "The value of this object is the default lifetime, in seconds, the
   CMTS assigns to a new Traffic Encryption Key (TEK)."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.2."
   --CONFIGURABLE
   ::= { docsBpiCmtsBaseEntry 2 }

   -- Note: the following two objects have been removed from this MIB.

   -- docsBpiCmtsDefaultAuthGraceTime      OBJECT-TYPE
   -- SYNTAX                               Integer32 (1..1800)
   -- UNITS                                "seconds"
   -- MAX-ACCESS                           read-write
   -- STATUS                               current
   -- DESCRIPTION
   -- "Default grace time, in seconds, the CMTS uses for an authorization
   -- key. This controls how far in advance of authorization key expiration
   -- that the CMTS is expected to produce the next generation of keying
   -- material. This value is expected to agree with the Authorization Grace
   -- Time that the provisioning system provides to CMs."
   -- ::= { docsBpiCmtsBaseEntry 3 }

   -- docsBpiCmtsDefaultTEKGraceTime       OBJECT-TYPE
   -- SYNTAX                               Integer32 (1..1800)
   -- UNITS                                "seconds"
   -- MAX-ACCESS                           read-write
   -- STATUS                               current
   -- DESCRIPTION
   -- "Default grace time, in seconds, the CMTS uses for a Traffic
   -- Encryption Key (TEK). This controls how far in advance of TEK
   -- expiration that the CMTS is expected to produce the next generation
   -- of keying material. This value is expected to agree with the TEK Grace
   -- Time that the provisioning system provides to CMs. Note that this
   -- object is particularly relevant for multicast SIDs, where multiple
   -- grace time values cannot be honored."
   -- ::= { docsBpiCmtsBaseEntry 4 }

   docsBpiCmtsAuthRequests OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   received an Authorization Request message from any CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.1."
   ::= { docsBpiCmtsBaseEntry 5 }

   docsBpiCmtsAuthReplies  OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted an Authorization Reply message to any CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.2."
   ::= { docsBpiCmtsBaseEntry 6 }

   docsBpiCmtsAuthRejects  OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted an Authorization Reject message to any CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.3."
   ::= { docsBpiCmtsBaseEntry 7 }

   docsBpiCmtsAuthInvalids OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted an Authorization Invalid message to any CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.7."
   ::= { docsBpiCmtsBaseEntry 8 }

   --
   -- The CMTS Authorization Table, indexed by ifIndex and CM MAC address
   --

   docsBpiCmtsAuthTable    OBJECT-TYPE
   SYNTAX                  SEQUENCE OF     DocsBpiCmtsAuthEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "This table describes the attributes of each CM authorization
   association. The CMTS maintains one authorization association with
   each Baseline Privacy-enabled CM on each CMTS MAC interface."
   ::= { docsBpiCmtsObjects 2 }

   docsBpiCmtsAuthEntry    OBJECT-TYPE
   SYNTAX                  DocsBpiCmtsAuthEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "Each entry contains objects describing attributes of one
   authorization association. The CMTS MUST create one entry per CM per
   MAC interface, based on the receipt of an Authorization Request
   message, and MUST not delete the entry before the CM authorization
   permanently expires."
   INDEX                   { ifIndex, docsBpiCmtsAuthCmMacAddress }
   ::= { docsBpiCmtsAuthTable 1 }

   DocsBpiCmtsAuthEntry ::= SEQUENCE {
   docsBpiCmtsAuthCmMacAddress             MacAddress,
   docsBpiCmtsAuthCmPublicKey              OCTET STRING,
   docsBpiCmtsAuthCmKeySequenceNumber      Integer32,
   docsBpiCmtsAuthCmExpires                DateAndTime,
   docsBpiCmtsAuthCmLifetime               Integer32,
   docsBpiCmtsAuthCmGraceTime              Integer32,
   docsBpiCmtsAuthCmReset                  INTEGER,
   docsBpiCmtsAuthCmRequests               Counter32,
   docsBpiCmtsAuthCmReplies                Counter32,
   docsBpiCmtsAuthCmRejects                Counter32,
   docsBpiCmtsAuthCmInvalids               Counter32,
   docsBpiCmtsAuthRejectErrorCode          INTEGER,
   docsBpiCmtsAuthRejectErrorString        DisplayString,
   docsBpiCmtsAuthInvalidErrorCode         INTEGER,
   docsBpiCmtsAuthInvalidErrorString       DisplayString
   }

   docsBpiCmtsAuthCmMacAddress     OBJECT-TYPE
   SYNTAX                          MacAddress
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "The value of this object is the physical address of the CM to
   which the authorization association applies."
   ::= { docsBpiCmtsAuthEntry 1 }

   docsBpiCmtsAuthCmPublicKey      OBJECT-TYPE
   SYNTAX                          OCTET STRING (SIZE (0 | 74 | 106 | 140 | 270))
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is a DER-encoded RSAPublicKey ASN.1 type
   string, as defined in the RSA Encryption Standard (PKCS #1) [22],
   corresponding to the public key of the CM. The 74, 106, 140, and
   270 byte key encoding lengths correspond to 512 bit, 768 bit, 1024
   bit, and 2048 public moduli respectively. This is a zero-length
   string if the CMTS does not retain the public key."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.2.4."
   ::= { docsBpiCmtsAuthEntry 2 }

   docsBpiCmtsAuthCmKeySequenceNumber      OBJECT-TYPE
   SYNTAX                                  Integer32 (0..15)
   MAX-ACCESS                              read-only
   STATUS                                  current
   DESCRIPTION
   "The value of this object is the authorization key sequence number
   for this CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.2
   and 4.2.2.10."
   ::= { docsBpiCmtsAuthEntry 3 }

   docsBpiCmtsAuthCmExpires        OBJECT-TYPE
   SYNTAX                          DateAndTime
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the actual clock time when the current
   authorization for this CM expires. If this CM does not have an
   active authorization, then the value is of the expiration date and
   time of the last active authorization."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.2
   and 4.2.2.9."
   ::= { docsBpiCmtsAuthEntry 4 }

   docsBpiCmtsAuthCmLifetime       OBJECT-TYPE
   SYNTAX                          Integer32 (1..6048000)
   UNITS                           "seconds"
   MAX-ACCESS                      read-write
   STATUS                          current
   DESCRIPTION
   "The value of this object is the lifetime, in seconds, the CMTS
   assigns to an authorization key for this CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.2
   and Appendix A.2."
   ::= { docsBpiCmtsAuthEntry 5 }

   docsBpiCmtsAuthCmGraceTime      OBJECT-TYPE
   SYNTAX                          Integer32 (1..1800)
   UNITS                           "seconds"
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the grace time for the authorization key
   in seconds.  The CM is expected to start trying to get a new
   authorization key beginning AuthGraceTime seconds before the
   authorization key actually expires."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.3."
   ::= { docsBpiCmtsAuthEntry 6 }

   docsBpiCmtsAuthCmReset  OBJECT-TYPE
   SYNTAX                  INTEGER {
                                   noResetRequested(1),
                                   invalidateAuth(2),
                                   sendAuthInvalid(3),
                                   invalidateTeks(4)
                           }
   MAX-ACCESS              read-write
   STATUS                  current
   DESCRIPTION
   "Setting this object to invalidateAuth(2) causes the CMTS to
   invalidate the current CM authorization key, but not to transmit an
   Authorization Invalid message nor to invalidate unicast TEKs.  Setting
   this object to sendAuthInvalid(3) causes the CMTS to invalidate the
   current CM authorization key, and to transmit an Authorization Invalid
   message to the CM, but not to invalidate unicast TEKs.  Setting this
   object to invalidateTeks(4) causes the CMTS to invalidate the current
   CM authorization key, to transmit an Authorization Invalid message to
   the CM, and to invalidate all unicast TEKs associated with this CM
   authorization. Reading this object returns the most-recently-set value
   of this object, or returns noResetRequested(1) if the object has not
   been set since the last CMTS reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.1.2.3.4,
   4.1.2.3.5, and 4.1.3.3.5."
   ::= { docsBpiCmtsAuthEntry 7 }

   docsBpiCmtsAuthCmRequests       OBJECT-TYPE
   SYNTAX                          Counter32
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   received an Authorization Request message from this CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.1."
   ::= { docsBpiCmtsAuthEntry 8 }

   docsBpiCmtsAuthCmReplies        OBJECT-TYPE
   SYNTAX                          Counter32
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted an Authorization Reply message to this CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.2."
   ::= { docsBpiCmtsAuthEntry 9 }

   docsBpiCmtsAuthCmRejects        OBJECT-TYPE
   SYNTAX                          Counter32
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted an Authorization Reject message to this CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.3."
   ::= { docsBpiCmtsAuthEntry 10 }

   docsBpiCmtsAuthCmInvalids       OBJECT-TYPE
   SYNTAX                          Counter32
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted an Authorization Invalid message to this CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.7."
   ::= { docsBpiCmtsAuthEntry 11 }

   docsBpiCmtsAuthRejectErrorCode  OBJECT-TYPE
   SYNTAX                  INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedCm(3),
                                   unauthorizedSid(4)
                           }
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in most recent Authorization Reject message transmitted to
   the CM.  This has value unknown(2) if the last Error-Code value was
   0, and none(1) if no Authorization Reject message has been transmitted
   to the CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.3
   and 4.2.2.16."
   ::= { docsBpiCmtsAuthEntry 12 }

   docsBpiCmtsAuthRejectErrorString        OBJECT-TYPE
   SYNTAX                                  DisplayString (SIZE (0..128))
   MAX-ACCESS                              read-only
   STATUS                                  current
   DESCRIPTION
   "The value of this object is the Display-String in most recent
   Authorization Reject message transmitted to the CM.  This is a
   zero length string if no Authorization Reject message has been
   transmitted to the CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.3
   and 4.2.2.6."
   ::= { docsBpiCmtsAuthEntry 13 }

   docsBpiCmtsAuthInvalidErrorCode OBJECT-TYPE
   SYNTAX                  INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedCm(3),
                                   unsolicited(5),
                                   invalidKeySequence(6),
                                   keyRequestAuthenticationFailure(7)
                           }
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in most recent Authorization Invalid message transmitted
   to the CM.  This has value unknown(2) if the last Error-Code value was
   0, and none(1) if no Authorization Invalid message has been
   transmitted to the CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.7
   and 4.2.2.16."
   ::= { docsBpiCmtsAuthEntry 14 }

   docsBpiCmtsAuthInvalidErrorString       OBJECT-TYPE
   SYNTAX                                  DisplayString (SIZE (0..128))
   MAX-ACCESS                              read-only
   STATUS                                  current
   DESCRIPTION
   "The value of this object is the Display-String in most recent
   Authorization Invalid message transmitted to the CM.  This is a
   zero length string if no Authorization Invalid message has been
   transmitted to the CM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.7
   and 4.2.2.6."
   ::= { docsBpiCmtsAuthEntry 15 }

   --
   -- The CMTS TEK Table, indexed by ifIndex and SID
   --

   docsBpiCmtsTEKTable     OBJECT-TYPE
   SYNTAX                  SEQUENCE OF     DocsBpiCmtsTEKEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "This table describes the attributes of each CM Traffic Encryption
   Key (TEK) association. The CMTS maintains one TEK association per BPI
   SID on each CMTS MAC interface."
   ::= { docsBpiCmtsObjects 3 }

   docsBpiCmtsTEKEntry     OBJECT-TYPE
   SYNTAX                  DocsBpiCmtsTEKEntry
   MAX-ACCESS              not-accessible
   STATUS                  current
   DESCRIPTION
   "Each entry contains objects describing attributes of one TEK
   association on a particular CMTS MAC interface. The CMTS MUST create
   one entry per SID per MAC interface, based on the receipt of an
   Key Request message, and MUST not delete the entry before the CM
   authorization for the SID permanently expires."
   INDEX                   { ifIndex, docsIfCmtsServiceId }
   ::= { docsBpiCmtsTEKTable 1 }

   DocsBpiCmtsTEKEntry ::= SEQUENCE {
   docsBpiCmtsTEKLifetime                  Integer32,
   docsBpiCmtsTEKGraceTime                 Integer32,
   docsBpiCmtsTEKExpiresOld                DateAndTime,
   docsBpiCmtsTEKExpiresNew                DateAndTime,
   docsBpiCmtsTEKReset                     TruthValue,
   docsBpiCmtsKeyRequests                  Counter32,
   docsBpiCmtsKeyReplies                   Counter32,
   docsBpiCmtsKeyRejects                   Counter32,
   docsBpiCmtsTEKInvalids                  Counter32,
   docsBpiCmtsKeyRejectErrorCode           INTEGER,
   docsBpiCmtsKeyRejectErrorString         DisplayString,
   docsBpiCmtsTEKInvalidErrorCode          INTEGER,
   docsBpiCmtsTEKInvalidErrorString        DisplayString
   }

   docsBpiCmtsTEKLifetime  OBJECT-TYPE
   SYNTAX                  Integer32 (1..604800)
   UNITS                   "seconds"
   MAX-ACCESS              read-write
   STATUS                  current
   DESCRIPTION
   "The value of this object is the lifetime, in seconds, the CMTS assigns
   to keys for this TEK association."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.5
   and Appendix A.2."
   ::= { docsBpiCmtsTEKEntry 1 }

   docsBpiCmtsTEKGraceTime OBJECT-TYPE
   SYNTAX                  Integer32 (1..1800)
   UNITS                   "seconds"
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the grace time for the TEK in seconds.
   The CM is expected to start trying to get a new TEK beginning
   TEKGraceTime seconds before the TEK actually expires."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Appendix A.1.1.1.6."
   ::= { docsBpiCmtsTEKEntry 2 }

   docsBpiCmtsTEKExpiresOld        OBJECT-TYPE
   SYNTAX                  DateAndTime
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the actual clock time for expiration
   of the immediate predecessor of the most recent TEK for this FSM.
   If this FSM has only one TEK, then the value is the time of activation
   of this FSM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.5
   and 4.2.2.9."
   ::= { docsBpiCmtsTEKEntry 3 }

   docsBpiCmtsTEKExpiresNew        OBJECT-TYPE
   SYNTAX                          DateAndTime
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the actual clock time for expiration
   of the most recent TEK for this FSM."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.5
   and 4.2.2.9."
   ::= { docsBpiCmtsTEKEntry 4 }

   docsBpiCmtsTEKReset     OBJECT-TYPE
   SYNTAX                  TruthValue
   MAX-ACCESS              read-write
   STATUS                  current
   DESCRIPTION
   "Setting this object to TRUE causes the CMTS to invalidate the current
   active TEK(s) (plural due to key transition periods), and to generate
   a new TEK for the associated SID; the CMTS MAY also generate an unsolicited
   TEK Invalid message, to optimize the TEK synchronization between the
   CMTS and the CM. Reading this object always returns FALSE."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.1.3.3.5."
   ::= { docsBpiCmtsTEKEntry 5 }

   docsBpiCmtsKeyRequests  OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   received a Key Request message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.4."
   ::= { docsBpiCmtsTEKEntry 6 }

   docsBpiCmtsKeyReplies   OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted a Key Reply message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.5."
   ::= { docsBpiCmtsTEKEntry 7 }

   docsBpiCmtsKeyRejects   OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted a Key Reject message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.6."
   ::= { docsBpiCmtsTEKEntry 8 }

   docsBpiCmtsTEKInvalids  OBJECT-TYPE
   SYNTAX                  Counter32
   MAX-ACCESS              read-only
   STATUS                  current
   DESCRIPTION
   "The value of this object is the count of times the CMTS has
   transmitted a TEK Invalid message."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Section 4.2.1.8."
   ::= { docsBpiCmtsTEKEntry 9 }

   docsBpiCmtsKeyRejectErrorCode   OBJECT-TYPE
   SYNTAX                          INTEGER {
                                           none(1),
                                           unknown(2),
                                           unauthorizedSid(4)
                                   }
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in the most recent Key Reject message sent in response to
   a Key Request for this BPI SID. This has value unknown(2) if the last
   Error-Code value was 0, and none(1) if no Key Reject message has been
   received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.6
   and 4.2.2.16."
   ::= { docsBpiCmtsTEKEntry 10 }

   docsBpiCmtsKeyRejectErrorString OBJECT-TYPE
   SYNTAX                          DisplayString (SIZE (0..128))
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the Display-String in the most recent
   Key Reject message sent in response to a Key Request for this BPI
   SID.  This is a zero length string if no Key Reject message has been
   received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.6
   and 4.2.2.6."
   ::= { docsBpiCmtsTEKEntry 11 }

   docsBpiCmtsTEKInvalidErrorCode  OBJECT-TYPE
   SYNTAX                          INTEGER {
                                           none(1),
                                           unknown(2),
                                           invalidKeySequence(6)
                                   }
   MAX-ACCESS                      read-only
   STATUS                          current
   DESCRIPTION
   "The value of this object is the enumerated description of the
   Error-Code in the most recent TEK Invalid message sent in association
   with this BPI SID.  This has value unknown(2) if the last Error-Code
   value was 0, and none(1) if no TEK Invalid message has been received
   since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.8
   and 4.2.2.16."
   ::= { docsBpiCmtsTEKEntry 12 }

   docsBpiCmtsTEKInvalidErrorString        OBJECT-TYPE
   SYNTAX                                  DisplayString (SIZE (0..128))
   MAX-ACCESS                              read-only
   STATUS                                  current
   DESCRIPTION
   "The value of this object is the Display-String in the most recent TEK
   Invalid message sent in association with this BPI SID.  This is a zero
   length string if no TEK Invalid message has been received since reboot."
   REFERENCE
   "DOCSIS Baseline Privacy Interface Specification, Sections 4.2.1.8
   and 4.2.2.6."
   ::= { docsBpiCmtsTEKEntry 13 }

   --
   -- The CMTS Multicast Control Group
   --

   docsBpiMulticastControl OBJECT IDENTIFIER ::= { docsBpiCmtsObjects 4 }

   --
   -- The CMTS IP Multicast Mapping Table, indexed by IP multicast
   -- address and prefix, and by ifindex
   --
   docsBpiIpMulticastMapTable      OBJECT-TYPE
   SYNTAX                          SEQUENCE OF DocsBpiIpMulticastMapEntry
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "This table describes the mapping of IP multicast address prefixes to
   multicast SIDs on each CMTS MAC interface."
   ::= { docsBpiMulticastControl 1 }

   docsBpiIpMulticastMapEntry      OBJECT-TYPE
   SYNTAX                          DocsBpiIpMulticastMapEntry
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "Each entry contains objects describing the mapping of one IP
   multicast address prefix to one multicast SID on one CMTS MAC
   interface. The CMTS uses the mapping when forwarding downstream IP
   multicast traffic."
   INDEX                           { ifIndex, docsBpiIpMulticastAddress,
                                     docsBpiIpMulticastPrefixLength }
   ::= { docsBpiIpMulticastMapTable 1 }

   DocsBpiIpMulticastMapEntry ::= SEQUENCE {
   docsBpiIpMulticastAddress       IpAddress,
   docsBpiIpMulticastPrefixLength  Integer32,
   docsBpiIpMulticastServiceId     Integer32,
   docsBpiIpMulticastMapControl    RowStatus
   }

   docsBpiIpMulticastAddress       OBJECT-TYPE
   SYNTAX                          IpAddress
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "This object represents the IP multicast address (prefix) to be
   mapped by this row, in conjunction with
   docsBpiIpMulticastPrefixLength."
   ::= { docsBpiIpMulticastMapEntry 1 }

   docsBpiIpMulticastPrefixLength  OBJECT-TYPE
   SYNTAX                          Integer32 (0..32)
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "This object represents the IP multicast address prefix length
   for this row. The value of this object represents the length in
   bits of docsBpiIpMulticastAddress for multicast address
   comparisons, using big-endian ordering. An IP multicast address
   matches this row if the (docsBpiIpMulticastPrefixLength) most
   significant bits of the IP multicast address and of the
   (docsBpiIpMulticastAddress) are identical.
   This object is similar in usage to an IP address mask. The value
   0 corresponds to IP address mask 0.0.0.0, the value 1 corresponds
   to IP address mask 128.0.0.0, the value 8 corresponds to IP
   address mask 255.0.0.0, and the value 32 corresponds to IP
   address mask 255.255.255.255."
   ::= { docsBpiIpMulticastMapEntry 2 }

   docsBpiIpMulticastServiceId     OBJECT-TYPE
   SYNTAX                          Integer32 (8192..16368)
   MAX-ACCESS                      read-create
   STATUS                          current
   DESCRIPTION
   "This object represents the multicast SID to be used in this
   IP multicast address prefix mapping entry."
   -- DEFVAL is an unused multicast SID value chosen by CMTS.
   ::= { docsBpiIpMulticastMapEntry 3 }

   docsBpiIpMulticastMapControl    OBJECT-TYPE
   SYNTAX                          RowStatus
   MAX-ACCESS                      read-create
   STATUS                          current
   DESCRIPTION
   "This object controls and reflects the IP multicast address prefix
   mapping entry."
   ::= { docsBpiIpMulticastMapEntry 4 }

   --
   -- The CMTS Multicast SID Authorization Table, indexed by ifIndex by
   -- multicast SID by CM MAC address
   --

   docsBpiMulticastAuthTable       OBJECT-TYPE
   SYNTAX                          SEQUENCE OF DocsBpiMulticastAuthEntry
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "This table describes the multicast SID authorization for each
   CM on each CMTS MAC interface."
   ::= { docsBpiMulticastControl 2 }

   docsBpiMulticastAuthEntry       OBJECT-TYPE
   SYNTAX                          DocsBpiMulticastAuthEntry
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "Each entry contains objects describing the key authorization of one
   cable modem for one multicast SID for one CMTS MAC interface."
   INDEX                           { ifIndex, docsBpiMulticastServiceId,
                                     docsBpiMulticastCmMacAddress }
   ::= { docsBpiMulticastAuthTable 1 }

   DocsBpiMulticastAuthEntry ::= SEQUENCE {
   docsBpiMulticastServiceId       Integer32,
   docsBpiMulticastCmMacAddress    MacAddress,
   docsBpiMulticastAuthControl     RowStatus
   }

   docsBpiMulticastServiceId       OBJECT-TYPE
   SYNTAX                          Integer32 (8192..16368)
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "This object represents the multicast SID for authorization."
   ::= { docsBpiMulticastAuthEntry 1 }

   docsBpiMulticastCmMacAddress    OBJECT-TYPE
   SYNTAX                          MacAddress
   MAX-ACCESS                      not-accessible
   STATUS                          current
   DESCRIPTION
   "This object represents the MAC address of the CM to which the
   multicast SID authorization applies."
   ::= { docsBpiMulticastAuthEntry 2 }

   docsBpiMulticastAuthControl     OBJECT-TYPE
   SYNTAX                          RowStatus
   MAX-ACCESS                      read-create
   STATUS                          current
   DESCRIPTION
   "This object controls and reflects the CM authorization for each
   multicast SID."
   ::= { docsBpiMulticastAuthEntry 3 }

   --
   -- The BPI MIB Conformance Statements (with a placeholder for
   -- notifications)
   --

   docsBpiNotification     OBJECT IDENTIFIER ::= { docsBpiMIB 2 }
   docsBpiConformance      OBJECT IDENTIFIER ::= { docsBpiMIB 3 }
   docsBpiCompliances      OBJECT IDENTIFIER ::= { docsBpiConformance 1 }
   docsBpiGroups           OBJECT IDENTIFIER ::= { docsBpiConformance 2 }
   docsBpiBasicCompliance MODULE-COMPLIANCE
   STATUS          current
   DESCRIPTION
   "This is the compliance statement for devices which implement the
   DOCSIS Baseline Privacy Interface."

   MODULE  -- docsBpiMIB

   -- conditionally mandatory group
   GROUP   docsBpiCmGroup
   DESCRIPTION
   "This group is implemented only in CMs, not in CMTSs."

   -- conditionally mandatory group
   GROUP   docsBpiCmtsGroup
   DESCRIPTION
   "This group is implemented only in CMTSs, not in CMs."

   -- relaxation on mandatory range (unnecessary since object is read-only)
   -- OBJECT       docsBpiCmAuthGraceTime
   -- SYNTAX       Integer32 (300..1800)
   -- DESCRIPTION
   -- "The refined range corresponds to the minimum and maximum values in
   -- operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range (unnecessary since object is read-only)
   -- OBJECT       docsBpiCmTEKGraceTime
   -- SYNTAX       Integer32 (300..1800)
   -- DESCRIPTION
   -- "The refined range corresponds to the minimum and maximum values in
   -- operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range
   OBJECT  docsBpiCmtsDefaultAuthLifetime
   SYNTAX  Integer32 (86400..6048000)
   DESCRIPTION
   "The refined range corresponds to the minimum and maximum values in
   operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range
   OBJECT  docsBpiCmtsDefaultTEKLifetime
   SYNTAX  Integer32 (1800..604800)
   DESCRIPTION
   "The refined range corresponds to the minimum and maximum values in
   operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range (object removed from MIB)
   -- OBJECT       docsBpiCmtsDefaultAuthGraceTime
   -- SYNTAX       INTEGER (300..1800)
   -- DESCRIPTION
   -- "The refined range corresponds to the minimum and maximum values in
   -- operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range  (object removed from MIB)
   -- OBJECT       docsBpiCmtsDefaultTEKGraceTime
   -- SYNTAX       INTEGER (300..1800)
   -- DESCRIPTION
   -- "The refined range corresponds to the minimum and maximum values in
   -- operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range
   OBJECT  docsBpiCmtsAuthCmLifetime
   SYNTAX  Integer32 (86400..6048000)
   DESCRIPTION
   "The refined range corresponds to the minimum and maximum values in
   operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range (unnecessary since object is read-only)
   -- OBJECT       docsBpiCmtsAuthCmGraceTime
   -- SYNTAX       Integer32 (300..1800)
   -- DESCRIPTION
   -- "The refined range corresponds to the minimum and maximum values in
   -- operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range
   OBJECT  docsBpiCmtsTEKLifetime
   SYNTAX  Integer32 (1800..604800)
   DESCRIPTION
   "The refined range corresponds to the minimum and maximum values in
   operational networks, according to Appendix A.2 in [18]."

   -- relaxation on mandatory range (unnecessary since object is read-only)
   -- OBJECT       docsBpiCmtsTEKGraceTime
   -- SYNTAX       Integer32 (300..1800)
   -- DESCRIPTION
   -- "The refined range corresponds to the minimum and maximum values in
   -- operational networks, according to Appendix A.2 in [18]."

   ::= { docsBpiCompliances 1 }

   docsBpiCmGroup  OBJECT-GROUP
   OBJECTS {
   docsBpiCmPrivacyEnable,
   docsBpiCmPublicKey,
   docsBpiCmAuthState,
   docsBpiCmAuthKeySequenceNumber,
   docsBpiCmAuthExpires,
   docsBpiCmAuthReset,
   docsBpiCmAuthGraceTime,
   docsBpiCmTEKGraceTime,
   docsBpiCmAuthWaitTimeout,
   docsBpiCmReauthWaitTimeout,
   docsBpiCmOpWaitTimeout,
   docsBpiCmRekeyWaitTimeout,
   docsBpiCmAuthRejectWaitTimeout,
   docsBpiCmAuthRequests,
   docsBpiCmAuthReplies,
   docsBpiCmAuthRejects,
   docsBpiCmAuthInvalids,
   docsBpiCmAuthRejectErrorCode,
   docsBpiCmAuthRejectErrorString,
   docsBpiCmAuthInvalidErrorCode,
   docsBpiCmAuthInvalidErrorString,
   docsBpiCmTEKPrivacyEnable,
   docsBpiCmTEKState,
   docsBpiCmTEKExpiresOld,
   docsBpiCmTEKExpiresNew,
   docsBpiCmTEKKeyRequests,
   docsBpiCmTEKKeyReplies,
   docsBpiCmTEKKeyRejects,
   docsBpiCmTEKInvalids,
   docsBpiCmTEKAuthPends,
   docsBpiCmTEKKeyRejectErrorCode,
   docsBpiCmTEKKeyRejectErrorString,
   docsBpiCmTEKInvalidErrorCode,
   docsBpiCmTEKInvalidErrorString
   }
   STATUS                  current
   DESCRIPTION
   "This collection of objects provides CM BPI status and control."
   ::= { docsBpiGroups 1 }

   docsBpiCmtsGroup        OBJECT-GROUP
   OBJECTS {
   docsBpiCmtsDefaultAuthLifetime,
   docsBpiCmtsDefaultTEKLifetime,
   -- docsBpiCmtsDefaultAuthGraceTime,
   -- docsBpiCmtsDefaultTEKGraceTime,
   docsBpiCmtsAuthRequests,
   docsBpiCmtsAuthReplies,
   docsBpiCmtsAuthRejects,
   docsBpiCmtsAuthInvalids,
   docsBpiCmtsAuthCmPublicKey,
   docsBpiCmtsAuthCmKeySequenceNumber,
   docsBpiCmtsAuthCmExpires,
   docsBpiCmtsAuthCmLifetime,
   docsBpiCmtsAuthCmGraceTime,
   docsBpiCmtsAuthCmReset,
   docsBpiCmtsAuthCmRequests,
   docsBpiCmtsAuthCmReplies,
   docsBpiCmtsAuthCmRejects,
   docsBpiCmtsAuthCmInvalids,
   docsBpiCmtsAuthRejectErrorCode,
   docsBpiCmtsAuthRejectErrorString,
   docsBpiCmtsAuthInvalidErrorCode,
   docsBpiCmtsAuthInvalidErrorString,
   docsBpiCmtsTEKLifetime,
   docsBpiCmtsTEKGraceTime,
   docsBpiCmtsTEKExpiresOld,
   docsBpiCmtsTEKExpiresNew,
   docsBpiCmtsTEKReset,
   docsBpiCmtsKeyRequests,
   docsBpiCmtsKeyReplies,
   docsBpiCmtsKeyRejects,
   docsBpiCmtsTEKInvalids,
   docsBpiCmtsKeyRejectErrorCode,
   docsBpiCmtsKeyRejectErrorString,
   docsBpiCmtsTEKInvalidErrorCode,
   docsBpiCmtsTEKInvalidErrorString,
   docsBpiIpMulticastServiceId,
   docsBpiIpMulticastMapControl,
   docsBpiMulticastAuthControl
   }
   STATUS          current
   DESCRIPTION
   "This collection of objects provides CMTS BPI status and control."
   ::= { docsBpiGroups 2 }

   END

--
--      usr_cable.mib - A proprietary Cable MIB
--
--
-- Author:         Rita Shammas
-- Created:        May-21-97
--
--  $Id: usr_cable.mib,v 1.0 1997/05/21 19:23:06 rshammas Exp $
--
--
--  | Copyright (c) 1997 U.S. Robotics Access Corp., Skokie, IL 60076      |
--  |                                                                      |
--  | The information in this software is subject to change without notice |
--  | and should not be construed as a commitment by U.S. Robotics Access  |
--  | Corp.                                                                |
--  |                                                                      |
--  | U.S. Robotics Access Corp. assumes no responsibility for the use or  |
--  | reliability of its software on equipment which is not supplied by    |
--  | U.S. Robotics Access Corp.                                           |
--  |                                                                      |
--  | This software is furnished under a license and may be copied only    |
--  | with the inclusion of the above copyright notice. This software, or  |
--  | any other copies thereof, may not be provided or otherwise made      |
--  | available to any other person except to one who agrees to these      |
--  | license terms. Title to and ownership of the software shall at all   |
--  | times remain in U.S. Robotics Access Corp.                           |
--
--
--
-- The cable mib provides value added mib object for the cable industry.
--
--
--

UsrCABLE-MIB DEFINITIONS ::= BEGIN

        IMPORTS
      	  docsIfCmtsModIndex,docsIfCmtsModIntervalUsageCode
		FROM DOCS-IF-MIB
          ifIndex
               FROM IF-MIB
          OBJECT-TYPE, Integer32, Counter32
                FROM SNMPv2-SMI
          TruthValue,
          RowStatus,
          MacAddress
	        FROM SNMPv2-TC
          IpAddress
                FROM RFC1155-SMI
          TenthdBmV
                FROM DOCS-IF-MIB
          TRAP-TYPE
                FROM RFC-1215
	  usrCfgNetName
		FROM USR-CONFIG-MIB
          usrCable, UsrConfigStatus, DisplayString 
                FROM USR-DEFINITIONS-MIB;



--
-- Cable managed objects
--


usrCmtsVersion OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	"The current software version of the CMTS."
::= { usrCable 1 }

usrCableCFMStatusFlag OBJECT-TYPE
	SYNTAX		UsrConfigStatus
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	"This variable controls saving and loading of configuration
         information for the CMTS Module. The value can 
         be set to either save or load by a management station. The other
         values indicate if any configuration operation and what type
         is in progress."
::= { usrCable 2 }

usrCableCfgFileName OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION		
	"The name of a ConfigFile to read/write  permanent database records.
	 If the value of this object is an empty string, then the
	 CMTS module uses the default name `@file://CMTS.cfg'. "
::= { usrCable 3 }


--
-- gwicks
--	 I looked at how the TCP connection table was implemented
--       in RFC1213, and using that as a template, I came up with this ....
--       Since I'm the MIB newbie, I'm wondering if it should be
--       something like:
-- 

usrCableUSRmsgFlagsTable  OBJECT-TYPE
    SYNTAX	SEQUENCE OF UsrCableUSRmsgFlagsEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION
	"A table containing CM specific flags"
    ::= { usrCable 4 }


usrCableUSRmsgFlagsEntry OBJECT-TYPE
    SYNTAX  UsrCableUSRmsgFlagsEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
	"CM Flag values per IP address"
    INDEX  { usrCableUSRmsgAddress }
    ::= { usrCableUSRmsgFlagsTable 1 }

UsrCableUSRmsgFlagsEntry ::= SEQUENCE { 
				usrCableUSRmsgFlags    Integer32,
				usrCableUSRmsgAddress  IpAddress }


usrCableUSRmsgFlags OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "There are 4 flags:
        Restart PPP Link := 0x00000001
        Restart DHCP process := 0x00000002
        Re-perform transfer of operational parameters := 0x00000004
        Re-register with the CMTS := 0x00000008"
    ::= { usrCableUSRmsgFlagsEntry 1 }

usrCableUSRmsgAddress OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " The ip address to issue the USR command to."
    ::= { usrCableUSRmsgFlagsEntry 2 }


usrCableAttributes OBJECT IDENTIFIER ::= { usrCable 5 } 

usrCableAttrFreqTCDmsg OBJECT-TYPE
    SYNTAX  Integer32(500..2000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "How frequently should the CMTS send a Telephony Channel Descriptor message downstream.This amount of time is in milliseconds."
    DEFVAL  { 1000 }
    --CONFIGURABLE
    ::= { usrCableAttributes 1 }

usrCableAttrFreqTSImsg  OBJECT-TYPE
    SYNTAX  Integer32(500..2000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "How frequently should the CMTS send a Termination System Information message downstream.This amount of time is in milliseconds."
    DEFVAL { 1000 }
    --CONFIGURABLE
    ::= { usrCableAttributes 2 }

usrCableAttrEpochValue OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     ""
    ::= { usrCableAttributes 3 }

usrCableAttrBootTime OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "When did the system last reboot."
    ::= { usrCableAttributes 4 }

usrCableAttrRegUDPport OBJECT-TYPE
    SYNTAX  Integer32(1..65535)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The UDP port number to use for registration."
    --CONFIGURABLE
    ::= { usrCableAttributes 5 }


usrCableTSITCDMsgType  OBJECT-TYPE
    SYNTAX 	INTEGER {
	newtype(1),
	oldtype(2),
	both(3)
	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " TSI/TCD Message Type "
    --CONFIGURABLE
     ::= { usrCableAttributes 6 }

usrCableSPDTable  OBJECT-TYPE
    SYNTAX 	SEQUENCE OF UsrCableSPDEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    " A table of all the SPD messages that get sent out"
     ::= { usrCable 6 }

usrCableSPDEntry OBJECT-TYPE
    SYNTAX UsrCableSPDEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Table Entry"
    INDEX {usrCableSPDindex}
    ::= {usrCableSPDTable 1}

UsrCableSPDEntry ::= SEQUENCE {
    usrCableSPDindex    Integer32,
    usrCableSPDname     DisplayString,
    usrCableSPDphoneNum1    DisplayString,
    usrCableSPDphoneNum2    DisplayString,
    usrCableSPDphoneNum3    DisplayString,
    usrCableSPDConnThreshold    Integer32,
    usrCableSPDuserName     DisplayString,
    usrCableSPDuserPassword OCTET STRING,
    usrCableSPDpppAuth      INTEGER,
    usrCableSPDdhcpAuth     INTEGER,   
    usrCableSPDradiusRealm  DisplayString,
    usrCableSPDfactoryDef   INTEGER,
    usrCableSPDstatus       INTEGER,
    usrCableSPDdhcpAddress  IpAddress,
    usrCableSPDdhcpHopCount Integer32 }

usrCableSPDindex    OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
    "The index"
    ::= { usrCableSPDEntry 1}

usrCableSPDname OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(1..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The name of the Service Provider."
    --CONFIGURABLE
    ::= { usrCableSPDEntry 2 }

usrCableSPDphoneNum1 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The first phone number to try when trying to reach the service provider."
    --CONFIGURABLE
    ::= { usrCableSPDEntry 3 }

usrCableSPDphoneNum2 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The second phone number to try to reach the service provider when the first number fails."
    --CONFIGURABLE
    ::= { usrCableSPDEntry 4 }

usrCableSPDphoneNum3 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The third phone number to try in case the 1st and 2nd numbers fail."
    --CONFIGURABLE
    ::= { usrCableSPDEntry 5 }

usrCableSPDConnThreshold OBJECT-TYPE
    SYNTAX  Integer32 (1..10)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The number of sequential connection try failures before indicating connection failure."
    DEFVAL  { 1 }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 6 }

usrCableSPDuserName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..32)) 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The username the CM will use during PAP or CHAP authentication over telco link during the initialization procedure."
    DEFVAL { "guest" }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 7 }

usrCableSPDuserPassword OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE (1..15))
-- 
-- gwicks: there is no "write-only" designation for MAX-ACCESS
--         in SNMPv2-SMI
--    MAX-ACCESS  write-only
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The password that the CM will use during the PAP or CHAP authentication over the telco link during the initialization procedure."
    DEFVAL { "\n" }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 8 }

usrCableSPDpppAuth OBJECT-TYPE
    SYNTAX  INTEGER {
			uNotSet(-1),
                        uNegotiate(0),
                        uPAP(1),
                        uCHAP(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "This instructs the telco return modem of the authentication procedure to perform over the telco link."
    DEFVAL { uNegotiate }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 9 }

usrCableSPDdhcpAuth OBJECT-TYPE
    SYNTAX  INTEGER {
			uNotSet(-1),
			disable(0),
			enable(1)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "Boolean value reserved to indicate CM MUST authenticate DHCP messages when enable."
    DEFVAL { disable }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 10 }

usrCableSPDradiusRealm OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(1..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The realm name contains the ASCII string which defines a RADIUS 
      server domain. TRAC RADIUS MUST proxy requests to a server realm. 
      RADIUS syntax is to address login name as Username-String@Realm-String 
      - RADIUS Realm-String MUST be correlated by the TRAC RADIUS to the 
      IP address of a RADIUS server to be proxied to for the designated 
      RADIUS user profile. If the TRAC RADIUS is the server for designated 
      user profile,the default value is the null string."
    DEFVAL { "" }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 11 }

usrCableSPDfactoryDef OBJECT-TYPE
    SYNTAX INTEGER {
                        false(0),
                        true(1)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "boolean value, if true, indicates the SPD which SHOULD be used by the CM during factory default procedure."
    --CONFIGURABLE
    ::= { usrCableSPDEntry 12 }

usrCableSPDstatus OBJECT-TYPE
    SYNTAX INTEGER {
                        disabled(0),
                        enabled(1),
                        deleted(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
	"When the status is set to disabled, that corresponding SPD entry
	will be disabled from the CMTS. When the status is set to enabled,
	that corresponding SPD entry will be enabled in the CMTS. When the
	status is set to deleted, that corresponding SPD entry will be
	deleted from the CMTS." 
    --CONFIGURABLE
    ::= { usrCableSPDEntry 13 }

usrCableSPDdhcpAddress OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " The ip address of the DHCP server."
    --CONFIGURABLE
    ::= { usrCableSPDEntry 14 }

usrCableSPDdhcpHopCount OBJECT-TYPE
    SYNTAX  Integer32 (1..255)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "The hop count for the DHCP server."
    DEFVAL  { 1 }
    --CONFIGURABLE
    ::= { usrCableSPDEntry 15 }

usrCableCounters OBJECT IDENTIFIER ::= { usrCable 7 }

usrCableCountersTCDmsgs OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "Number of TCD message send out so far."
    ::= { usrCableCounters 1 }

usrCableCountersTSImsgs OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "Number of TSI message send out so far."
    ::= { usrCableCounters 2 }

usrCableRestartBackoffTime OBJECT-TYPE
    SYNTAX Integer32(500..2000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The duration in which CMTS waits to recieve a registration message from
        the CM."
    DEFVAL {2000}
    --CONFIGURABLE
    ::= { usrCableCounters 3 }

usrCableRestartResendCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " "
    DEFVAL { 3 }
    --CONFIGURABLE
    ::= { usrCableCounters 4 }

usrCableGlobal OBJECT IDENTIFIER ::= { usrCable 8 }

usrCableSystemAuthString OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..128))
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
    "Authorization String used in Registration of CM to authenticate the 
     server is correct to be used for this CM."
    --CONFIGURABLE
    ::= { usrCableGlobal 1 }

usrCableSystemDownstreamIP OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     " The ip address of the downstream channel."
    ::= { usrCableGlobal 2 }

usrCableSystemDebugString OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..256)) 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " The Cable Debug String for adding our own debug on/off"
    ::= { usrCableGlobal 3 }

usrCableSystemMicAlgorithm OBJECT-TYPE
    SYNTAX  INTEGER {
			noMicChecking(1),
			hmacMD5(2),
			md5(3),
			md5AndHmacMd5(4)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " Mic Calculation algorithm to be used "
    --CONFIGURABLE
    ::= { usrCableGlobal 4 }


-- This object is not used any more A new object is added in the usrCableSpecial
-- Group.
usrCableCARClockMode OBJECT-TYPE
    SYNTAX  INTEGER {
			backupMaster(1),
			master(2),
            		slave(3)
		}
    MAX-ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
     " Mic Calculation algorithm to be used "
    ::= { usrCableGlobal 5 }

usrCableReturnMode OBJECT-TYPE
    SYNTAX  INTEGER {
			two-way(1),
			three-way(2),
			telco(3),
			none(4)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " The type of return mode for the upstream data "
    --CONFIGURABLE
    ::= { usrCableGlobal 6 }

usrCableCpeArpOnOffMode OBJECT-TYPE
    SYNTAX  INTEGER {
			enabled(1),
			disabled(2)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " WHether ARP on the CPEs is turned On/Off"
    --CONFIGURABLE
    ::= { usrCableGlobal 7 }

usrCableMassChangesEnrolledCmMinimum OBJECT-TYPE
    SYNTAX  INTEGER (0..2048)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
      " This parameter will determine a minimum number of cable
       modems which will cause a generation of a mass change event or trap."
    --CONFIGURABLE
    ::= { usrCableGlobal 8 }	

usrCableMassChangesEnrolledCmPercentage OBJECT-TYPE
    SYNTAX  INTEGER (0..100)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " This parameter will determine a percentage of cable modems which will
       cause a generation of a mass change event or trap. "
    --CONFIGURABLE
    ::= { usrCableGlobal 9 }	

usrCableMassChangesEnrolledCmPollPeriod OBJECT-TYPE
    SYNTAX  INTEGER (0..600)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " This parameter will determine polling period interval , for measure
       mass change in a cable modem status. "
    --CONFIGURABLE
    ::= { usrCableGlobal 10 }	

usrCableReturnModeEnabled OBJECT-TYPE
    SYNTAX  INTEGER {
			none(0),
			telco(1),
			twoway(2),
			telco-or-twoway(3),
			threeway(4),
			telco-twoway-or-threeway(7)
	}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " This parameter enables the various cable return mode available.  They can be set with the respective feature key. "
    --CONFIGURABLE
    ::= { usrCableGlobal 11 }

usrCableConcatenationEnabled OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " This flag enables/disables the concatenation"
    --CONFIGURABLE
    ::= { usrCableGlobal 12 }



usrCableTSI OBJECT IDENTIFIER ::= { usrCable 9 }

usrCableTSIregIPaddress OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "IP address the CM should send its registration request messages to."
    --CONFIGURABLE
    ::= { usrCableTSI 1 }

usrCableTSIDownChanID OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "An identifier of the downstream channel on which this message has been 
        transmitted."
    --CONFIGURABLE
    ::= { usrCableTSI 2 }

usrCableTSIstatus   OBJECT-TYPE
    SYNTAX INTEGER {
                        disabled(0),
                        enabled(1),
                        updated(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "When the status is set to disabled CMTS will stop sending TSI messages.
        When the status is set to enabled CMTS will resume sending of the TSI 
        messages. When the status is set to updated the CMTS will update its 
        TSI message and start sending it."
    --CONFIGURABLE
    ::= { usrCableTSI 3 }
    
usrCableTCD OBJECT IDENTIFIER ::= { usrCable 10 }

usrCableTCDstatus   OBJECT-TYPE
    SYNTAX INTEGER {
                        disabled(0),
                        enabled(1),
                        updated(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "When the status is set to disabled CMTS will stop sending TCD messages.
        When the status is set to enabled CMTS will resume sending of the TCD 
        messages. When the status is set to updated the CMTS will update its 
        TCD message and start sending it."
    --CONFIGURABLE
    ::= { usrCableTCD 1 }
    
usrCable2way OBJECT IDENTIFIER ::= { usrCable 11 }

usrCable2waySid   OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..256))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " Privacy Key String "
    ::= { usrCable2way 1 }

usrCable2wayKey   OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..256))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " usrCable2waySid"
    ::= { usrCable2way 2 }

usrCable2wayIvector   OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..256))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " Initialization Vector"
    ::= { usrCable2way 3 }

usrCable2wayInterleaveDepth   OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..256))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " Modulator Interleave depth "
    ::= { usrCable2way 4 }

usrCable2wayTriggerDownload   OBJECT-TYPE
SYNTAX	INTEGER {
		normal(1),
		triggerDownLoad(2),
		deletingImageFile(3),
		readyForDownLoad(4),
		downloadToUMC(5),
		resetUMC(6)
	}
MAX-ACCESS      read-write
STATUS      current
DESCRIPTION
	"This value is used to  prepare the system to receive a
	 new system image via TFTP. A Network Management
	 station initiates a system image download by setting the
	 value of this object to 'triggerDownLoad'. The system then sets
	 the state to 'deletingImageFile', while it removs the current
	 image file from the flash file system. This frees up space in the
	 flash file system for the new image. 

	 When the old image file is deleted, the value of this will be
	 changed to 'readyForDownLoad'. The NMS is expected to poll
	 this MIB object until this state is reached. Then it can 
	 begin a TFTP download of the new image file.

	 (NOTE: if the system crashes or reboots during the 
	 'deleteingImageFile' or 'readyForDownLoad' states, the system
	 will NOT reboot, and the image must be update via a console
	 port Software Down Load.)

	 After the new system image TFTP download has been completed,
	 the NMS **MUST** set this object back to the 'normal' state.
	 A system shutdown or reboot via the usrCfgRebootFlag object 
	 will not be allowed unless the this object has been reset to
	 'normal'.
	 
	 downloadToUMC will download this file to UMC card "
	::= { usrCable2way 5 }

usrCable2wayImageFileName   OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (1..256))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " The Image filename to be downloaded to the card"
    ::= { usrCable2way 6 }
usrCable2wayTftpStatus   OBJECT-TYPE
    SYNTAX INTEGER 
	{
		generalError(1),
		tftpError(2),
		fileOpenFailed(3),
		fileReadFailed(4),
		tftpTimeout(5),
		illegalTftp(6),
		diskFull(7),
		crcError(8),
		tftpSuccess(9)
	}	
	 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "TFTP Status. This contains the TFTP Error Code if there is an error in
        in transferring the code to UMC"
    ::= { usrCable2way 7 }

usrCable2wayBurstProfileTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCable2wayBurstProfileEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" "
	::= { usrCable2way 8 }
 
usrCable2wayBurstProfileEntry	OBJECT-TYPE
	SYNTAX	UsrCable2wayBurstProfileEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" "
	INDEX { docsIfCmtsModIndex, docsIfCmtsModIntervalUsageCode }
	::= { usrCable2wayBurstProfileTable 1 }

UsrCable2wayBurstProfileEntry	::= SEQUENCE {
	   usrCable2wayBPuwLen INTEGER (1..3),
	   usrCable2wayBPuwPattern OCTET STRING (SIZE (1..4)),
	   usrCable2wayBPuwDetectionWindow INTEGER (0..255),
	   usrCable2wayBPuwCorrelationThreshold INTEGER (0..255),
	   usrCable2wayBPuwMismatchThreshold INTEGER,
	   usrCable2wayBPDerandomizerPRS INTEGER,
	   usrCable2wayBPEqualizerTrainingSeqLength INTEGER,
	   usrCable2wayBPPreamblValOffset INTEGER
	}

usrCable2wayBPuwLen	OBJECT-TYPE
	SYNTAX	INTEGER	(1..3)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= {  usrCable2wayBurstProfileEntry	  1 }

usrCable2wayBPuwPattern OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (1..4))
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= {  usrCable2wayBurstProfileEntry	  2 }

usrCable2wayBPuwDetectionWindow OBJECT-TYPE
	SYNTAX	INTEGER	  (0..255)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayBurstProfileEntry	  3 }

usrCable2wayBPuwCorrelationThreshold	OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayBurstProfileEntry	  4 }


usrCable2wayBPuwMismatchThreshold	OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayBurstProfileEntry	  5 }

usrCable2wayBPDerandomizerPRS	OBJECT-TYPE
	SYNTAX	INTEGER {
		normal(0),
		inverted(1)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayBurstProfileEntry	  6 }

usrCable2wayBPEqualizerTrainingSeqLength	OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayBurstProfileEntry	  7 }

usrCable2wayBPPreamblValOffset	OBJECT-TYPE
	SYNTAX	INTEGER (0..1023)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayBurstProfileEntry	  8 }


usrCable2wayTftpUmcSlotNumber   OBJECT-TYPE
    SYNTAX INTEGER (1..16)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "Slot number of UMC"
    ::= { usrCable2way 10 }

usrCable2wayUpChannelTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCable2wayUpChannelEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" "
	::= { usrCable2way 9 }

 
usrCable2wayUpChannelEntry	OBJECT-TYPE
	SYNTAX	UsrCable2wayUpChannelEntry
	MAX-ACCESS not-accessible
	STATUS	current
	DESCRIPTION
		" "
	INDEX	{ ifIndex }
	::= { usrCable2wayUpChannelTable 1 }

UsrCable2wayUpChannelEntry	::=
	SEQUENCE {
		usrCable2wayUpChannelConfigChangeCount INTEGER (0..255),
		usrCable2wayUpChannelSpectrumInv INTEGER (0..255),
		usrCable2wayUpChannelPreamble OCTET STRING (SIZE (128)),
		usrCable2wayUpChannelSymRate INTEGER (0..255),
		usrCable2wayUpChannelTempSIDStart INTEGER (0..16383),
		usrCable2wayUpChannelTempSIDEnd INTEGER (0..16383),
		usrCable2wayUpChannelSNR TenthdBmV,
		usrCable2wayUFCCrcErrorTreshold	INTEGER,
		usrCable2wayUFCHeaderChecksumErrorTreshold INTEGER,
		usrCable2wayUFCFECUncorrectableTreshold INTEGER,
		usrCable2wayUFCErrorDetectionInterval INTEGER,
		usrCable2wayInputPowerLevel INTEGER
---	usrCable2wayInputPowerTreshold INTEGER
	}

usrCable2wayUpChannelConfigChangeCount	OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry	  1 }

usrCable2wayUpChannelSpectrumInv	OBJECT-TYPE
	SYNTAX	INTEGER	(0..255)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= {  usrCable2wayUpChannelEntry	  2 }


usrCable2wayUpChannelPreamble	OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (128))
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" "
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry	  3 }


usrCable2wayUpChannelSymRate OBJECT-TYPE
	SYNTAX	INTEGER	  (0..255)
	MAX-ACCESS	read-write
	STATUS	obsolete
	DESCRIPTION
		" "
	::= { usrCable2wayUpChannelEntry	  4 }

usrCable2wayUpChannelTempSIDStart OBJECT-TYPE
	SYNTAX	INTEGER	  (0..16383)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" Start of Temporary SID pool"
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry	  5 }

usrCable2wayUpChannelTempSIDEnd OBJECT-TYPE
	SYNTAX	INTEGER	  (0..16383)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" End of Temporary SID pool"
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry	  6 }

usrCable2wayUpChannelSNR OBJECT-TYPE
	SYNTAX	TenthdBmV
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		" Signal/Noise Ratio as percieved for this channel "
	::= { usrCable2wayUpChannelEntry	  7 }

usrCable2wayUFCCrcErrorTreshold	OBJECT-TYPE
	SYNTAX	INTEGER 
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		" UFC Crc ErrorTreshold (Counts per second) "
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry  8 }

usrCable2wayUFCHeaderChecksumErrorTreshold	OBJECT-TYPE
	SYNTAX	INTEGER 
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	" usrCable2wayUFCHeaderChecksumErrorTreshold (Counts per second) "
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry  9 }

usrCable2wayUFCFECUncorrectableTreshold	OBJECT-TYPE
	SYNTAX	INTEGER 
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	" usrCable2wayUFCFECUncorrectableTreshold (Counts per second) "
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry  10 }

usrCable2wayUFCErrorDetectionInterval	OBJECT-TYPE
	SYNTAX	INTEGER 
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	" usrCable2wayUFCErrorDetectionInterval (in seconds) "
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry  11 }

usrCable2wayInputPowerLevel	OBJECT-TYPE
	SYNTAX	INTEGER 
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	" Input power level as seen on the Upstream channel interface"
    --CONFIGURABLE
	::= { usrCable2wayUpChannelEntry  12 }

-- May be implemented in the future
--
--usrCable2wayInputPowerTreshold	OBJECT-TYPE
--	SYNTAX	INTEGER 
--	MAX-ACCESS	read-write
--	STATUS	current
--	DESCRIPTION
--	" Power level below which the signal is discarded"
--	::= { usrCable2wayUpChannelEntry  13 }


usrCable2wayUFCObjects OBJECT IDENTIFIER ::= { usrCable2way 11 }

usrCable2wayUFCTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCable2wayUFCEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" "
	::= { usrCable2wayUFCObjects 1 }
 
usrCable2wayUFCEntry	OBJECT-TYPE
	SYNTAX	UsrCable2wayUFCEntry
	MAX-ACCESS not-accessible
	STATUS	current
	DESCRIPTION
		" "
	INDEX	{ ifIndex, usrCable2wayUFCIndex }
	::= { usrCable2wayUFCTable 1 }

UsrCable2wayUFCEntry ::= SEQUENCE {
	   usrCable2wayUFCIndex		INTEGER (1..5),
	   usrCable2wayUFCUpstreamFrequency INTEGER (0..1000000000)
	}

usrCable2wayUFCIndex	OBJECT-TYPE
	SYNTAX	INTEGER (1..5)
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" Upstream Frequency Change table index"
	::= { usrCable2wayUFCEntry  1 }

usrCable2wayUFCUpstreamFrequency	OBJECT-TYPE
        SYNTAX      INTEGER (0..1000000000)
        UNITS       "hertz"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The center of the frequency band associated with this
             upstream channel. This object returns 0 if the frequency
             is undefined or unknown. Minimum permitted upstream
             frequency is 5,000,000 Hz."
    --CONFIGURABLE
	::= { usrCable2wayUFCEntry 2}



usrCableConnectionTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCableConnectionEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" "
	::= { usrCable 13 }
 
usrCableConnectionEntry	OBJECT-TYPE
	SYNTAX	UsrCableConnectionEntry
	MAX-ACCESS not-accessible
	STATUS	current
	DESCRIPTION
		" "
	INDEX	{ usrCableConnectionSlotIndex, usrCableConnectionChannelIndex }
	::= { usrCableConnectionTable 1 }

UsrCableConnectionEntry ::= SEQUENCE {
	   usrCableConnectionSlotIndex		INTEGER (1..16),
	   usrCableConnectionChannelIndex		INTEGER (1..4),
	   usrCableConnectionCommand INTEGER,
	   usrCableConnectionStatus INTEGER
	}

usrCableConnectionSlotIndex	OBJECT-TYPE
	SYNTAX	INTEGER (1..16)
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" Slot number to which UMC/Dip is connected "
	::= { usrCableConnectionEntry  1 }

usrCableConnectionChannelIndex	OBJECT-TYPE
	SYNTAX	INTEGER (1..4)
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" Slot number to which UMC/Dip is connected "
	::= { usrCableConnectionEntry  2 }

usrCableConnectionCommand OBJECT-TYPE
        SYNTAX      INTEGER {
		idle(1),
		connect(2),
		disconnect(3)
		}
	MAX-ACCESS  read-write 
	STATUS      current
        DESCRIPTION
        " Connection Command can be issued from the CLI to be 
		connect/disconnecct "
	--CONFIGURABLE
	::= { usrCableConnectionEntry  3 }

usrCableConnectionStatus OBJECT-TYPE
    SYNTAX      INTEGER {
		connect(1),
		disconnect(2),
		trying(3)
		}
	MAX-ACCESS  read-only 
	STATUS      current
        DESCRIPTION
        " Connection Status of the Card "
	--CONFIGURABLE
	::= { usrCableConnectionEntry  4 }

--
-- The BPI base table for CMTSs, indexed by ifIndex
--
usrCableBpiCmtsBaseTable OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCableBpiCmtsBaseEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"Describes the basic Baseline Privacy attributes of each CMTS MAC interface."
	::= { usrCable 12 }
	
usrCableBpiCmtsBaseEntry OBJECT-TYPE
	SYNTAX UsrCableBpiCmtsBaseEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"An entry containing objects describing attributes of one CMTS MAC interface. An entry in this table
	exists for each ifEntry with an ifType of docsCableMaclayer(127)."
	INDEX { ifIndex }
	::= { usrCableBpiCmtsBaseTable 1 }
	
UsrCableBpiCmtsBaseEntry ::= SEQUENCE {
	usrCableBpiCmtsTelcoAuthRequests Integer32,
	usrCableBpiCmts2wayAuthRequests Integer32,
	usrCableBpiCmtsTelcoAuthReplies Integer32,
	usrCableBpiCmts2wayAuthReplies Integer32,
	usrCableBpiCmtsTelcoAuthRejects Integer32,
	usrCableBpiCmts2wayAuthRejects Integer32,
	usrCableBpiCmtsTelcoAuthInvalids Integer32,
	usrCableBpiCmts2wayAuthInvalids Integer32
	}
usrCableBpiCmtsTelcoAuthRequests OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has received an Authorization Request message from any CM."
	::= { usrCableBpiCmtsBaseEntry 1 }

usrCableBpiCmts2wayAuthRequests OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has received an Authorization Request message from any CM."
	::= { usrCableBpiCmtsBaseEntry 2 }

usrCableBpiCmtsTelcoAuthReplies OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has transmitted an Authorization Reply message to any CM."
	::= { usrCableBpiCmtsBaseEntry 3 }

usrCableBpiCmts2wayAuthReplies OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has transmitted an Authorization Reply message to any CM."
	::= { usrCableBpiCmtsBaseEntry 4 }

usrCableBpiCmtsTelcoAuthRejects OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has transmitted an Authorization Reject message to any CM."
	::= { usrCableBpiCmtsBaseEntry 5 }

usrCableBpiCmts2wayAuthRejects OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has transmitted an Authorization Reject message to any CM."
	::= { usrCableBpiCmtsBaseEntry 6 }

usrCableBpiCmtsTelcoAuthInvalids OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has transmitted an Authorization Invalid message to any CM."
	::= { usrCableBpiCmtsBaseEntry 7 }

usrCableBpiCmts2wayAuthInvalids OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Count of times the CMTS has transmitted an Authorization Invalid message to any CM."
	::= { usrCableBpiCmtsBaseEntry 8 }


usrCableTraps OBJECT IDENTIFIER ::= { usrCable 14 } 
usrCableCARTraps OBJECT IDENTIFIER ::= { usrCableTraps 1 } 
usrCable2wayTraps OBJECT IDENTIFIER ::= { usrCableTraps 2 } 
usrCableTrapData OBJECT IDENTIFIER ::= { usrCableTraps 3 } 


usrCable2waySlotNumber OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"SlotNumber in which the UMC/DIP is connected"
	::= { usrCableTrapData 1 }

usrCable2wayChannelNumber OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"ChannelNumber in which the UMC/DIP is connected"
	::= { usrCableTrapData 2 }

usrCableCARNumModemsChangedStatus  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "NumModemsChangedStatus is a number of modems changed
         their status since a last poll period measurement." 
        ::= {usrCableTrapData 3 }

usrCableCARModemsChangedStatusUpChannel  OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "ModemsChangedStatusUpChannel is a number of upstream channel where 
         modems changed their status since a last poll period measurement." 
        ::= {usrCableTrapData 4 }

usrCableCARClockModeFrom  OBJECT-TYPE
        SYNTAX INTEGER { unknown(0),
                         backupMaster(1),
                         master(2),
                         slave(3)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "ClockModeFrom is the clockmode of CAR before change"
        ::= {usrCableTrapData 5 }

usrCableCARClockModeTo  OBJECT-TYPE
        SYNTAX INTEGER { unknown(0),
                         backupMaster(1),
                         master(2),
                         slave(3)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "ClockModeTo is the clockmode of CAR after change"
        ::= {usrCableTrapData 6 }

usrCable2wayUMCColdStart TRAP-TYPE
		ENTERPRISE  usrCable2wayTraps
		VARIABLES { usrCable2waySlotNumber }
        DESCRIPTION 
		" This trap messafe signifies that Upstream Card is
		sending the cold start trap "
::= 201

usrCable2wayUMCWarmStart TRAP-TYPE
		ENTERPRISE  usrCable2wayTraps
		VARIABLES { usrCable2waySlotNumber }
        DESCRIPTION 
		" This trap messafe signifies that Upstream Card is
		sending the warm start trap "
::= 202

usrCable2wayUMCHealth TRAP-TYPE
		ENTERPRISE  usrCable2wayTraps
		VARIABLES { usrCable2waySlotNumber }
        DESCRIPTION 
		" This trap message signifies that Upstream Card is
		sending trap to tell that the card is not doing well"
::= 203

usrCable2wayUMCUFCChange TRAP-TYPE
		ENTERPRISE  usrCable2wayTraps
		VARIABLES { ifIndex }
        DESCRIPTION 
		" This trap message signifies that Upstream Card is
		Has changed the frequency"
::= 204


usrCableCARSlotConnected TRAP-TYPE
		ENTERPRISE  usrCableCARTraps
		VARIABLES { usrCable2waySlotNumber, usrCable2wayChannelNumber}
        DESCRIPTION 
		" This trap message signifies that Upstream Card/DIP is
		Connected to the car"
::= 101

usrCableCARSlotDisconnected TRAP-TYPE
		ENTERPRISE  usrCableCARTraps
		VARIABLES { usrCable2waySlotNumber, usrCable2wayChannelNumber}
        DESCRIPTION 
		" This trap messafe signifies that Upstream Card/Downchannel Card is disconnected from the car"
::= 102

usrCableCARMassModemRegistration TRAP-TYPE
                ENTERPRISE usrCableCARTraps
		VARIABLES {usrCableCARNumModemsChangedStatus ,
                           usrCableCARModemsChangedStatusUpChannel ,
                           usrCableMassChangesEnrolledCmPollPeriod}
                DESCRIPTION 
		" This trap message signifies that on the one of Upstream Card/
                  there was mass modems registration ."
::= 103  

usrCableCARMassModemDropOff TRAP-TYPE
                ENTERPRISE usrCableCARTraps
		VARIABLES {usrCableCARNumModemsChangedStatus ,
                           usrCableCARModemsChangedStatusUpChannel ,
                           usrCableMassChangesEnrolledCmPollPeriod}
                DESCRIPTION 
		" This trap message signifies that on the one of Upstream Card/
                  there was mass modems drop off ."
::= 104

usrCableCARClockModeChange TRAP-TYPE
        ENTERPRISE   usrCableCARTraps
        VARIABLES { usrCable2waySlotNumber,
                    usrCableCARClockModeFrom,
                    usrCableCARClockModeTo }
        DESCRIPTION "This trap message informs the change of CAR clockmode."
::= 105

usrCableSlotInfoTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UsrCableSlotInfoEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		" "
	::= { usrCable 15 }
 
usrCableSlotInfoEntry	OBJECT-TYPE
	SYNTAX	UsrCableSlotInfoEntry
	MAX-ACCESS not-accessible
	STATUS	current
	DESCRIPTION
		" "
	INDEX	{ usrCableConnectionSlotIndex }
	::= { usrCableSlotInfoTable 1 }

UsrCableSlotInfoEntry ::= SEQUENCE {
	   usrCableSlotType INTEGER,
	   usrCableSoftwareVersion DisplayString (SIZE (1..64)),
	   usrCableCardHealth INTEGER,
	   usrCableCardConnectionStatus INTEGER
	}

usrCableSlotType OBJECT-TYPE
        SYNTAX      INTEGER {
		other(1),
		empty(2),
		cableAccessRouter(3),
		upstreamManagementCard(4),
		masterCableAccessRouter(5),
		slaveCableAccessRouter(6),
        backupMasterCableAccessRouter(7)
		}
	MAX-ACCESS  read-only 
	STATUS      current
        DESCRIPTION
        " Card name "
	::= { usrCableSlotInfoEntry  1 }

usrCableSoftwareVersion OBJECT-TYPE
    	SYNTAX  DisplayString (SIZE (1..64))
	MAX-ACCESS  read-only 
	STATUS      current
        DESCRIPTION
        " software version of the code running on the card"
	::= { usrCableSlotInfoEntry  2 }

usrCableCardHealth OBJECT-TYPE
        SYNTAX      INTEGER {
		other(1),
		good(2),
		bad(3)
		}
	MAX-ACCESS  read-only 
	STATUS      current
        DESCRIPTION
        " Card name "
	::= { usrCableSlotInfoEntry  3 }

usrCableCardConnectionStatus OBJECT-TYPE
    SYNTAX      INTEGER {
		unknown(1),
		connected(2),
		disconnected(3),
		trying(4)
		}
	MAX-ACCESS  read-only 
	STATUS      current
        DESCRIPTION
        " Connection Status of the Card "
	::= { usrCableSlotInfoEntry  4 }

usrCable3ComSPDTable  OBJECT-TYPE
    SYNTAX 	SEQUENCE OF UsrCable3ComSPDEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    " A table of all the 3ComSPD messages that get sent out"
     ::= { usrCable 16 }

usrCable3ComSPDEntry OBJECT-TYPE
    SYNTAX UsrCable3ComSPDEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Table Entry"
    INDEX {usrCable3ComSPDindex}
    ::= {usrCable3ComSPDTable 1}

UsrCable3ComSPDEntry ::= SEQUENCE {
    usrCable3ComSPDindex    Integer32,
    usrCableDHCPOptions  OCTET STRING,
    usrCableSpecifiedSrcAddr  IpAddress
    }

usrCable3ComSPDindex    OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
    "The index"
    ::= { usrCable3ComSPDEntry 1}

usrCableDHCPOptions  OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(1..16))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Existence of this variable sends TLV's PureDHCP"
	--CONFIGURABLE
    ::= { usrCable3ComSPDEntry 2}

usrCableSpecifiedSrcAddr  OBJECT-TYPE
    SYNTAX 	IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Specified Source Address "
	--CONFIGURABLE
    ::= { usrCable3ComSPDEntry 3}

--
-- CM status table (within CMTS).
-- This table is implemented only at the CMTS.
-- It contains per CM status information available in the CMTS.
--

usrCableCmtsCmStatisticsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrCableCmtsCmStatisticsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of objects in the CMTS, maintained for each
             Cable Modem connected to this CMTS."
     ::= { usrCable 17 }

usrCableCmtsCmStatisticsEntry OBJECT-TYPE
        SYNTAX      UsrCableCmtsCmStatisticsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Statistics information for a single Cable Modem.
             An entry in this table exists for each Cable Modem
             that is connected to the CMTS implementing this table."
        INDEX { usrCableCmtsCmStatisticsIndex }
        ::= { usrCableCmtsCmStatisticsTable 1 }

UsrCableCmtsCmStatisticsEntry ::= SEQUENCE {
            usrCableCmtsCmStatisticsIndex               INTEGER,
            usrCableCmtsCmStatisticsMacAddress          MacAddress,
            usrCableCmtsCmCumNumOfInitRanging           Counter32,
            usrCableCmtsCmCumRegSuccesses               Counter32,
            usrCableCmtsCmCumDropOffs               	Counter32
        }

usrCableCmtsCmStatisticsIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { usrCableCmtsCmStatisticsEntry 1 }

usrCableCmtsCmStatisticsMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        ::= { usrCableCmtsCmStatisticsEntry 2 }

usrCableCmtsCmCumNumOfInitRanging OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Number of Initial Ranging Messages"
        ::= { usrCableCmtsCmStatisticsEntry 3 }

usrCableCmtsCmCumRegSuccesses OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Cumulative Number of registration successes"
        ::= { usrCableCmtsCmStatisticsEntry 4 }

usrCableCmtsCmCumDropOffs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Cumulative Number of Times Modem Sent a Ranging Aborted as it has
	not responded to station manitenance"
        ::= { usrCableCmtsCmStatisticsEntry 5 }

-- This OID is allocated for Amplifynet to use under 3Com Bandwidth Manager.
-- at Hafeez Saleem(saleemh@amplifynet.com)'s request
-- Contact jack fijolek(jack_fijolek@3com.com) for any questions related to 
-- this sub tree.
usrCableAmplifynet OBJECT IDENTIFIER ::= { usrCable 18 }

--
--   CM Class of Service table -actually addition to standard QoSProfile tab.
--
usrCableCoSTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrCableCoSEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the attributes  for each class of service
             maintained in this CMTS."
        ::= { usrCable 19 }

usrCableCoSEntry OBJECT-TYPE
        SYNTAX      UsrCableCoSEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes attributes of a single Class Of Service."
        INDEX {usrCableCoSName  }
        ::= {usrCableCoSTable  1 }

UsrCableCoSEntry ::= SEQUENCE {
            usrCableCoSName               DisplayString,
            usrCableCoSIndex              INTEGER,
            usrCableCoSPriority           INTEGER,
            usrCableCoSMaxUpBand          INTEGER,
            usrCableCoSGuarUpBand         INTEGER,
            usrCableCoSMaxDownBand        INTEGER,
            usrCableCoSMaxTxBurst         INTEGER,
            usrCableCoSMaxBasePrivacy     TruthValue,
            usrCableCoSDefault            INTEGER,
            usrCableCoSRowStatus          RowStatus   
            }
usrCableCoSName  OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (1..16))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "Identifies Class Of Service by assosiated with it name."
        ::={ usrCableCoSEntry 1}

usrCableCoSIndex    OBJECT-TYPE
        SYNTAX      INTEGER(1..8)     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        " The index associate the entry with ones in a standard QOS profile
          table. Write on this field is prohibit during normal operation.
          Allowed only after reset of the device.  "
        --CONFIGURABLE
        ::={usrCableCoSEntry 2} 

usrCableCoSPriority    OBJECT-TYPE
        SYNTAX         INTEGER(0..7)     
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
        " The value of the field specifies the relative priority assigned
          to this service class for data transmission. "
        --CONFIGURABLE
        ::={usrCableCoSEntry 3} 

usrCableCoSMaxUpBand  OBJECT-TYPE
        SYNTAX        INTEGER(0..1500000)     
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
        " The value of the field specifies maximum upstream rate in bits
          per second that the CM is permitted to forward to RF network. 
		  Zero(0) means no limitation "
        --CONFIGURABLE
        ::={usrCableCoSEntry 4} 

usrCableCoSGuarUpBand    OBJECT-TYPE
        SYNTAX      INTEGER(0..1500000)     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        " The value of the field specifies the data rate in bit/sec which will 
          be guaranteed to this service class on the upstream channel.
		  Zero(0) means no limitation "
        --CONFIGURABLE
        ::={usrCableCoSEntry 5} 

usrCableCoSMaxDownBand    OBJECT-TYPE
        SYNTAX      INTEGER(0..10000000)     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        " The value of the field specifies maximum upstream rate in bits
          per second that the CM is permitted to forward to CPE unicast
          MAC addresses learned or configured as mapping to the registering
          modem.  Zero(0) means no limitation "
        --CONFIGURABLE
        ::={usrCableCoSEntry 6} 

usrCableCoSMaxTxBurst    OBJECT-TYPE
        SYNTAX      INTEGER(0..255)     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        " The value of the field specifies the maximum transmit burst in bytes
          which this service class is allowed on the upstream channel. "
        --CONFIGURABLE
        ::={usrCableCoSEntry 7} 

usrCableCoSMaxBasePrivacy    OBJECT-TYPE
        SYNTAX      TruthValue     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        " The value of the field specifies enables/disables Baseline Privacy."
        --CONFIGURABLE
        ::={usrCableCoSEntry 8} 

usrCableCoSDefault OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      yes(1), 
                      no(2) 
                     }
        MAX-ACCESS  read-write  
        STATUS      current 
        DESCRIPTION
        " Defines either this particalr class will be default class."     
        --CONFIGURABLE
        ::={ usrCableCoSEntry 9}

usrCableCoSRowStatus    OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        " Defines row status of the appropriate entry."
        --CONFIGURABLE
        ::={usrCableCoSEntry 10} 


-- This group is added to put the clock mode information. This is needed
-- because CFM saves the parameters only if we pass the group name or table
-- name. In stead of adding a new function store a single parameter, we change
-- the MIB in such a way that we can pass the group.
-- !!!!!!! So Please do not add any params to this group as they will be !!!!!
-- !!!!!!!!!!!!!!!!!!!! automatically saved in the flash !!!!!!!!!!!!!!!!!!!!!!
usrCableSpecial OBJECT IDENTIFIER ::= { usrCable 20 }

usrCableCMTSClockMode OBJECT-TYPE
    SYNTAX  INTEGER {
			backupMaster(1),
			master(2),
            		slave(3)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     " This sets up the CAR Clock Mode to be master/slave/backup master. 
	This is needed when you have multiple CARs in the same chassis"
        --CONFIGURABLE
    ::= { usrCableSpecial 1 }

--
-- Upstream Channel Change....
-- 
usrCableCmtsCmUCC OBJECT IDENTIFIER ::= { usrCable 21 }

usrCableCmtsCmUccTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrCableCmtsCmUccEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes the Modem attributes for the modem to
	     enable Upstream Channel Change"
        ::= { usrCableCmtsCmUCC 1 }

usrCableCmtsCmUccEntry OBJECT-TYPE
        SYNTAX      UsrCableCmtsCmUccEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes attributes of a single Class Of Service."
        INDEX {usrCableCmtsCmUccIndex  }
        ::= {usrCableCmtsCmUccTable  1 }

UsrCableCmtsCmUccEntry ::= SEQUENCE {
            usrCableCmtsCmUccIndex      INTEGER,
            usrCableCmtsCmUccMacAddress    MacAddress,
	    usrCableCmtsCmCurrUpChId 	INTEGER,
	    usrCableCmtsCmNewUpChId    INTEGER,
	    usrCableCmtsCmUccStatus 	INTEGER
            }

usrCableCmtsCmUccIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { usrCableCmtsCmUccEntry 1 }

usrCableCmtsCmUccMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        ::= { usrCableCmtsCmUccEntry 2 }

usrCableCmtsCmCurrUpChId OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            " The  Upchanel ID On which this modem is sending upstream
	      data"
        ::= { usrCableCmtsCmUccEntry 3 }

usrCableCmtsCmNewUpChId OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The new upchannel Id the modem should be moved to. Once the 
	     Ucc is complete CurrUpChId number changes to the new upChannelId"
        ::= { usrCableCmtsCmUccEntry 4 }

usrCableCmtsCmUccStatus OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The new upchannel Id the modem should be moved to. Once the 
	     Ucc is complete CurrUpChId number changes to the new upChannelId"
        ::= { usrCableCmtsCmUccEntry 5 }

usrCableUccEnable   OBJECT-TYPE
    SYNTAX INTEGER {
                        enable(1),
                        disable(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " setting this value allows the user to issue the UCC on the modem"
    --CONFIGURABLE
    ::= { usrCableCmtsCmUCC 2 }

usrCableUccRetries   OBJECT-TYPE
    SYNTAX INTEGER 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " Number of times CAR should retry before it gives up on unsuccessful
      UCC attempt"
    --CONFIGURABLE
    ::= { usrCableCmtsCmUCC 3 }

--
-- 3Com Specific CM Status Table Extensions....
-- 
usrCableCmtsCmStatus OBJECT IDENTIFIER ::= { usrCable 22 }

usrCableCmtsCmStatusTableClean OBJECT-TYPE
	SYNTAX  INTEGER {
		normal(1),
 		deleteInactiveCms(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"When set to deleteInactiveCms, will delete all cable modems in the 
	rangingAborted state from the CmtsCmStatusTable."
    --CONFIGURABLE
	::= { usrCableCmtsCmStatus 1}

--
-- CPE table (within CMTS).
-- This table is implemented only at the CMTS.
-- It contains per CM status information available in the CMTS.
--

usrCableCmtsCPETable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrCableCmtsCPEEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of objects in the CMTS, maintained for each
             CPE connected to Cable Modem."
        ::= { usrCable 23 }

usrCableCmtsCPEEntry OBJECT-TYPE
        SYNTAX     UsrCableCmtsCPEEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Status information for a single CPE .
             An entry in this table exists for each CPE 
             that is connected to the CMTS thru Cable Modem."
        INDEX { usrCableCmtsCPECmIndex,
                usrCableCmtsCPEIndex }
        ::= { usrCableCmtsCPETable 1 }

UsrCableCmtsCPEEntry ::= SEQUENCE {
            usrCableCmtsCPECmIndex                INTEGER,
            usrCableCmtsCPEIndex                  INTEGER,
            usrCableCmtsCPEIpAddress              IpAddress,
            usrCableCmtsCPEMacAddress             MacAddress,
            usrCableCmtsCPECmMacAddress           MacAddress
        }

usrCableCmtsCPECmIndex  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only 
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { usrCableCmtsCPEEntry 1 }

usrCableCmtsCPEIndex  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
	STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual CPE, this index value should
             not change during CMTS uptime."
        ::= { usrCableCmtsCPEEntry 2 }

usrCableCmtsCPEIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of the CPE."
        ::= { usrCableCmtsCPEEntry 3 }

usrCableCmtsCPEMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of CPE."
        ::= { usrCableCmtsCPEEntry 4 }

usrCableCmtsCPECmMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        ::= { usrCableCmtsCPEEntry 5 }


--
-- CM Stat table (within CMTS).
-- This table is implemented only at the CMTS.
-- It contains per CM status information available in the CMTS.
--

usrCableCmtsStatisticsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrCableCmtsStatisticsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of objects in the CMTS, maintained for each
             CPE connected to Cable Modem."
        ::= { usrCable 24 }

usrCableCmtsStatisticsEntry OBJECT-TYPE
        SYNTAX     UsrCableCmtsStatisticsEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Status information for a single CPE .
             An entry in this table exists for each CPE 
             that is connected to the CMTS thru Cable Modem."
        INDEX { usrCableCmtsStatsIndex }
        ::= { usrCableCmtsStatisticsTable 1 }

UsrCableCmtsStatisticsEntry ::= SEQUENCE {
            usrCableCmtsStatsIndex                INTEGER,
            usrCableCmRegistrationCompleted       INTEGER,
            usrCableCmAccessDenied                INTEGER,
            usrCableCmIPCompleted                 INTEGER,
            usrCableCmRangingCompleted            INTEGER,
            usrCableCmRangingAborted              INTEGER,
            usrCableCmRanging                     INTEGER,
            usrCableCmTotal                       INTEGER
        }

usrCableCmtsStatsIndex  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { usrCableCmtsStatisticsEntry 1 }

usrCableCmRegistrationCompleted  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of the CPE."
        ::= { usrCableCmtsStatisticsEntry 2 }

usrCableCmAccessDenied  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of the CPE."
        ::= { usrCableCmtsStatisticsEntry 3 }

usrCableCmIPCompleted  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        ::= { usrCableCmtsStatisticsEntry 4 }

usrCableCmRangingCompleted  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of the CPE."
        ::= { usrCableCmtsStatisticsEntry 5 }

usrCableCmRangingAborted  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of CPE."
        ::= { usrCableCmtsStatisticsEntry 6 }

usrCableCmRanging  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
	STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual CPE, this index value should
             not change during CMTS uptime."
        ::= { usrCableCmtsStatisticsEntry 7 }

usrCableCmTotal  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "IP address of the CPE."
        ::= { usrCableCmtsStatisticsEntry 8 }

--
-- CPE table (within CMTS).
-- This table is implemented only at the CMTS.
-- It contains per CM status information available in the CMTS.
--

usrCableCPEIPCmMacTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UsrCableCPEIPCmMacEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of objects in the CMTS, maintained for each
             CPE connected to Cable Modem."
        ::= { usrCable 25 }

usrCableCPEIPCmMacEntry OBJECT-TYPE
        SYNTAX      UsrCableCPEIPCmMacEntry 
	MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Status information for a single CPE .
             An entry in this table exists for each CPE 
             that is connected to the CMTS thru Cable Modem."
        INDEX { usrCableCPECmIndex,
        	usrCableCPEIpAddress }
        ::= { usrCableCPEIPCmMacTable 1 }

UsrCableCPEIPCmMacEntry ::= SEQUENCE {
            usrCableCPECmIndex                INTEGER,
            usrCableCPEIpAddress              IpAddress,
            usrCableCPEMacAddress             MacAddress,
            usrCableCPECmMacAddress           MacAddress
        }

usrCableCPECmIndex  OBJECT-TYPE
        SYNTAX      INTEGER (1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index value to uniquely identify an entry in this table.
             For an individual Cable Modem, this index value should
             not change during CMTS uptime."
        ::= { usrCableCPEIPCmMacEntry 1 }

usrCableCPEIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "IP address of the CPE."
        ::= { usrCableCPEIPCmMacEntry 2 }

usrCableCPEMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of CPE."
        ::= { usrCableCPEIPCmMacEntry 3 }

usrCableCPECmMacAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "MAC address of this Cable Modem. If the Cable Modem has
             multiple MAC addresses, this is the MAC address associated
             with the Cable interface."
        ::= { usrCableCPEIPCmMacEntry 4 }

-- This group is added to support the Mcast Bridging Feature in the CMTS
usrCableMcastBridging OBJECT IDENTIFIER ::= { usrCable 26 }
usrCableMcastBridgingGlobal OBJECT IDENTIFIER ::= {usrCableMcastBridging 1 }

usrCableMcastBridgingGlobalEnable OBJECT-TYPE
    SYNTAX  INTEGER {
                        disable(0),
                        enable(1)
                }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "This enables/disables MAC Layer Multicast bridging on the
      CMTS. All multicast mac addresses (01 00 5E xx xx xx) received
      on the ethernet interface are bridged to the MCNS interface.
      By default, all mac layer multicast packets received from the
      MCNS interface that contain IGMP data are bridged to the 
      ethernet and MCNS interface. To forward non-IGMP multicast
      packets it is necessary to enable upstream multicast data
      forwarding."
        --CONFIGURABLE
    ::= {usrCableMcastBridgingGlobal 1 }

usrCableMcastUpstreamForwardingGlobalEnable OBJECT-TYPE
    SYNTAX  INTEGER {
                        disable(0),
                        enable(1)
                }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "This enables/disables bridging of mac layer multicast 
      addresses received from the MCNS interface that contain
      non-IGMP data. If enabled, the packets are bridged from
      the MCNS interface to the ethernet and MCNS interfaces."
        --CONFIGURABLE
    ::= {usrCableMcastBridgingGlobal 2 }

-- This group is added to support the PPPoE Bridging Feature in the CMTS
usrCablePPPoEBridging OBJECT IDENTIFIER ::= { usrCable 27 }
usrCablePPPoEBridgingGlobal OBJECT IDENTIFIER ::= {usrCablePPPoEBridging 1 }

usrCablePPPoEBridgingGlobalEnable OBJECT-TYPE
    SYNTAX  INTEGER {
			disable(0),
			enable(1)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "This enables/disables PPPoE Bridging on the CMTS. Any PPPoE 
      frames received on the MCNS interface are bridged to the 
      Ethernet interface and vice versa."
        --CONFIGURABLE
    ::= {usrCablePPPoEBridgingGlobal 1 }

usrCablePPPoEBridgingGlobalMCNSRxDiscFrames OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "This is a count of the total number of PPPoE Discovery frames
      received on the MCNS interface."
    ::= {usrCablePPPoEBridgingGlobal 2 }

usrCablePPPoEBridgingGlobalMCNSRxSessFrames OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "This is a count of the total number of PPPoE Session frames
      received on the MCNS interface."
    ::= {usrCablePPPoEBridgingGlobal 3 }

usrCablePPPoEBridgingGlobalEthRxDiscFrames OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "This is a count of the total number of PPPoE Discovery frames
      received on the Ethernet interface."
    ::= {usrCablePPPoEBridgingGlobal 4 }

usrCablePPPoEBridgingGlobalEthRxSessFrames OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "This is a count of the total number of PPPoE Session frames
      received on the Ethernet interface."
    ::= {usrCablePPPoEBridgingGlobal 5 }

usrCablePPPoEBridgingGlobalEthDiscardFrames OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "This is a count of the total number of frames discarded on 
      the Ethernet interface."
    ::= {usrCablePPPoEBridgingGlobal 6 }

usrCablePPPoEBridgingGlobalResetCounters OBJECT-TYPE
    SYNTAX  INTEGER {
			false(0),
			true(1)
		}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "This resets all PPPoE counters in the CMTS."
    ::= {usrCablePPPoEBridgingGlobal 7 }

--
--  This table maintains the additional parameter need for 
--  Network Specific Gateway feature.
--
usrNetworkSpecificGateway OBJECT IDENTIFIER ::= { usrCable 28 } 

usrNetSpecificGatewayTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF UsrNetSpecificGatewayEntry
	MAX-ACCESS     not-accessible
	STATUS     current 
	DESCRIPTION
		"A list of Network Specific Gateways."
        ::= { usrNetworkSpecificGateway 1 }

usrNetSpecificGatewayEntry OBJECT-TYPE
	SYNTAX      UsrNetSpecificGatewayEntry 
	MAX-ACCESS      not-accessible
	STATUS      current 
	DESCRIPTION
		"An entry containing management information about the 
         Network Specific Gateway."
	INDEX { usrCfgNetName }
::= { usrNetSpecificGatewayTable 1}

UsrNetSpecificGatewayEntry ::=
	SEQUENCE {
		usrNsgNetAddress IpAddress
		}

usrNsgNetAddress OBJECT-TYPE
        SYNTAX      IpAddress
	MAX-ACCESS      read-write
	STATUS      current 
	DESCRIPTION
		"The network address of the Network Specific Gateway."
	--CONFIGURABLE
::= { usrNetSpecificGatewayEntry 1 }

usrCableNsgStatus OBJECT-TYPE
    SYNTAX  INTEGER {
			enable(1),
			disable(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "Indicates whether the Network Specific Gateway feature is
     enabled or not."
    DEFVAL { disable }
    --CONFIGURABLE
    ::= { usrNetworkSpecificGateway 2 }

usrCableNsgForceToNsgSwitch OBJECT-TYPE
    SYNTAX  INTEGER {
			forceToNsgON(1),
			forceToNsgOFF(2)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    " Boolean variable which provides the state (on/off) of the
      Force To NSG switch for the NSG feature."
    DEFVAL { forceToNsgON }
    --CONFIGURABLE
    ::= { usrNetworkSpecificGateway 3 }

--
-- conformance information
--
END

