------------------------------------------------------------------------------
--
--	private MIB for NSFNET
--
--
--	This MIB externalizes information provided by the NSFNET routing
--	daemon.
--
--
--	- Ed Pring <pring@ibm.com>
--
------------------------------------------------------------------------------

NSFNET DEFINITIONS ::= BEGIN

IMPORTS
	enterprises, NetworkAddress, IpAddress, Counter
		FROM --* RFC1065-SMI *-- SMI;

-- private MIB for NSFNET

nsfnet OBJECT IDENTIFIER ::= { enterprises 25 }
slspisis OBJECT IDENTIFIER ::= { nsfnet 1 }


-- SLSPISIS Group

slspisisRouterCharacteristicAttributes OBJECT-TYPE
	SYNTAX RouterCharacteristicAttributes
	ACCESS not-accessible
	STATUS mandatory
	::= { slspisis 1 }

-- Timers associated with SLSPISIS protocol

RouterCharacteristicAttributes ::= SEQUENCE { 
	maximumRouterLSPGenerationInterval      
		INTEGER,
	maximumEndSystemLSPGenerationInterval   
		INTEGER,
	minimumLSPTransmissionInterval
		INTEGER,
	minimumLSPGenerationInterval   
		INTEGER
}

maximumRouterLSPGenerationInterval OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisRouterCharacteristicAttributes 1 }

maximumEndSystemLSPGenerationInterval   OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisRouterCharacteristicAttributes 2 }

minimumLSPTransmissionInterval OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisRouterCharacteristicAttributes 3 }
				 
minimumLSPGenerationInterval   OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisRouterCharacteristicAttributes 4 }



--  SLSPISIS Neighbor Group

slspisisNeighTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF SlspisIsNeighEntry
	ACCESS not-accessible
	STATUS mandatory
	::= { slspisis 2 }

slspisisNeighEntry  OBJECT-TYPE
	SYNTAX SlspisIsNeighEntry
	ACCESS not-accessible
	STATUS mandatory
	::= { slspisisNeighTable 1 }

SlspisIsNeighEntry ::= SEQUENCE 
	{
	slspisisNeighAddr 	IpAddress,
	cost		INTEGER,
	helloTimer	INTEGER,
	state		INTEGER,
	holdTime 	INTEGER,
	slspisisIndex	INTEGER,
	slspisisLocalAddr	IpAddress
	}

slspisisNeighAddr  OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"The IP address of the remote interface of the
		link described by this entry."
	::= { slspisisNeighEntry 1 }

cost OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisNeighEntry 2 }

helloTimer  OBJECT-TYPE 
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisNeighEntry 3 }

state OBJECT-TYPE
	SYNTAX INTEGER {
		on (1),
		off (2)
	}
	ACCESS read-only
	STATUS mandatory
	::= { slspisisNeighEntry 4 }

holdTime OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	::= { slspisisNeighEntry 5 }

slspisisIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "An index value that uniquely identifies the
		local system interface of this link described by
                this entry.  The interface identified by a
                particular value of this index is the same
                interface as identified by the same value an
                ifIndex object instance."
        ::= { slspisisNeighEntry 6 }

slspisisLocalAddr  OBJECT-TYPE
	SYNTAX  IpAddress
	ACCESS  read-only
	STATUS  mandatory
	DESCRIPTION
		"The IP address of the local interface of the
		link described by this entry."
	::= { slspisisNeighEntry 7 }


-- SLSPISIS / SLSPISES statistics counters 

routerCounterGroup OBJECT-TYPE 
	SYNTAX RouterCounterGroup
	ACCESS not-accessible
	STATUS mandatory
	::= { slspisis 3 }

RouterCounterGroup ::= SEQUENCE {
	routerLSPins     Counter,
	routerLSPouts    Counter,
	endSystemLSPins  Counter,
	endSystemLSPouts Counter,
	sequenceNumberPDUins     Counter,
	sequenceNumberPDUouts    Counter,
	corruptedPDUs     Counter,
	slspisesHelloins	 Counter,
	slspisesHelloouts    Counter,
	slspisisHelloins 	 Counter,
	slspisisHelloouts	 Counter
}

routerLSPins OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 1 }

routerLSPouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 2 }

endSystemLSPins OBJECT-TYPE 
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 3 }

endSystemLSPouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 4 }

sequenceNumberPDUins OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 5 }

sequenceNumberPDUouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 6 }

corruptedPDUs OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 7 }

slspisesHelloins OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 8 }

slspisesHelloouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 9 }

slspisisHelloins OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 10 }

slspisisHelloouts OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	::= { routerCounterGroup 11 }
	

END
