RFC 3020
Definitions of Managed Objects for Monitoring and Controlling the UNI/NNI Multilink Frame Relay Function
RFC 3020: Definitions of Managed Objects for Monitoring and Controlling the UNI/NNI Multilink Frame Relay Function π
Okay bestie, this one is a MIB spec (Management Information Base) for Multilink Frame Relay, so it's basically the rulebook for how you monitor and control those bundles π¦ It's a Standards Track doc, dated December 2000, and written by P. Pate (Overture Networks), B. Lynch (Overture Networks), and K. Rehbehn (Megisto Systems, Inc.). The header doesn't list anything it obsoletes or updates, so it's a clean slate π
Status of This Memo β¨
This document is an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions to make it better π For the standardization state and status of this protocol, you check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited, so share the tea π«Ά
Copyright Notice π
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract π₯
This memo defines a Management Information Base (MIB) for monitoring and controlling a UNI/NNI Multilink Frame Relay Function, as defined in Frame Relay Forum FRF.16. It also includes conformance and notification info, so you're covered on the paperwork too π
Table of Contents π§
1 The SNMP Management Framework ................................ 2
2 Overview ..................................................... 3
2.1 Multilink Frame Relay Background ........................... 3
2.1.1 Terminology .............................................. 4
2.1.2 Reference Model .......................................... 5
2.2 Structure of the MIB ....................................... 5
2.2.1 mfrBundleMaxNumBundles ................................... 6
2.2.2 mfrBundleNextIndex ....................................... 6
2.2.3 mfrBundleTable ........................................... 6
2.2.4 Bundle-to-ifIndex Mapping Table .......................... 6
2.2.5 mfrBundleLinkTable ....................................... 6
2.3 Relationship With Other MIBS and Tables .................... 7
2.3.1 Relationship With Interface Table ........................ 7
2.3.1.1 Bundle Links ........................................... 7
2.3.1.2 Bundles ................................................ 7
2.3.1.3 Mapping Between ifIndex and mfrBundleIndex ............. 8
2.3.1.4 ifTable Objects ........................................ 8
2.3.2 Relationship With Interface Stack Table .................. 9
2.3.3 Relationship With Frame Relay DTE MIB .................... 9
2.3.4 Relationship With Frame Relay Service MIB ................ 9
2.3.5 Example .................................................. 9
2.4 Creation Of Bundles and Bundle Links ....................... 11
2.4.1 Creation Of Bundles ...................................... 11
2.4.2 Creation Of Bundle Links ................................. 11
2.5 Notifications .............................................. 11
2.5.1 Bundle ................................................... 11
2.5.1.1 linkUp ................................................. 12
2.5.1.2 linkDown ............................................... 12
2.5.2 Bundle Link .............................................. 12
2.5.2.1 linkUp ................................................. 12
2.5.2.2 linkDown ............................................... 12
2.5.2.3 mfrMibTrapBundleLinkMismatch ........................... 12
3 Object Definitions ........................................... 13
4 Acknowledgments .............................................. 32
5 References ................................................... 32
6 Security Considerations ...................................... 34
7 Authors' Addresses ........................................... 35
8 Full Copyright Statement ..................................... 36
1. The SNMP Management Framework πΈ
okay so the SNMP Management Framework right now has five major components π
- An overall architecture, described in RFC 2571 [RFC2571].
- Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and is described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58: RFC 2578 [RFC2578], RFC 2579 [RFC2579] and RFC 2580 [RFC2580].
- Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and is described in STD 15, RFC 1157 [RFC1157]. A second version, which is not an Internet standards track protocol, is called SNMPv2c and is described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and is described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].
- Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set is described in RFC 1905 [RFC1905].
- A set of fundamental applications described in RFC 2573 [RFC2573], plus the view-based access control mechanism described in RFC 2575 [RFC2575].
If you want the deep dive on the current SNMP Management Framework, check out RFC 2570 [RFC2570] π¦
Managed objects get accessed through a virtual information store called the Management Information Base, or MIB. Objects in the MIB are defined using the mechanisms in the SMI, so it's all connected π
This memo specifies a MIB module that is compliant with SMIv2. A MIB conforming to SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 gets converted into textual descriptions in SMIv1 during translation. However, losing that machine readable info is not considered to change the semantics of the MIB, so no drama there π
2. Overview β¨
This document defines a Management Information Base (MIB) for monitoring and controlling the UNI/NNI Multilink Frame Relay function. The agreement this MIB is based on was defined and documented by the Frame Relay Forum in Frame Relay Forum Document FRF.16 [FRF.16] π
2.1. Multilink Frame Relay Background π¦
Multilink Frame Relay (MFR) for the User-to-Network Interface (UNI) and the Network-to-Network Interface (NNI) provides physical interface emulation for frame relay devices. The emulated physical interface is made of one or more physical links, called "bundle links", aggregated together into a single "bundle" of bandwidth. This service is a frame-based inverse multiplexing function, sometimes called an "IMUX" π
The bundle gives the same order-preserving service as a physical layer for frames sent on a data link connection. On top of that, the bundle supports all Frame Relay services based on UNI and NNI standards, so it's giving full coverage π
2.1.1. Terminology π§
Physical Link -- A single physical interface that interconnects
two devices in a frame relay network (e.g., DS1,
DS0, Bearer channel, refer to FRF.14).
Bundle -- A grouping of one or more physical links using
the formats and procedures of multilink frame
relay. The bundle operates as a logical
interface function that emulates a single
physical interface to the Q.922 data link layer.
Bundle Link -- A MFR sub-component that controls operation of
one of the bundle's physical links.
2.1.2. Reference Model π
+--------------------------+ +--------------------------+
| Switching Layer -OR- | | Switching Layer -OR- |
| Higher-Level Applications| | Higher-Level Applications|
+--------------------------+ +--------------------------+
| |C-Plane - Q.933| | |C-Plane - Q.933|
| U-Plane | (Note 1) | | U-Plane | (Note 1) |
| (Note 3) |---------------| | (Note 3) |---------------|
| |Q.922 (Note 2) | | |Q.922 (Note 2) |
+--------------------------+ +--------------------------+
| Data Link Layer (Q.922) | | Data Link Layer (Q.922) |
+--------------------------+ +--------------------------+
| Bundle (B) | | Bundle (B) |
+--------------------------+ +--------------------------+
| Bundle | Bundle | Bundle | | Bundle | Bundle | Bundle |
| Link | Link | Link | | Link | Link | Link |
| (BL) | (BL) | (BL) | | (BL) | (BL) | (BL) |
+--------+--------+--------+ +--------+--------+--------+
|Physical|Physical|Physical| |Physical|Physical|Physical|
| (PH) | (PH) | (PH) | __________ | (PH) | (PH) | (PH) |
+----+---+----+---+----+---+ /\ \ +----+---+----+---+----+---+
| | | / \ \ | | |
| | +--------\ \-----+ | |
| | / \ \ | |
| +-------------------\ \------------+ |
| _________\_______/ Bundle /_ |
| /\ / / \ |
+------------| Bundle Link / / |------------------+
\/_____________/ /____/
\/__________/
Figure 1: MFR Reference Diagram
Note 1: C-Plane operation as described in Q.933 [Q.933] and FRF.4 [FRF.4]
Note 2: Multiple frame acknowledged information transfer mode as described in Q.922 [Q.922]
Note 3: Core aspects for use with frame relay bearer service as described in Q.922, Annex A [Q.922]
2.2. Structure of the MIB πΈ
The UNI/NNI MFR managed objects are made up of two scalar objects and three tables π
2.2.1. mfrBundleMaxNumBundles π₯
This scalar lets the manager know the maximum number of bundles this device supports π
2.2.2. mfrBundleNextIndex β¨
This scalar helps the manager pick a value for mfrBundleIndex during row creation. It can also be used to dodge race conditions when multiple managers are trying to create rows in the table (see RFC 2494 [RFC2494] for one such algorithm) π«Ά
2.2.3. mfrBundleTable π
okay bestie, this is the bundle control room π
It's where you configure and monitor bundles. It's indexed by mfrBundleIndex and has these columns:
- mfrBundleIndex Integer32
- mfrBundleIfIndex InterfaceIndex
- mfrBundleRowStatus RowStatus
- mfrBundleNearEndName SnmpAdminString
- mfrBundleFragmentation INTEGER
- mfrBundleMaxFragSize Integer32
- mfrBundleTimerHello INTEGER
- mfrBundleTimerAck INTEGER
- mfrBundleCountMaxRetry INTEGER
- mfrBundleActivationClass INTEGER
- mfrBundleThreshold Integer32
- mfrBundleMaxDiffDelay Integer32
- mfrBundleSeqNumSize INTEGER
- mfrBundleLinksConfigured Integer32
- mfrBundleLinksActive Integer32
- mfrBundleBandwidth Integer32
- mfrBundleFarEndName SnmpAdminString
- mfrBundleResequencingErrors Counter32
2.2.4. Bundle-to-ifIndex Mapping Table π¦
this one is the translator π§ It takes an ifIndex and finds the matching mfrBundleIndex for you. It's indexed by ifIndex and has one column:
- mfrBundleIfIndexMapping Integer32
2.2.5. mfrBundleLinkTable πΈ
this is the bundle links' control panel β¨ It's where you configure and monitor bundle links. It's indexed by ifIndex and has these columns:
- mfrBundleLinkRowStatus RowStatus
- mfrBundleLinkConfigBundleIndex Integer32
- mfrBundleLinkNearEndName SnmpAdminString
- mfrBundleLinkState MfrBundleLinkState
- mfrBundleLinkFarEndName SnmpAdminString
- mfrBundleLinkFarEndBundleName SnmpAdminString
- mfrBundleLinkDelay Integer32
- mfrBundleLinkFramesControlTx Counter32
- mfrBundleLinkFramesControlRx Counter32
- mfrBundleLinkFramesControlInvalid Counter32
- mfrBundleLinkTimerExpiredCount Counter32
- mfrBundleLinkLoopbackSuspected Counter32
- mfrBundleLinkUnexpectedSequence Counter32
- mfrBundleLinkMismatch Counter32
2.3. Relationship With Other MIBS and Tables π
2.3.1. Relationship With Interface Table π
2.3.1.1. Bundle Links
so each bundle link shows up as an interface in the ifTable π The ifIndex from the ifTable is what gets used to index the bundle link tables in the UNI-NNI MFR MIB.
2.3.1.2. Bundles
each bundle also shows up as an interface in the ifTable π It'll have a matching mfrBundleIndex too, and that one can be different from the bundle's ifIndex. Here's the tea β
This is because RFC 2494 [RFC2494] explains the frame relay bundle of DS0, and it says:
This table is not indexed by ifIndex because the manager has to choose the index in a createable row and the agent must be allowed to select ifIndex values.
the ifEntry rows aren't createable since they don't have row status π RFC 2863 [RFC2863] suggests the agent should pick the ifIndex. Here's what it says about creating and deleting rows:
While some interfaces, for example, most physical interfaces, cannot be created via network management, other interfaces such as logical interfaces sometimes can be. The ifTable contains only generic information about an interface. Almost all 'create-able' interfaces have other, media-specific, information through which configuration parameters may be supplied prior to creating such an interface. Thus, the ifTable does not itself support the creation or deletion of an interface (specifically, it has no RowStatus column). Rather, if a particular interface type supports the dynamic creation and/or deletion of an interface of that type, then that media-specific MIB should include an appropriate RowStatus object (see the ATM LAN-Emulation Client MIB [ATMLANE] for an example of a MIB which does this). Typically, when such a RowStatus object is created/deleted, then the conceptual row in the ifTable appears/disappears as a by-product, and an ifIndex value (chosen by the agent) is stored in an appropriate object in the media-specific MIB.
the ATM LAN-Emulation Client MIB [ATMLANE] uses different indices, and so does the IMA MIB [ATMIMA]. Looking at those examples plus what RFC 2863 says, two indices seem like the better move π€ It gives the SNMP agent implementor the freedom to manage their ifIndex however they like π
2.3.1.3. Mapping Between ifIndex and mfrBundleIndex π§
the mfrBundleIfIndexMappingTable is indexed by ifIndex, and it's how you map an ifIndex to its matching mfrBundleIndex. Going the other way, the mfrBundleIfIndexMapping object in the mfrBundleTable (indexed by mfrBundleIndex) maps an mfrBundleIndex back to the matching ifIndex in the ifTable π
2.3.1.4. ifTable Objects π
this is the bundle configuration and status table π Each bundle has a one-to-one match with an interface in the ifTable.
These ifTable objects have a specific meaning for an MFR bundle:
ifAdminStatus - the bundle admin status
ifOperStatus - the bundle operational status
ifSpeed - the current bandwidth of the bundle
ifInUcastPkts - the number of frames received on the bundle
ifOutUcastPkts - the number of frames transmitted on the bundle
ifInErrors - frame (not fragment) errors
ifOutErrors - frame (not fragment) errors
and these ones have a specific meaning for an MFR bundle link:
ifAdminStatus - the bundle link admin status
ifOperStatus - the bundle link operational status
ifSpeed - the bandwidth of the bundle link interface
ifInUcastPkts - the number of frames received on the bundle link
ifOutUcastPkts - the number of frames transmitted on the bundle
link
ifInErrors - frame and fragment errors
ifOutErrors - frame and fragment errors
2.3.2. Relationship With Interface Stack Table π₯
bundles and bundle links both show up in the ifStackTable from RFC 2863 [RFC2863] β¨ Each bundle link sits as a lower layer under its owner bundle. The bundle sits as a higher layer over its bundle links, and as a lower layer under a frame relay service or UNI.
2.3.3. Relationship With Frame Relay DTE MIB π
a bundle has a one-to-one correspondence with a DLCMI or UNI that shows up in the DTE MIB tables [RFC2115] π
2.3.4. Relationship With Frame Relay Service MIB π«Ά
there's a one-to-one relationship between the MFR bundle and the frame relay service logical port defined in RFC1604 [RFC1604] π
2.3.5. Example π¦
Figure 2 is a visual of how all these tables connect πΌοΈ It shows two bundles, each made up of 2 T1s. The bundles have mfrBundleIndex values of 10 and 20.
+-------------------------+
| Frame Relay Service |
+-----+-------------+-----+
| |
+-----+------+------+-----+
| MFR Bundle | MFR Bundle |
| 10 | 20 |
+--+-----+---+---+-----+--+
| | | |
+-+-+ +-+-+ +-+-+ +-+-+
|T1 | |T1 | |T1 | |T1 |
+---+ +---+ +-+-+ +---+
Figure 2: Frame Relay Service Being Carried on 4 T1s
here's one way the ifTable index values could be assigned π
ifIndex | Description | ifType
--------+----------------------------+----------------------
1 | FrameRelayService | frameRelayService(44)
2 | MFR Bundle #10 | frf16MfrBundle(163)
3 | MFR Bundle #20 | frf16MfrBundle(163)
4 | ds1 #1/MFR Bundle Link #1 | ds1(18)
5 | ds1 #2/MFR Bundle Link #2 | ds1(18)
6 | ds1 #3/MFR Bundle Link #3 | ds1(18)
7 | ds1 #4/MFR Bundle Link #4 | ds1(18)
after that, the ifStackTable shows how all the interfaces relate to each other π§©
HigherLayer | LowerLayer
------------+-----------
0 | 1
1 | 2
1 | 3
2 | 4
2 | 5
3 | 6
3 | 7
4 | 0
5 | 0
6 | 0
7 | 0
the mfrBundleIfIndexMappingTable shows how the ifTable ifIndex lines up with the mfrBundleIndex π
ifIndex | mfrBundleIfIndexMappingIndex
--------+-----------------------------
2 | 10
3 | 20
the mfrBundleTable shows how the mfrBundleIndex lines up with the ifIndex π
mfrBundleIndex | mfrBundleIfIndex
---------------+-----------------
10 | 2
20 | 3
and the mfrBundleLinkTable shows how the bundles connect to their bundle links π«§
mfrBundleIndex | mfrBundleLinkIfIndex
---------------+---------------------
10 | 4
10 | 5
20 | 6
20 | 7
2.4. Creation Of Bundles and Bundle Links π οΈ
2.4.1. Creation Of Bundles π·
you make a new bundle by setting a createAndGo(4) value in the mfrBundleRowStatus RowStatus object β¨ You can also, optionally, have an agent support setting createAndWait(5) first and then setting it to active(1).
when a bundle gets created, the agent has to create a new interface in the ifTable πͺ The ifIndex for that new interface is what gets used as the value of mfrBundleIfIndex.
2.4.2. Creation Of Bundle Links π§·
you make a new bundle link by setting a createAndGo(4) value in the mfrBundleLinkRowStatus RowStatus object π
the bundle link is tied to a specific physical interface and uses that physical interface's ifIndex π The mfrBundleLinkEntry row objects can be created after, or during, the creation of the physical interface's ifEntry row objects.
the bundle named in the object mfrBundleIndex has to already exist when you create the bundle link π«Ά
2.5. Notifications π
the linkUp and linkDown traps are defined in RFC 2223 [RFC2223] π£
2.5.1. Bundle π
these SNMP traps are defined for MFR bundles π
2.5.1.1. linkUp
this trap gets sent when the ifOperStatus of a bundle goes from down to up π That happens when enough links (decided by mfrBundleActivationClass and mfrBundleThreshold) are in the operationally up state.
2.5.1.2. linkDown
this trap gets sent when the ifOperStatus of a bundle goes from up to down π That happens when too few links (decided by mfrBundleActivationClass and mfrBundleThreshold) are in the operationally up state.
2.5.2. Bundle Link π¦
these SNMP traps are defined for MFR bundle links π
2.5.2.1. linkUp
this trap gets sent when a mfrBundleLinkState object changes to the value mfrBundleLinkStateUp β¨
2.5.2.2. linkDown
this trap gets sent when a mfrBundleLinkState object changes away from the value mfrBundleLinkStateUp π₯Ή
2.5.2.3. mfrMibTrapBundleLinkMismatch β¨
okay bestie, this trap is the one that goes off when a bundle link mismatch gets detected π¨ it reports these objects:
mfrBundleNearEndName: the configured name of the near end bundle πmfrBundleFarEndName: the far end bundle name that was reported before π°οΈmfrBundleLinkNearEndName: the configured name of the near end bundle (yes, same vibe as the one above π―)mfrBundleLinkFarEndName: the reported name of the far end bundle π¦mfrBundleLinkFarEndBundleName: the far end bundle name that's being reported right now β
ngl the configured stuff might have been set up automatically, so don't be shocked if you didn't type it in yourself π also, the mfrBundleLinkMismatch counter goes up the moment the trap gets sent. counting it, every single time π
3. Object Definitions π§
okay so the managed objects live in this virtual info store called the Management Information Base, or MIB π they're written in a subset of Abstract Syntax Notation One (ASN.1), the one defined in the SMI. every object type gets named with an OBJECT IDENTIFIER (an administratively assigned name), and the object type plus an object instance is what uniquely pins down one specific instance of the object β¨ and because humans need nicknames, we usually just say a textual string called the descriptor to mean the object type π
FR-MFR-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32,
NOTIFICATION-TYPE, transmission
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, TestAndIncr, RowStatus
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
InterfaceIndex, ifIndex
FROM IF-MIB;
mfrMib MODULE-IDENTITY
LAST-UPDATED "200011300000Z"
ORGANIZATION "IETF Frame Relay Service MIB (frnetmib)
Working Group"
CONTACT-INFO
"WG Charter:
http://www.ietf.org/html.charters/frnetmib-charter.html
WG-email: frnetmib@sunroof.eng.sun.com
Subscribe: frnetmib-request@sunroof.eng.sun.com
Email Archive: ftp://ftp.ietf.org/ietf-mail-archive/frnetmib
Chair: Andy Malis
Vivace Networks
Email: Andy.Malis@vivacenetworks.com
WG editor: Prayson Pate
Overture Networks
Email: prayson.pate@overturenetworks.com
Co-author: Bob Lynch
Overture Networks
EMail: bob.lynch@overturenetworks.com
Co-author: Kenneth Rehbehn
Megisto Systems, Inc.
EMail: krehbehn@megisto.com"
DESCRIPTION
"This is the MIB used to control and monitor the multilink
frame relay (MFR) function described in FRF.16."
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Revision History
-- ---------------------------------------------------------
-- ---------------------------------------------------------
REVISION "200011300000Z"
DESCRIPTION
"Published as RFC 3020."
::= { transmission 47 }
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Textual Conventions
-- ---------------------------------------------------------
-- ---------------------------------------------------------
MfrBundleLinkState ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The possible states for a bundle link, as defined in
Annex A of FRF.16."
REFERENCE "FRF.16 Annex A"
SYNTAX INTEGER {
mfrBundleLinkStateAddSent (1),
mfrBundleLinkStateAddRx (2),
mfrBundleLinkStateAddAckRx (3),
mfrBundleLinkStateUp (4),
mfrBundleLinkStateIdlePending (5),
mfrBundleLinkStateIdle (6),
mfrBundleLinkStateDown (7),
mfrBundleLinkStateDownIdle (8)
}
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Object Identifiers
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrMibScalarObjects OBJECT IDENTIFIER ::= { mfrMib 1 }
mfrMibBundleObjects OBJECT IDENTIFIER ::= { mfrMib 2 }
mfrMibBundleLinkObjects OBJECT IDENTIFIER ::= { mfrMib 3 }
mfrMibTraps OBJECT IDENTIFIER ::= { mfrMib 4 }
mfrMibConformance OBJECT IDENTIFIER ::= { mfrMib 5 }
mfrMibTrapsPrefix OBJECT IDENTIFIER ::= { mfrMibTraps 0 }
mfrMibGroups OBJECT IDENTIFIER ::= { mfrMibConformance 1 }
mfrMibCompliances OBJECT IDENTIFIER ::= { mfrMibConformance 2 }
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Scalars
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrBundleMaxNumBundles OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object is used to inform the manager of the
maximum number of bundles supported by this device."
::= { mfrMibScalarObjects 1 }
mfrBundleNextIndex OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is used to assist the manager in
selecting a value for mfrBundleIndex during row creation
in the mfrBundleTable. It can also be used to avoid race
conditions with multiple managers trying to create
rows in the table (see RFC 2494 [RFC2494] for one such
alogrithm)."
REFERENCE "RFC 2494"
::= { mfrMibScalarObjects 2 }
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Bundle Table
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrBundleTable OBJECT-TYPE
SYNTAX SEQUENCE OF MfrBundleEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bundle configuration and status table. There
is a one-to-one correspondence between a bundle
and an interface represented in the ifTable.
The following objects of the ifTable have specific
meaning for an MFR bundle:
ifAdminStatus - the bundle admin status
ifOperStatus - the bundle operational status
ifSpeed - the current bandwidth of the bundle
ifInUcastPkts - the number of frames received
on the bundle
ifOutUcastPkts - the number of frames transmitted
on the bundle
ifInErrors - frame (not fragment) errors
ifOutErrors - frame (not fragment) errors
"
::= { mfrMibBundleObjects 3 }
mfrBundleEntry OBJECT-TYPE
SYNTAX MfrBundleEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the bundle table."
INDEX { mfrBundleIndex }
::= { mfrBundleTable 1 }
MfrBundleEntry ::=
SEQUENCE {
mfrBundleIndex
Integer32,
mfrBundleIfIndex
InterfaceIndex,
mfrBundleRowStatus
RowStatus,
mfrBundleNearEndName
SnmpAdminString,
mfrBundleFragmentation
INTEGER,
mfrBundleMaxFragSize
Integer32,
mfrBundleTimerHello
INTEGER,
mfrBundleTimerAck
INTEGER,
mfrBundleCountMaxRetry
INTEGER,
mfrBundleActivationClass
INTEGER,
mfrBundleThreshold
Integer32,
mfrBundleMaxDiffDelay
Integer32,
mfrBundleSeqNumSize
INTEGER,
mfrBundleMaxBundleLinks
Integer32,
mfrBundleLinksConfigured
Integer32,
mfrBundleLinksActive
Integer32,
mfrBundleBandwidth
Integer32,
mfrBundleFarEndName
SnmpAdminString,
mfrBundleResequencingErrors
Counter32
}
mfrBundleIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index into the table. While this corresponds
to an entry in the ifTable, the value of mfrBundleIndex
need not match that of the ifIndex in the ifTable.
A manager can use mfrBundleNextIndex to select a unique
mfrBundleIndex for creating a new row."
::= { mfrBundleEntry 1 }
mfrBundleIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value must match an entry in the interface
table whose ifType must be set to frf16MfrBundle(163).
For example: if the value of mfrBundleIfIndex is 10,
then a corresponding entry should be present in
the ifTable with an index of 10 and an ifType of 163."
::= { mfrBundleEntry 2 }
mfrBundleRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mfrBundleRowStatus object allows create, change,
and delete operations on bundle entries."
REFERENCE "RFC 1903"
::= { mfrBundleEntry 3 }
mfrBundleNearEndName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The configured name of the bundle."
REFERENCE "FRF.16 section 3.4.1"
::= { mfrBundleEntry 4 }
mfrBundleFragmentation OBJECT-TYPE
SYNTAX INTEGER {
enable (1),
disable (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Controls whether the bundle performs/accepts
fragmentation and re-assembly. The possible
values are:
enable(1) - Bundle links will fragment frames
disable(2) - Bundle links will not fragment
frames."
DEFVAL { disable }
::= { mfrBundleEntry 5 }
mfrBundleMaxFragSize OBJECT-TYPE
SYNTAX Integer32 (-1..8184)
UNITS "Octets"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum fragment size supported. Note that this
is only valid if mfrBundleFragmentation is set to enable(1).
Zero is not a valid fragment size.
A bundle that does not support fragmentation must return
this object with a value of -1."
DEFVAL { -1 }
::= { mfrBundleEntry 6 }
mfrBundleTimerHello OBJECT-TYPE
SYNTAX INTEGER (1..180)
UNITS "Seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The configured MFR Hello Timer value."
REFERENCE "FRF.16 section 4.3.8.1"
DEFVAL { 10 }
::= { mfrBundleEntry 7 }
mfrBundleTimerAck OBJECT-TYPE
SYNTAX INTEGER (1..10)
UNITS "Seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The configured MFR T_ACK value."
REFERENCE "FRF.16 section 4.3.8.2"
DEFVAL { 4 }
::= { mfrBundleEntry 8 }
Okay bestie, we're back in the MIB and it's giving bundle energy π¦β¨ Here are the knobs for retries, activation, and thresholds, plus the counters that tell you what's actually happening π
mfrBundleCountMaxRetry OBJECT-TYPE
SYNTAX INTEGER (1..5)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The MFR N_MAX_RETRY value."
REFERENCE "FRF.16 section 4.3.8.3"
DEFVAL { 2 }
::= { mfrBundleEntry 9 }
mfrBundleActivationClass OBJECT-TYPE
SYNTAX INTEGER {
mfrBundleActivationClassA (1),
mfrBundleActivationClassB (2),
mfrBundleActivationClassC (3),
mfrBundleActivationClassD (4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Controls the conditions under which the bundle is activated.
The following settings are available:
mfrBundleActivationClassA(1) - at least one must link up
mfrBundleActivationClassB(2) - all links must be up
mfrBundleActivationClassC(3) - a certain number must be
up. Refer to
mfrBundleThreshold for
the required number.
mfrBundleActivationClassD(4) - custom (implementation
specific)."
REFERENCE "FRF.16 section 4.2.2.1"
DEFVAL { mfrBundleActivationClassA }
::= { mfrBundleEntry 10 }
mfrBundleThreshold OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "Bundle Links"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Specifies the number of links that must be in operational
'up' state before the bundle will transition to an
operational up/active state. If the number of
operational 'up' links falls below this value,
then the bundle will transition to an inactive
state.
Note - this is only valid when mfrBundleActivationClass
is set to mfrBundleActivationClassC or, depending upon the
implementation, to mfrBundleActivationClassD. A bundle that
is not set to one of these must return this object with a
value of -1."
REFERENCE "FRF.16 section 4.2.2.1"
DEFVAL { -1 }
::= { mfrBundleEntry 11 }
mfrBundleMaxDiffDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "Milliseconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum delay difference between the bundle
links.
A value of -1 indicates that this object does not contain
a valid value"
DEFVAL { -1 }
::= { mfrBundleEntry 12 }
mfrBundleSeqNumSize OBJECT-TYPE
SYNTAX INTEGER {
seqNumSize12bit (1),
seqNumSize24bit (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Controls whether the standard FRF.12 12-bit
sequence number is used or the optional 24-bit
sequence number."
REFERENCE "FRFTC/99-194"
DEFVAL { seqNumSize12bit }
::= { mfrBundleEntry 13 }
mfrBundleMaxBundleLinks OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
UNITS "Bundle Links"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of bundle links supported for
this bundle."
::= { mfrBundleEntry 14 }
mfrBundleLinksConfigured OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
UNITS "Bundle Links"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of links configured for the bundle."
::= { mfrBundleEntry 15 }
mfrBundleLinksActive OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "Bundle Links"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of links that are active."
::= { mfrBundleEntry 16 }
mfrBundleBandwidth OBJECT-TYPE
SYNTAX Integer32
UNITS "Bits/Sec"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The amount of available bandwidth on the bundle"
::= { mfrBundleEntry 17 }
mfrBundleFarEndName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of the bundle received from the far end."
REFERENCE "FRF.16 section 3.4.1"
::= { mfrBundleEntry 18 }
mfrBundleResequencingErrors OBJECT-TYPE
SYNTAX Counter32
UNITS "Error Events"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the number of resequencing errors. Each event
may correspond to multiple lost frames. Example:
Say sequence number 56, 59 and 60 is received for DLCI 100.
It is decided by some means that sequence 57 and 58 is lost.
This counter should then be incremented by ONE, even though
two frames were lost."
::= { mfrBundleEntry 19 }
Next up is the ifIndex mapping table, which is basically the "find my bundle" map πΊοΈπ It lets you go from an ifIndex to a mfrBundleIndex, while the forward direction lives in mfrBundleIfIndex over in mfrBundleTable.
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- ifIndex Mapping to Bundle Index Table
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrBundleIfIndexMappingTable OBJECT-TYPE
SYNTAX SEQUENCE OF MfrBundleIfIndexMappingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table mapping the values of ifIndex to the
mfrBundleIndex. This is required in order to find
the mfrBundleIndex given an ifIndex. The mapping of
mfrBundleIndex to ifIndex is provided by the
mfrBundleIfIndex entry in the mfrBundleTable."
::= { mfrMibBundleObjects 4 }
mfrBundleIfIndexMappingEntry OBJECT-TYPE
SYNTAX MfrBundleIfIndexMappingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each row describes one ifIndex to mfrBundleIndex mapping."
INDEX { ifIndex }
::= { mfrBundleIfIndexMappingTable 1 }
MfrBundleIfIndexMappingEntry ::=
SEQUENCE {
mfrBundleIfIndexMappingIndex
Integer32
}
mfrBundleIfIndexMappingIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The mfrBundleIndex of the given ifIndex."
::= { mfrBundleIfIndexMappingEntry 2 }
Last stop for this part is the bundle link table πΈ Each bundle link lines up one-to-one with a physical interface in the ifTable, so the ifIndex is the key. The ifTable objects get some extra MFR meaning here too, so pay attention to those β¨
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Bundle Link Table
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrBundleLinkTable OBJECT-TYPE
SYNTAX SEQUENCE OF MfrBundleLinkEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The bundle link configuration and status table. There
is a one-to-one correspondence between a bundle link
and a physical interface represented in the ifTable. The
ifIndex of the physical interface is used to index the
bundle link table, and to create rows.
The following objects of the ifTable have specific
meaning for an MFR bundle link:
ifAdminStatus - the bundle link admin status
ifOperStatus - the bundle link operational
status
ifSpeed - the bandwidth of the bundle
link interface
ifInUcastPkts - the number of frames received
on the bundle link
ifOutUcastPkts - the number of frames transmitted
on the bundle link
ifInErrors - frame and fragment errors
ifOutErrors - frame and fragment errors"
::= { mfrMibBundleLinkObjects 1 }
mfrBundleLinkEntry OBJECT-TYPE
SYNTAX MfrBundleLinkEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the bundle link table."
INDEX { ifIndex }
::= { mfrBundleLinkTable 1 }
MfrBundleLinkEntry ::=
SEQUENCE {
mfrBundleLinkRowStatus
RowStatus,
mfrBundleLinkConfigBundleIndex
Integer32,
mfrBundleLinkNearEndName
SnmpAdminString,
mfrBundleLinkState
MfrBundleLinkState,
mfrBundleLinkFarEndName
SnmpAdminString,
mfrBundleLinkFarEndBundleName
SnmpAdminString,
mfrBundleLinkDelay
Integer32,
mfrBundleLinkFramesControlTx
Counter32,
mfrBundleLinkFramesControlRx
Counter32,
mfrBundleLinkFramesControlInvalid
Counter32,
mfrBundleLinkTimerExpiredCount
Counter32,
mfrBundleLinkLoopbackSuspected
Counter32,
mfrBundleLinkUnexpectedSequence
Counter32,
mfrBundleLinkMismatch
Counter32
}
mfrBundleLinkRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mfrBundleLinkRowStatus object allows create, change,
and delete operations on mfrBundleLink entries.
The create operation must fail if no physical interface
is associated with the bundle link."
::= { mfrBundleLinkEntry 1 }
mfrBundleLinkConfigBundleIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The mfrBundleLinkConfigBundleIndex object allows
the manager to control the bundle to which the bundle
link is assigned. If no value were in this field, then
the bundle would remain in NOT_READY rowStatus and be
unable to go to active. With an appropriate mfrBundleIndex
in this field, then we could put the mfrBundleLink row in
NOT_IN_SERVICE or ACTIVE rowStatus."
::= { mfrBundleLinkEntry 2 }
mfrBundleLinkNearEndName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The configured bundle link name that is sent to the far end."
::= { mfrBundleLinkEntry 3 }
mfrBundleLinkState OBJECT-TYPE
SYNTAX MfrBundleLinkState
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current bundle link state as defined by the MFR protocol
described in Annex A of FRF.16."
REFERENCE "FRF.16 Annex A"
::= { mfrBundleLinkEntry 4 }
mfrBundleLinkFarEndName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of bundle link received from far end."
REFERENCE "FRF.16 section 3.4.2"
::= { mfrBundleLinkEntry 5 }
mfrBundleLinkFarEndBundleName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of far end bundle for this link received from far end."
REFERENCE "FRF.16 section 3.4.1"
::= { mfrBundleLinkEntry 6 }
mfrBundleLinkDelay OBJECT-TYPE
SYNTAX Integer32 (-1..2147483647)
UNITS "Milliseconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current round-trip delay for this bundle link. The
value -1 is returned when an implementation does not
support measurement of the bundle link delay."
REFERENCE "FRF.16 section 3.4.4"
::= { mfrBundleLinkEntry 7 }
mfrBundleLinkFramesControlTx OBJECT-TYPE
SYNTAX Counter32
UNITS "Frames"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of MFR control frames sent."
REFERENCE "FRF.16 section 3.2"
::= { mfrBundleLinkEntry 8 }
mfrBundleLinkFramesControlRx OBJECT-TYPE
SYNTAX Counter32
UNITS "Frames"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of valid MFR control frames received."
REFERENCE "FRF.16 section 3.2"
::= { mfrBundleLinkEntry 9 }
mfrBundleLinkFramesControlInvalid OBJECT-TYPE
SYNTAX Counter32
UNITS "Frames"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of invalid MFR control frames received."
REFERENCE "FRF.16 section 3.2"
::= { mfrBundleLinkEntry 10 }
mfrBundleLinkTimerExpiredCount OBJECT-TYPE
SYNTAX Counter32
UNITS "Timer Expiration Events"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of times the T_HELLO or T_ACK timers expired."
REFERENCE "FRF.16 section 4.3.8.1 and 4.3.8.2"
::= { mfrBundleLinkEntry 11 }
mfrBundleLinkLoopbackSuspected OBJECT-TYPE
SYNTAX Counter32
UNITS "Loopback Suspected Events"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times a loopback has been suspected
(based upon the use of magic numbers)."
REFERENCE "FRF.16 section 4.3.7"
::= { mfrBundleLinkEntry 12 }
mfrBundleLinkUnexpectedSequence OBJECT-TYPE
SYNTAX Counter32
UNITS "Frames"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of data MFR frames discarded because the sequence
number of the frame for a DLCI was less than (delayed frame)
or equal to (duplicate frame) the one expected for that DLCI.
Example:
Say frames with sequence numbers 56, 58, 59 is received for
DLCI 100. While waiting for sequence number 57 another frame
with sequence number 58 arrives. Frame 58 is discarded and
the counter is incremented."
REFERENCE "FRF.16 section 4.2.3.2"
::= { mfrBundleLinkEntry 13 }
mfrBundleLinkMismatch OBJECT-TYPE
SYNTAX Counter32
UNITS "Bundle Name Mismatch Events"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times that the unit has been notified by the
remote peer that the bundle name is inconsistent with other
bundle links attached to the far-end bundle."
REFERENCE "FRF.16 section 4.3.2.4"
::= { mfrBundleLinkEntry 14 }
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Notifications/Traps
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrMibTrapBundleLinkMismatch NOTIFICATION-TYPE
OBJECTS {
mfrBundleNearEndName,
mfrBundleFarEndName,
mfrBundleLinkNearEndName,
mfrBundleLinkFarEndName,
mfrBundleLinkFarEndBundleName
}
STATUS current
DESCRIPTION
"This trap indicates that a bundle link mismatch has
been detected. The following objects are reported:
mfrBundleNearEndName: configured name of near end bundle
mfrBundleFarEndName: previously reported name of
far end bundle
mfrBundleLinkNearEndName: configured name of near end bundle
mfrBundleLinkFarEndName: reported name of far end bundle
mfrBundleLinkFarEndBundleName: currently reported name of
far end bundle
Note: that the configured items may have been configured
automatically.
Note: The mfrBundleLinkMismatch counter is incremented when
the trap is sent."
REFERENCE "FRF.16 section 4.3.2.4"
::= { mfrMibTrapsPrefix 1 }
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Conformance/Compliance
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrMibCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for equipment that implements
the FRF16 MIB. All of the current groups are mandatory,
but a number of objects may be read-only if the
implementation does not allow configuration."
MODULE -- this module
MANDATORY-GROUPS {
mfrMibBundleGroup,
mfrMibBundleLinkGroup,
mfrMibTrapGroup
}
OBJECT mfrBundleFragmentation
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, but the value used must be
reported."
OBJECT mfrBundleMaxFragSize
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, but the value used must be
reported.
A value of -1 indicates that the value is not applicable."
OBJECT mfrBundleThreshold
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, but the value used must be
reported.
A value of -1 indicates that the value is not applicable."
OBJECT mfrBundleMaxDiffDelay
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, but the value used must be
reported."
OBJECT mfrBundleSeqNumSize
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, but the value used must be
reported.
A value of -1 indicates that the value is not applicable."
::= { mfrMibCompliances 1 }
-- ---------------------------------------------------------
-- ---------------------------------------------------------
-- Units of Conformance
-- ---------------------------------------------------------
-- ---------------------------------------------------------
mfrMibBundleGroup OBJECT-GROUP
OBJECTS {
mfrBundleMaxNumBundles,
mfrBundleNextIndex,
mfrBundleIfIndex,
mfrBundleRowStatus,
mfrBundleNearEndName,
mfrBundleFragmentation,
mfrBundleMaxFragSize,
mfrBundleTimerHello,
mfrBundleTimerAck,
mfrBundleCountMaxRetry,
mfrBundleActivationClass,
mfrBundleThreshold,
mfrBundleMaxDiffDelay,
mfrBundleMaxBundleLinks,
mfrBundleLinksConfigured,
mfrBundleLinksActive,
mfrBundleBandwidth,
mfrBundleSeqNumSize,
mfrBundleFarEndName,
mfrBundleResequencingErrors,
mfrBundleIfIndexMappingIndex
}
STATUS current
DESCRIPTION
"Group of objects describing bundles."
::= { mfrMibGroups 1 }
mfrMibBundleLinkGroup OBJECT-GROUP
OBJECTS {
mfrBundleLinkRowStatus,
mfrBundleLinkConfigBundleIndex,
mfrBundleLinkNearEndName,
mfrBundleLinkState,
mfrBundleLinkFarEndName,
mfrBundleLinkFarEndBundleName,
mfrBundleLinkDelay,
mfrBundleLinkFramesControlTx,
mfrBundleLinkFramesControlRx,
mfrBundleLinkFramesControlInvalid,
mfrBundleLinkTimerExpiredCount,
mfrBundleLinkLoopbackSuspected,
mfrBundleLinkUnexpectedSequence,
mfrBundleLinkMismatch
}
STATUS current
DESCRIPTION
"Group of objects describing bundle links."
::= { mfrMibGroups 2 }
mfrMibTrapGroup NOTIFICATION-GROUP
NOTIFICATIONS {
mfrMibTrapBundleLinkMismatch
}
STATUS current
DESCRIPTION
"Group of objects describing notifications (traps)."
::= { mfrMibGroups 3 }
END
4. Acknowledgments β¨
okay so this doc was cooked up by the frnetmib (Frame Relay Service MIB) Working Group π«Ά and they teamed up with the Frame Relay Forum to make it happen. iconic teamwork, no cap π
5. References β¨
okay bestie, this is the reading list π every RFC has one, and it's where the document shows its receipts. the big squad here is the SNMP family, plus some ITU-T and ATM Forum specs for the frame relay bits π¦
- [RFC2571] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999.
- [RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.
- [RFC1212] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.
- [RFC1215] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991.
- [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
- [RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990.
- [RFC1901] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
- [RFC1906] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
- [RFC2572] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999.
- [RFC2574] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999.
- [RFC1905] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
- [RFC2573] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999.
- [RFC2575] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999.
- [RFC2570] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999.
- [Q.922] ITU-T, Recommendation Q.922: "ISDN Data Link Layer Specification For Frame Mode Bearer Services"
- [Q.933] ITU-T, Recommendation Q.933: "Signalling Specification For Frame Mode Basic Call Control"
- [FRF.4] R. Cherukuri (ed), FRF.4: "Frame Relay User-to-Network SVC Implementation Agreement" January 5, 1994.
- [FRF.16] M. Sheehan (ed), FRF.16: "UNI/NNI Multilink Frame Relay Interworking Implementation Agreement" August 20, 1999.
- [RFC1604] Rehbehn, K. and D. Fowler, "Definitions of Managed Objects for Frame Relay Service", RFC 2954, October 2000.
- [RFC2494] Fowler, D., "Definitions of Managed Objects for the DS0 and DS0 Bundle Interface Type", RFC 2494, November 1997.
- [RFC2863] McCloghrie, D. and F. Kastenholz, "The Interfaces Group MIB using SMIv2", RFC 2233, June 2000.
- [ATMLANE] T. Newton, ed., "LAN Emulation Client Management Specification Version 2.0" AF-LANE-0093.000, ATM Forum, October, 1998
- [ATMIMA] R. Vallee, ed., "Inverse Multiplexing for ATM Specification Version 1.1" (Appendix A) AF-PHY-0086.001, ATM Forum, March, 1999
- [RFC2115] Brown, C. and F. Baker, "Management Information Base for Frame Relay DTEs Using SMIv2", RFC 2115, September 1997.
6. Security Considerations π
okay this section is serious but still iconic, so listen up π a bunch of the objects in this MIB are marked read-write and/or read-create, which means they can be changed or made from scratch. those objects might be sensitive or vulnerable depending on the network. and if SET operations happen in a non-secure environment with no proper protection, it can really mess with network operations π
the good news is that no managed objects in this MIB hold sensitive information π«Ά
BUT here's the tea: SNMPv1 on its own is NOT a secure environment π even if the network is secure (for example, by using IPSec), there's still no control over who on that secure network gets to GET/SET (read/change/create/delete) the objects in this MIB. not me, that's a lot π
so implementers should really consider the security features that the SNMPv3 framework gives them π specifically, the User-based Security Model in RFC 2574 [RFC2574] and the View-based Access Control Model in RFC 2575 [RFC2575] are the ones to use.
and finally, it's a customer or user responsibility to make sure the SNMP entity giving access to an instance of this MIB is set up so only the principals (users) with legit rights can GET or SET (change/create/delete) those objects. main character energy means locking the door, bestie πβ¨
7. Authors' Addresses π
the people who wrote this doc, and where to find them π
Prayson Pate
Overture Networks
P. O. Box 14864
RTP, NC, USA 27709
Phone: +1 919 558 2200
EMail: prayson.pate@overturenetworks.com
Bob Lynch
Overture Networks
P. O. Box 14864
RTP, NC, USA 27709
Phone: +1 919 558-2200
EMail: bob.lynch@overturenetworks.com
Kenneth Rehbehn
Megisto Systems, Inc.
20251 Century Boulevard
Germantown, MD, USA 20874
Phone: +1 301 529-4427
EMail: krehbehn@megisto.com
8. Full Copyright Statement π
Copyright (C) The Internet Society (2000). All Rights Reserved.
so the legal bit, but make it cute π¦ you're allowed to copy this document and hand it out to others, and you can make derivative works that comment on or explain it or help with implementing it. you can prepare, copy, publish and distribute those, in whole or in part, with no restriction of any kind. the one catch is that the copyright notice and this paragraph have to stay on every copy and derivative work π
you're NOT allowed to modify this document itself in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. the exceptions are when it's needed for developing Internet standards, in which case the copyright procedures in the Internet Standards process must be followed, or when it's needed to translate it into a language other than English π
the permissions above are perpetual, and the Internet Society or its successors or assigns will never revoke them π
and the disclaimer, bestie: this document and the info in it is provided on an "AS IS" basis, and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. no cap, that's the boring-but-important part π
Acknowledgement πΈ
funding for the RFC Editor function is currently provided by the Internet Society π«Ά
π¦ where this page comes from
- ietf: rfc3020 2000-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms