-- *****************************************************************
-- QTECH-OSPF-MIB.mib:  Qtech Ospf MIB file
--
-- November 2002, ChenXingBin
--
-- Copyright (c) 2002 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

QTECH-OSPF-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        TimeTicks,
        IpAddress,
        Unsigned32,
        Gauge32,
        Counter32
                FROM SNMPv2-SMI
        TruthValue,
        RowStatus
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ConfigStatus
                FROM QTECH-TC    
        EnabledStatus 
                FROM P-BRIDGE-MIB                
        AreaID,
        Status,
        PositiveInteger,
        DesignatedRouterPriority,
        RouterID,
        HelloRange 
                FROM OSPF-MIB
        qtechMgmt
                FROM QTECH-SMI;

qtechOspfMIB MODULE-IDENTITY
        LAST-UPDATED "200211200000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech Ospf mibs."
        REVISION      "200211200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 30}

qtechOspfMIBObjects OBJECT IDENTIFIER ::= { qtechOspfMIB 1 }

-- general mib
qtechOspfGeneralMibsGroup OBJECT IDENTIFIER ::= { qtechOspfMIBObjects 1 }

--Minimum LSA interval
qtechOspfMiniLsaInterval  OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
           "Minimum LSA interval that the two LSA generate."
     ::={ qtechOspfGeneralMibsGroup 1 }
 
--Minimum LSA arrival
qtechOspfMiniLsaArrival  OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
           "Minimum LSA Interval of the two LSA arrival."
     ::={ qtechOspfGeneralMibsGroup 2 }
     
--Number of areas in this router
qtechOspfAreasNum OBJECT-TYPE   
    SYNTAX  Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
           "Number of areas in this router"    
         ::={ qtechOspfGeneralMibsGroup 3 }
         
qtechOspfNormalAreasNum OBJECT-TYPE   
    SYNTAX  Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
           "Number of normal areas in this router"    
         ::={ qtechOspfGeneralMibsGroup 4}   

qtechOspfStubAreasNum OBJECT-TYPE   
    SYNTAX  Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
           "Number of stub areas in this router"    
         ::={ qtechOspfGeneralMibsGroup 5 }
                     
qtechOspfNssaAreasNum OBJECT-TYPE   
    SYNTAX  Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
           "Number of nssa areas in this router"    
         ::={ qtechOspfGeneralMibsGroup 6 }
                       
qtechOspfSpfDelay OBJECT-TYPE   
    SYNTAX  Unsigned32(0..2147483647)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
           "Ospf Spf shedule time, an integer from 0 to 65535. The default is 5
           seconds,0 means no delay."
    DEFVAL {5}
         ::={ qtechOspfGeneralMibsGroup 7 }  
         
qtechOspfSpfHoldTime OBJECT-TYPE   
    SYNTAX  Unsigned32(0..2147483647)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
           "hold time between two Spfs.an integer from 0 to 65535. The default is
            10 seconds; 0 means no delay."
    DEFVAL {10}
         ::={ qtechOspfGeneralMibsGroup 8 }
         
qtechOspfAutoCostRefBandWidthRef OBJECT-TYPE
    SYNTAX  Unsigned32(0..2147483647)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
           "Set AutoCost bandwidth referenc value in unit of Mbits.
            Setting this value to 0 indicate that disable the feature of 
            autocost bandwidth referenc."
    DEFVAL {100}
         ::={ qtechOspfGeneralMibsGroup 9 }   
         
qtechOspfLsaGroupPacing OBJECT-TYPE
    SYNTAX  Unsigned32(10..1800)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
           "set  the group pacing of LSAs."
    DEFVAL {240}
         ::={ qtechOspfGeneralMibsGroup 10}
    
qtechOspfInterDistance OBJECT-TYPE
     SYNTAX   Unsigned32(1..255)
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "Set  inter-area distance."
     DEFVAL {110}
    ::= { qtechOspfGeneralMibsGroup 11 }     
     
qtechOspfIntraDistance OBJECT-TYPE
     SYNTAX   Unsigned32(1..255)
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "Set  intra-area distance."
     DEFVAL {110}
    ::= { qtechOspfGeneralMibsGroup 12 }
    
qtechOspfExternDistance OBJECT-TYPE
     SYNTAX   Unsigned32(1..255)
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "Set  extern distance."
     DEFVAL {110}
    ::= { qtechOspfGeneralMibsGroup 13 }       

--LogAdjChangeNotify
qtechOspfLogAdjChangeNotify OBJECT-TYPE
     SYNTAX   EnabledStatus
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "if enabled status is setted,
        Send syslog message when a neighbor state changes."
     DEFVAL {enabled}
     ::= { qtechOspfGeneralMibsGroup 14 } 
    
qtechOspfPassiveStatus  OBJECT-TYPE
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
          "The qtechOspfIfPassiveStatus of a interface equal to this object value
           when this interface is created. If you change this object value to 'enabled'
           or 'disabled'all interfaces which have exist will also change their 
           qtechOspfIfPassiveStatus to 'enabled' or 'disabled'."
    DEFVAL { disabled }
    ::={ qtechOspfGeneralMibsGroup 15 }

qtechOspfRFC1583Compatibility  OBJECT-TYPE
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
         "Controls the preference rules used in calculating AS external routes
         (RFC2328 Section 16.4) when choosing among multiple AS-external-LSAs 
         advertising the same destination. When set to 'enabled', the preference
         rules remain those specified by RFC 1583 ([Ref9]). When set
         to 'disabled', the preference rules are those stated in
         'RFC2328 Section 16.4.1' which prevent routing loops when AS-
         external-LSAs for the same destination have been originated
         from different areas. Set to 'enabled' by default."
    REFERENCE
       "OSPF Version 2(RFC2328), C.1 Global parameters"                   
    DEFVAL { enabled }
    ::={ qtechOspfGeneralMibsGroup 16 } 
 
qtechOspfRouteRedisDefMetricVal OBJECT-TYPE
     SYNTAX   Unsigned32(1..16777214)
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "When this value is setted,Cause the current routing protocol(ospf) 
         to use the same metricvalue for all redistributed routes (BGP, RIP, and OSPF)." 
     DEFVAL {20}       
    ::= { qtechOspfGeneralMibsGroup 17} 
    
qtechOspfAdminiDistance OBJECT-TYPE
     SYNTAX   Unsigned32(1..255)
     MAX-ACCESS   read-write
     STATUS   current
     DESCRIPTION
        "ospf Administrative distance." 
     DEFVAL {110}       
    ::= { qtechOspfGeneralMibsGroup 18}     
 
 
--table mib
              
--qtechOspfAreaTable 
qtechOspfAreaTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechOspfAreaEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Information describing the configured  parame-
             ters  and cumulative statistics of the router's
             attached areas.This table is superset of ospfAreaTable"
    ::= { qtechOspfMIBObjects 2}
    
qtechOspfAreaEntry OBJECT-TYPE
        SYNTAX QtechOspfAreaEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of qtechOspfAreaTable."
        INDEX { qtechOspfAreaId}
    ::= { qtechOspfAreaTable 1 }
   
