-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsmistdospf.mib,v 1.3 2013/06/15 13:37:22 siva Exp $

SUPERMICRO-MISTDOSPF-MIB DEFINITIONS ::= BEGIN

    IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
            Integer32, IpAddress, enterprises
                FROM SNMPv2-SMI
            TEXTUAL-CONVENTION, TruthValue, RowStatus
                FROM SNMPv2-TC;

--  This MIB module uses the extended OBJECT-TYPE macro as
--  defined in [9].

fsMIStdOspf MODULE-IDENTITY
      LAST-UPDATED "201209050000Z"
      ORGANIZATION "Super Micro Computer Inc."
      CONTACT-INFO "support@Supermicro.com"
      DESCRIPTION
      "The Proprietary OSPFMI MIB modified from STDOSPF MIB"
      REVISION "201209050000Z"
      DESCRIPTION
      "The Proprietary OSPFMI MIB modified from STDOSPF MIB"
    
    ::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) 146 }

--  The Area ID, in OSPF, has the same format as an IP Address,
--  but has the function of defining a summarization point for
--  Link State Advertisements

AreaID ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "An OSPF Area Identifier."
    SYNTAX      IpAddress


--  The Router ID, in OSPF, has the same format as an IP Address,
--  but identifies the router independent of its IP Address.

RouterID ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A OSPF Router Identifier."
    SYNTAX      IpAddress


--  The OSPF Metric is defined as an unsigned value in the range

Metric ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The OSPF Internal Metric."
    SYNTAX      Integer32 (0..'FFFF'h)

BigMetric ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The OSPF External Metric."
    SYNTAX      Integer32 (0..'FFFFFF'h)

--  Status Values

Status ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "The status of an interface: 'enabled' indicates that
       it is willing to communicate with other OSPF Routers,
       while 'disabled' indicates that it is not."
    SYNTAX      INTEGER { enabled (1), disabled (2) }

--  Time Durations measured in seconds

PositiveInteger ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "A positive integer. Values in excess are precluded as
       unnecessary and prone to interoperability issues."
    SYNTAX      Integer32 (0..'7FFFFFFF'h)

HelloRange ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The range of intervals on which hello messages are
       exchanged."
    SYNTAX      Integer32 (1..'FFFF'h)

UpToMaxAge ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The values that one might find or configure for
       variables bounded by the maximum age of an LSA."
    SYNTAX      Integer32 (0..3600)

--  Potential Priorities for the Designated Router Election

DesignatedRouterPriority ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "The values defined for the priority of a system for
       becoming the designated router."
    SYNTAX      Integer32 (0..'FF'h)

TOSType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION
       "Type of Service is defined as a mapping to the IP Type of
       Service Flags as defined in the IP Forwarding Table MIB

       +-----+-----+-----+-----+-----+-----+-----+-----+
       |                 |                       |     |
       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
       |                 |                       |     |
       +-----+-----+-----+-----+-----+-----+-----+-----+

                IP TOS                IP TOS
           Field     Policy      Field     Policy

           Contents    Code      Contents    Code
           0 0 0 0  ==>   0      0 0 0 1  ==>   2
           0 0 1 0  ==>   4      0 0 1 1  ==>   6
           0 1 0 0  ==>   8      0 1 0 1  ==>  10
           0 1 1 0  ==>  12      0 1 1 1  ==>  14
           1 0 0 0  ==>  16      1 0 0 1  ==>  18
           1 0 1 0  ==>  20      1 0 1 1  ==>  22
           1 1 0 0  ==>  24      1 1 0 1  ==>  26
           1 1 1 0  ==>  28      1 1 1 1  ==>  30

       The remaining values are left for future definition."
    SYNTAX      Integer32 (0..30)



fsMIStdOspfGeneralGroup OBJECT IDENTIFIER ::= { fsMIStdOspf 1 }


--	OSPF Table
--	contains information regarding various instances
--	of the router

    fsMIStdOspfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FsMIStdOspfEntry 
	MAX-ACCESS   not-accessible
	STATUS   current
	DESCRIPTION	 
	   "Information describing the parameters 
	   of router's instances"
      ::= { fsMIStdOspfGeneralGroup 1 }

    fsMIStdOspfEntry OBJECT-TYPE
	SYNTAX FsMIStdOspfEntry
	MAX-ACCESS   not-accessible
	STATUS   current
	DESCRIPTION	 
	   "Information describing the parameters 
	   of one of the router's instances"
	INDEX { fsMIStdOspfContextId }
      ::= { fsMIStdOspfTable 1 }
	
