The MPLS WG Archive[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index][Thread Index][Author Index][Subject Index] LDP MIB Nits
Hi Joan,
Good job with the LDP MIB.
Here are a few very picky nits. Typos and some very trivial point.
Cheers,
Adrian
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. Internet-Drafts are
This reference is missing
3. Structure of the MIB
This section describes the structure of the LDP MIB.
# "module"
3.1. Overview
[SNIP]
The MPLS-LDP-MIB Module MUST be implemented and at least one of the
Layer 2 MIB Modules MUST be implemented.
# 'MUST be implemented' by whom?
[SNIP]
There are 2 Compliance statements for each MIB Module. One which is
for FULL Compliance which includes configuration and monitoring via
< SNMP. The other is a READ-ONLY Compliance which is only monitoring
> SNMP. The other is a READ-ONLY Compliance which is only for monitoring
^^^
3.4. Differences from the LDP Specification
Currently, there are 3 differences between this specification and the
LDP Specification.
# give reference
As previously mentioned,
# Where? I don't find it.
this MIB is almost
entirely based on the LDP specification. The differences are
< documented here in the hope to avoid any confusion between the two
> documented here to avoid any confusion between the two
documents.
The first difference is that the LDP Entity Table contains some
DEFVAL clauses which are not specified explicitly in the LDP
Specification. These values, although not documented in the LDP
Specification are widely used by existing LDP MIB implementations and
thus, have been adopted within this MIB.
# "module"
Please note, they can
< certainly be changed during row creation or a subsequent set request.
> certainly be changed during row creation or a subsequent SET request.
^^^
3.5. The MPLS-LDP-MIB Module
This MIB Module contains objects which are common to all LDP
implementations. This MIB Module MUST always be implemented along
with one or more of the Layer 2 MIB Modules.
NOTE, this table allows the Label Edge Router (LER) or the Label
< Switching router (LSR) to initiate and/or receive requests to
> Switching Router (LSR) to initiate and/or receive requests to
^
establish LDP sessions. As the LDP protocol distributes labels and
establishes sessions with Peers most of the tables in this MIB are
# "module"
3.5.1. The LDP Entity Table
The MPLS-LDP-MIB provides objects to configure/set-up potential LDP
sessions on a specific LSR. The mplsLdpEntityTable is used to
configure potential LDP Sessions, where each row in the table
represents a potential LDP Session.
Each entry/row in this table represents a single LDP Entity. There
is no maximum number of LDP Entities specified. However, there is an
mplsLdpEntityIndexNext object which should be retrieved by the
command generator prior to creating an LDP Entity. If the
mplsLdpEntityIndexNext object is zero, this indicates that the LSR is
not able to create another LDP Entity at that time.
# There seems to be a contratiction between the last sentence of the 1st
# paragraph and the first of the 2nd. Perhaps you could clarify.
3.5.1.1. Changing Values After Session Establishment
[SNIP]
and Session statistics (i.e. releveant row in the mplsLdpSesTable).
Also, if the LSR MIB is implemented and the optional Mapping Table
# "module"
# give reference
objects are implemented, then all information related to the LSPs in
this session should be removed from these MIBs. [For more information
# "module"
3.5.2. The LDP Entity Statistics Table
The mplsLpdEntityStatsTable is a read-only table which contains
statistical information related to failed attempts to establish
sessions. Each row in this table is related to a single LDP entity
< and this table AUGMENTS an mplsLdpEntityEntry. This table could be
> and each mplsLpdEntityStatsEntry AUGMENTS an mplsLdpEntityEntry. This
table could be
# the table doesn't augment an entry
# either the table augments a table, or an entry augments an entry
3.5.3. The LDP Peer Table
[SNIP]
The Peer Table information was placed in a separate table from the
< Session information to allow for a more comprehensive and coherent
> Session information to allow for a more comprehensive and coherent
^
3.5.5. The LDP Session Statistics Table
The MPLS LDP Session Stats Table is a read-only table which contains
statistical information on sessions.
# Say what it augments
<3.5.6. The LDP Hello Adjacencies Table
>3.5.6. The LDP Hello Adjacency Table
^
This is a table of all adjacencies between all LDP Entities and all
LDP Peers. A Session may have one or more adjacencies. A session
should not have zero adjacencies, because this indicates that the
session has lost contact with the Peer. A session which has zero
Hello Adjacencies should be eventually removed.
# I don't think you should be allowed to say "eventually".
# Can you qualify it?
3.5.7. The LDP LSP Table
# In this section (and possibly elsewhere in the draft?) you use
# "ingress label" and "egress label". This makes me nervous wrt LSPs
# where ingress and egress are different things. Could you say
# "incoming" and "outgoing" or 2input" and "output"?
3.5.9. The LDP Session Peer Address Table
# Do you need 3.5.10 to discuss global objects?
3.6. LDP Notifications
# I think this section would be enhanced by a note on control of
# Notifications. I think Tom had some Boiler Plate (TM) about how
# control is based within this MIB module, but I am really interested
# in how I stop these Notifications (especially since it is not
# a global object that you use.
mplsLdpEntityIndex OBJECT-TYPE
SYNTAX IndexInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This index is used as a secondary index to uniquely
identify this row. Before creating a row in this table,
the 'mplsLdpEntityIndexNext' object should be retrieved.
That value should be used for the value of this index
< when creating a row in this table. (NOTE: if a value
> when creating a row in this table. NOTE: if a value
^
of zero (0) is retrieved, that indicates that no rows
can be created in this table at this time.
A secondary index (this object) is meaningful to some
but not all, LDP implementations. For example
< in an LDP implementation which uses PPP would
> an LDP implementation which uses PPP would
^
mplsLdpEntityOperStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
enabled(2),
disabled(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The operational status of this LDP Entity."
::= { mplsLdpEntityEntry 5 }
# I think one sentence explaining the meaning of unknown
mplsLdpEntityInitSesThreshold OBJECT-TYPE
SYNTAX Integer32(0..100)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"When attempting to establish a session with a
given Peer, the given LDP Entity should
send out the SNMP notification,
'mplsLdpInitSesThresholdExceeded', when
the number of Session Initialization messages sent
exceeds this threshold. The notification is
used to notify an operator when this Entity and
its Peer are possibily engaged in an endless
sequence of messages as each NAKs the other's
Initialization messages with Error Notification
messages. Setting this threshold which triggers
the notification is one way to
notify the operator.
A value of 0 (zero) for this object
indicates that the threshold is infinity, thus
the SNMP notification will never be generated."
# Should the local count be reset when the Notification is sent?
# In other words, one Notification per N attempts, or one for each
# attempt after N?
mplsLdpEntityLabelType OBJECT-TYPE
SYNTAX MplsLdpLabelType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Specifies the optional parameters for the LDP
Initialization Message. If the value is generic(1)
then no optional parameters will be sent in
the LDP Initialization message associated with
this Entity.
If the value is atmParameters(2) then
a row must be created in the mplsLdpEntityAtmParms
Table, which corresponds to this entry.
If the value is frameRelayParameters(3) then
< a row must be created in the mplsLdpEntityFrameRelayParms
< Table, which corresponds to this entry."
> a row must be created in the mplsLdpEntityFrameRelayTable,
> which corresponds to this entry."
mplsLdpEntityDiscontinuityTime 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 entity's counters
suffered a discontinuity. The relevant counters are the
specific instances associated with this entity of
< any Counter32, or Counter64 object contained
> any Counter32 object contained
# there are not 64 bit counters
in the 'mplsLdpEntityStatsTable'. If no such
discontinuities have occurred since the last
re-initialization of the local management
subsystem, then this object contains a zero
value."
::= { mplsLdpEntityEntry 21 }
# Any reason why the discontinuity timer is here and not in the
# augmentation? If so, perhaps state it?
mplsLdpEntityStatsEntry OBJECT-TYPE
SYNTAX MplsLdpEntityStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row in this table contains statistical information
about an LDP Entity. Some counters contained in a
row are for fatal errors received during a former
LDP Session associated with this entry. For example,
< an Ldp Pdu received on a TCP connection during an
> an LDP PDU received on a TCP connection during an
^^ ^^
LDP Session contains a fatal error. That
error is counted here, because the
session is terminated.
< If the error is NOT fatal (i.e. and the Session
> If the error is NOT fatal (i.e. the Session
remains), then the error is counted in the
mplsLdpSesStatsEntry."
AUGMENTS { mplsLdpEntityEntry }
::= { mplsLdpEntityStatsTable 1 }
mplsLdpEntityStatsSesAttempts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the total attempted sessions for
this LDP Entity.
# Is this a count of the total attempts (including success) or
# the failures only?
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
mplsLdpEntityDiscontinuityTime."
::= { mplsLdpEntityStatsEntry 1 }
mplsLdpEntityStatsSesRejectedNoHelloErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A count of the Session Rejected/No Hello Error
Notification Messages sent or received by
this LDP Entity.
# Is there merit in bundling 'sent or received' together?
# You do it for a bunch of errors and then after the errors
# which can only be local detection of receipts, you have a
# separate sent and receive counter for shutdown Notifications
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
mplsLdpEntityDiscontinuityTime."
::= { mplsLdpEntityStatsEntry 2 }
mplsLdpEntityStatsBadPduLengthErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
< "This object counts the number of Bad Pdu Length
> "This object counts the number of Bad PDU Length
^^
mplsLdpPeerTransportAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The transport address advertized by the peer
< in the hello message or the Hello source address."
> in the Hello Message or the Hello source address."
^ ^
REFERENCE
"[RFC3036], LDP Specification, Section 2.5.2
Transport Connection Establishment and
Section 3.5.2.1 Hello Message Procedures."
::= { mplsLdpPeerEntry 5 }
--
-- The MPLS LDP Sessions Table
--
mplsLdpSesTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsLdpSesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of Sessions between the LDP Entities and
LDP Peers. Each row represents a single session."
# Please comment that this augments the peer table
::= { mplsLdpSesObjects 3 }
mplsLdpSesEntry OBJECT-TYPE
SYNTAX MplsLdpSesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table represents information on a
single session between an LDP Entity and LDP Peer.
The information contained in a row is read-only.
Please note: the Path Vector Limit for the
Session is the value which is configured in
the corresponding mplsLdpEntityEntry. The
Peer's Path Vector Limit is in noted in the
mplsLdpPeerTable.
Values which may differ from those configured are
noted in the objects of this table, the
mplsLdpAtmSesTable and the
mplsLdpFrameRelaySesTable. A value will
differ if it was negotiated between the
Entity and the Peer. Values may or may not
be negotiated. For example, if the values
are the same then no negotiation takes place.
If they are negotiated, then they may differ."
AUGMENTS { mplsLdpPeerEntry }
mplsLdpSesDiscontinuityTime OBJECT-TYPE
# ditto the placement in the parent not the augment table
mplsLdpSesStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsLdpSesStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of statistics for Sessions between
LDP Entities and LDP Peers."
# plase say this augments (whatever it augments!)
mplsLdpSesStatsUnkMesTypeErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object counts the number of Unknown Message Type
< Errors detected during this session.
> Errors detected by this LSR during this session.
^^^^^^^^^^^
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
mplsLdpSesDiscontinuityTime."
::= { mplsLdpSesStatsEntry 1 }
mplsLdpSesStatsUnkTlvErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object counts the number of Unknown TLV Errors
< detected during this session.
> detected by this LSR during this session.
^^^^^^^^^^^
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
mplsLdpSessionDiscontinuityTime."
::= { mplsLdpSesStatsEntry 2 }
mplsLdpHelloAdjacencyEntry OBJECT-TYPE
SYNTAX MplsLdpHelloAdjacencyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each row represents a single LDP Hello Adjacency.
< An LDP Session can have one or more Hello adjacencies."
> An LDP Session can have one or more Hello Adjacencies."
^
mplsLdpHelloAdjacencyHoldTimeRem OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time remaining for this Hello Adjacency.
This interval will change when the 'next'
< Hello message which corresponds to this
> Hello Message which corresponds to this
^
Hello Adjacency is received."
::= { mplsLdpHelloAdjacencyEntry 2 }
mplsLdpHelloAdjacencyHoldTime OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Hello hold time which is negotiated between
the Entity and the Peer.
A value of 0 means the default,
which is 15 seconds for Link Hellos and 45 seconds
for Targeted Hellos. A value of 0xffff indicates an
infinite hold time."
# I may be wrong, but I think you need 0xffffffff, or should this be a
# uint16? Or perhaps you need unit32 but values above 0xffff are not
# valid?
mplsInSegmentLdpLspTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsInSegmentLdpLspEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of LDP LSP's which
map to the InSegment Table in the
the LSR MIB's."
# The LSR MIB's what?
mplsInSegmentLdpLspEntry OBJECT-TYPE
# Tom's new indexing scheme (if I don't kill him first!)
mplsInSegmentLdpLspIfIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The ifIndex value associated with this LSP which has the
same value as the mplsInSegmentIfIndex in the MPLS-LSR-MIB's
mplsInSegmentTable."
# Add note about the meaning of zero?
mplsOutSegmentLdpLspTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsOutSegmentLdpLspEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of LDP LSP's which
map to the InSegment Table in the
the LSR MIB's."
# The LSR MIB's what?
mplsOutSegmentLdpLspEntry OBJECT-TYPE
# Shouldn't be surprised if this indexing isn't broken, too
mplsFecAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of this object is the an address where the
address type is specified by the 'mplsFecAddrFamily' object.
This address is then used as either an address prefix,
or as the host address as indicated by the 'mplsFecType'
object. In other words, the FEC element is populated
according to the Prefix FEC Element value encoding, or
the Host Address FEC Element encoding."
# Either this should default to zero (because prefix length defaults to
# zero and you have stated a rule) or FecType should default to 'host'
mplsFecStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row. Conceptual rows
having the value 'permanent(4)' MAY allow write-access to
any columnar objects in the row, except for setting the
'mplsFecRowStatus' to 'destroy(6)'."
# indentation is wrong
DEFVAL { nonVolatile }
::= { mplsFecEntry 6 }
# I have an issue with your use of storage type, which differs from Tom's.
# I have assumed that 'peranent' means that if I restart the agent, master
# agent or LDP software, this configuration inforation should be restored.
# You have made 'permanent' mean undeletable.
#
# I guess both are acceptable meanings, but probably only one is standard
# usage within MIBs. One of you needs to conform with the other!
#
# This comment applies to every instance of storage type
mplsFecRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row. If the value of this
object is 'active(1)', then none of the writable objects of
this entry can be modified, except to set this object
to 'destroy(6)'.
# Why am I not allowed to transition a row to 'notInService'?
# This comment applies to every instance of row status
mplsLdpLspFecIfIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This index is either the mplsInSegmentLdpLspIfIndex
or the mplsOutSegmentLdpLspIfIndex as indicated by
the mplsLdpLspFecSegment."
# Comment special meaning of zero
mplsLdpLspFecOperStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
inUse(2),
notInUse(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An indication of the operational status of
the FEC associated with LDP LSP.
unknown(1) - this is a temporary state which
may indicate the LSP-FEC association
is in a state of transition.
inUse(2) - the FEC associated with the LSP is
currently being applied.
notInUse(3) - the FEC associated with the LSP is
not being applied. Eventually, this
entry may be aged out."
# There you go with "eventually" again :-)
# But also, please say how you arrive at 'notInUse'. What does it mean?
mplsLdpLspFecRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row. If the value of this
object is 'active(1)', then none of the writable objects of
this entry can be modified.
# The folowing text is confusing (to me).
# I thought the relationship for FEC<-->LSP and LSP<-->Session
# I'm not clear about how you describe FEC to session
# If I've missed something, just ignore me (there really is no need
# to explain LDP to me at this stage in my life :-)
The Agent should delete this row when the Session ceases to
exist. If an operator wants to associate the session with
a different FEC, the recommended
procedure is (as described in detail in the section
entitled, 'Changing Values After Session
Establishment', and again described in the
DESCRIPTION clause of the mplsLdpEntityAdminStatus object)
is to set the mplsLdpEntityAdminStatus to down, thereby
explicitly causing a session to be torn down. This will also
cause this entry to be deleted.
Then, set the mplsLdpEntityAdminStatus
to enable which enables a NEW session to be initiated.
Once the session is initiated, an entry may be added to this
table to associate the new session with a FEC."
::= { mplsLdpLspFecEntry 8 }
mplsLdpPathVectorLimitMismatch NOTIFICATION-TYPE
OBJECTS {
mplsLdpEntityPathVectorLimit,
mplsLdpPeerPathVectorLimit
}
STATUS current
DESCRIPTION
< "If this notification is enabled to generated,
> "If this notification is enabled to be generated,
^^
# Please also say how it is enabled.
# Same changes in all subsequent notifications
4.1. The MPLS-LDP-ATM-MIB Module
This MIB Module MUST be supported if LDP uses ATM as the Layer 2
< media. There are three tables in this MIB Module. Two tables are
> medium. There are three tables in this MIB Module. Two tables are
^^
for configuring LDP to use ATM. These tables are the
mplsLdpEntityAtmParmsTable and the mplsLdpEntityAtmLabelRangeTable.
The mplsLdpEntityAtmParmsTable provides a way to configure
information which would be contained in the "Optional Parameter"
portion of an LDP PDU Initialization Message.
The mplsLdpEntityAtmLabelRangeTable provides a way to configure
information which would be contained in the "ATM Label Range
Components" portion of an LDP PDU Intialization Message, see
[RFC3035] and [RFC3036].
# And the third table is...?
mplsLdpEntityAtmTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsLdpEntityAtmEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
< "This table contains information about the
< ATM specific information which could be used
< in the 'Optional Parameters' and other ATM specific
< information.
> "This table contains ATM specific information which
> could be used in the 'Optional Parameters' and other
> ATM specific information.
This table 'extends' the mplsLdpEntityTable when
< ATM as the Layer 2 media."
> ATM as the Layer 2 medium."
^^
mplsLdpEntityAtmIfIndexOrZero OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This value represents either the InterfaceIndex of
the 'ifLayer' where the ATM Labels 'owned' by this
entry were created, or 0 (zero). The value of zero
means that the InterfaceIndex is not known. For example,
if the InterfaceIndex is created subsequent to the
ATM Label's creation, then it would not be known.
# huh? Do you mean "subsequent to the creation of the ATM Labels"?
mplsLdpEntityAtmRowStatus OBJECT-TYPE
[SNIP]
NOTE: This RowStatus object should
have the same value of the 'mplsLdpEntityRowStatus'
related to this entry."
# upper case SHOULD
# but, why have it?
# alternatively make it a firm requirement that "agents that
# change the setting of this object must make the identical change
# the the value of mplsLdpEntityRowStatus" and place a similar
# comment in the definition of mplsLdpEntityRowStatus
::= { mplsLdpEntityAtmEntry 11 }
--
-- The MPLS LDP Entity ATM Label Range Table
--
# Somewhere around here I got confused!
# We have a count of AtmLRComponents which is SETable
# So now I can have
# - not enough corresponding entries in AtmSesTable
# - enough objects in AtmSesTable, but the corresponding
# objects in mplsLdpEntityAtmLRTable have rowSatuts
# not active (or even don't exist!)
#
# I would suggest AtmLRComponents should be read-only
# That probably covers it since you have dire warnings in
# the rowStatus objects
mplsLdpEntityAtmLREntry OBJECT-TYPE
SYNTAX MplsLdpEntityAtmLREntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row in the LDP Entity ATM Label
Range Table. One entry in this table contains
information on a single range of labels
represented by the configured Upper and Lower
Bounds VPI/VCI pairs. These are the same
data used in the Initialization Message.
NOTE: The ranges for a specific LDP Entity
are UNIQUE and non-overlapping. For example,
for a specific LDP Entity index, there could
be one entry having LowerBound vpi/vci == 0/32, and
UpperBound vpi/vci == 0/100, and a second entry
for this same interface with LowerBound
vpi/vci == 0/101 and UpperBound vpi/vci == 0/200.
However, there could not be a third entry with
LowerBound vpi/vci == 0/200 and
UpperBound vpi/vci == 0/300 because this label
range overlaps with the second entry (i.e. both
entries now have 0/200).
A row will not be created unless a unique and
non-overlapping range is specified. Thus, row
creation implies a one-shot row creation of
LDP EntityID and LowerBound vpi/vci and
UpperBound vpi/vci. At least one label
range entry for a specific LDP Entity MUST
include the default VPI/VCI values denoted
in the LDP Entity Table."
# One-shot always worries me because I spent too long living with
# HP OpenView at a time when it could only touch one object at a
# time. So...
# What is wrong with allowing notReady row creation and
# preventing overlap only at the time of setting rowStatus to
# active?
# Similarly, if I wanted to change a range, I could set it
# notInService, cahnge the objects one at a time (during which time
# it might overlap another rrange) and set it back to active when
# I'm done.
4.2. The MPLS-LDP-FRAME-RELAY-MIB Module
This MIB Module MUST be supported if LDP uses FRAME RELAY as the
< Layer 2 media. There are three tables in this MIB Module. Two
> Layer 2 medium. There are three tables in this MIB Module. Two
^^
tables are to configure LDP for using Frame Relay. These tables are
< the mplsLdpEntityFrameRelayParmsTable and the
< mplsLdpEntityFrameRelayLabelRangeTable.
> the mplsLdpEntityFrameRelayTable and the
> mplsLdpEntityFrameRelayLRTable.
< The mplsLdpEntityFrameRelayParmsTable provides a way to configure
> The mplsLdpEntityFrameRelayTable provides a way to configure
information which would be contained in the "Optional Parameter"
portion of an LDP PDU Initialization Message.
< The mplsLdpEntityFrameRelayLabelRangeTable provides a way to
> The mplsLdpEntityFrameRelayLRTable provides a way to
configure information which would be contained in the "Frame Relay
Label Range Components" portion of an LDP PDU Intialization Message,
see [RFC3034] and [RFC3036].
# And the third table is...?
4.3. The MPLS-LDP-GENERIC-MIB Module
This MIB Module MUST be supported if LDP uses a Per Platform Label
Space. This MIB Module contains a Label Range (LR) table for
< configuring Mpls Generic Label Ranges. This table is
> configuring MPLS Generic Label Ranges. This table is
^^^^
< mplsLdpEntityGenericLabelRangeTable. Although the LDP Specification
> mplsLdpEntityGenericLRTable. Although the LDP Specification
does not provide a way for configuring Label Ranges for Generic
Labels, the MIB does provide a way to reserve a range of generic
labels because this was thought to be useful by the working group.
mplsLdpEntityGenericIfIndexOrZero OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This value represents either the InterfaceIndex of
the 'ifLayer' where these Generic Label would be created,
or 0 (zero). The value of zero means that the
InterfaceIndex is not known. For example, if
the InterfaceIndex is created subsequent to
the Generic Label's creation, then it would not be
# as for previous tables
known. However, if the InterfaceIndex
is known, then it must be represented by this value.
If an InterfaceIndex becomes known, then the
network management entity (e.g. SNMP agent) responsible
for this object MUST change the value from 0 (zero) to the
value of the InterfaceIndex."
::= { mplsLdpEntityGenericLREntry 4 }
8. Informative References
[SNIP]
# I think this is normative for ifIndex
[RFC2863] McCloghrie, K., F. Kastenholz, "The Interfaces Group MIB
using SMIv2", RFC 2863, June 2000.
[MPLSMGMT] Nadeau, T., Srinivasan, C., and A. Farrel, "Multiprotocol
Label Switching (MPLS) Management Overview", draft-ietf-
< mpls-mgmt-overview-03.txt, February 2003.
> mpls-mgmt-overview-04.txt, April 2003.
9.1. Security Considerations for MPLS-LDP-MIB
[SNIP]
< Some of the readable objects in this MIB module "i.e., objects with a
> Some of the readable objects in this MIB module i.e., "objects with a
^ ^
|
|