QtechOspfAreaEntry ::=
        SEQUENCE {
         qtechOspfAreaId
                AreaID,
         qtechOspfAuthType
                INTEGER,
         qtechOspfImportAsExtern
                INTEGER,
         qtechOspfSpfRuns
                Counter32,
         qtechOspfAreaBdrRtrCount
                Gauge32,
         qtechOspfAsBdrRtrCount
                Gauge32,
         qtechOspfAreaLsaCount
                Gauge32,
         qtechOspfAreaLsaCksumSum
                Unsigned32,
         qtechOspfAreaSummary
                INTEGER,
         qtechOspfAreaStatus
                RowStatus,        
-- extend parts                
         qtechOspfAreaInterfaceNum
                Unsigned32,
         qtechOspfAreaNssaIsRedistribution
                TruthValue,
         qtechOspfAreaNssaIsDefInfoOriginate
                TruthValue
         }
    qtechOspfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A 32-bit integer uniquely identifying an area.
           Area ID 0.0.0.0 is used for the OSPF backbone."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { qtechOspfAreaEntry 1 }


    qtechOspfAuthType OBJECT-TYPE
        SYNTAX   INTEGER{
                    none(0),
                    simplePassword(1),
                    md5 (2)
                    -- reserved for specification by IANA (> 2)
                    }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The authentication type specified for an area.
           Additional authentication types may be assigned
           locally on a per Area basis."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { qtechOspfAreaEntry 2 }

    qtechOspfImportAsExtern OBJECT-TYPE
        SYNTAX   INTEGER    {
                    importExternal (1), --normal area
                    importNoExternal (2), -- stub area
                    importNssa (3)        -- NSSA area
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The area's support for importing  AS  external
           link- state advertisements."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      DEFVAL { importExternal }
      ::= { qtechOspfAreaEntry 3 }


    qtechOspfSpfRuns OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of times that the intra-area  route
           table  has  been  calculated  using this area's
           link-state database.  This  is  typically  done
           using Dijkstra's algorithm."
       ::= { qtechOspfAreaEntry 4 } 
           
    qtechOspfAreaBdrRtrCount OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The total number of area border routers reach-
           able within this area.  This is initially zero,
           and is calculated in each SPF Pass."
       ::= { qtechOspfAreaEntry 5 }

    qtechOspfAsBdrRtrCount OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The total number of Autonomous  System  border
           routers  reachable  within  this area.  This is
           initially zero, and is calculated in  each  SPF
           Pass."
       ::= { qtechOspfAreaEntry 6 }


    qtechOspfAreaLsaCount OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The total number of link-state  advertisements
           in  this  area's link-state database, excluding
           AS External LSA's."
       ::= { qtechOspfAreaEntry 7 }


    qtechOspfAreaLsaCksumSum OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32-bit unsigned sum of the link-state  ad-
           vertisements'  LS  checksums  contained in this
           area's link-state database.  This sum  excludes
           external (LS type 5) link-state advertisements.
           The sum can be used to determine if  there  has
           been  a  change  in a router's link state data-
           base, and to compare the link-state database of
           two routers."
       DEFVAL   { 0 }
       ::= { qtechOspfAreaEntry 8 }

    qtechOspfAreaSummary OBJECT-TYPE
        SYNTAX   INTEGER    {
                    noAreaSummary (1),
                    sendAreaSummary (2)
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The variable ospfAreaSummary controls the  im-
           port  of  summary LSAs into stub areas.  It has
           no effect on other areas.

           If it is noAreaSummary, the router will neither
           originate  nor  propagate summary LSAs into the
           stub area.  It will rely entirely  on  its  de-
           fault route.

           If it is sendAreaSummary, the router will  both
           summarize and propagate summary LSAs."
       DEFVAL   { sendAreaSummary }
       ::= { qtechOspfAreaEntry 9 }


    qtechOspfAreaStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { qtechOspfAreaEntry 10 }
              
   qtechOspfAreaInterfaceNum OBJECT-TYPE   --for command "show 
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " the interface number of this area" 
    ::= { qtechOspfAreaEntry 11 }
    
   qtechOspfAreaNssaIsRedistribution OBJECT-TYPE  
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            " if it's disabled , when the router is an NSSA ABR and
            you want the redistribute command to import routes into normal
            areas, but not into the NSSA,
            this field is vaild for nssa area"
        DEFVAL {true}
    ::= { qtechOspfAreaEntry 12}
    
   qtechOspfAreaNssaIsDefInfoOriginate OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "if it's enabled it meaning that on an ABR to allow
            importing type 7 LSAs into the NSSA,
            this field is valid for nssa area"
        DEFVAL {false}
    ::= { qtechOspfAreaEntry 13}
   
    
--network address scope table   
qtechOspfAddressScopeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechOspfAddressScopeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Define an interface on which OSPF runs and the area ID for that
            interface. You can use the wildcard-mask to use a single
            command to define one or more multiple interfaces to be
            associated with a specific OSPF area. "
    ::= { qtechOspfMIBObjects 3 }
    
qtechOspfAddressScopeEntry OBJECT-TYPE
        SYNTAX QtechOspfAddressScopeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "the entry define an scope of address for ospf routing."
        INDEX { qtechOspfNetWorkAreaID,qtechOspfNetWorkAddress, qtechOspfNetWorkMask}
    ::= { qtechOspfAddressScopeTable 1 }

    
QtechOspfAddressScopeEntry ::=
        SEQUENCE {
        qtechOspfNetWorkAreaID
                IpAddress,
        qtechOspfNetWorkAddress
                IpAddress,
        qtechOspfNetWorkMask
                IpAddress,
        qtechOspfNetWorkStatus
                 RowStatus

        }
    
qtechOspfNetWorkAreaID OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "area ID"
    ::= { qtechOspfAddressScopeEntry 1 }
    
qtechOspfNetWorkAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Routing for Networks Ipaddress"
    ::= { qtechOspfAddressScopeEntry 2 }
    
qtechOspfNetWorkMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Routing for Networks mask"
    ::= { qtechOspfAddressScopeEntry 3 }
    
qtechOspfNetWorkStatus    OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            " when this value is destroy,the 
            entry will be deleted"
    ::= { qtechOspfAddressScopeEntry 4 }     


-- The Ospf Interface Configuration Table

qtechOspfIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Interface Table describes the  interfaces 
           from the viewpoint of OSPF."
       REFERENCE
          "ospfIfTable in rfc1850"    
       ::= { qtechOspfMIBObjects  4 }

qtechOspfIfEntry OBJECT-TYPE
       SYNTAX   QtechOspfIfEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "The OSPF Interface Entry describes one  inter-
           face configuration of OSPF."
      INDEX { qtechOspfIfIpAddress, qtechOspfAddressLessIf  }
      ::= { qtechOspfIfTable 1 }
    
QtechOspfIfEntry ::=
        SEQUENCE {
         qtechOspfIfIpAddress
            IpAddress,
         qtechOspfAddressLessIf
            Unsigned32,
         qtechOspfIfAreaId
            AreaID,
         qtechOspfIfType
            INTEGER,
         qtechOspfIfAdminStat
            Status,
         qtechOspfIfRtrPriority
            DesignatedRouterPriority,
         qtechOspfIfTransitDelay
            Unsigned32,
         qtechOspfIfRetransInterval
            Unsigned32,
         qtechOspfIfHelloInterval
            HelloRange,
         qtechOspfIfRtrDeadInterval
            PositiveInteger,
         qtechOspfIfPollInterval
            PositiveInteger,
         qtechOspfIfState
            INTEGER,
         qtechOspfIfDesignatedRouter
            IpAddress,
         qtechOspfIfBackupDesignatedRouter
            IpAddress,
         qtechOspfIfEvents
            Counter32,
         qtechOspfIfAuthType
            INTEGER,
         qtechOspfIfAuthKey
            OCTET STRING,
         qtechOspfIfStatus
            RowStatus,
         qtechOspfIfMulticastForwarding
            INTEGER,
         qtechOspfIfDemand
            TruthValue,        
         qtechOspfIfDatabaseFilterAllOut
                EnabledStatus,
         qtechOspfIfDesignateRouterId     
                IpAddress,
         qtechOspfIfBackupDesignateRouterId 
                IpAddress,
         qtechOspfIfWaitInternal
                TimeTicks,
         qtechOspfIfPassiveStatus
                EnabledStatus,
         qtechOspfIfCurrentUsedMd5AuthKeyId
                Unsigned32
                 }
qtechOspfIfIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address of this OSPF interface."
       ::= { qtechOspfIfEntry 1 }

qtechOspfAddressLessIf OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "For the purpose of easing  the  instancing  of
           addressed   and  addressless  interfaces;  This
           variable takes the value 0 on  interfaces  with
           IP  Addresses,  and  the corresponding value of
           ifIndex for interfaces having no IP Address."
       ::= { qtechOspfIfEntry 2 }


qtechOspfIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A 32-bit integer uniquely identifying the area
           to  which  the  interface  connects.   Area  ID
           0.0.0.0 is used for the OSPF backbone."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { qtechOspfIfEntry 3 }

qtechOspfIfType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    broadcast (1),
                    nbma (2),
                    pointToPoint (3),
                    pointToMultipoint (5),
                    loopback(6)
                  }
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The OSPF interface type.

           By way of a default, this field may be intuited
           from the corresponding value of ifType.  Broad-
           cast LANs, such as  Ethernet  and  IEEE  802.5,
           take  the  value  'broadcast', X.25 and similar
           technologies take the value 'nbma',  and  links
           that  are  definitively point to point take the
           value 'pointToPoint'."
       ::= { qtechOspfIfEntry 4 }


qtechOspfIfAdminStat OBJECT-TYPE
        SYNTAX   Status
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The OSPF  interface's  administrative  status.
           The  value formed on the interface, and the in-
           terface will be advertised as an internal route
           to  some  area.   The  value 'disabled' denotes
           that the interface is external to OSPF."
       ::= { qtechOspfIfEntry 5 }

qtechOspfIfRtrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The  priority  of  this  interface.   Used  in
           multi-access  networks,  this  field is used in
           the designated router election algorithm.   The
           value 0 signifies that the router is not eligi-
           ble to become the  designated  router  on  this
           particular  network.   In the event of a tie in
           this value, routers will use their Router ID as
           a tie breaker."
       DEFVAL { 1 }
       ::= { qtechOspfIfEntry 6 }


qtechOspfIfTransitDelay OBJECT-TYPE
        SYNTAX   Unsigned32 (1..65535)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The estimated number of seconds  it  takes  to
           transmit  a  link state update packet over this
           interface."
       DEFVAL { 1 }
       ::= { qtechOspfIfEntry 7 }


qtechOspfIfRetransInterval OBJECT-TYPE
        SYNTAX   Unsigned32 (1..65535)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The number of seconds between  link-state  ad-
           vertisement  retransmissions,  for  adjacencies
           belonging to this  interface.   This  value  is
           also used when retransmitting database descrip-
           tion and link-state request packets."
       DEFVAL { 5 }
       ::= { qtechOspfIfEntry 8 }


qtechOspfIfHelloInterval OBJECT-TYPE
        SYNTAX   HelloRange
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The length of time, in  seconds,  between  the
           Hello  packets that the router sends on the in-
           terface.  This value must be the same  for  all
           routers attached to a common network."
       DEFVAL { 10 }
       ::= { qtechOspfIfEntry 9 }


qtechOspfIfRtrDeadInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The number of seconds that  a  router's  Hello
           packets  have  not been seen before it's neigh-
           bors declare the router down.  This  should  be
           some  multiple  of  the  Hello  interval.  This
           value must be the same for all routers attached
           to a common network."
       DEFVAL { 40 }
       ::= { qtechOspfIfEntry 10 }


qtechOspfIfPollInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The larger time interval, in seconds,  between
           the  Hello  packets  sent  to  an inactive non-
           broadcast multi- access neighbor."
       ::= { qtechOspfIfEntry 11 }


qtechOspfIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    loopback (2),
                    waiting (3),
                    pointToPoint (4),
                    designatedRouter (5),
                    backupDesignatedRouter (6),
                    otherDesignatedRouter (7)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The OSPF Interface State."
       DEFVAL { down }
       ::= { qtechOspfIfEntry 12 }


qtechOspfIfDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address of the interface which connected the local router in 
            the Designated Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { qtechOspfIfEntry 13 }


qtechOspfIfBackupDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address of the interface which connected the local router in 
            the Backup Designated Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { qtechOspfIfEntry 14 }

qtechOspfIfEvents OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of times this  OSPF  interface  has
           changed its state, or an error has occurred."
       ::= { qtechOspfIfEntry 15 }


qtechOspfIfAuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..256))
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The Authentication Key.  If the Area's Author-
           ization  Type  is  simplePassword,  and the key
           length is shorter than 8 octets, the agent will
           left adjust and zero fill to 8 octets.

           Note that unauthenticated  interfaces  need  no
           authentication key, and simple password authen-
           tication cannot use a key of more  than  8  oc-
           tets.  Larger keys are useful only with authen-
           tication mechanisms not specified in this docu-
           ment.

           When read, qtechOspfIfAuthKey always returns an  Oc-
           tet String of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
      ::= { qtechOspfIfEntry 16 }

qtechOspfIfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This value will be  active(1) always."
       ::= { qtechOspfIfEntry 17 }


qtechOspfIfMulticastForwarding OBJECT-TYPE
        SYNTAX   INTEGER    {
                            blocked (1),        -- no multicast forwarding
                            multicast (2),        -- using multicast address
                            unicast (3)        -- to each OSPF neighbor
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The way multicasts should  forwarded  on  this
           interface;  not  forwarded,  forwarded  as data
           link multicasts, or forwarded as data link uni-
           casts.   Data link multicasting is not meaning-
           ful on point to point and NBMA interfaces,  and
           setting ospfMulticastForwarding to 0 effective-
           ly disables all multicast forwarding."
       DEFVAL { blocked }
       ::= { qtechOspfIfEntry 18 }


qtechOspfIfDemand OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Indicates whether Demand OSPF procedures (hel-
           lo supression to FULL neighbors and setting the
           DoNotAge flag on proogated LSAs) should be per-
           formed on this interface."
       DEFVAL { false }
       ::= { qtechOspfIfEntry 19 }


qtechOspfIfAuthType OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- default (3)
                    -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The authentication type specified for  an  interface. Setting this value to 
            'default' means using default authentication type referenced to Area Authentication, 
            this value only for set,not be read. Additional  authentication types may
            be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { qtechOspfIfEntry 20 }
                              
qtechOspfIfDatabaseFilterAllOut OBJECT-TYPE
        SYNTAX   EnabledStatus                    
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "Block flooding of OSPF LSA packets to the interface. By
           default, OSPF floods new LSAs over all interfaces in the same area,
           except the interface on which the LSA arrives."
        DEFVAL {disabled}
       ::= { qtechOspfIfEntry 21 } 
       
qtechOspfIfDesignateRouterId OBJECT-TYPE  
        SYNTAX   IpAddress                    
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "DR RouterID of this interface,
           when DR does not selected,DR Id is 0.0.0.0"
        DEFVAL {'00000000'H}
       ::= { qtechOspfIfEntry 22 } 
       
qtechOspfIfBackupDesignateRouterId OBJECT-TYPE  
        SYNTAX   IpAddress                    
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Backup DR RouterId of this interface ,
           when Backup DR does not selected,BDR Id is 0.0.0.0"
        DEFVAL {'00000000'H}
       ::= { qtechOspfIfEntry 23 }  

qtechOspfIfWaitInternal OBJECT-TYPE  
        SYNTAX  TimeTicks                   
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The wait time of hello generate"
       ::= { qtechOspfIfEntry 24 }

qtechOspfIfPassiveStatus OBJECT-TYPE
        SYNTAX   EnabledStatus
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
               "Setting this object value to 'enabled' ,the interface will 
               become a passive interface."
        DEFVAL { disabled }               
        ::= { qtechOspfIfEntry 25 } 
qtechOspfIfCurrentUsedMd5AuthKeyId     OBJECT-TYPE  
       SYNTAX   Unsigned32 (0..255)                    
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "key-id which current used for md5 authentication,this value is 
            valid from 1 to 255, the value 0 is default value.."
        DEFVAL {0}
       ::= { qtechOspfIfEntry 26 }   


-- The Ospf Interface MD5 authentication key configuration table

qtechOspfIfMd5AuthKeyTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfIfMd5AuthKeyEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Configuration table of the key-id for md5 authentication for OSPF protocol."
       ::= { qtechOspfMIBObjects  5 }

qtechOspfIfMd5AuthKeyEntry OBJECT-TYPE
       SYNTAX   QtechOspfIfMd5AuthKeyEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "Configuration entry of the key-id for md5 authentication for OSPF protocol"
      INDEX {qtechOspfIfMd5AuthKeyIf, qtechOspfIfMd5AuthKeyId }
      ::= { qtechOspfIfMd5AuthKeyTable 1 }
    
QtechOspfIfMd5AuthKeyEntry ::=
        SEQUENCE { 
         qtechOspfIfMd5AuthKeyIf
            Unsigned32,
         qtechOspfIfMd5AuthKeyId
            Unsigned32,
         qtechOspfIfMd5AuthKey
            OCTET STRING,
         qtechOspfIfMd5AuthKeySt   
            ConfigStatus
                 }
                 
qtechOspfIfMd5AuthKeyIf OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Corresponding value of ifIndex for interfaces."
       ::= { qtechOspfIfMd5AuthKeyEntry 1 }

qtechOspfIfMd5AuthKeyId     OBJECT-TYPE  
        SYNTAX   Unsigned32 (1..255)                    
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the key-id for md5 authentication."
       ::= { qtechOspfIfMd5AuthKeyEntry 2 } 

qtechOspfIfMd5AuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..256))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The Authentication Key for MD5.
           
           When read, qtechOspfIfMd5AuthKey always returns an  Oc-
           tet String of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      ::= { qtechOspfIfMd5AuthKeyEntry 3 }

qtechOspfIfMd5AuthKeySt OBJECT-TYPE
        SYNTAX   ConfigStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Setting this value to 'invalid' will delete this entry.
            Setting this value to 'valid' will have no effect."
      ::= { qtechOspfIfMd5AuthKeyEntry 4 }



-- The Qtech Ospf Virtual Link Table

qtechOspfVirtTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfVirtEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information about this router's virtual inter-
            faces.Include ospfVirtIfTable in rfc1850"
        REFERENCE
          "ospfVirtIfTable in rfc1850"    
       ::= { qtechOspfMIBObjects  6 }

qtechOspfVirtEntry OBJECT-TYPE
       SYNTAX   QtechOspfVirtEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "Information about a single Virtual Interface"
      INDEX {qtechOspfVirtIfAreaId, qtechOspfVirtIfNeighbor}
      ::= { qtechOspfVirtTable 1 }
    