FsMIStdOspfEntry ::=
    SEQUENCE {
	fsMIStdOspfContextId
	   Integer32,	
	fsMIStdOspfRouterId
	   RouterID,
	fsMIStdOspfAdminStat
	   Status,
	fsMIStdOspfVersionNumber
	   INTEGER,
	fsMIStdOspfAreaBdrRtrStatus
	   TruthValue,
	fsMIStdOspfASBdrRtrStatus
	   TruthValue,
	fsMIStdOspfExternLsaCount
	   Gauge32,
	fsMIStdOspfExternLsaCksumSum
 	   Integer32,
	fsMIStdOspfTOSSupport
	   TruthValue,
	fsMIStdOspfOriginateNewLsas
	   Counter32,
	fsMIStdOspfRxNewLsas
	   Counter32,
	fsMIStdOspfExtLsdbLimit
	   Integer32,
	fsMIStdOspfMulticastExtensions
	   Integer32,
	fsMIStdOspfExitOverflowInterval
	   PositiveInteger,
	fsMIStdOspfDemandExtensions
	   TruthValue,
        fsMIStdOspfStatus
           RowStatus
    	     }

    fsMIStdOspfContextId OBJECT-TYPE
	SYNTAX	Integer32(0..255)
	MAX-ACCESS   not-accessible
	STATUS   current
	DESCRIPTION
	   "A 32-bit unique context id for each entry"
      ::= { fsMIStdOspfEntry 1 }


    fsMIStdOspfRouterId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   read-write 
        STATUS   current
        DESCRIPTION
           "A  32-bit  integer  uniquely  identifying  the
           router in the Autonomous System.

           By  convention,  to  ensure  uniqueness,   this
           should  default  to  the  value  of  one of the
           router's IP interface addresses."
       REFERENCE
          "OSPF Version 2, C.1 Global parameters"
      ::= { fsMIStdOspfEntry 2 }


    fsMIStdOspfAdminStat OBJECT-TYPE
        SYNTAX   Status
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The  administrative  status  of  OSPF  in  the
           router.   The  value 'enabled' denotes that the
           OSPF Process is active on at least  one  inter-
           face;  'disabled'  disables  it  on  all inter-
           faces."
       ::= { fsMIStdOspfEntry 3 }

    fsMIStdOspfVersionNumber OBJECT-TYPE
        SYNTAX   INTEGER    { version2 (2) }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The current version number of the OSPF  proto-
           col is 2."
       REFERENCE
          "OSPF Version 2, Title"
      ::= { fsMIStdOspfEntry 4 }


    fsMIStdOspfAreaBdrRtrStatus OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A flag to note whether this router is an  area
           border router."
       REFERENCE
          "OSPF Version 2, Section 3 Splitting the AS into
          Areas"
      ::= { fsMIStdOspfEntry 5 }


    fsMIStdOspfASBdrRtrStatus OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A flag to note whether this router is  config-
           ured as an Autonomous System border router."
       REFERENCE
          "OSPF Version 2, Section 3.3  Classification  of
          routers"
      ::= { fsMIStdOspfEntry 6 }

    fsMIStdOspfExternLsaCount OBJECT-TYPE
        SYNTAX   Gauge32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of external (LS type 5)  link-state
           advertisements in the link-state database."
       REFERENCE
          "OSPF Version 2, Appendix A.4.5 AS external link
          advertisements"
      ::= { fsMIStdOspfEntry 7 }


    fsMIStdOspfExternLsaCksumSum OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The 32-bit unsigned sum of the LS checksums of
           the  external  link-state  advertisements  con-
           tained in the link-state  database.   This  sum
           can  be  used  to determine if there has been a
           change in a router's link state  database,  and
           to  compare  the  link-state  database  of  two
           routers."
       ::= { fsMIStdOspfEntry 8 }


    fsMIStdOspfTOSSupport OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The router's support for type-of-service rout-
           ing."
       REFERENCE
          "OSPF Version 2,  Appendix  F.1.2  Optional  TOS
          support"
      ::= { fsMIStdOspfEntry 9 }

    fsMIStdOspfOriginateNewLsas OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of  new  link-state  advertisements
           that  have been originated.  This number is in-
           cremented each time the router originates a new
           LSA."
       ::= { fsMIStdOspfEntry 10 }


    fsMIStdOspfRxNewLsas OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of  link-state  advertisements  re-
           ceived  determined  to  be  new instantiations.
           This number does not include  newer  instantia-
           tions  of self-originated link-state advertise-
           ments."
       ::= { fsMIStdOspfEntry 11 }

    fsMIStdOspfExtLsdbLimit OBJECT-TYPE
        SYNTAX   Integer32 (-1..'7FFFFFFF'h)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The  maximum   number   of   non-default   AS-
           external-LSAs entries that can be stored in the
           link-state database.  If the value is -1,  then
           there is no limit.

           When the number of non-default AS-external-LSAs
           in   a  router's  link-state  database  reaches
           fsMIStdOspfExtLsdbLimit, the router  enters  Overflow-
           State.   The   router  never  holds  more  than
           fsMIStdOspfExtLsdbLimit  non-default  AS-external-LSAs
           in  its  database. fsMIStdOspfExtLsdbLimit MUST be set
           identically in all routers attached to the OSPF
           backbone  and/or  any regular OSPF area. (i.e.,
           OSPF stub areas and NSSAs are excluded)."
       DEFVAL { -1 }
       ::= { fsMIStdOspfEntry 12 }


    fsMIStdOspfMulticastExtensions OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "A Bit Mask indicating whether  the  router  is
           forwarding  IP  multicast  (Class  D) datagrams
           based on the algorithms defined in  the  Multi-
           cast Extensions to OSPF.

           Bit 0, if set, indicates that  the  router  can
           forward  IP multicast datagrams in the router's
           directly attached areas (called intra-area mul-
           ticast routing).

           Bit 1, if set, indicates that  the  router  can
           forward  IP  multicast  datagrams  between OSPF
           areas (called inter-area multicast routing).

           Bit 2, if set, indicates that  the  router  can
           forward  IP  multicast  datagrams between Auto-
           nomous Systems (called inter-AS multicast rout-
           ing).

           Only certain combinations of bit  settings  are
           allowed,  namely: 0 (no multicast forwarding is
           enabled), 1 (intra-area multicasting  only),  3
           (intra-area  and  inter-area  multicasting),  5
           (intra-area and inter-AS  multicasting)  and  7
           (multicasting  everywhere). By default, no mul-
           ticast forwarding is enabled."
       DEFVAL { 0 }
       ::= { fsMIStdOspfEntry 13 }
    
    fsMIStdOspfExitOverflowInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The number of  seconds  that,  after  entering
           OverflowState,  a  router will attempt to leave
           OverflowState. This allows the router to  again
           originate  non-default  AS-external-LSAs.  When
           set to 0, the router will not  leave  Overflow-
           State until restarted."
       DEFVAL { 0 }
       ::= { fsMIStdOspfEntry 14 }


    fsMIStdOspfDemandExtensions OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The router's support for demand routing."
       REFERENCE
          "OSPF Version 2, Appendix on Demand Routing"
      ::= { fsMIStdOspfEntry 15 }

    fsMIStdOspfStatus OBJECT-TYPE
	SYNTAX	RowStatus
	MAX-ACCESS   read-write
	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."
      ::= { fsMIStdOspfEntry 16 }


