--
-- Juniper Enterprise specific MIB: RSVP MIB
--
-- Copyright (c) 2004, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
-- 

JUNIPER-RSVP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter64, IpAddress, Unsigned32
        FROM SNMPv2-SMI
    DisplayString, TimeStamp
        FROM SNMPv2-TC
    jnxMibs
        FROM JUNIPER-SMI;


jnxRsvpMIB MODULE-IDENTITY
    LAST-UPDATED "200402031905Z" -- Tuesday Feb 03 19:05:42 2004 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "        Juniper Technical Assistance Center
		     Juniper Networks, Inc.
		     1194 N. Mathilda Avenue
		     Sunnyvale, CA 94089
		     E-mail: support@juniper.net"
    DESCRIPTION
        "The MIB modules for Resource ReSerVation Protocol."
    ::= { jnxMibs 30 }

-- For now, the RSVP MIB is an enterprise (Juniper Inc.) private MIB.

jnxRsvpOperation OBJECT IDENTIFIER ::= {jnxRsvpMIB 1}

jnxRsvpSessionTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF JnxRsvpSessionEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION	"Defines the jnxRsvpSession Table for RSVP Sessions."
    ::= { jnxRsvpOperation 1 }


jnxRsvpSessionEntry OBJECT-TYPE
    SYNTAX	JnxRsvpSessionEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION	
	"Defines an entry in the jnxRsvpSessionTable. The first index
	element jnxRsvpSessionName is similar to the LSP name in the MPLS
	MIB and can be used to co-relate the mplsLspEntry to an RSVP session 
	entry. There could be multiple entries with the same
	jnxRsvpSessionName and hence the need for a secondary index which is
	just an Unsigned32 to identify each of them uniquely. A management
	application may walk through all entries with the same
	jnxRsvpSessionName and based on the other RSVP session information in
	each entry, such as jnxRsvpSessionFrom and/or jnxRsvpSessionTo may
	decide to query a particular RSVP session."
    INDEX	{ jnxRsvpSessionName,
		  jnxRsvpSessionIndex }
    ::= { jnxRsvpSessionTable 1 }

JnxRsvpSessionEntry ::= 
    SEQUENCE {
        -- Indices
	jnxRsvpSessionName	DisplayString,
	jnxRsvpSessionIndex	Unsigned32,
	-- RSVP session information for co-relation
	jnxRsvpSessionState	INTEGER,
	jnxRsvpSessionFrom	IpAddress,
	jnxRsvpSessionTo	IpAddress,
	jnxRsvpSessionLspId	Unsigned32,
	jnxRsvpSessionTunnelId	Unsigned32,
	jnxRsvpSessionPathType	INTEGER,
	jnxRsvpSessionRole	INTEGER,
	-- MPLS stats
	jnxRsvpSessionDiscontinuityTime	TimeStamp,
	jnxRsvpSessionMplsOctets Counter64,
	jnxRsvpSessionMplsPackets Counter64
    }	

jnxRsvpSessionName OBJECT-TYPE
    SYNTAX	DisplayString (SIZE (0..40))
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION	"Name of the RSVP Session. This is the same as LSP name."
    ::= { jnxRsvpSessionEntry 1 }

jnxRsvpSessionIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION	"RSVP Session index."
    ::= { jnxRsvpSessionEntry 2 }

jnxRsvpSessionState OBJECT-TYPE
    SYNTAX	INTEGER {
		  up(1),
		  down(2) }
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION	"The operational state of the RSVP Session."
    ::= { jnxRsvpSessionEntry 3 }

jnxRsvpSessionFrom OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION "Source IP address of this RSVP session."
    ::= { jnxRsvpSessionEntry 4 }

jnxRsvpSessionTo OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION "Destination IP address of this RSVP session."
    ::= { jnxRsvpSessionEntry 5 }

jnxRsvpSessionLspId OBJECT-TYPE
    SYNTAX	Unsigned32 (1..65535)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "LSP ID of the sender for this RSVP session."
    ::= { jnxRsvpSessionEntry 6 }

jnxRsvpSessionTunnelId OBJECT-TYPE
    SYNTAX	Unsigned32 (1..65535)
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Tunnel ID for the RSVP session."
    ::= { jnxRsvpSessionEntry 7 }

jnxRsvpSessionPathType OBJECT-TYPE
    SYNTAX	INTEGER {
	primary(1),
	secondary(2),
	unknown(3)
    }
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"If the head-end router signals the type of path 
	corresponding to an RSVP session; viz. primary or secondary
	path, then this information can be used on other routers as
	well to associate RSVP session information to an MPLS path
	of an LSP (tunnel)."
    ::= { jnxRsvpSessionEntry 8 }

jnxRsvpSessionRole OBJECT-TYPE
    SYNTAX	INTEGER {
        ingress(1),
	transit(2),
	egress(3)
    }
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION
	"This value signifies the role of an RSVP session with 
	respect to the start and end points of the session. This value 
	MUST be set to ingress(1) at the head-end (source) of this session.
	This value MUST be set to egress(3) at the tail-end (destination)
	of the RSVP session. This value MUST be set to transit(2) on any
	other intermediate nodes that this RSVP session exists on."
    ::= { jnxRsvpSessionEntry 9 }

jnxRsvpSessionDiscontinuityTime OBJECT-TYPE
    SYNTAX	TimeStamp
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION	
	"The value of sysUpTime on the most recent occasion at which any 
	one or more of this RSVP Session's counters suffered a 
	discontinuity.  The relevant counters are jnxRsvpSessionMplsOctets and 
	jnxRsvpSessionMplsPackets. If no such discontinuities have occurred
	since the last re-initialization of the local management subsystem,
	then then this object contains a zero value." 
    ::= { jnxRsvpSessionEntry 10 }

jnxRsvpSessionMplsOctets OBJECT-TYPE
    SYNTAX	Counter64
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION	
	"The number of MPLS octets that have been forwarded over this
	RSVP Session. The number reported is not realtime, may subject to
	several minutes delay. The delay is controllable by mpls statistics
	gathering interval, which by default is once every 5 minutes.
	If mpls statistics gathering is not enabled, this number will not
	increment. Discontinuities in the value of this counter can
	occur at re-initialization of the management system, and at other
	times as indicated by the value of jnxRsvpSessionDiscontinuityTime."
    ::= { jnxRsvpSessionEntry 11 }

jnxRsvpSessionMplsPackets OBJECT-TYPE
    SYNTAX	Counter64
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION	
	"The number of MPLS packets that have been forwarded over this
	RSVP Session. The number reported is not realtime, may subject to
	several minutes delay. The delay is controllable by mpls statistics
	gathering interval, which by default is once every 5 minutes.
	If mpls statistics gathering is not enabled, this number will not
	increment. Discontinuities in the value of this counter can
	occur at re-initialization of the management system, and at other
	times as indicated by the value of jnxRsvpSessionDiscontinuityTime."
    ::= { jnxRsvpSessionEntry 12 }

END
