LUM-IP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, IpAddress, Integer32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    RowStatus, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumIpMIB
        FROM LUM-REG
    MgmtNameString, CommandString
        FROM LUM-TC;

lumIpMIBModule MODULE-IDENTITY
    LAST-UPDATED 
        "200901230000Z" -- January 23th 2009
    ORGANIZATION 
        "Transmode Systems AB"
    CONTACT-INFO
        "support@transmode.se"
    DESCRIPTION
        "The IP and OSPF MIB.

        - General

        - IP addresses

        - IP routes

        - OSPF interfaces

        //$Id: LUM-IP-MIB.txt 5318 2009-01-23 16:30:47Z johana $
        //alias=ip"
    REVISION
        "200901230000Z" -- January 23th 2009
    DESCRIPTION
        "Added OSPF Passive interface attribute."
    REVISION        
        "200412060000Z" -- December 6th 2004
    DESCRIPTION
        "Added IP address command."
    REVISION        
        "200412030000Z" -- December 3rd 2004
    DESCRIPTION
        "Added symbolic name attributes for routes and OSPF neighbours."
    REVISION        
        "200410010000Z" -- October 1st 2004
    DESCRIPTION
        "Added table size variables."
    REVISION        
        "200305150000Z" -- May 15th 2003
    DESCRIPTION
        "Added ftp and telnet mode."
    REVISION        
        "200209130000Z" -- September 13th 2002
    DESCRIPTION
        "Added OSPF general parameters, interface and neighbor list."
    REVISION        
        "200203120000Z" -- March 12th 2002
    DESCRIPTION
        "Added IP address and mask for the mgmt interface. Interface table is now
        read-only."
    REVISION        
        "200111210000Z" -- November 21st 2001
    DESCRIPTION
        "Added metric to the ospf interface."
    REVISION        
        "200111200000Z" -- November 20th 2001
    DESCRIPTION
        "Removed metrics, moved in-band interfaces to the WDM-mib.
        Minor fixes."
    REVISION        
        "200111160000Z" -- November 16th 2001
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 15 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumIpConfs OBJECT IDENTIFIER ::= { lumIpMIB 1 }
lumIpGroups OBJECT IDENTIFIER ::= { lumIpConfs 1 }
lumIpCompl OBJECT IDENTIFIER ::= { lumIpConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the ip MIB
-- ----------------------------------------------------

lumIpMIBObjects OBJECT IDENTIFIER ::= { lumIpMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

ipGeneral OBJECT IDENTIFIER ::= { lumIpMIBObjects 1 } -- //alias=general
ipIfList OBJECT IDENTIFIER ::= { lumIpMIBObjects 2 } 
ipRouteList OBJECT IDENTIFIER ::= { lumIpMIBObjects 3 } 
ospfGeneral OBJECT IDENTIFIER ::= { lumIpMIBObjects 4 } 
ospfIfList OBJECT IDENTIFIER ::= { lumIpMIBObjects 5 } 
ospfNbrList OBJECT IDENTIFIER ::= { lumIpMIBObjects 6 } 


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

-- N/A


-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

ipGeneralLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last 
        changed. 
        //alias=stateLastChange
        //longAlias='State last change'"
    ::= { ipGeneral 1 }

ipGeneralNextMgmtAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The IP address associated with the management 
       interface.

       If set to 0.0.0.0 the IP address from the boot 
       parameter area is used.

       Updating this variable requires a restart of 
       the system.
       //longAlias='Next address'
       //range=no
       //alias=nextAddr
       //persistent=yes
       //reboot=yes
       //ipaddress=yes"
    ::= { ipGeneral 2 }

ipGeneralStoredMgmtAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address associated with the management 
        interface.

        Note that this address may be different from the
        one stored in the boot parameter area.
        //longAlias='Current address'
        //alias=currentAddr"
    ::= { ipGeneral 3 }

ipGeneralNextMgmtNetMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The subnet mask associated with the IP address 
        of the management interface.
       
        The value of the mask is an IP address with all 
        the network bits set to 1 and all the hosts bits 
        set to 0.

        If set to 0.0.0.0 the net mask from the boot 
        parameter area is used.

        Updating this variable requires a restart of the 
        system.
        //longAlias='Next mask'
        //range=no
        //alias=nextMask
        //persistent=yes
        //reboot=yes"
    ::= { ipGeneral 4 }

ipGeneralStoredMgmtNetMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The subnet mask associated with the management 
        interface.

        Note that this mask may be different from the one
        stored in the boot parameter area.

        The value of the mask is an IP address with all 
        the network bits set to 1 and all the hosts bits 
        set to 0.
        //longAlias='Current mask'
        //alias=currentMask"
    ::= { ipGeneral 5 }

ipGeneralConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was 
        last changed. 
        //longAlias='Configuration last change'
        //alias=configLastChange"
    ::= { ipGeneral 6 }

ipGeneralTelnetMode OBJECT-TYPE
    SYNTAX      INTEGER {
                    enabled (1),
                    disabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables/disables the telnet service in the 
        node.

        enabled - Telnet is enabled.

        disabled - Telnet is disabled.
        //longAlias='Telnet mode'       
        //alias=telnetMode
        //persistent=yes
        //completion=yes"
    DEFVAL { enabled }
    ::= { ipGeneral 7 }

ipGeneralFtpMode OBJECT-TYPE
    SYNTAX      INTEGER {
                    enabled (1),
                    disabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables/disables access the file transfer 
        (FTP) service in the network element.

        enabled - FTP is enabled.

        disabled - FTP is disabled.
        //longAlias='FTP mode'
        //alias=ftpMode
        //persistent=yes
        //completion=yes"
    DEFVAL { enabled }
    ::= { ipGeneral 8 }

ipGeneralIfTableSize OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of rows available in the 
        interface table.
        //longAlias='IP interface table size'
        //alias=ifTableSize
        //advanced=yes"
    ::= { ipGeneral 9 }

ipGeneralRouteTableSize OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of rows available in the 
        route table.
        //longAlias='IP route table size'
        //alias=routeTableSize
        //advanced=yes"
    ::= { ipGeneral 10 }

ipGeneralOspfIfTableSize OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of rows available in the 
        OSPF interface table.
        //longAlias='OSPF interface table size'
        //alias=ospfIfTableSize
        //advanced=yes"
    ::= { ipGeneral 11 }

ipGeneralOspfNbrTableSize OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of rows available in the 
        OSPF neighbour table.
        //longAlias='OSPF neighbour table size'
        //alias=ospfNbrTableSize
        //advanced=yes"
    ::= { ipGeneral 12 }

ipGeneralChangeNextMgmtAddr OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Change IP address and mask.

        If the address is set to 0.0.0.0 the 
        IP address and net mask from the boot 
        parameter area is used.

        Updating this variable requires a restart of 
        the system.
        //advanced=no
        //alias=changeIpAddr
        //reboot=yes
        //longAlias='Change IP address and mask'"
    ::= { ipGeneral 13 }


-- ----------------------------------------------------
-- IP interface table
-- ----------------------------------------------------

ipIfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP interface table."
    ::= { ipIfList 1 }

ipIfEntry OBJECT-TYPE
    SYNTAX      IpIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the IP interface table.
        //longAlias='Interface'
        //alias=if"    
    INDEX { ipIfIndex }
    ::= { ipIfTable 1 }

IpIfEntry ::=
    SEQUENCE {
        ipIfIndex               Unsigned32,
        ipIfName                MgmtNameString,
        ipIfAddr                IpAddress,
        ipIfNetMask             IpAddress,
        ipIfOperStatus          INTEGER }

ipIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
        //longAlias='Index'
        //alias=index
        //table=yes
        //advanced=yes"
    ::= { ipIfEntry 1 }

ipIfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the object, for example 'eth1' or 
        'ppp-1-7'. For the latter the numbers indicate 
        the subrack and slot number.
        //longAlias='Interface'
        //alias=name
        //table=yes" 
    ::= { ipIfEntry 2 }

ipIfAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The destination IP address of this route.
        Set to 0.0.0.0 if no address is assigned.
        //longAlias='Address'
        //alias=addr
        //table=yes"
    ::= { ipIfEntry 3 }

ipIfNetMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The subnet mask associated with the IP address 
        of this entry. The value of the mask is an IP 
        address with all the network bits set to 1 and
        all the hosts bits set to 0.
        //longAlias='Mask'
        //alias=mask
        //table=yes"
    ::= { ipIfEntry 4 }
 
ipIfOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    down (1),
                    up (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for the interface.

        down - The interfaces is disabled.

        up - The interface is ready to pass packages.
        //longAlias='Operational status'
        //table=yes
        //alias=operStatus"
    ::= { ipIfEntry 5 }


-- ----------------------------------------------------
-- IP routing table
-- ----------------------------------------------------

ipRouteTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF IpRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "Statically configured IP routes."
    ::= { ipRouteList 1 }

ipRouteEntry OBJECT-TYPE
    SYNTAX   IpRouteEntry
    MAX-ACCESS not-accessible
    STATUS   current
    DESCRIPTION
       "An entry in the routing table.

       //alias=route"
    INDEX { ipRouteIndex }
    ::= { ipRouteTable 1 }

IpRouteEntry ::=
    SEQUENCE {
        ipRouteIndex            Unsigned32,
        ipRouteDest             IpAddress,
        ipRouteMask             IpAddress,
        ipRouteNextHop          IpAddress,
        ipRouteIfName           MgmtNameString,
        ipRouteRowStatus        RowStatus,
        ipRouteProto            INTEGER,
        ipRouteMetric           Unsigned32,
        ipRouteOperStatus       INTEGER,
        ipRouteName             MgmtNameString }

ipRouteIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
        //longAlias='Index'
        //alias=index
        //table=yes
        //advanced=yes"
    ::= { ipRouteEntry 1 }

ipRouteDest OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The destination IP address of this route.

       This object may not take a Multicast (Class D) 
       address value.

       Any assignment (implicit or otherwise) of an 
       instance  of this object to a value x must be 
       rejected if the bitwise logical-AND of x with 
       the value of the corresponding instance of the 
       ipRouteMask object is not equal to x.
        //longAlias='Destination'
        //range=no
        //alias=dest
        //table=yes
        //persistent=yes"
    ::= { ipRouteEntry 2 }

ipRouteMask OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicate the mask to be logical-ANDed with the 
        destination address before being compared to the 
        value in the ipRouteDest field. For those systems 
        that do not support arbitrary subnet masks, an 
        agent constructs the value of the ipRouteMask 
        by reference to the IP Address Class.

        Any assignment (implicit or  otherwise) of an 
        instance of this object to a value x must be 
        rejected if the bitwise logical-AND of x with  
        the value of the corresponding instance of the 
        ipRouteDest object is not equal to ipRouteDest.
        //longAlias='Mask'
        //range=no
        //table=yes
        //alias=mask
        //persistent=yes"
    ::= { ipRouteEntry 3 }

ipRouteNextHop OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "On remote routes, the address of the next system 
        en route; Otherwise, 0.0.0.0.

        nextHop is restricted to the same sub-net as the 
        node belongs.
        //longAlias='Next hop'
        //range=no
        //alias=nextHop
        //table=yes
        //persistent=yes"
    ::= { ipRouteEntry 4 }

ipRouteIfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The name of the local interface through which the 
        next hop of this route should be reached.
        The following interface names are permitted:

        pn-n-n-n-n - In-band management wrapper channel or 
        optical supervision interfaces.
       
        Where n is a number.

        Set to the empty string if not used.
        //alias=ifName
        //longAlias='Interface'
        //table=yes
        //persistent=yes"
    ::= { ipRouteEntry 5 }

ipRouteRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Manages creation and deletion of conceptual rows.
        See also SNMPv2-TC.
        //hidden=yes
        //alias=rowStatus"
    ::= { ipRouteEntry 6 }

ipRouteProto OBJECT-TYPE
    SYNTAX   INTEGER {
                system (1),
                kernel (2),
                connect (3),
                static (4),
                rip (5),
                ripng (6),
                ospf (7),
                ospf6 (8),
                bgp (9) }
    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
        "The routing mechanism via which this route was 
        learned. Inclusion of values for gateway routing 
        protocols is not intended to imply that hosts 
        should support those protocols.
        //longAlias='Protocol'
        //alias=proto
        //table=yes"
    ::= { ipRouteEntry 7 }

ipRouteMetric OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS   current
    DESCRIPTION
        "The routing metric for this route. 
        The semantics of this metric are determined by
        the routing-protocol specified in the routes
        ipRouteProto value. 
        //longAlias='Metric'
        //alias=metric
        //range=no
        //persistent=yes
        //table=yes"
    DEFVAL { 0 }
    ::= { ipRouteEntry 8 }

ipRouteOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    down (1),
                    up (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The administrative state for the interface.

        down - The route is in-active.

        up - The route is active.
        //longAlias='Operational status'
        //table=yes
        //alias=operStatus"
    ::= { ipRouteEntry 9 }

ipRouteName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Symbolic name of the route entry.
        //longAlias='Name'
        //alias=name
        //advanced=yes"
    ::= { ipRouteEntry 10 }


-- ----------------------------------------------------
-- OSPF general group
-- ----------------------------------------------------

ospfGeneralRouterId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP address used as a router id for the OSPF 
        routing protocol.
        //longAlias='Router id'
        //range=no
        //alias=routerId
        //persistent=yes"
    ::= { ospfGeneral 1 }

ospfGeneralDistrMode OBJECT-TYPE
    SYNTAX      INTEGER {
                    enabled (1),
                    disabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables/disables distribution of static routes 
        throughout the OSPF routing domain (i.e. the so 
        called AS).

        Note: The values for metric type and cost revert
        back to default values when distribution is 
        disabled.

        enabled - Routes are distributed.

        disabled - Static routes are not distributed.
        //longAlias='Distribution mode' 
        //alias=distrMode
        //persistent=yes
        //completion=yes"
    DEFVAL { disabled }
    ::= { ospfGeneral 2 }

ospfGeneralDistrMetricType OBJECT-TYPE
    SYNTAX      INTEGER {
                    comparableCost (1),
                    nonComparable  (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The (common) metric type for all advertised 
        static routes. See also RFC 2328 'OSPF Version 2'.

        Note: The values for metric type and cost revert 
        back to default values when distribution is disabled.

        comparableCost - External type 1

        nonComparable - External type 2
        //longAlias='Distribution metric type'  
        //alias=distrMType
        //persistent=yes
        //completion=yes"
    DEFVAL { nonComparable }
    ::= { ospfGeneral 3 }

ospfGeneralDistrMetric OBJECT-TYPE
   SYNTAX       Unsigned32 (0..16777214)
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "The (common) cost for all advertised static 
       routes.

        Note: The values for metric type and cost revert 
        back to default values when distribution is 
        disabled.
        //longAlias='Distribution metric'       
       //alias=distrMetric
       //persistent=yes
       //table=yes"
   DEFVAL { 20 }
   ::= { ospfGeneral 4 }


-- ----------------------------------------------------
-- OSPF interface group
-- ----------------------------------------------------

ospfIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OspfIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The OSPF Interface Table describes the interfaces 
       from the viewpoint of OSPF."
  ::= { ospfIfList 1 }


ospfIfEntry OBJECT-TYPE
    SYNTAX      OspfIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The OSPF Interface Entry describes one interface 
        from the viewpoint of OSPF.
        //longAlias='OSPF interface'    
        //alias=ospfIf"
   INDEX { ospfIfIndex }
   ::= { ospfIfTable 1 }

OspfIfEntry ::=
    SEQUENCE {
        ospfIfIndex             Unsigned32,   
        ospfIfName              MgmtNameString,
        ospfIfAreaId            IpAddress,
        ospfIfMetric            Unsigned32,
        ospfIfRtrPriority       Integer32,
        ospfIfDesignatedRouterId IpAddress,
        ospfIfBackupDesignatedRouterId IpAddress,
        ospfIfAdminStatus       INTEGER,
        ospfIfOperStatus        INTEGER,
        ospfIfRowStatus         RowStatus,
	ospfIfPassive		INTEGER }

ospfIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
        //longAlias='Index'     
        //alias=index
        //advanced=yes"
    ::= { ospfIfEntry 1 }

ospfIfName OBJECT-TYPE
    SYNTAX   MgmtNameString
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The name of the interface.
        OSPF configuration is not permitted on the 
        following interfaces:

        The following interface names are permitted:

        eth1 - The management interface.

        pn-n-n-n-n - In-band management wrapper channel or
        optical supervision channels interfaces.

        Where n is a number.
        //longAlias='Name'      
        //alias=name
        //persistent=yes
        //table=yes"
   ::= { ospfIfEntry 3 }

ospfIfAreaId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    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.
        //longAlias='Area id'   
        //range=no
        //persistent=yes
        //alias=areaId
        //table=yes"
   ::= { ospfIfEntry 4 }

-- The following does not come out well in the generate help text;
-- should include a fix in the help text generator...
--    DEFVAL { '00000000'h } 

ospfIfMetric OBJECT-TYPE
   SYNTAX       Unsigned32 (1..65535)
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
       "The OSPF internal cost.
        //longAlias='Metric'    
       //alias=metric
       //persistent=yes
       //table=yes"
   DEFVAL { 10 }
   ::= { ospfIfEntry 5 }

ospfIfRtrPriority OBJECT-TYPE
   SYNTAX      Integer32 (0..'FF'h)
   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 
       eligible 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.
	//longAlias='Priority'	
	//persistent=yes 
       //alias=prio
       //table=yes"
   DEFVAL { 0 }
   ::= { ospfIfEntry 6 }

ospfIfDesignatedRouterId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The router id of the designated router for the 
        network to which the interface connects.   
        0.0.0.0 means that there is no designated router.
        //longAlias='Designated router id'      
        //range=no
        //alias=dr
        //table=yes"
   ::= { ospfIfEntry 7 }

ospfIfBackupDesignatedRouterId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The router id of the backup designated router for 
        the network to which the interface connects.   
        0.0.0.0 means that there is no backup designated 
        router. 
        //longAlias='Backup designated router id'       
        //range=no
        //alias=bdr
        //table=yes"
   ::= { ospfIfEntry 8 }

ospfIfAdminStatus OBJECT-TYPE
    SYNTAX   INTEGER { 
                up (1),
                down (2) }
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
        "The OSPF administrative status of the interface. 
        The  value formed on the interface, and the 
        interface will be advertised as an internal route 
        to some area. The  value 'down' denotes that the 
        interface is external to OSPF.
        //longAlias='Administrative status'     
        //alias=adminStatus
        //table=yes
        //persistent=yes
        //completion=yes"
   DEFVAL { up }
   ::= { ospfIfEntry 9 }

ospfIfOperStatus OBJECT-TYPE
    SYNTAX   INTEGER { 
                undefined (0),
                down (1),
                loopback (2),
                waiting (3),
                ptp (4),
                dr (5),
                bdr (6),
                odr (7) }
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "The OSPF operative status of the interface.
        See also RFC 2328 'OSPF Version 2'.

        down 

        loopback 

        waiting 

        ptp - point to point

        dr - designated router

        bdr - backup designated router

        odr - other designated router
        //longAlias='Operational status'        
        //alias=operStatus
        //table=yes"
   ::= { ospfIfEntry 10 }

ospfIfRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "This variable displays the status of the entry.  
        Setting it to 'invalid' has the effect of 
        rendering it inoperative. The internal effect 
        (row removal) is implementation dependent.
        //hidden=yes
        //alias=rowStatus"
   ::= { ospfIfEntry 11 }

ospfIfPassive OBJECT-TYPE
    SYNTAX   INTEGER {
                enabled (1),
                disabled (2) }
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
        "OSPF Passive mode.
	If OSPF Passive mode is set to enable, OSPF will not
	advertice itself on this interface. This interface
	will however be adverticed on other interfaces.
	//alias=passive
        //longAlias='Passive interface'
        //table=yes
        //persistent=yes
        //completion=yes"
   DEFVAL { disabled }
   ::= { ospfIfEntry 12 }

-- ----------------------------------------------------
-- OSPF neighbor group
-- ----------------------------------------------------

ospfNbrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OspfNbrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "OSPF Neighbors."
  ::= { ospfNbrList 1 }


ospfNbrEntry OBJECT-TYPE
    SYNTAX      OspfNbrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The OSPF Neighbor Table describes all neighbors in
       the locality of the subject router.
        //longAlias='OSPF neighbour'    
        //alias=ospfNbr"
   INDEX { ospfNbrIndex }
   ::= { ospfNbrTable 1 }

OspfNbrEntry ::=
    SEQUENCE {
        ospfNbrIndex            Unsigned32,
        ospfNbrIpAddr           IpAddress,
        ospfNbrRtrId            IpAddress,
        ospfNbrIfName           MgmtNameString,
        ospfNbrOperStatus       INTEGER,
        ospfNbrName             MgmtNameString }

ospfNbrIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.
        //longAlias='Index'     
        //alias=index
        //advanced=yes"
    ::= { ospfNbrEntry 1 }

ospfNbrIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    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  address of another of the
        neighbors interfaces.
        //longAlias='Address'   
        //alias=ipAddr
        //table=yes"
    ::= { ospfNbrEntry 2 }


ospfNbrRtrId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An IP address uniquely identifying the 
        neighboring router in the Autonomous System.
        //longAlias='Router id' 
        //alias=routerId
        //table=yes"
   ::= { ospfNbrEntry 3 }

ospfNbrIfName OBJECT-TYPE
    SYNTAX   MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the local interface the neighboring
        router has been discovered on.
        //longAlias='Interface' 
        //alias=localIfName
        //table=yes"
    ::= { ospfNbrEntry 4 }

ospfNbrOperStatus 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 neighbor.
        See also RFC 2328 'OSPF Version 2'.
        //longAlias='Operational status'        
        //alias=operStatus
        //table=yes"
  ::= { ospfNbrEntry 5 }

ospfNbrName OBJECT-TYPE
    SYNTAX   MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A symbolic name of the neighbor.
        //longAlias='Neighbour name'    
        //alias=name
        //advanced=yes"
    ::= { ospfNbrEntry 6 }


-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------

-- n/a


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

ipGeneralGroup OBJECT-GROUP
    OBJECTS {
        ipGeneralLastChangeTime,
        ipGeneralNextMgmtAddress,
        ipGeneralStoredMgmtAddress,
        ipGeneralNextMgmtNetMask,
        ipGeneralStoredMgmtNetMask }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumIpGroups 1 }

ipIfGroup OBJECT-GROUP
    OBJECTS {
        ipIfIndex,
        ipIfName,
        ipIfAddr,
        ipIfNetMask,
        ipIfOperStatus }
    STATUS      current
    DESCRIPTION
        "The IP interface objects."
    ::= { lumIpGroups 2 }

ipRouteGroup OBJECT-GROUP
    OBJECTS {
        ipRouteIndex,
        ipRouteDest,
        ipRouteMask,
        ipRouteNextHop,
        ipRouteIfName,
        ipRouteRowStatus,
        ipRouteProto,
        ipRouteMetric,
        ipRouteOperStatus }
    STATUS      deprecated
    DESCRIPTION
        "The IP route objects."
    ::= { lumIpGroups 3 }

ospfGeneralGroup OBJECT-GROUP
    OBJECTS {
        ospfGeneralRouterId,
        ospfGeneralDistrMode,
        ospfGeneralDistrMetricType,
        ospfGeneralDistrMetric }
    STATUS      current
    DESCRIPTION
        "The OSPF general objects."
    ::= { lumIpGroups 4 }

ospfIfGroup OBJECT-GROUP
    OBJECTS {
        ospfIfIndex,   
        ospfIfName,
        ospfIfAreaId,
        ospfIfMetric,
        ospfIfRtrPriority,
        ospfIfDesignatedRouterId,
        ospfIfBackupDesignatedRouterId,
        ospfIfAdminStatus,
        ospfIfOperStatus,
        ospfIfRowStatus }
    STATUS      deprecated
    DESCRIPTION
        "The OSPF interface objects."
    ::= { lumIpGroups 5 }

ospfNbrGroup OBJECT-GROUP
    OBJECTS {
        ospfNbrIndex,
        ospfNbrIpAddr,
        ospfNbrRtrId,
        ospfNbrIfName,
        ospfNbrOperStatus }
    STATUS      deprecated
    DESCRIPTION
        "The OSPF neighbor objects."
    ::= { lumIpGroups 6 }

ipGeneralGroupV2 OBJECT-GROUP
    OBJECTS {
        ipGeneralLastChangeTime,
        ipGeneralNextMgmtAddress,
        ipGeneralStoredMgmtAddress,
        ipGeneralNextMgmtNetMask,
        ipGeneralStoredMgmtNetMask,
        ipGeneralConfigLastChangeTime }
    STATUS      deprecated
    DESCRIPTION
        "The general objects v2."
    ::= { lumIpGroups 7 }

ipGeneralGroupV3 OBJECT-GROUP
    OBJECTS {
        ipGeneralLastChangeTime,
        ipGeneralNextMgmtAddress,
        ipGeneralStoredMgmtAddress,
        ipGeneralNextMgmtNetMask,
        ipGeneralStoredMgmtNetMask,
        ipGeneralConfigLastChangeTime,
        ipGeneralTelnetMode,
        ipGeneralFtpMode }
    STATUS      current
    DESCRIPTION
        "The general objects v3."
    ::= { lumIpGroups 8 }

ipGeneralGroupV4 OBJECT-GROUP
    OBJECTS {
        ipGeneralLastChangeTime,
        ipGeneralNextMgmtAddress,
        ipGeneralStoredMgmtAddress,
        ipGeneralNextMgmtNetMask,
        ipGeneralStoredMgmtNetMask,
        ipGeneralConfigLastChangeTime,
        ipGeneralTelnetMode,
        ipGeneralFtpMode,
        ipGeneralIfTableSize, 
        ipGeneralRouteTableSize,
        ipGeneralOspfIfTableSize,
        ipGeneralOspfNbrTableSize }
    STATUS      deprecated
    DESCRIPTION
        "The general objects v4."
    ::= { lumIpGroups 9 }

ipRouteGroupV2 OBJECT-GROUP
    OBJECTS {
        ipRouteIndex,
        ipRouteDest,
        ipRouteMask,
        ipRouteNextHop,
        ipRouteIfName,
        ipRouteRowStatus,
        ipRouteProto,
        ipRouteMetric,
        ipRouteOperStatus,
        ipRouteName }
    STATUS      current
    DESCRIPTION
        "The IP route objects v2."
    ::= { lumIpGroups 10 }

ospfNbrGroupV2 OBJECT-GROUP
    OBJECTS {
        ospfNbrIndex,
        ospfNbrIpAddr,
        ospfNbrRtrId,
        ospfNbrIfName,
        ospfNbrOperStatus,
        ospfNbrName }
    STATUS      current
    DESCRIPTION
        "The OSPF neighbor objects v2."
    ::= { lumIpGroups 11 }

ipGeneralGroupV5 OBJECT-GROUP
    OBJECTS {
        ipGeneralLastChangeTime,
        ipGeneralNextMgmtAddress,
        ipGeneralStoredMgmtAddress,
        ipGeneralNextMgmtNetMask,
        ipGeneralStoredMgmtNetMask,
        ipGeneralConfigLastChangeTime,
        ipGeneralTelnetMode,
        ipGeneralFtpMode,
        ipGeneralIfTableSize, 
        ipGeneralRouteTableSize,
        ipGeneralOspfIfTableSize,
        ipGeneralOspfNbrTableSize,
        ipGeneralChangeNextMgmtAddr }
    STATUS      current
    DESCRIPTION
        "The general objects v5."
    ::= { lumIpGroups 12 }

ospfIfGroupV2 OBJECT-GROUP
    OBJECTS {
        ospfIfIndex,
        ospfIfName,
        ospfIfAreaId,
        ospfIfMetric,
        ospfIfRtrPriority,
        ospfIfDesignatedRouterId,
        ospfIfBackupDesignatedRouterId,
        ospfIfAdminStatus,
        ospfIfOperStatus,
        ospfIfRowStatus,
	ospfIfPassive }
    STATUS      current
    DESCRIPTION
        "The OSPF interface objects."
    ::= { lumIpGroups 13 }

-- ----------------------------------------------------
-- Compliance 
-- ----------------------------------------------------

lumIpBasicComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the IP MIB."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroup,
            ipIfGroup,
            ipRouteGroup } 
    ::= { lumIpCompl 1 }

lumIpBasicComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the 
        IP MIB v2."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroup,
            ipIfGroup,
            ipRouteGroup,
            ospfGeneralGroup,
            ospfIfGroup,
            ospfNbrGroup } 
    ::= { lumIpCompl 2 }

lumIpBasicComplV3 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the 
        IP MIB v3."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroupV2,
            ipIfGroup,
            ipRouteGroup,
            ospfGeneralGroup,
            ospfIfGroup,
            ospfNbrGroup } 
    ::= { lumIpCompl 3 }

lumIpBasicComplV4 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the 
        IP MIB v4."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroupV3,
            ipIfGroup,
            ipRouteGroup,
            ospfGeneralGroup,
            ospfIfGroup,
            ospfNbrGroup } 
    ::= { lumIpCompl 4 }

lumIpBasicComplV5 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the 
        IP MIB v5."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroupV4,
            ipIfGroup,
            ipRouteGroup,
            ospfGeneralGroup,
            ospfIfGroup,
            ospfNbrGroup } 
    ::= { lumIpCompl 5 }

lumIpBasicComplV6 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the 
        IP MIB v6 (3.1)."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroupV5,
            ipIfGroup,
            ipRouteGroupV2,
            ospfGeneralGroup,
            ospfIfGroup,
            ospfNbrGroupV2 } 
    ::= { lumIpCompl 6 }

lumIpBasicComplV7 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the
        IP MIB v7 (13.0)."
    MODULE
        MANDATORY-GROUPS {
            ipGeneralGroupV5,
            ipIfGroup,
            ipRouteGroupV2,
            ospfGeneralGroup,
            ospfIfGroupV2,
            ospfNbrGroupV2 }
    ::= { lumIpCompl 7 }


END