--      The OSPF Area Data Structure contains information
--      regarding the various areas. The interfaces and
--      virtual links are configured as part of these areas.
--      Area 0.0.0.0, by definition, is the Backbone Area


    fsMIStdOspfAreaTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfAreaEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the configured  parame-
           ters  and cumulative statistics of the router's
           attached areas."
       REFERENCE
          "OSPF Version 2, Section 6  The Area Data Struc-
          ture"
      ::= { fsMIStdOspf 2 }


    fsMIStdOspfAreaEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfAreaEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the configured  parame-
           ters  and  cumulative  statistics of one of the
           router's attached areas."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfAreaId }
       ::= { fsMIStdOspfAreaTable 1 }

FsMIStdOspfAreaEntry ::=
    SEQUENCE {
        fsMIStdOspfAreaId
            AreaID,
        fsMIStdOspfImportAsExtern
            INTEGER,
        fsMIStdOspfSpfRuns
            Counter32,
        fsMIStdOspfAreaBdrRtrCount
            Gauge32,
        fsMIStdOspfAsBdrRtrCount
            Gauge32,
        fsMIStdOspfAreaLsaCount
            Gauge32,
        fsMIStdOspfAreaLsaCksumSum
            Integer32,
        fsMIStdOspfAreaSummary
            INTEGER,
        fsMIStdOspfAreaStatus
            RowStatus
              }

    fsMIStdOspfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfAreaEntry 1 }


    fsMIStdOspfImportAsExtern OBJECT-TYPE
        SYNTAX   INTEGER    {
                    importExternal (1),
                    importNoExternal (2),
                    importNssa (3)
                  }
        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 }
      ::= { fsMIStdOspfAreaEntry 3 }


    fsMIStdOspfSpfRuns 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."
       ::= { fsMIStdOspfAreaEntry 4 }


    fsMIStdOspfAreaBdrRtrCount 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."
       ::= { fsMIStdOspfAreaEntry 5 }

    fsMIStdOspfAsBdrRtrCount 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."
       ::= { fsMIStdOspfAreaEntry 6 }


    fsMIStdOspfAreaLsaCount 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."
       ::= { fsMIStdOspfAreaEntry 7 }


    fsMIStdOspfAreaLsaCksumSum OBJECT-TYPE
        SYNTAX   Integer32
        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 }
       ::= { fsMIStdOspfAreaEntry 8 }

    fsMIStdOspfAreaSummary OBJECT-TYPE
        SYNTAX   INTEGER    {
                    noAreaSummary (1),
                    sendAreaSummary (2)
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The variable fsMIStdOspfAreaSummary 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   { noAreaSummary }
       ::= { fsMIStdOspfAreaEntry 9 }


    fsMIStdOspfAreaStatus 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."
       ::= { fsMIStdOspfAreaEntry 10 }


--  OSPF Area Default Metric Table

--      The OSPF Area Default Metric Table describes the metrics
--      that a default Area Border Router will advertise into a
--      Stub area.


    fsMIStdOspfStubAreaTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfStubAreaEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The set of metrics that will be advertised  by
           a default Area Border Router into a stub area."
       REFERENCE
          "OSPF Version 2, Appendix C.2, Area Parameters"
      ::= { fsMIStdOspf 3 }


    fsMIStdOspfStubAreaEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfStubAreaEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The metric for a given Type  of  Service  that
           will  be  advertised  by  a default Area Border
           Router into a stub area."
       REFERENCE
          "OSPF Version 2, Appendix C.2, Area Parameters"
      INDEX { fsMIStdOspfContextId, fsMIStdOspfStubAreaId, fsMIStdOspfStubTOS }
      ::= { fsMIStdOspfStubAreaTable 1 }

FsMIStdOspfStubAreaEntry ::=
    SEQUENCE {
        fsMIStdOspfStubAreaId
            AreaID,
        fsMIStdOspfStubTOS
            TOSType,
        fsMIStdOspfStubMetric
            BigMetric,
        fsMIStdOspfStubStatus
            RowStatus,
        fsMIStdOspfStubMetricType
            INTEGER
              }

    fsMIStdOspfStubAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The 32 bit identifier for the Stub  Area.   On
           creation,  this  can  be  derived  from the in-
           stance."
       ::= { fsMIStdOspfStubAreaEntry 1 }


    fsMIStdOspfStubTOS OBJECT-TYPE
        SYNTAX   TOSType
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The  Type  of  Service  associated  with   the
           metric.   On creation, this can be derived from
           the instance."
       ::= { fsMIStdOspfStubAreaEntry 2 }


    fsMIStdOspfStubMetric OBJECT-TYPE
        SYNTAX   BigMetric
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The metric value applied at the indicated type
           of  service.  By default, this equals the least
           metric at the type of service among the  inter-
           faces to other areas."
       ::= { fsMIStdOspfStubAreaEntry 3 }


    fsMIStdOspfStubStatus 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."
       ::= { fsMIStdOspfStubAreaEntry 4 }

    fsMIStdOspfStubMetricType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    ospfMetric (1),                -- OSPF Metric
                    comparableCost (2),        -- external type 1
                    nonComparable  (3)        -- external type 2
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "This variable displays the type of metric  ad-
           vertised as a default route."
       DEFVAL   { ospfMetric }
       ::= { fsMIStdOspfStubAreaEntry 5 }

--  OSPF Link State Database

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


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


    fsMIStdOspfLsdbEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfLsdbAreaId, fsMIStdOspfLsdbType,
               fsMIStdOspfLsdbLsid, fsMIStdOspfLsdbRouterId }
       ::= { fsMIStdOspfLsdbTable 1 }