QtechOspfVirtEntry ::=
        SEQUENCE {
      qtechOspfVirtIfAreaId
         AreaID,
      qtechOspfVirtIfNeighbor
         RouterID,
      qtechOspfVirtIfTransitDelay
         Unsigned32,
      qtechOspfVirtIfRetransInterval
         Unsigned32,
      qtechOspfVirtIfHelloInterval
         HelloRange,
      qtechOspfVirtIfRtrDeadInterval
         PositiveInteger,
      qtechOspfVirtIfState
         INTEGER,
      qtechOspfVirtIfEvents
         Counter32,
      qtechOspfVirtIfAuthType
         INTEGER,
      qtechOspfVirtIfAuthKey
         OCTET STRING,
      qtechOspfVirtIfStatus
         RowStatus,        
      qtechOspfVirtCost
            Unsigned32,
      qtechOspfVirtNativeIfIndex   
            INTEGER,
      qtechOspfVirtLinkState 
            INTEGER,     
      qtechOspfVirtHelloDueIn  
            TimeTicks,
     qtechOspfVirtCurrentUsedMd5AuthKeyId
            Unsigned32
                 }

    qtechOspfVirtIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  Transit  Area  that  the   Virtual   Link
           traverses.  By definition, this is not 0.0.0.0"
       ::= { qtechOspfVirtEntry 1 }


    qtechOspfVirtIfNeighbor OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Router ID of the Virtual Neighbor."
       ::= { qtechOspfVirtEntry 2 }


    qtechOspfVirtIfTransitDelay OBJECT-TYPE
        SYNTAX   Unsigned32 (1..65535)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The estimated number of seconds  it  takes  to
           transmit  a link- state update packet over this
           interface."
       DEFVAL { 1 }
       ::= { qtechOspfVirtEntry 3 }


    qtechOspfVirtIfRetransInterval OBJECT-TYPE
        SYNTAX   Unsigned32 (1..65535)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The number of seconds between  link-state  ad-
           vertisement  retransmissions,  for  adjacencies
           belonging to this  interface.   This  value  is
           also used when retransmitting database descrip-
           tion  and  link-state  request  packets.   This
           value  should  be well over the expected round-
           trip time."
       DEFVAL { 5 }
       ::= { qtechOspfVirtEntry 4 }


    qtechOspfVirtIfHelloInterval OBJECT-TYPE
        SYNTAX   HelloRange
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The length of time, in  seconds,  between  the
           Hello  packets that the router sends on the in-
           terface.  This value must be the same  for  the
           virtual neighbor."
       DEFVAL { 10 }
       ::= { qtechOspfVirtEntry 5 }


    qtechOspfVirtIfRtrDeadInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The number of seconds that  a  router's  Hello
           packets  have  not been seen before it's neigh-
           bors declare the router down.  This  should  be
           some  multiple  of  the  Hello  interval.  This
           value must be the same for the  virtual  neigh-
           bor."
       DEFVAL { 40 }
       ::= { qtechOspfVirtEntry 6 }


    qtechOspfVirtIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),            -- these use the same encoding
                    pointToPoint (4)     -- as the ospfIfTable
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "OSPF virtual interface states."
       DEFVAL   { down }
       ::= { qtechOspfVirtEntry 7 }


    qtechOspfVirtIfEvents OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of state changes or error events on
           this Virtual Link"
       ::= { qtechOspfVirtEntry 8 }


    qtechOspfVirtIfAuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(0..256))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "If Authentication Type is simplePassword,  the
           device  will left adjust and zero fill to 8 oc-
           tets.

           Note that unauthenticated  interfaces  need  no
           authentication key, and simple password authen-
           tication cannot use a key of more  than  8  oc-
           tets.  Larger keys are useful only with authen-
           tication mechanisms not specified in this docu-
           ment.

           When  read,  ospfVifAuthKey  always  returns  a
           string of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
      ::= { qtechOspfVirtEntry 9 }


    qtechOspfVirtIfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { qtechOspfVirtEntry 10 }


    qtechOspfVirtIfAuthType OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
                    -- none (0),
                    -- simplePassword (1),
                    -- md5 (2),
                    -- default (3)
                    -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The authentication type specified for a virtual  interface. Setting this value 
           'default' means using default authentication type referenced to Area Authentication,
            this value only for set,not be read. Additional authentication types
            may be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { qtechOspfVirtEntry 11 }

                 
   qtechOspfVirtCost OBJECT-TYPE
        SYNTAX   Unsigned32 
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               "Explicitly specify the cost of sending a packet on the
                interface."
        ::= { qtechOspfVirtEntry 12 }   
        
    qtechOspfVirtNativeIfIndex OBJECT-TYPE 
        SYNTAX   INTEGER 
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               " the Interface's Index that The Virtual Link
                 via this interface."
        ::= { qtechOspfVirtEntry 13 } 
        
    qtechOspfVirtLinkState OBJECT-TYPE
        SYNTAX  INTEGER{
          		         up(1),
                        down(2)
                       }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  Virtual Link State is up or down."
       ::= { qtechOspfVirtEntry 14 }

    qtechOspfVirtHelloDueIn OBJECT-TYPE
        SYNTAX   TimeTicks 
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
               " the time when hello due in." 
        ::= { qtechOspfVirtEntry 15 } 
        
    qtechOspfVirtCurrentUsedMd5AuthKeyId     OBJECT-TYPE  
       SYNTAX   Unsigned32 (0..255)                    
       MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "the key-id which current used for md5 authentication,this value is 
            valid from 1 to 255, the value 0 is default value."
        DEFVAL {0}
       ::= { qtechOspfVirtEntry 16 }


-- The Ospf Virtual Interface MD5 authentication key configuration table

qtechOspfVirtIfMd5AuthKeyTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfVirtIfMd5AuthKeyEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Configuration table of the key-id for md5 authentication in VirtIf 
            for OSPF protocol."
       ::= { qtechOspfMIBObjects  7 }

qtechOspfVirtIfMd5AuthKeyEntry OBJECT-TYPE
       SYNTAX   QtechOspfVirtIfMd5AuthKeyEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "Configuration entry of the key-id for md5 authentication in VirtIf
           for OSPF protocol"
      INDEX {qtechOspfVirtIfMd5AuthKeyAreaId, qtechOspfVirtIfMd5AuthKeyNeighbor,
             qtechOspfVirtIfMd5AuthKeyId }
      ::= { qtechOspfVirtIfMd5AuthKeyTable 1 }
    
QtechOspfVirtIfMd5AuthKeyEntry ::=
        SEQUENCE { 
         qtechOspfVirtIfMd5AuthKeyAreaId
            AreaID,
         qtechOspfVirtIfMd5AuthKeyNeighbor
            RouterID,
         qtechOspfVirtIfMd5AuthKeyId
            Unsigned32,
         qtechOspfVirtIfMd5AuthKey
            OCTET STRING,
         qtechOspfVirtIfMd5AuthKeySt   
            ConfigStatus
                 }
                 
qtechOspfVirtIfMd5AuthKeyAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  Transit  Area  that  the   Virtual   Link
           traverses.  By definition, this is not 0.0.0.0"
       ::= { qtechOspfVirtIfMd5AuthKeyEntry 1 }

qtechOspfVirtIfMd5AuthKeyNeighbor OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Router ID of the Virtual Neighbor."
       ::= { qtechOspfVirtIfMd5AuthKeyEntry 2 }

qtechOspfVirtIfMd5AuthKeyId     OBJECT-TYPE  
        SYNTAX   Unsigned32 (1..255)                    
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the key-id for md5 authentication."
       ::= { qtechOspfVirtIfMd5AuthKeyEntry 3 } 

qtechOspfVirtIfMd5AuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..256))
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The Authentication Key for MD5.
           
           When read, qtechOspfVirtIfMd5AuthKey always returns an  Oc-
           tet String of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      ::= { qtechOspfVirtIfMd5AuthKeyEntry 4 }

qtechOspfVirtIfMd5AuthKeySt OBJECT-TYPE
        SYNTAX   ConfigStatus
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Setting this value to 'invalid' will delete this entry.
            Setting this value to 'valid' will have no effect."
      ::= { qtechOspfVirtIfMd5AuthKeyEntry 5 }
                             
     
qtechOspfLsaDetailInfoMibsGroup OBJECT IDENTIFIER ::= { qtechOspfMIBObjects 8 }       


--  OSPF Link State Database

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.


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


qtechOspfLsdbEntry OBJECT-TYPE
     SYNTAX   QtechOspfLsdbEntry
     MAX-ACCESS   not-accessible
     STATUS   current
     DESCRIPTION
        "A single Link State Advertisement."
    INDEX { qtechOspfLsdbAreaId, qtechOspfLsdbType,
            qtechOspfLsdbLsid, qtechOspfLsdbRouterId }
    ::= { qtechOspfLsdbTable 1 }

QtechOspfLsdbEntry ::=
    SEQUENCE {
        qtechOspfLsdbAreaId
            AreaID,
        qtechOspfLsdbType
            INTEGER,
        qtechOspfLsdbLsid
            IpAddress,
        qtechOspfLsdbRouterId
            RouterID,
        qtechOspfLsdbSequence
            Unsigned32,
        qtechOspfLsdbAge
            Unsigned32,
        qtechOspfLsdbChecksum
            Unsigned32,
        qtechOspfLsdbAdvertisement
            OCTET STRING,
        qtechOspfLsdbLinkNum  --equal LinkCount 
            Unsigned32,
        qtechOspfLsdbPacketLength
            Unsigned32,
        qtechOspfSummaryLsaNetworkMask
            IpAddress,
        qtechOspfSummaryLsaTos0Metric
            Unsigned32,
        qtechOspfNssaLsaDetailMetricType
            INTEGER,
        qtechOspfNssaLsaDetailForwardAddr 
            IpAddress,
        qtechOspfNssaLsaDetailRouteTag
            Unsigned32,
        qtechOspfLsdbOption
            Unsigned32  
              }
qtechOspfLsdbAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32 bit identifier of the Area  from  which
           the LSA was received."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { qtechOspfLsdbEntry 1 }

-- External Link State Advertisements are permitted
-- for backward compatibility, but should be displayed in
-- the ospfExtLsdbTable rather than here.

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

qtechOspfLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { qtechOspfLsdbEntry 3 }

qtechOspfLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { qtechOspfLsdbEntry 4 }

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

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

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

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

qtechOspfLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (1..512))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { qtechOspfLsdbEntry 8 }
      
 qtechOspfLsdbLinkNum   OBJECT-TYPE                                            
        SYNTAX   Unsigned32(0..4294967295)
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "  the link count of this Router Link Lsa ,
              this field is only valid for Router Link Lsatype 1 LSA)"
       ::= { qtechOspfLsdbEntry 9 }         

qtechOspfLsdbPacketLength   OBJECT-TYPE
        SYNTAX   Unsigned32(0..65535)
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the  lsa packet  length   ."
       ::= { qtechOspfLsdbEntry 10 }  
      
