RSVP Management Information Base using SMIv2
Extracted elements (28)
Aggregate RESV messages containing multiple filter/flow-spec groups are decomposed into separate MIB rows, one per sender, to work around SNMP's difficulty in representing arbitrarily complex messages. A single RESV for session 224.1.2.3+UDP+4455 with two senders appears as two distinct rows in the MIB.
State installed via SNMP writes to the Path and Reservation State tables does not time out and cannot be removed by receiving an RSVP teardown message; it can only be deleted by SNMP. Deletion via RowStatus 'destroy' initiates a teardown as if the state had timed out.
The RSVP MIB imports types (Port, SessionNumber, SessionType, Protocol, QosService, MessageSize, BitRate, BurstSize, intSrvFlowStatus) from INTEGRATED-SERVICES-MIB, making the Integrated Services MIB a prerequisite. Implementors must also support IF-MIB for the ifIndex type.
Key index objects (destination address, sender address, protocol, ports, address lengths) in rsvpSenderEntry, rsvpResvEntry, and related tables may not be changed when RowStatus is 'active'. Modifications require destroying and recreating the row.
rsvpIfUdpRequired, when TRUE, forces UDP encapsulation on the interface via manual configuration. When FALSE, UDP encapsulation is used only if rsvpIfUdpNbrs is non-zero (i.e., there are neighbors using UDP encapsulation).
SNMP-created Path and Reservation state rows can only be deleted by writing 'destroy' to the associated RowStatus object via SNMP; receiving an RSVP teardown message will not remove them. Destruction initiates a teardown as if the state had timed out.
ADSPEC general characterization parameters in rsvpSenderEntry include rsvpSenderAdspecBreak (global break bit), rsvpSenderAdspecHopCount (INTEGER 0..65535), rsvpSenderAdspecPathBw (BitRate), rsvpSenderAdspecMinLatency (Integer32, microseconds), and rsvpSenderAdspecMtu (INTEGER 0..65535, bytes). Zero or noSuchValue indicates the parameter was absent or invalid.
Controlled Load Service ADSPEC fragment is exposed via rsvpSenderAdspecCtrlLoadSvc (presence flag), rsvpSenderAdspecCtrlLoadBreak (break bit), and service-specific overrides of hop count, path bandwidth, minimum latency, and MTU, each returning zero/noSuchValue when absent or invalid.
Guaranteed Service ADSPEC fragment is exposed via rsvpSenderAdspecGuaranteedSvc (TruthValue presence flag), rsvpSenderAdspecGuaranteedBreak (break bit), and per-service parameters: Ctot/Dtot (end-to-end C and D, bytes/microseconds), Csum/Dsum (since last reshaping point), plus service-specific overrides of hop count, path bandwidth, min latency, and MTU.
lostFlow NOTIFICATION-TYPE signals asynchronously that a flow is no longer being observed; it carries the same varbind set as newFlow (intSrvFlowStatus, rsvpSessionDestAddr, rsvpResvFwdStatus, rsvpResvStatus, rsvpSenderStatus).
newFlow NOTIFICATION-TYPE is sent to advise a network management system of a newly observed flow; it carries intSrvFlowStatus, rsvpSessionDestAddr, rsvpResvFwdStatus, rsvpResvStatus, and rsvpSenderStatus as varbinds.
RefreshInterval is a textual convention representing milliseconds between path or reservation state refreshes, encoded as INTEGER (0..'7FFFFFFF'h). Unrefreshed state is removed after a small multiple of this period.
RSpec parameters rsvpResvRSpecRate (clearing rate, BitRate) and rsvpResvRSpecSlack (delay slack, Integer32 microseconds) are populated only when rsvpResvService is Guaranteed; otherwise they return zero or noSuchValue. These directly correspond to the Guaranteed Service R-spec object.
rsvpBadPackets (rsvpGenObjects 1) is a Gauge32 counter of RSVP packets received with errors. It is read-only and provides a global diagnostic signal for malformed or invalid RSVP traffic.
RsvpEncapsulation is a textual convention with three values: ip(1) for IP Protocol 46, udp(2) for UDP encapsulation, and both(3) for neighbors perceived to use both. Used in the Neighbor table to record how each RSVP neighbor is communicating.
rsvpIfNbrs, rsvpIfIpNbrs, and rsvpIfUdpNbrs are read-only Gauge32 objects on each interface counting total neighbors, those using only IP encapsulation, and those using only UDP encapsulation respectively. rsvpIfNbrs may exceed the sum of the other two by the count of neighbors using both encapsulations.
rsvpIfRefreshMultiple (K, default 3) is the number of refresh intervals that must elapse before unrefreshed PATH or RESV state ages out. rsvpIfRefreshBlockadeMultiple (Kb, default 4) is the minimum number of refresh intervals that blockade state persists once entered.
rsvpIfTable (rsvpObjects 6) stores per-interface RSVP configuration and state, indexed by ifIndex. Key objects include rsvpIfEnabled (TruthValue), rsvpIfUdpRequired (TruthValue), rsvpIfRefreshInterval (TimeInterval, default 3000 ms), rsvpIfRefreshMultiple K (default 3), rsvpIfRefreshBlockadeMultiple Kb (default 4), rsvpIfTTL (SEND_TTL override, default 0), and rsvpIfRouteDelay (default 200 hundredths of a second).
rsvpNbrTable (rsvpObjects 7) records currently active RSVP neighbors indexed by (ifIndex, rsvpNbrAddress). Each entry carries the neighbor's IP4/IP6 address (4–16 octets), rsvpNbrProtocol (RsvpEncapsulation), and RowStatus. When configured neighbors are present, implementations may (but need not) restrict valid neighbors to those configured.
rsvpResvFwdTable (rsvpObjects 5) models RESV messages being sent upstream to previous-hop neighbors, indexed by (rsvpSessionNumber, rsvpResvFwdNumber). It mirrors rsvpResvTable but reflects the merged/forwarded reservation state rather than the received state, with all fields read-only except rsvpResvFwdStatus.
rsvpResvShared (TruthValue) indicates whether a shared reservation style is requested; rsvpResvExplicit (TruthValue) indicates whether individual senders are listed via Filter Specifications. Together these encode the four RSVP reservation styles (WF, FF, SE).
rsvpResvTable (rsvpObjects 4) models the Reservation State Database for incoming RESV messages, indexed by (rsvpSessionNumber, rsvpResvNumber). Entries include flow filter (sender address, ports), QoS service, TSpec, RSpec (rate and slack for Guaranteed service), scope object, shared/explicit flags, hop info, and RowStatus.
rsvpSenderOutInterfaceTable (rsvpObjects 3) lists outgoing interfaces used by each PATH message, indexed by (rsvpSessionNumber, rsvpSenderNumber, ifIndex). Each entry contains only rsvpSenderOutInterfaceStatus (RowStatus, read-only), supporting multicast path state with multiple egress interfaces.
rsvpSenderTable (rsvpObjects 2) models the Path State Database, indexed by (rsvpSessionNumber, rsvpSenderNumber). Each entry represents a single PATH message and includes addresses, TSpec parameters (rate, peak rate, burst, min/max TU), ADSPEC fields, hop information, refresh interval, policy object, and RowStatus.
rsvpSessionTable (rsvpObjects 1) provides per-session statistics indexed by rsvpSessionNumber. Each entry records session type, destination address (4–16 octets), protocol, port, and gauges for distinct senders, incoming reservations, and upstream reservation requests.
TSpec parameters in rsvpSenderEntry include rsvpSenderTSpecRate (average bit rate, bits/s), rsvpSenderTSpecPeakRate (peak bit rate, bits/s), rsvpSenderTSpecBurst (largest burst, bytes), rsvpSenderTSpecMinTU and rsvpSenderTSpecMaxTU (min and max message sizes). These mirror the IntServ token-bucket TSpec.
This document defines the RSVP MIB module and assigns it the OID { mib-2 51 }, registering it under the SNMPv2 MIB-II subtree. Sub-arcs rsvpObjects (1), rsvpGenObjects (2), rsvpNotificationsPrefix (3), and rsvpConformance (4) are allocated.
Writing into the Path and Reservation State databases allows RSVP reservations to be made without authenticating through RSVP mechanisms, relying instead on SNMP authentication. This means SNMP access control is the sole gating mechanism for unauthorized reservation creation.