FsMIStdOspfLsdbEntry ::=
    SEQUENCE {
        fsMIStdOspfLsdbAreaId
            AreaID,
        fsMIStdOspfLsdbType
            INTEGER,
        fsMIStdOspfLsdbLsid
            IpAddress,
        fsMIStdOspfLsdbRouterId
            RouterID,
        fsMIStdOspfLsdbSequence
            Integer32,
        fsMIStdOspfLsdbAge
            Integer32,
        fsMIStdOspfLsdbChecksum
            Integer32,
        fsMIStdOspfLsdbAdvertisement
            OCTET STRING
              }

    fsMIStdOspfLsdbAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfLsdbEntry 1 }

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

    fsMIStdOspfLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    routerLink (1),
                    networkLink (2),
                    summaryLink (3),
                    asSummaryLink (4),
                    asExternalLink (5), -- but see fsMIStdOspfExtLsdbTable
                    multicastLink (6),
                    nssaExternalLink (7)
                  }
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfLsdbEntry 2 }

    fsMIStdOspfLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfLsdbEntry 3 }
    fsMIStdOspfLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfLsdbEntry 4 }

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

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


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

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


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


--  OSPF Host Table

--      The Host/Metric Table indicates what hosts are directly
--      attached to the Router, and what metrics and types of
--      service should be advertised for them.

    fsMIStdOspfHostTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfHostEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The list of Hosts, and their metrics, that the
           router will advertise as host routes."
       REFERENCE
          "OSPF Version 2, Appendix C.6  Host route param-
          eters"
      ::= { fsMIStdOspf 5 }


    fsMIStdOspfHostEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfHostEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A metric to be advertised, for a given type of
           service, when a given host is reachable."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfHostIpAddress, fsMIStdOspfHostTOS }
       ::= { fsMIStdOspfHostTable 1 }

FsMIStdOspfHostEntry ::=
    SEQUENCE {
        fsMIStdOspfHostIpAddress
            IpAddress,
        fsMIStdOspfHostTOS
            TOSType,
        fsMIStdOspfHostMetric
            Metric,
        fsMIStdOspfHostStatus
            RowStatus,
        fsMIStdOspfHostAreaID
            AreaID
              }

    fsMIStdOspfHostIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The IP Address of the Host."
       REFERENCE
          "OSPF Version 2, Appendix C.6 Host route parame-
          ters"
      ::= { fsMIStdOspfHostEntry 1 }


    fsMIStdOspfHostTOS OBJECT-TYPE
        SYNTAX   TOSType
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The Type of Service of the route being config-
           ured."
       REFERENCE
          "OSPF Version 2, Appendix C.6 Host route parame-
          ters"
      ::= { fsMIStdOspfHostEntry 2 }


    fsMIStdOspfHostMetric OBJECT-TYPE
        SYNTAX   Metric
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The Metric to be advertised."
       REFERENCE
          "OSPF Version 2, Appendix C.6 Host route parame-
          ters"
      ::= { fsMIStdOspfHostEntry 3 }

    fsMIStdOspfHostStatus 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."
       ::= { fsMIStdOspfHostEntry 4 }


    fsMIStdOspfHostAreaID OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The Area the Host Entry is to be found within.
           By  default, the area that a subsuming OSPF in-
           terface is in, or 0.0.0.0"
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { fsMIStdOspfHostEntry 5 }


--  OSPF Interface Table

--      The OSPF Interface Table augments the ipAddrTable
--             with OSPF specific information.

    fsMIStdOspfIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Interface Table describes the  inter-
           faces from the viewpoint of OSPF."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      ::= { fsMIStdOspf 6 }


    fsMIStdOspfIfEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The OSPF Interface Entry describes one  inter-
           face from the viewpoint of OSPF."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfIfIpAddress, fsMIStdOspfAddressLessIf }
       ::= { fsMIStdOspfIfTable 1 }