qtechOspfSummaryLsaNetworkMask  OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "this field is only useful when  ospfLsdbType is type-3 or 
           type-4 or type-7,it's the Lsa's network mask  ."
       ::= { qtechOspfLsdbEntry 11 } 

qtechOspfSummaryLsaTos0Metric OBJECT-TYPE
        SYNTAX   Unsigned32(0..65535)
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "this field is only useful when  ospfLsdbType is type-3 or 
           type-4 or type-7,it's the  Lsa's tos0 metric  ."
       ::= { qtechOspfLsdbEntry 12 } 
       
qtechOspfNssaLsaDetailMetricType   OBJECT-TYPE
        SYNTAX   INTEGER
                       { type1(1),
                         type2(2)
                        }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "    this field is valid when Lsa is a type-7 LSA.
	        The type of Nssa ernal metric.  If bit E is set, the metric
	        specified is a Type 2 external metric.  This means the metric is
	        considered larger than any link state path.  If bit E is zero,
	        the specified metric is a Type 1 external metric.  This means
	        that it is expressed in the same units as the link state metric
	        (i.e., the same units as interface cost).  "
       ::= { qtechOspfLsdbEntry 13 }  
       
 qtechOspfNssaLsaDetailForwardAddr   OBJECT-TYPE  
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "this field is valid when Lsa is a type-7 LSA. 
            Data traffic for the advertised destination will be forwarded to
            this address.  If the Forwarding address is set to 0.0.0.0, data
            traffic will be forwarded instead to the LSA's originator (i.e.,
            the responsible AS boundary router)  ."            
       ::= { qtechOspfLsdbEntry 14 }         
       
 qtechOspfNssaLsaDetailRouteTag   OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " this field is valid when Lsa is a type-7 LSA.
             A 32-bit field attached to each external route.  This is not
             used by the OSPF protocol itself.  It may be used to communicate
             information between AS boundary routers; the precise nature of
             such information is outside the scope of this specification."
       ::= { qtechOspfLsdbEntry 15 }          

 qtechOspfLsdbOption   OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the option field indicate which optional capabilities
            area associated with the LSA. "
        REFERENCE
          "OSPF Version 2, Appendix A.2, the Options Field"
       ::= { qtechOspfLsdbEntry 16 }           

--  OSPF Link State Database, External

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--             This table is identical to the OSPF LSDB Table in
--      format, but contains only External Link State
--             Advertisements.  The purpose is to allow external
--      LSAs to be displayed once for the router rather
--      than once in each non-stub area.

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

qtechOspfExtLsdbEntry OBJECT-TYPE
       SYNTAX   QtechOspfExtLsdbEntry
       MAX-ACCESS   not-accessible
       STATUS   current        
       DESCRIPTION
           "A single Link State Advertisement."
       INDEX { qtechOspfExtLsdbType, qtechOspfExtLsdbLsid, qtechOspfExtLsdbRouterId }    
      ::= { qtechOspfExtLsdbTable 1 }
      
QtechOspfExtLsdbEntry ::=
     SEQUENCE{
        qtechOspfExtLsdbType
            INTEGER,
        qtechOspfExtLsdbLsid
            IpAddress,
        qtechOspfExtLsdbRouterId
            RouterID,
        qtechOspfExtLsdbSequence
            Unsigned32,
        qtechOspfExtLsdbAge
            Unsigned32,
        qtechOspfExtLsdbChecksum
            Unsigned32,
        qtechOspfExtLsdbAdvertisement
            OCTET STRING,     
        qtechOspfExtLsdbNetworkMask
            IpAddress,
        qtechOspfExtLsdbMetricType   
            INTEGER,
        qtechOspfExtLsdbForwardAddr
            IpAddress,
        qtechOspfExtLsdbRouteTag
            Unsigned32,
        qtechOspfExtLsdbMetric   
            INTEGER,
        qtechOspfExtLsdbOption
            Unsigned32,
        qtechOspfExtLsdbPacketLength 
            Unsigned32   
              }          

 qtechOspfExtLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    asExternalLink (5)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The type  of  the  link  state  advertisement.
           Each  link state type has a separate advertise-
           ment format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { qtechOspfExtLsdbEntry 1 }


 qtechOspfExtLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { qtechOspfExtLsdbEntry 2 }


 qtechOspfExtLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { qtechOspfExtLsdbEntry 3 }

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

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


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


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


 qtechOspfExtLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(36))
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { qtechOspfExtLsdbEntry 7 }
                  
 qtechOspfExtLsdbNetworkMask   OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address mask for the advertised destination.  For
            example, when advertising a class A network the mask 0xff000000
            would be used."
       ::= { qtechOspfExtLsdbEntry 8 }   

 qtechOspfExtLsdbMetric   OBJECT-TYPE
        SYNTAX   INTEGER                       
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " The cost of this route.  Interpretation depends on the external
             type indication.  "
       ::= { qtechOspfExtLsdbEntry 9 } 
               
 qtechOspfExtLsdbMetricType   OBJECT-TYPE
        SYNTAX   INTEGER
                       { type1(1),
                         type2(2)
                        }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " The type of external metric.  If bit E is set, the metric
            specified is a Type 2 external metric.  This means the metric is
            considered larger than any link state path.  If bit E is zero,
            the specified metric is a Type 1 external metric.  This means
            that it is expressed in the same units as the link state metric
            (i.e., the same units as interface cost).  "
       ::= { qtechOspfExtLsdbEntry 10 }  
       
 qtechOspfExtLsdbForwardAddr   OBJECT-TYPE  
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "  Data traffic for the advertised destination will be forwarded to
              this address.  If the Forwarding address is set to 0.0.0.0, data
              traffic will be forwarded instead to the LSA's originator (i.e.,
              the responsible AS boundary router)  ."
       ::= { qtechOspfExtLsdbEntry 11 }      
          
 qtechOspfExtLsdbRouteTag   OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A 32-bit field attached to each external route.  This is not
           used by the OSPF protocol itself.  It may be used to communicate
           information between AS boundary routers; the precise nature of
           such information is outside the scope of this specification."
       ::= { qtechOspfExtLsdbEntry 12 }    
       
 
              
 qtechOspfExtLsdbOption   OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the option field indicate which optional capabilities
            area associated with the LSA. "
        REFERENCE
          "OSPF Version 2, Appendix A.2, the Options Field"
       ::= { qtechOspfExtLsdbEntry 13 } 
       
qtechOspfExtLsdbPacketLength   OBJECT-TYPE
        SYNTAX   Unsigned32(0..65535)
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the  lsa packet  length   ."
       ::= { qtechOspfExtLsdbEntry 14 }       

--Router Lsa's detail information table  

qtechOspfRouterLsaDetailTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfRouterLsaDetailEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "the router Lsa's detail Infromtion."
       ::= { qtechOspfLsaDetailInfoMibsGroup  3 }

qtechOspfRouterLsaDetailEntry OBJECT-TYPE
       SYNTAX   QtechOspfRouterLsaDetailEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX {qtechOspfLsdbAreaId, qtechOspfLsdbType,
             qtechOspfLsdbLsid, qtechOspfLsdbRouterId,
             qtechOspfRouterLsaDetailLinkID
             }
      ::= { qtechOspfRouterLsaDetailTable 1 }
      
QtechOspfRouterLsaDetailEntry ::=
     SEQUENCE{
        qtechOspfRouterLsaDetailLinkID
            IpAddress,
        qtechOspfRouterLsaDetailLinkType
            INTEGER,
        qtechOspfRouterLsaDetailLinkData
            IpAddress,
        qtechOspfRouterLsaDetailTos0Metric  
            Unsigned32
              }   

 qtechOspfRouterLsaDetailLinkID   OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "router lsa's link ID Identifies the object that this router
            link connects to.  Value  depends on the link's Type.  
            When connecting to an object that  also originates an 
            LSA (i.e., another router or a transit  network) the 
            Link ID is equal to the neighboring LSA's Link
           State ID.  This provides the key for looking up the neighboring
           LSA in the link state database during the routing table
           calculation. See Section 12.2 for more details.
                       Type   Link ID
                       ________________________________________
                       1      Neighboring router's Router ID
                       2      IP address of Designated Router
                       3      IP network/subnet number
                       4      Neighboring router's Router ID
           "
       ::= { qtechOspfRouterLsaDetailEntry 1 }  
                     
 qtechOspfRouterLsaDetailLinkType   OBJECT-TYPE
        SYNTAX   INTEGER{
                         pointtopointConnectionToAnotherRouter(1),
                         connectionToaTransitNetwork(2),
                         connectionToaStubNetwork(3),
                         virtualLink(4)
                        }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "router lsa's link type
            A quick description of the router link.  One of the following.
           Note that host routes are classified as links to stub networks
           with network mask of 0xffffffff."
       ::= { qtechOspfRouterLsaDetailEntry 2 }    
              
 qtechOspfRouterLsaDetailLinkData   OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " Value again depends on the link's Type field. For connections to
             stub networks, Link Data specifies the network's IP address
             mask. For unnumbered point-to-point connections, it specifies
             the interface's MIB-II  ifIndex value. For the other link
             types it specifies the router interface's IP address. This
            latter piece of information is needed during the routing table
            build process, when calculating the IP address of the next hop.            "
       ::= { qtechOspfRouterLsaDetailEntry 3 } 
              