FsMIStdOspfIfEntry ::=
    SEQUENCE {
        fsMIStdOspfIfIpAddress
            IpAddress,
        fsMIStdOspfAddressLessIf
            Integer32,
        fsMIStdOspfIfAreaId
            AreaID,
        fsMIStdOspfIfType
            INTEGER,
        fsMIStdOspfIfAdminStat
            Status,
        fsMIStdOspfIfRtrPriority
            DesignatedRouterPriority,
        fsMIStdOspfIfTransitDelay
            UpToMaxAge,
        fsMIStdOspfIfRetransInterval
            UpToMaxAge,
        fsMIStdOspfIfHelloInterval
            HelloRange,
        fsMIStdOspfIfRtrDeadInterval
            PositiveInteger,
        fsMIStdOspfIfPollInterval
            PositiveInteger,
        fsMIStdOspfIfState
            INTEGER,
        fsMIStdOspfIfDesignatedRouter
            IpAddress,
        fsMIStdOspfIfBackupDesignatedRouter
            IpAddress,
        fsMIStdOspfIfEvents
            Counter32,
        fsMIStdOspfIfAuthKey
            OCTET STRING,
        fsMIStdOspfIfStatus
            RowStatus,
        fsMIStdOspfIfMulticastForwarding
            INTEGER,
        fsMIStdOspfIfDemand
            TruthValue,
        fsMIStdOspfIfAuthType
            Integer32,
        fsMIStdOspfIfCryptoAuthType
            Integer32
              }

    fsMIStdOspfIfIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The IP address of this OSPF interface."
       ::= { fsMIStdOspfIfEntry 1 }

    fsMIStdOspfAddressLessIf OBJECT-TYPE
        SYNTAX   Integer32 (0..65535)
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "For the purpose of easing  the  instancing  of
           addressed   and  addressless  interfaces;  This
           variable takes the value 0 on  interfaces  with
           IP  Addresses,  and  the corresponding value of
           ifIndex for interfaces having no IP Address."
       ::= { fsMIStdOspfIfEntry 2 }
    fsMIStdOspfIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   read-create
        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
       ::= { fsMIStdOspfIfEntry 3 }

    fsMIStdOspfIfType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    broadcast (1),
                    nbma (2),
                    pointToPoint (3),
                    pointToMultipoint (5)
                  }
        MAX-ACCESS   read-create
        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'."
       ::= { fsMIStdOspfIfEntry 4 }


    fsMIStdOspfIfAdminStat OBJECT-TYPE
        SYNTAX   Status
        MAX-ACCESS   read-create
        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."
       DEFVAL { enabled }
       ::= { fsMIStdOspfIfEntry 5 }

    fsMIStdOspfIfRtrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        MAX-ACCESS   read-create
        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 }
       ::= { fsMIStdOspfIfEntry 6 }


    fsMIStdOspfIfTransitDelay OBJECT-TYPE
        SYNTAX   UpToMaxAge
        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 }
       ::= { fsMIStdOspfIfEntry 7 }


    fsMIStdOspfIfRetransInterval OBJECT-TYPE
        SYNTAX   UpToMaxAge
        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."
       DEFVAL { 5 }
       ::= { fsMIStdOspfIfEntry 8 }


    fsMIStdOspfIfHelloInterval 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  all
           routers attached to a common network."
       DEFVAL { 10 }
       ::= { fsMIStdOspfIfEntry 9 }


    fsMIStdOspfIfRtrDeadInterval 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 all routers attached
           to a common network."
       DEFVAL { 40 }
       ::= { fsMIStdOspfIfEntry 10 }


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


    fsMIStdOspfIfState 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 }
       ::= { fsMIStdOspfIfEntry 12 }


    fsMIStdOspfIfDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP Address of the Designated Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { fsMIStdOspfIfEntry 13 }


    fsMIStdOspfIfBackupDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The  IP  Address  of  the  Backup   Designated
           Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { fsMIStdOspfIfEntry 14 }

    fsMIStdOspfIfEvents 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."
       ::= { fsMIStdOspfIfEntry 15 }


    fsMIStdOspfIfAuthKey OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (0..256))
        MAX-ACCESS   read-create
        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, fsMIStdOspfIfAuthKey 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
      ::= { fsMIStdOspfIfEntry 16 }

    fsMIStdOspfIfStatus 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."
       ::= { fsMIStdOspfIfEntry 17 }


    fsMIStdOspfIfMulticastForwarding OBJECT-TYPE
        SYNTAX   INTEGER    {
                            blocked (1),        -- no multicast forwarding
                            multicast (2),        -- using multicast address
                            unicast (3)        -- to each OSPF neighbor
                  }
        MAX-ACCESS   read-create
        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 fsMIStdOspfMulticastForwarding to 0 effective-
           ly disables all multicast forwarding."
       DEFVAL { blocked }
       ::= { fsMIStdOspfIfEntry 18 }


    fsMIStdOspfIfDemand OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-create
        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 }
       ::= { fsMIStdOspfIfEntry 19 }


    fsMIStdOspfIfAuthType OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
                    -- 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  in-
           terface.   Additional  authentication types may
           be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { fsMIStdOspfIfEntry 20 }

    fsMIStdOspfIfCryptoAuthType OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
                                  --    Md5 (1),
                                  --    Sha-1(2),
                                  --    Sha-224(3),
                                  --    Sha-256(4),
                                  --    Sha-384(5),
                                  --    Sha-512(6)
                                  --    Reserved for future
                               
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This specifies the cryptographic authentication algorithm to be
	    used. This can be configured only when fsMIStdOspfIfAuthType is 
	    set to crypto. This object needs to be additionally configured for 
	    SHA authentication, as standard mib does not support SHA configuration
	    as yet. "

        DEFVAL { 1 }        -- Md5, by default
        ::= {fsMIStdOspfIfEntry 21}


--  OSPF Interface Metric Table

--      The Metric Table describes the metrics to be advertised
--      for a specified interface at the various types of service.
--      As such, this table is an adjunct of the OSPF Interface
--      Table.

-- Types of service, as defined by RFC 791, have the ability
-- to request low delay, high bandwidth, or reliable linkage.

-- For the purposes of this specification, the measure of
-- bandwidth

--      Metric = 10^8 / ifSpeed

-- is the default value.  For multiple link interfaces, note
-- that ifSpeed is the sum of the individual link speeds.
-- This yields a number having the following typical values:

--      Network Type/bit rate   Metric

--      >= 100 MBPS                 1
--      Ethernet/802.3             10
--      E1                         48
--      T1 (ESF)                   65
--       64 KBPS                 1562
--       56 KBPS                 1785
--       19.2 KBPS               5208
--        9.6 KBPS              10416

-- Routes that are not specified use the default (TOS 0) metric

    fsMIStdOspfIfMetricTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfIfMetricEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The TOS metrics for  a  non-virtual  interface
           identified by the interface index."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      ::= { fsMIStdOspf 7 }

    fsMIStdOspfIfMetricEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfIfMetricEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A particular TOS metric for a non-virtual  in-
           terface identified by the interface index."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      INDEX { fsMIStdOspfContextId, fsMIStdOspfIfMetricIpAddress,
              fsMIStdOspfIfMetricAddressLessIf,
              fsMIStdOspfIfMetricTOS }
      ::= { fsMIStdOspfIfMetricTable 1 }

FsMIStdOspfIfMetricEntry ::=
    SEQUENCE {
        fsMIStdOspfIfMetricIpAddress
            IpAddress,
        fsMIStdOspfIfMetricAddressLessIf
            Integer32,
        fsMIStdOspfIfMetricTOS
            TOSType,
        fsMIStdOspfIfMetricValue
            Metric,
        fsMIStdOspfIfMetricStatus
            RowStatus
              }

    fsMIStdOspfIfMetricIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The IP address of this OSPF interface.  On row
           creation,  this  can  be  derived  from the in-
           stance."
       ::= { fsMIStdOspfIfMetricEntry 1 }

    fsMIStdOspfIfMetricAddressLessIf OBJECT-TYPE
        SYNTAX   Integer32 (0..65535)
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "For the purpose of easing  the  instancing  of
           addressed   and  addressless  interfaces;  This
           variable takes the value 0 on  interfaces  with
           IP  Addresses, and the value of ifIndex for in-
           terfaces having no IP Address.   On  row  crea-
           tion, this can be derived from the instance."
       ::= { fsMIStdOspfIfMetricEntry 2 }


    fsMIStdOspfIfMetricTOS OBJECT-TYPE
        SYNTAX   TOSType
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The type of service metric  being  referenced.
           On  row  creation, this can be derived from the
           instance."
       ::= { fsMIStdOspfIfMetricEntry 3 }


    fsMIStdOspfIfMetricValue OBJECT-TYPE
        SYNTAX   Metric
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The metric of using this type  of  service  on
           this interface.  The default value of the TOS 0
           Metric is 10^8 / ifSpeed."
       ::= { fsMIStdOspfIfMetricEntry 4 }

    fsMIStdOspfIfMetricStatus 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."
       ::= { fsMIStdOspfIfMetricEntry 5 }


--  OSPF Virtual Interface Table

--      The Virtual Interface Table describes the virtual
--      links that the OSPF Process is configured to
--      carry on.

    fsMIStdOspfVirtIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfVirtIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information about this router's virtual inter-
           faces."
       REFERENCE
          "OSPF Version  2,  Appendix  C.4   Virtual  link
          parameters"
      ::= { fsMIStdOspf 8 }


    fsMIStdOspfVirtIfEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfVirtIfEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information about a single Virtual Interface."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfVirtIfAreaId, fsMIStdOspfVirtIfNeighbor }
       ::= { fsMIStdOspfVirtIfTable 1 }

FsMIStdOspfVirtIfEntry ::=
    SEQUENCE {
        fsMIStdOspfVirtIfAreaId
            AreaID,
        fsMIStdOspfVirtIfNeighbor
            RouterID,
        fsMIStdOspfVirtIfTransitDelay
            UpToMaxAge,
        fsMIStdOspfVirtIfRetransInterval
            UpToMaxAge,
        fsMIStdOspfVirtIfHelloInterval
            HelloRange,
        fsMIStdOspfVirtIfRtrDeadInterval
            PositiveInteger,
        fsMIStdOspfVirtIfState
            INTEGER,
        fsMIStdOspfVirtIfEvents
            Counter32,
        fsMIStdOspfVirtIfAuthKey
            OCTET STRING,
        fsMIStdOspfVirtIfStatus
            RowStatus,
        fsMIStdOspfVirtIfAuthType
            Integer32,
        fsMIStdOspfVirtIfCryptoAuthType
            Integer32
              }

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


    fsMIStdOspfVirtIfNeighbor OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The Router ID of the Virtual Neighbor."
       ::= { fsMIStdOspfVirtIfEntry 2 }


    fsMIStdOspfVirtIfTransitDelay OBJECT-TYPE
        SYNTAX   UpToMaxAge
        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 }
       ::= { fsMIStdOspfVirtIfEntry 3 }


    fsMIStdOspfVirtIfRetransInterval OBJECT-TYPE
        SYNTAX   UpToMaxAge
        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 }
       ::= { fsMIStdOspfVirtIfEntry 4 }


    fsMIStdOspfVirtIfHelloInterval 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 }
       ::= { fsMIStdOspfVirtIfEntry 5 }


    fsMIStdOspfVirtIfRtrDeadInterval 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 { 60 }
       ::= { fsMIStdOspfVirtIfEntry 6 }


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


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


    fsMIStdOspfVirtIfAuthKey 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,  fsMIStdOspfVifAuthKey  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
      ::= { fsMIStdOspfVirtIfEntry 9 }


    fsMIStdOspfVirtIfStatus 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."
       ::= { fsMIStdOspfVirtIfEntry 10 }


    fsMIStdOspfVirtIfAuthType OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- reserved for specification by IANA (> 2)
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "The authentication type specified for a virtu-
           al  interface.  Additional authentication types
           may be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { fsMIStdOspfVirtIfEntry 11 }

    fsMIStdOspfVirtIfCryptoAuthType OBJECT-TYPE
        SYNTAX      Integer32 (0..255)
                                  --    Md5 (1),
                                  --    Sha-1(2),
                                  --    Sha-224(3),
                                  --    Sha-256(4),
                                  --    Sha-384(5),
                                  --    Sha-512(6)
                                  --    Reserved for future
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This specifies the cryptographic authentication algorithm to be used. This can be 
	    configured only when fsMIStdOspfVirtIfAuthType is set to crypto. This object
	    needs to be additionally configured for SHA authentication, as the standard
	    OSPF mib does not support SHA authentication configuration as yet "

        DEFVAL { 1 }        -- Md5, by default
         ::= {fsMIStdOspfVirtIfEntry 12}



--  OSPF Neighbor Table

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

    fsMIStdOspfNbrTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfNbrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A table of non-virtual neighbor information."
       REFERENCE
          "OSPF Version 2, Section 10  The  Neighbor  Data
          Structure"
      ::= { fsMIStdOspf 9 }


    fsMIStdOspfNbrEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfNbrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The information regarding a single neighbor."
       REFERENCE
          "OSPF Version 2, Section 10  The  Neighbor  Data
          Structure"
      INDEX { fsMIStdOspfContextId, fsMIStdOspfNbrIpAddr, fsMIStdOspfNbrAddressLessIndex }
      ::= { fsMIStdOspfNbrTable 1 }