qtechOspfRouterLsaDetailTos0Metric   OBJECT-TYPE  
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "TOS0-specific metric information."
       ::= { qtechOspfRouterLsaDetailEntry 4 }    
        
        
--NetWork Lsa's detail information table  

qtechOspfNetWorkLsaDetailTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfNetWorkLsaDetailEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "the NetWork Lsa's detail Infromtion."
       ::= { qtechOspfLsaDetailInfoMibsGroup  4 }

qtechOspfNetWorkLsaDetailEntry OBJECT-TYPE
       SYNTAX   QtechOspfNetWorkLsaDetailEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX {qtechOspfLsdbAreaId, qtechOspfLsdbType,
             qtechOspfLsdbLsid, qtechOspfLsdbRouterId,
             qtechOspfNetWorkLsaDetailAttachedRouter
             }
      ::= { qtechOspfNetWorkLsaDetailTable 1 }
      
QtechOspfNetWorkLsaDetailEntry ::=
     SEQUENCE{
        qtechOspfNetWorkLsaDetailAttachedRouter   
            IpAddress,     
        qtechOspfNetWorkLsaDetailNetworkMask 
            IpAddress        
              }                 
 qtechOspfNetWorkLsaDetailAttachedRouter   OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " The Router IDs of each of the routers attached to the network.
             Actually, only those routers that are fully adjacent to the
             Designated Router are listed.  The Designated Router includes
             itself in this list.  The number of routers included can be
             deduced from the LSA header's length field.  "
       ::= { qtechOspfNetWorkLsaDetailEntry 1 }   
                         
 qtechOspfNetWorkLsaDetailNetworkMask   OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address mask for the network.  For example, a class A
            network would have the mask 0xff000000."
       ::= { qtechOspfNetWorkLsaDetailEntry 2 }    
       

--qtech Ospf Area Lsa Database Summary Table 

qtechOspfAreaLsaDBSumTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfAreaLsaDBSumEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Area LSA database summary Infromtion."
       ::= { qtechOspfLsaDetailInfoMibsGroup  5 }

qtechOspfAreaLsaDBSumEntry OBJECT-TYPE
       SYNTAX   QtechOspfAreaLsaDBSumEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX {qtechOspfAreaLsaDBSumAreaId, 
             qtechOspfAreaLsaDBSumLsaType
             }
      ::= { qtechOspfAreaLsaDBSumTable 1 }
      
QtechOspfAreaLsaDBSumEntry ::=
     SEQUENCE{
        qtechOspfAreaLsaDBSumAreaId
            IpAddress,
        qtechOspfAreaLsaDBSumLsaType
            INTEGER,
        qtechOspfAreaLsaDBSumCounts   
            Counter32,
        qtechOspfAreaLsaDBSumDeletes
            Counter32,
        qtechOspfAreaLsaDBSumMaxage
            Counter32 
            }   
 qtechOspfAreaLsaDBSumAreaId   OBJECT-TYPE  
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The area Id."
       ::= { qtechOspfAreaLsaDBSumEntry 1 }  
              
 qtechOspfAreaLsaDBSumLsaType   OBJECT-TYPE
        SYNTAX   INTEGER 
        	{ routerLink (1),
           networkLink (2),
           summaryLink (3),
           asSummaryLink (4),
           --asExternalLink (5), because in each area,type 5 lsa is no meaning
                                 --it's only meaning in one router
           -- multicastLink (6),  not implement
           nssaExternalLink (7),
           subtotal(8)
           --subtotal is use for total counter for all type LSA in this area.
           }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the entry's entry type."
       ::= { qtechOspfAreaLsaDBSumEntry 2 }    
       
 qtechOspfAreaLsaDBSumCounts   OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " number os this type Lsa in this area ,
             if this type Lsa does not exist,this field is 0."
       ::= { qtechOspfAreaLsaDBSumEntry 3 } 
       
qtechOspfAreaLsaDBSumDeletes    OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " number os this type Lsa which has been delete in this area ,
             if this type Lsa is not been deleted,this field is 0"
       ::= { qtechOspfAreaLsaDBSumEntry 4 }   
       
 qtechOspfAreaLsaDBSumMaxage   OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " number of this type Lsa which has up to Maxage,
             if this type Lsa which has up to Maxage does not exist,
             this field is 0"
       ::= { qtechOspfAreaLsaDBSumEntry 5 }  
 

--qtech Ospf Lsa Database total summary table 

qtechOspfLsaDBSumTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfLsaDBSumEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "LSA database total summary infromtion in the all areas ."
       ::= { qtechOspfLsaDetailInfoMibsGroup  6 }

qtechOspfLsaDBSumEntry OBJECT-TYPE
       SYNTAX   QtechOspfLsaDBSumEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX {   
               qtechOspfLsaDBSumLsaType
            }
      ::= { qtechOspfLsaDBSumTable 1 }
      
QtechOspfLsaDBSumEntry ::=
     SEQUENCE{
        qtechOspfLsaDBSumLsaType
            INTEGER,
        qtechOspfLsaDBSumCounts   
            Counter32,
        qtechOspfLsaDBSumDeletes
            Counter32,
        qtechOspfLsaDBSumMaxage
            Counter32
              }   
     
 qtechOspfLsaDBSumLsaType   OBJECT-TYPE
        SYNTAX   INTEGER 
        	{ routerLink (1),
           networkLink (2),
           summaryTotalLink (3),
           asSummaryTotalLink (4),
           asExternalLink (5), 
           -- multicastLink (6),  not implement
           nssaExternalLink (7),
           total(8)
           --subtotal is use for total counter for all type LSA in this router. 
                 }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the table's entry type."
       ::= { qtechOspfLsaDBSumEntry 1 }   
        
 qtechOspfLsaDBSumCounts   OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "total number of this type Lsa in all area ."
       ::= { qtechOspfLsaDBSumEntry 2 } 
       
qtechOspfLsaDBSumDeletes    OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           " total number of this type Lsa deleted in all area ."
       ::= { qtechOspfLsaDBSumEntry 3 }  
        
qtechOspfLsaDBSumMaxage   OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "total number of this type Lsa which has been up to max age in all area "
       ::= { qtechOspfLsaDBSumEntry 4 } 
       

--      The OSPF Neighbor Table describes all neighbors in
--      the locality of the subject router.

qtechOspfNeighborTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF QtechOspfNeighborEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "the neighbor detail infomation ."
       REFERENCE
          "ospfNbrTable in rfc1850"           
       ::= { qtechOspfMIBObjects  9 }

qtechOspfNeighborEntry OBJECT-TYPE
       SYNTAX   QtechOspfNeighborEntry
       MAX-ACCESS   not-accessible
       STATUS   current
       DESCRIPTION
          "the entry of this table."
      INDEX {   qtechOspfNbrIpAddr, 
                qtechOspfNbrAddressLessIndex
             }
      ::= { qtechOspfNeighborTable 1 }
      
QtechOspfNeighborEntry ::=
     SEQUENCE{
        qtechOspfNbrIpAddr
            IpAddress,
        qtechOspfNbrAddressLessIndex
            Unsigned32,
        qtechOspfNbrRtrId
            RouterID,
        qtechOspfNbrOptions
            Unsigned32,
        qtechOspfNbrPriority
            DesignatedRouterPriority,
        qtechOspfNbrState
            INTEGER,
        qtechOspfNbrEvents
            Counter32,
        qtechOspfNbrLsRetransQLen
            Gauge32,
        qtechOspfNbmaNbrStatus
            RowStatus,
        qtechOspfNbmaNbrPermanence
            INTEGER,
        qtechOspfNbrHelloSuppressed
            TruthValue,     
        qtechOspfNbrDeadTimeDueIn   
            TimeTicks,
        qtechOspfNbrNeighborUpTime
            TimeTicks,
        qtechOspfNbrDR
            IpAddress,
        qtechOspfNbrBDR
            IpAddress,
        qtechOspfNbrArea
            IpAddress,
        qtechOspfNbrRetransmissionNum
            Counter32,
        qtechOspfNbrIfState
            INTEGER
              }   
qtechOspfNbrIpAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address this neighbor(neighbor's interface IP address) 
           is using  in  its IP  Source  Address.  Note that, on addressless
           links, this will not be 0.0.0.0,  but  the  ad-
           dress of another of the neighbor's interfaces."
       ::= { qtechOspfNeighborEntry 1 }


qtechOspfNbrAddressLessIndex OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "On an interface having an  IP  Address,  zero.
           On  addressless  interfaces,  the corresponding
           value of ifIndex in the Internet Standard  MIB.
           On  row  creation, this can be derived from the
           instance."
       ::= { qtechOspfNeighborEntry 2 }


qtechOspfNbrRtrId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A 32-bit integer (represented as a type  IpAd-
           dress)  uniquely  identifying  the  neighboring
           router in the Autonomous System."
       ::= { qtechOspfNeighborEntry 3 }


qtechOspfNbrOptions OBJECT-TYPE
        SYNTAX   Unsigned32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A Bit Mask corresponding to the neighbor's op-
           tions field.

           Bit 0, if set, indicates that the  system  will
           operate  on  Type of Service metrics other than
           TOS 0.  If zero, the neighbor will  ignore  all
           metrics except the TOS 0 metric.

           Bit 1, if set, indicates  that  the  associated
           area  accepts and operates on external informa-
           tion; if zero, it is a stub area.

           Bit 2, if set, indicates that the system is ca-
           pable  of routing IP Multicast datagrams; i.e.,
           that it implements the Multicast Extensions  to
           OSPF.

           Bit 3, if set, indicates  that  the  associated
           area  is  an  NSSA.  These areas are capable of
           carrying type 7 external advertisements,  which
           are  translated into type 5 external advertise-
           ments at NSSA borders."
       REFERENCE
          "OSPF Version 2, Section 12.1.2 Options"
      ::= { qtechOspfNeighborEntry 4 }


qtechOspfNbrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The priority of this neighbor in the designat-
           ed router election algorithm.  The value 0 sig-
           nifies that the neighbor is not eligible to be-
           come  the  designated router on this particular
           network."
       ::= { qtechOspfNeighborEntry 5 }


qtechOspfNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeQtech (5),
                    exchange (6),
                    loading (7),
                    full (8)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The State of the relationship with this Neigh-
           bor."
       REFERENCE
          "OSPF Version 2, Section 10.1 Neighbor States"
      ::= { qtechOspfNeighborEntry 6 }


qtechOspfNbrEvents OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of times this neighbor relationship
           has changed state, or an error has occurred."
       ::= { qtechOspfNeighborEntry 7 }


qtechOspfNbrLsRetransQLen OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  current  length  of  the   retransmission
           queue."
       ::= { qtechOspfNeighborEntry 8 }


qtechOspfNbmaNbrStatus OBJECT-TYPE
        SYNTAX   RowStatus
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { qtechOspfNeighborEntry 9 }


qtechOspfNbmaNbrPermanence OBJECT-TYPE
        SYNTAX   INTEGER    {
                    dynamic (1),        -- learned through protocol
                    permanent (2)       -- configured address
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.   'dynamic'  and  'permanent' refer to how
           the neighbor became known."
       ::= { qtechOspfNeighborEntry 10 }


qtechOspfNbrHelloSuppressed OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Indicates whether Hellos are being  suppressed
           to the neighbor"
       ::= { qtechOspfNeighborEntry 11 }
                     
qtechOspfNbrDeadTimeDueIn OBJECT-TYPE 
        SYNTAX   TimeTicks
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "if in this interval ,hello packet is not been received ,
            the neighbor is recognized dead.if received,it 
            will recovery the dead time which has been setted."
       ::= { qtechOspfNeighborEntry 12 }
       
qtechOspfNbrNeighborUpTime OBJECT-TYPE 
        SYNTAX   TimeTicks
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the time that the neighbor has been up."
       ::= { qtechOspfNeighborEntry 13 }
       
qtechOspfNbrDR OBJECT-TYPE 
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the Designated Router of this neighbor."
       ::= { qtechOspfNeighborEntry 14 }
       
qtechOspfNbrBDR OBJECT-TYPE 
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the Backup Designated Router of this neighbor."
       ::= { qtechOspfNeighborEntry 15 }
       
qtechOspfNbrArea  OBJECT-TYPE	
	SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the area where the neighbor is in."
       ::= { qtechOspfNeighborEntry 16 }
       
qtechOspfNbrRetransmissionNum  OBJECT-TYPE 
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the Retransmission times."
       ::= { qtechOspfNeighborEntry 17 }

qtechOspfNbrIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    other(0),
                    designatedRouter (1),
                    backupDesignatedRouter (2),
                    otherDesignatedRouter (3)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The neighbor's interface State which connected to local router."
        ::= { qtechOspfNeighborEntry 18 }

--OSPF border routing information
qtechOspfRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF QtechOspfRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "This entity's OSPF border routing table."
    ::= { qtechOspfMIBObjects  10 }

qtechOspfRouteEntry OBJECT-TYPE
    SYNTAX   QtechOspfRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "A  route to  a  destination."
    INDEX {
        qtechOspfRouteDest,
        qtechOspfRouteArea,        
        qtechOspfRouteNextHop        
        }
    ::= { qtechOspfRouteTable 1 }

QtechOspfRouteEntry ::=
    SEQUENCE {
        qtechOspfRouteDest
            IpAddress,
        qtechOspfRouteArea
            IpAddress,            
        qtechOspfRouteNextHop
             IpAddress,
        qtechOspfRouteCost
            Unsigned32,
        qtechOspfRouteType
            INTEGER,            
        qtechOspfRouteDRType
            INTEGER,
        qtechOspfRouteSpfNo
            Counter32
   }
                 
qtechOspfRouteDest OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "Router ID of the destination."
    ::= { qtechOspfRouteEntry 1 }

qtechOspfRouteArea OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The area ID of the area from which this route is learned."
    ::= { qtechOspfRouteEntry 2 }

qtechOspfRouteNextHop OBJECT-TYPE
    SYNTAX   IpAddress
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "Next hop toward the destination."
    ::= { qtechOspfRouteEntry 3 }

qtechOspfRouteCost OBJECT-TYPE
    SYNTAX   Unsigned32
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       " Cost of using this route."

    ::= { qtechOspfRouteEntry 4 }
    
qtechOspfRouteDRType OBJECT-TYPE
    SYNTAX   INTEGER {
                      abr(1),
                      asbr(2),
                      both(3) --abr and asbr
                     }
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       "The router type of the destination;
        it is either an ABR or ASBR or both."
    ::= { qtechOspfRouteEntry 5 }

qtechOspfRouteType  OBJECT-TYPE
    SYNTAX   INTEGER {
                       intral-area-route(1),
                       inter-area-route(2)
                       } 
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION 
              "this field indicate this route is an intral area route 
               or inter area route."
      ::= { qtechOspfRouteEntry 6 } 
          
qtechOspfRouteSpfNo OBJECT-TYPE
    SYNTAX   Counter32
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
       " The internal number of the shortest path first (SPF) calculation that
         installs this route."
    ::= { qtechOspfRouteEntry 7 }
                             
-- conformance information

qtechOspfMIBConformance OBJECT IDENTIFIER ::= { qtechOspfMIB 2 }
qtechOspfMIBCompliances OBJECT IDENTIFIER ::= { qtechOspfMIBConformance 1 }
qtechOspfMIBGroups      OBJECT IDENTIFIER ::= { qtechOspfMIBConformance 2 }


-- compliance statements

qtechOspfMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech OSPF MIB"
        MODULE  -- this module
                MANDATORY-GROUPS {
                     qtechOspfBaseMIBGroup,
                     qtechOspfAreaMIBGroup,
                     qtechOspfLsaMIBGroup,
                     qtechOspfIfMIBGroup,
                     qtechOspfVirtMIBGroup,
                     qtechOspfNeighborMIBGroup,
                     qtechOspfRouteInfoMIBGroup
                 }
        ::= { qtechOspfMIBCompliances 1 }
                
-- units of conformance

qtechOspfBaseMIBGroup OBJECT-GROUP
        OBJECTS {
               qtechOspfMiniLsaInterval         ,
               qtechOspfMiniLsaArrival          , 
               qtechOspfAreasNum                ,        
               qtechOspfNormalAreasNum          ,   
               qtechOspfStubAreasNum            ,   
               qtechOspfNssaAreasNum            ,   
               qtechOspfSpfDelay                ,            
               qtechOspfSpfHoldTime             ,   
               qtechOspfAutoCostRefBandWidthRef ,         
               qtechOspfLsaGroupPacing          ,           
               qtechOspfInterDistance           ,
               qtechOspfIntraDistance           ,      
               qtechOspfExternDistance          ,
               qtechOspfLogAdjChangeNotify      ,
               qtechOspfPassiveStatus           ,
               qtechOspfRFC1583Compatibility    ,
               qtechOspfRouteRedisDefMetricVal
   
        }
        STATUS  current
        DESCRIPTION
                "A collection of general objects providing OSPF managment."
        ::= { qtechOspfMIBGroups 1 }

qtechOspfAreaMIBGroup OBJECT-GROUP
        OBJECTS {
               qtechOspfAreaId,
               qtechOspfAuthType,
               qtechOspfImportAsExtern,
               qtechOspfSpfRuns,
               qtechOspfAreaBdrRtrCount,
               qtechOspfAsBdrRtrCount,
               qtechOspfAreaLsaCount,
               qtechOspfAreaLsaCksumSum,
               qtechOspfAreaSummary,
               qtechOspfAreaStatus,        
               qtechOspfAreaInterfaceNum,
               qtechOspfAreaNssaIsRedistribution,
               qtechOspfAreaNssaIsDefInfoOriginate,
               qtechOspfNetWorkAreaID,
               qtechOspfNetWorkAddress,
               qtechOspfNetWorkMask,
               qtechOspfNetWorkStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of area objects providing OSPF managment."
        ::= { qtechOspfMIBGroups 2 }
                
qtechOspfLsaMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechOspfLsdbAreaId,
           qtechOspfLsdbType,
           qtechOspfLsdbLsid,
           qtechOspfLsdbRouterId,
           qtechOspfLsdbSequence,
           qtechOspfLsdbAge,
           qtechOspfLsdbChecksum,
           qtechOspfLsdbAdvertisement,
           qtechOspfLsdbLinkNum,
           qtechOspfLsdbPacketLength,
           qtechOspfSummaryLsaNetworkMask,
           qtechOspfSummaryLsaTos0Metric,
           qtechOspfNssaLsaDetailMetricType,
           qtechOspfNssaLsaDetailForwardAddr ,
           qtechOspfNssaLsaDetailRouteTag ,
           qtechOspfLsdbOption,
           
           qtechOspfExtLsdbType,
           qtechOspfExtLsdbLsid,
           qtechOspfExtLsdbRouterId,
           qtechOspfExtLsdbSequence,
           qtechOspfExtLsdbAge,
           qtechOspfExtLsdbChecksum,
           qtechOspfExtLsdbAdvertisement,  
           qtechOspfExtLsdbNetworkMask,
           qtechOspfExtLsdbMetricType,
           qtechOspfExtLsdbForwardAddr,
           qtechOspfExtLsdbRouteTag,
           qtechOspfExtLsdbMetric,
           qtechOspfExtLsdbOption,
           qtechOspfExtLsdbPacketLength,
                      
           qtechOspfRouterLsaDetailLinkID,
           qtechOspfRouterLsaDetailLinkType,
           qtechOspfRouterLsaDetailLinkData,
           qtechOspfRouterLsaDetailTos0Metric,
           
           qtechOspfNetWorkLsaDetailAttachedRouter,     
           qtechOspfNetWorkLsaDetailNetworkMask,  
           
           qtechOspfAreaLsaDBSumAreaId,
           qtechOspfAreaLsaDBSumLsaType,
           qtechOspfAreaLsaDBSumCounts   ,
           qtechOspfAreaLsaDBSumDeletes,
           qtechOspfAreaLsaDBSumMaxage,
            
           qtechOspfLsaDBSumLsaType,
           qtechOspfLsaDBSumCounts,
           qtechOspfLsaDBSumDeletes,
           qtechOspfLsaDBSumMaxage
           
        }
        STATUS  current
        DESCRIPTION
                "A collection of OSPF Link State Database objects providing OSPF managment."
        ::= { qtechOspfMIBGroups 3 }

qtechOspfIfMIBGroup OBJECT-GROUP
        OBJECTS {
         qtechOspfIfIpAddress,
         qtechOspfAddressLessIf,
         qtechOspfIfAreaId,
         qtechOspfIfType,
         qtechOspfIfAdminStat,
         qtechOspfIfRtrPriority,
         qtechOspfIfTransitDelay,
         qtechOspfIfRetransInterval,
         qtechOspfIfHelloInterval,
         qtechOspfIfRtrDeadInterval,
         qtechOspfIfPollInterval,
         qtechOspfIfState,
         qtechOspfIfDesignatedRouter,
         qtechOspfIfBackupDesignatedRouter,
         qtechOspfIfEvents,
         qtechOspfIfAuthType,
         qtechOspfIfAuthKey,
         qtechOspfIfStatus,
         qtechOspfIfMulticastForwarding,
         qtechOspfIfDemand,  
         qtechOspfIfDatabaseFilterAllOut,
         qtechOspfIfDesignateRouterId     ,
         qtechOspfIfBackupDesignateRouterId ,
--         qtechOspfIfMd5AuthKeyId,
         qtechOspfIfWaitInternal,
         qtechOspfIfPassiveStatus,
         qtechOspfIfCurrentUsedMd5AuthKeyId,
         
         qtechOspfIfMd5AuthKeyIf,
         qtechOspfIfMd5AuthKeyId,
         qtechOspfIfMd5AuthKey,
         qtechOspfIfMd5AuthKeySt
                
        }
        STATUS  current
        DESCRIPTION
                "A collection of OSPF interface managment."
        ::= { qtechOspfMIBGroups 4 }


qtechOspfVirtMIBGroup OBJECT-GROUP
        OBJECTS {
        qtechOspfVirtIfAreaId,
        qtechOspfVirtIfNeighbor,
        qtechOspfVirtIfTransitDelay,
        qtechOspfVirtIfRetransInterval,
        qtechOspfVirtIfHelloInterval,
        qtechOspfVirtIfRtrDeadInterval,
        qtechOspfVirtIfState,
        qtechOspfVirtIfEvents,
        qtechOspfVirtIfAuthType,
        qtechOspfVirtIfAuthKey,
        qtechOspfVirtIfStatus,
        qtechOspfVirtCost,
        qtechOspfVirtNativeIfIndex,
        qtechOspfVirtLinkState,     
        qtechOspfVirtHelloDueIn,
        
        qtechOspfVirtIfMd5AuthKeyAreaId,
        qtechOspfVirtIfMd5AuthKeyNeighbor,
        qtechOspfVirtIfMd5AuthKeyId,
        qtechOspfVirtIfMd5AuthKey,
        qtechOspfVirtIfMd5AuthKeySt,
        qtechOspfVirtCurrentUsedMd5AuthKeyId
        }
        STATUS  current
        DESCRIPTION
                "A collection of OSPF Virtual Link managment."
        ::= { qtechOspfMIBGroups 5 }

qtechOspfNeighborMIBGroup OBJECT-GROUP
        OBJECTS {
        qtechOspfNbrIpAddr,
        qtechOspfNbrAddressLessIndex,
        qtechOspfNbrRtrId,
        qtechOspfNbrOptions,
        qtechOspfNbrPriority,
        qtechOspfNbrState,
        qtechOspfNbrEvents,
        qtechOspfNbrLsRetransQLen,
        qtechOspfNbmaNbrStatus,
        qtechOspfNbmaNbrPermanence,
        qtechOspfNbrHelloSuppressed,     
        qtechOspfNbrDeadTimeDueIn,
        qtechOspfNbrNeighborUpTime,
        qtechOspfNbrDR,
        qtechOspfNbrBDR,
        qtechOspfNbrArea,
        qtechOspfNbrRetransmissionNum
        }
        STATUS  current
        DESCRIPTION
                "A collection of OSPF Neighbor information."
        ::= { qtechOspfMIBGroups 6 }

qtechOspfRouteInfoMIBGroup OBJECT-GROUP
        OBJECTS {
        qtechOspfRouteType,
        qtechOspfRouteDest,
        qtechOspfRouteNextHop,
        qtechOspfRouteCost,
        qtechOspfRouteDRType,
        qtechOspfRouteArea,
        qtechOspfRouteSpfNo
        }
        STATUS  current
        DESCRIPTION
                "A collection of OSPF route information."
        ::= { qtechOspfMIBGroups 7 }
                
-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------
ospfMIBConformance OBJECT IDENTIFIER ::= { qtechOspfMIB 3 }
ospfMIBCompliances OBJECT IDENTIFIER ::= { ospfMIBConformance 1 }

ospfExternCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for device support of OSPF
         services."
         
    MODULE
--        OBJECT           ospfASBdrRtrStatus
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--            
--        OBJECT           ospfTOSSupport
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--                    
--        OBJECT           ospfExtLsdbLimit
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--                            
--        OBJECT           ospfMulticastExtensions
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--                                    
--        OBJECT           ospfExitOverflowInterval
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--        
--        OBJECT           ospfDemandExtensions
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--
--        OBJECT           ospfIfAreaId
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--
--        OBJECT           ospfIfStatus
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Create access is not required."
--
--                
--        OBJECT           ospfStubMetric
--        MIN-ACCESS       read-write
--        DESCRIPTION     "Create access is not required."                
--                                                    
--        OBJECT           ospfStubStatus
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--         
--        OBJECT           ospfStubMetricType
--        MIN-ACCESS       read-write
--        DESCRIPTION     "Create access is not required."         
--        
--        OBJECT           ospfIfAdminStat
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."                 
--         
--        OBJECT           ospfNbmaNbrStatus
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Read-create access is not required."                 
--        
--        OBJECT           ospfNbrPriority
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Read-create access is not required."  
--
--        OBJECT           ospfIfPollInterval
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Read-create access is not required."                  
--        
--        OBJECT           ospfIfTransitDelay
--        SYNTAX           Unsigned32 (1..65535)
--        DESCRIPTION     "Range of value is changed."  
--        
--        OBJECT           ospfIfRetransInterval
--        SYNTAX           Unsigned32 (1..65535)
--        DESCRIPTION     "Range of value is changed."          
--        
--        OBJECT           ospfVirtIfTransitDelay
--        SYNTAX           Unsigned32 (1..65535)
--        DESCRIPTION     "Range of value is changed."          
--
--        OBJECT           ospfIfType
--        SYNTAX           INTEGER    {
--                             broadcast (1),
--                             nbma (2),
--                             pointToPoint (3),
--                             pointToMultipoint (5),
--                             loopback(6)
--                         }
--        DESCRIPTION     "add type 'loopback'."          
--                
--        OBJECT           ospfVirtIfRetransInterval
--        SYNTAX           Unsigned32 (1..65535)
--        DESCRIPTION     "Range of value is changed."       
        
        OBJECT           qtechOspfVirtIfRtrDeadInterval
        SYNTAX           PositiveInteger
        DESCRIPTION     "default value change from 60 to 40."                           
                                   
    ::= { ospfMIBCompliances 1 }

        
END