FsMIStdOspfNbrEntry ::=
    SEQUENCE {
        fsMIStdOspfNbrIpAddr
            IpAddress,
        fsMIStdOspfNbrAddressLessIndex
            Integer32,
        fsMIStdOspfNbrRtrId
            RouterID,
        fsMIStdOspfNbrOptions
            Integer32,
        fsMIStdOspfNbrPriority
            DesignatedRouterPriority,
        fsMIStdOspfNbrState
            INTEGER,
        fsMIStdOspfNbrEvents
            Counter32,
        fsMIStdOspfNbrLsRetransQLen
            Gauge32,
        fsMIStdOspfNbmaNbrStatus
            RowStatus,
        fsMIStdOspfNbmaNbrPermanence
            INTEGER,
        fsMIStdOspfNbrHelloSuppressed
            TruthValue
              }

    fsMIStdOspfNbrIpAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The IP address this neighbor 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."
       ::= { fsMIStdOspfNbrEntry 1 }


    fsMIStdOspfNbrAddressLessIndex OBJECT-TYPE
        SYNTAX   Integer32 (0..65535)
        MAX-ACCESS   not-accessible
        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."
       ::= { fsMIStdOspfNbrEntry 2 }


    fsMIStdOspfNbrRtrId 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."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { fsMIStdOspfNbrEntry 3 }


    fsMIStdOspfNbrOptions OBJECT-TYPE
        SYNTAX   Integer32
        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"
      DEFVAL { 0 }
      ::= { fsMIStdOspfNbrEntry 4 }


    fsMIStdOspfNbrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        MAX-ACCESS   read-create
        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."
       DEFVAL { 1 }
       ::= { fsMIStdOspfNbrEntry 5 }


    fsMIStdOspfNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeStart (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"
      DEFVAL   { down }
      ::= { fsMIStdOspfNbrEntry 6 }


    fsMIStdOspfNbrEvents 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."
       ::= { fsMIStdOspfNbrEntry 7 }


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


    fsMIStdOspfNbmaNbrStatus 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."
       ::= { fsMIStdOspfNbrEntry 9 }


    fsMIStdOspfNbmaNbrPermanence 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."
       DEFVAL { permanent }
       ::= { fsMIStdOspfNbrEntry 10 }


    fsMIStdOspfNbrHelloSuppressed OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Indicates whether Hellos are being  suppressed
           to the neighbor"
       ::= { fsMIStdOspfNbrEntry 11 }


--  OSPF Virtual Neighbor Table

--      This table describes all virtual neighbors.
--      Since Virtual Links are configured in the
--      virtual interface table, this table is read-only.

    fsMIStdOspfVirtNbrTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfVirtNbrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A table of virtual neighbor information."
       REFERENCE
          "OSPF Version 2, Section 15  Virtual Links"
      ::= { fsMIStdOspf 10 }


    fsMIStdOspfVirtNbrEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfVirtNbrEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Virtual neighbor information."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfVirtNbrArea, fsMIStdOspfVirtNbrRtrId }
       ::= { fsMIStdOspfVirtNbrTable 1 }

FsMIStdOspfVirtNbrEntry ::=
    SEQUENCE {
        fsMIStdOspfVirtNbrArea
            AreaID,
        fsMIStdOspfVirtNbrRtrId
            RouterID,
        fsMIStdOspfVirtNbrIpAddr
            IpAddress,
        fsMIStdOspfVirtNbrOptions
            Integer32,
        fsMIStdOspfVirtNbrState
            INTEGER,
        fsMIStdOspfVirtNbrEvents
            Counter32,
        fsMIStdOspfVirtNbrLsRetransQLen
            Gauge32,
        fsMIStdOspfVirtNbrHelloSuppressed
                TruthValue
              }

    fsMIStdOspfVirtNbrArea OBJECT-TYPE
        SYNTAX   AreaID
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The Transit Area Identifier."
       ::= { fsMIStdOspfVirtNbrEntry 1 }


    fsMIStdOspfVirtNbrRtrId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A  32-bit  integer  uniquely  identifying  the
           neighboring router in the Autonomous System."
       ::= { fsMIStdOspfVirtNbrEntry 2 }


    fsMIStdOspfVirtNbrIpAddr OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address this Virtual  Neighbor  is  us-
           ing."
       ::= { fsMIStdOspfVirtNbrEntry 3 }


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

           Bit 1, 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 2, if set, indicates  that  the  system  is
           Network  Multicast  capable; ie, that it imple-
           ments OSPF Multicast Routing."
       ::= { fsMIStdOspfVirtNbrEntry 4 }
    fsMIStdOspfVirtNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeStart (5),
                    exchange (6),
                    loading (7),
                    full (8)
                  }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The state of the  Virtual  Neighbor  Relation-
           ship."
       ::= { fsMIStdOspfVirtNbrEntry 5 }


    fsMIStdOspfVirtNbrEvents OBJECT-TYPE
        SYNTAX   Counter32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The number of  times  this  virtual  link  has
           changed its state, or an error has occurred."
       ::= { fsMIStdOspfVirtNbrEntry 6 }


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


    fsMIStdOspfVirtNbrHelloSuppressed OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Indicates whether Hellos are being  suppressed
           to the neighbor"
       ::= { fsMIStdOspfVirtNbrEntry 8 }

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

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


    fsMIStdOspfExtLsdbEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfExtLsdbEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { fsMIStdOspfContextId, fsMIStdOspfExtLsdbType, fsMIStdOspfExtLsdbLsid, fsMIStdOspfExtLsdbRouterId }
       ::= { fsMIStdOspfExtLsdbTable 1 }

FsMIStdOspfExtLsdbEntry ::=
    SEQUENCE {
        fsMIStdOspfExtLsdbType
            INTEGER,
        fsMIStdOspfExtLsdbLsid
            IpAddress,
        fsMIStdOspfExtLsdbRouterId
            RouterID,
        fsMIStdOspfExtLsdbSequence
            Integer32,
        fsMIStdOspfExtLsdbAge
            Integer32,
        fsMIStdOspfExtLsdbChecksum
            Integer32,
        fsMIStdOspfExtLsdbAdvertisement
            OCTET STRING
              }

    fsMIStdOspfExtLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    asExternalLink (5)
                  }
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfExtLsdbEntry 1 }


    fsMIStdOspfExtLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfExtLsdbEntry 2 }


    fsMIStdOspfExtLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        MAX-ACCESS   not-accessible
        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"
      ::= { fsMIStdOspfExtLsdbEntry 3 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer.  It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--  Thus, a typical sequence number will be very negative.
    fsMIStdOspfExtLsdbSequence OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer.   It  is used to detect old and dupli-
           cate link state advertisements.  The  space  of
           sequence  numbers  is  linearly  ordered.   The
           larger the sequence number the more recent  the
           advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
      ::= { fsMIStdOspfExtLsdbEntry 4 }


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


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


    fsMIStdOspfExtLsdbAdvertisement 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"
      ::= { fsMIStdOspfExtLsdbEntry 7 }


--  OSPF Use of the CIDR Route Table

fsMIStdOspfRouteGroup           OBJECT IDENTIFIER ::= { fsMIStdOspf 12 }

-- The IP Forwarding Table defines a number of objects for use by
-- the routing protocol to externalize its information.  Most of
-- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
-- ipForwardNextHop, ipForwardIfIndex, ipForwardType,
-- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
-- defined there.

-- Those that leave some discretion are defined here.

-- ipCidrRouteProto is, of course, fsMIStdOspf (12).

-- ipCidrRouteAge is the time since the route was first calculated,
-- as opposed to the time since the last SPF run.

-- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing
-- protocol.  The following values shall be found there depending
-- on the way the route was calculated.

fsMIStdOspfIntraArea      OBJECT IDENTIFIER ::= { fsMIStdOspfRouteGroup 1 }
fsMIStdOspfInterArea      OBJECT IDENTIFIER ::= { fsMIStdOspfRouteGroup 2 }
fsMIStdOspfExternalType1  OBJECT IDENTIFIER ::= { fsMIStdOspfRouteGroup 3 }
fsMIStdOspfExternalType2  OBJECT IDENTIFIER ::= { fsMIStdOspfRouteGroup 4 }

-- ipCidrRouteMetric1 is, by definition, the primary routing
-- metric.  Therefore, it should be the metric that route
-- selection is based on.  For intra-area and inter-area routes,
-- it is an OSPF metric.  For External Type 1 (comparable value)
-- routes, it is an OSPF metric plus the External Metric.  For
-- external Type 2 (non-comparable value) routes, it is the
-- external metric.

-- ipCidrRouteMetric2 is, by definition, a secondary routing
-- metric.  Therefore, it should be the metric that breaks a tie
-- among routes having equal metric1 values and the same
-- calculation rule.  For intra-area, inter-area routes, and
-- External Type 1 (comparable value) routes, it is unused.  For
-- external Type 2 (non-comparable value) routes, it is the metric
-- to the AS border router.

-- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 are
-- unused.

--
--      The OSPF Area Aggregate Table
--
--      This table replaces the OSPF Area Summary Table, being an
--      extension of that for CIDR routers.

    fsMIStdOspfAreaAggregateTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF FsMIStdOspfAreaAggregateEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A range of IP addresses  specified  by  an  IP
           address/IP  network  mask  pair.   For example,
           class B address range of X.X.X.X with a network
           mask  of  255.255.0.0 includes all IP addresses
           from X.X.0.0  to  X.X.255.255.   Note  that  if
           ranges  are configured such that one range sub-
           sumes  another  range  (e.g.,   10.0.0.0   mask
           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
           most specific match is the preferred one."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
      ::= { fsMIStdOspf 13 }


    fsMIStdOspfAreaAggregateEntry OBJECT-TYPE
        SYNTAX   FsMIStdOspfAreaAggregateEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "A range of IP addresses  specified  by  an  IP
           address/IP  network  mask  pair.   For example,
           class B address range of X.X.X.X with a network
           mask  of  255.255.0.0 includes all IP addresses
           from X.X.0.0  to  X.X.255.255.   Note  that  if
           ranges are range configured such that one range
           subsumes another  range  (e.g.,  10.0.0.0  mask
           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
           most specific match is the preferred one."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
      INDEX { fsMIStdOspfContextId, fsMIStdOspfAreaAggregateAreaID, fsMIStdOspfAreaAggregateLsdbType,
              fsMIStdOspfAreaAggregateNet, fsMIStdOspfAreaAggregateMask }
      ::= { fsMIStdOspfAreaAggregateTable 1 }


FsMIStdOspfAreaAggregateEntry ::=
    SEQUENCE {
        fsMIStdOspfAreaAggregateAreaID
            AreaID,
        fsMIStdOspfAreaAggregateLsdbType
            INTEGER,
        fsMIStdOspfAreaAggregateNet
            IpAddress,
        fsMIStdOspfAreaAggregateMask
            IpAddress,
        fsMIStdOspfAreaAggregateStatus
            RowStatus,
        fsMIStdOspfAreaAggregateEffect
            INTEGER
              }

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


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


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


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


    fsMIStdOspfAreaAggregateStatus 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."
       ::= { fsMIStdOspfAreaAggregateEntry 5 }


    fsMIStdOspfAreaAggregateEffect OBJECT-TYPE
        SYNTAX   INTEGER    {
                    advertiseMatching (1),
                    doNotAdvertiseMatching (2)
                  }
        MAX-ACCESS   read-create
        STATUS   current
        DESCRIPTION
           "Subnets subsumed by ranges either trigger  the
           advertisement  of  the indicated aggregate (ad-
           vertiseMatching), or result in the subnet's not
           being advertised at all outside the area."
       DEFVAL   { advertiseMatching }
       ::= { fsMIStdOspfAreaAggregateEntry 6 }

END

