| Internet Engineering Task Force | U.H. Herberg |
| Internet-Draft | Fujitsu Laboratories of America |
| Intended status: Standards Track | R.G. Cole |
| Expires: December 11, 2012 | US Army CERDEC |
| T.H. Clausen | |
| LIX, Ecole Polytechnique | |
| June 11, 2012 |
Definition of Managed Objects for the LLN On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng)
draft-herberg-lln-loadng-mib-00
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring parameters of the LLN On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng) process on a router. The MIB module defined in this memo, denoted LOADng-MIB, also reports state. While LOADng is layer agnostic and can be run with different address families (e.g., on L2 using MAC addreses, or on L3 using IP addresss), this MIB module assumes that LOADng is used on L3, and uses only IPv4/IPv6 addresses.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 11, 2012.
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring parameters of the LLN On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng) [LOADng] process on a router. The MIB module defined in this memo, denoted LOADng-MIB, also reports state. While LOADng is layer agnostic and can be run with different address families (e.g., on L2 using MAC addreses, or on L3 using IP addresss), this MIB module assumes that LOADng is used on L3, and uses only IPv4/IPv6 addresses.
For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to Section 7 of [RFC3410].
Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB module are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in [RFC2578], [RFC2579] and [RFC2580].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and OPTIONAL" in this document are to be interpreted as described in [RFC2119].
The LLN On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng) [LOADng] is a routing protocol, derived from AODV [RFC3561] and extended for use in Low power and Lossy Networks (LLNs). As a reactive protocol, the basic operations of LOADng include generation of Route Requests (RREQs) by a router (originator) for when discovering a route to a destination, forwarding of such RREQs until they reach the destination router, generation of Route Replies (RREPs) upon receipt of an RREQ by the indicated destination, and unicast hop-by-hop forwarding of these RREPs towards the originator. If a route is detected broken, i.e., if forwarding of a data packet to the recorded next hop on the route to the destination is detected to fail, a Route Error (RERR) message is returned in unicast to the originator of that data packet.
This MIB module describes objects for configuring parameters of a LOADng process on a router, as well as for the relevant state of a LOADng process on a router, in order to monitor and manage parameters and information bases of LOADng.
The following definitions apply throughout this document:
This section presents the structure of the LOADng-MIB module. The MIB module is arranged into the following structure:
The LOADng router is configured with a set of controls. The authoritative list of configuration controls within the LOADng-MIB module are found within the MIB module itself. Generally, an attempt was made in developing the LOADng-MIB module to support all configuration objects defined in [LOADng]. For all of the configuration parameters, the same default values of these parameters as defined in [LOADng] are followed.
The State Group reports current state information of a router running [LOADng]. The LOADng-MIB State Group tables were designed to contain the complete set of state information defined within the information bases specified in Section 6 of [LOADng].
The LOADng-MIB module contains a number of tables which record data related to:
The LOADng-MIB module's tables and their indexing are:
This section specifies the relationship of the MIB module contained in this document to other standards, particularly to standards containing other MIB modules. Definitions imported from other MIB modules and other MIB modules that SHOULD be implemented in conjunction with the MIB module contained within this document are identified in this section.
The 'system' group in the SNMPv2-MIB module [RFC3418] is defined as being mandatory for all systems, and the objects apply to the entity as a whole. The 'system' group provides identification of the management entity and certain other system-wide data. The LOADng-MIB module does not duplicate those objects.
The following LOADng-MIB module IMPORTS objects from SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863], and INET-ADDRESS-MIB [RFC4001].
This section contains the MIB module defined by the specification.
LOADNG-MIB DEFINITIONS ::= BEGIN
-- This MIB module defines objects for the management of
-- LLN On-demand Ad hoc Distance-vector Routing Protocol - Next
-- Generation (LOADng), T. Clausen, A. Colin de Verdiere,
-- J. Yi, A. Niktash, Y. Igarashi, H. Satoh, U. Herberg,
-- C. Lavenu, T. Lys, April 2012.
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Counter32, Counter64, Integer32, Unsigned32, mib-2,
TimeTicks
FROM SNMPv2-SMI -- RFC2578
TEXTUAL-CONVENTION, TruthValue, TimeStamp,
RowStatus
FROM SNMPv2-TC -- RFC2579
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF -- STD58
InetAddressType, InetAddress,
InetAddressPrefixLength
FROM INET-ADDRESS-MIB -- RFC4001
InterfaceIndex
FROM IF-MIB -- RFC2863
;
loadngMIB MODULE-IDENTITY
LAST-UPDATED "201206111000Z" -- June 11, 2012
ORGANIZATION "IETF ??? Working Group"
CONTACT-INFO
"WG E-Mail: ??@ietf.org
WG Chairs: ??
??
Editors: Ulrich Herberg
Fujitsu Laboratories of America
Sunnyvale, CA, 94085
US
ulrich@herberg.name
http://www.herberg.name/
Robert G. Cole
US Army CERDEC
Space and Terrestrial Communications
6010 Frankford Street
Bldg 6010, Room 453H
Aberdeen Proving Ground, MD 21005
USA
+1 443 395-8744
robert.g.cole@us.army.mil
http://www.cs.jhu.edu/~rgcole/
Thomas Heide Clausen
Ecole Polytechnique
LIX
91128 Palaiseau Cedex
France
http://www.thomasclausen.org/
T.Clausen@computer.org"
DESCRIPTION
"This loadng-MIB module is applicable to routers
implementing the LLN On-demand Ad hoc Distance-vector
Routing Protocol - Next Generation (LOADng).
Copyright (C) The IETF Trust (2012). This version
of this MIB module is part of RFCXXXX; see the RFC
itself for full legal notices."
-- revision
REVISION "201206111000Z" -- June 11, 2012
DESCRIPTION
"The first version of this MIB module,
published as RFCXXXX.
"
-- RFC-Editor assigns XXXX
::= { mib-2 XXXX } -- to be assigned by IANA
--
-- Top-Level Components of this MIB Module
--
loadngObjects OBJECT IDENTIFIER ::= { loadngMIB 1 }
loadngConformance OBJECT IDENTIFIER ::= { loadngMIB 2 }
--
-- loadngObjects
--
-- 1) Configuration Objects Group
-- 2) State Objects Group
--
-- loadngConfigurationObjGrp
--
-- Contains the LOADng objects which configure specific options
-- which determine the overall performance and operation of the
-- LOADng protocol.
loadngConfigurationObjGrp OBJECT IDENTIFIER ::= { loadngObjects 1 }
loadngInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF LoadngInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"loadngInterfaceTable describes the
configuration of the interfaces of this LOADng router.
The ifIndex is from the interfaces group
defined in the Interfaces Group MIB. If the
corresponding entry with ifIndex value is deleted
from the Interface Table, then the entry in
this table is automatically deleted.
The objects in this table are persistent and when
written the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"RFC2863 - The Interfaces Group MIB, McCloghrie,
K., and F. Kastenholtz, June 2000."
::= { loadngConfigurationObjGrp 1 }
loadngInterfaceEntry OBJECT-TYPE
SYNTAX LoadngInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"loadngInterfaceEntry describes one LOADng
local interface configuration as indexed by
its ifIndex as defined in the Standard MIB II
Interface Table (RFC2863)."
INDEX { loadngIfIndex }
::= { loadngInterfaceTable 1 }
LoadngInterfaceEntry ::=
SEQUENCE {
loadngIfIndex
InterfaceIndex,
loadngIfRowStatus
RowStatus
}
loadngIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The ifIndex for this interface."
::= { loadngInterfaceEntry 1 }
loadngIfRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object permits management of the table
by facilitating actions such as row creation,
construction, and destruction. The value of
this object has no effect on whether other
objects in this conceptual row can be
modified.
An entry may not exist in the active state unless all
objects in the entry have an appropriate value."
REFERENCE
"LOADng."
::= { loadngInterfaceEntry 2 }
--
-- Router Parameters
--
loadngNetTraversalTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngNetTraversalTime corresponds to
NET_TRAVERSAL_TIME of LOADng. It represents
the maximum time that a packet is expected
to take when traversing from one end of
the network to the other.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 500 }
::= { loadngConfigurationObjGrp 2 }
loadngRREQRetries OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngRREQRetries corresponds to
RREQ_RETRIES of LOADng. It represents
the maximum number of subsequent RREQs
that a particular router may generate
in order to discover a route to a
destination, before declaring that
destination unreachable.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 3 }
::= { loadngConfigurationObjGrp 3 }
loadngRREQRatelimit OBJECT-TYPE
SYNTAX Unsigned32 (1..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngRREQRatelimit corresponds to
RREQ_RATELIMIT of LOADng. It represents
the maximum number of RREQs that a particular
router is allowed to send per second.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 3 }
::= { loadngConfigurationObjGrp 4 }
loadngRHoldTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngRHoldTime corresponds to
R_HOLD_TIME of LOADng. It represents
the minimum time a Routing Tuple should
be kept in the Routing Set after it was
last refreshed. This may be a network-wide
constant, but may also be a variable whose
value is defined by an auxiliary mechanism,
e.g., by an extension to this protocol.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 10000 }
::= { loadngConfigurationObjGrp 5 }
loadngMaxRouteCost OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngMaxRouteCost corresponds to
maximum distance in "hop count" of
MAX_DIST of LOADng. It represents
the value representing the
maximum possible distance in hop count.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 255 }
::= { loadngConfigurationObjGrp 6 }
loadngMaxWeakLinks OBJECT-TYPE
SYNTAX Unsigned32 (0..15)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngMaxWeakLinks corresponds to the
maximum distance in "weak links" of
MAX_DIST of LOADng. It represents
the value representing the
maximum possible distance in weak links.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 15 }
::= { loadngConfigurationObjGrp 7 }
loadngRREPAckRequired OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngRREPAckRequired corresponds to
RREP_ACK_REQUIRED of LOADng. It represents
a boolean flag, which indicates (if
set) that the router is configured to
expect that each RREP it sends be confirmed
by an RREP_ACK or (if cleared) that no
RREP_ACK is expected.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { false }
::= { loadngConfigurationObjGrp 8 }
loadngRREPAckTimeout OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngRHoldTime corresponds to
RREP_ACK_TIMEOUT of LOADng. It represents
the minimum time after transmission of
an RREP, that a LOADng Router should
wait for an RREP_ACK from a neighbor
LOADng Router, before considering that
the link to this neighbor is unidirectional.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 500 }
::= { loadngConfigurationObjGrp 9 }
loadngBHoldTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngRHoldTime corresponds to
B_HOLD_TIME of LOADng. It represents
the time during which the link between
the neighbor LOADng Router and this
LOADng Router must be considered as
non-bidirectional, and that therefore
RREQs received from that neighbor
LOADng Router must be ignored after being
added. loadngBHoldTime should be greater
than 2 x loadngNetTraversalTime x
loadngRREQRetries, to ensure that subsequent
RREQs will reach the destination via a route,
excluding this link.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { 3000 }
::= { loadngConfigurationObjGrp 10 }
loadngUseBidirectionalLinkOnly OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngUseBidirectionalLinkOnly corresponds to
USE_BIDIRECTIONAL_LINK_ONLY of LOADng. It represents
a boolean flag, which indicates if the
LOADng Router only uses verified bi-directional
links for data packet forwarding. It is set
by default. If cleared, then the LOADng Router
can use links which have not been verified to
be bi-directional.
This object is persistent and when written
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"LOADng.
Section 5 on Protocol Parameters."
DEFVAL { true }
::= { loadngConfigurationObjGrp 11 }
--
-- Local Interface Set Table
--
loadngLibLocalIfSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF LoadngLibLocalIfSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A router's Local Interface Set records its
local interfaces. The local interface
is defined by the loadngIfIndex.
The Local Interface Set consists of Local Interface
Tuples per network interface."
REFERENCE
"LOADng."
::= { loadngConfigurationObjGrp 12 }
loadngLibLocalIfSetEntry OBJECT-TYPE
SYNTAX LoadngLibLocalIfSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A router's Local Interface Set consists
of Local Interface Tuples for each network
interface.
(I_local_iface_addr_list)
Each tuple contains a list of one
or more addresses of this interface.
"
REFERENCE
"LOADng."
INDEX { loadngLibLocalIfSetIndex, loadngLibLocalIfSetIfIndex }
::= { loadngLibLocalIfSetTable 1 }
LoadngLibLocalIfSetEntry ::=
SEQUENCE {
loadngLibLocalIfSetIndex
Integer32,
loadngLibLocalIfSetIfIndex
InterfaceIndex,
loadngLibLocalIfSetIpAddrType
InetAddressType,
loadngLibLocalIfSetIpAddr
InetAddress,
loadngLibLocalIfSetRowStatus
RowStatus
}
loadngLibLocalIfSetIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this table. Necessary
because multiple addresses may be associated
with a given loadngIfIndex."
REFERENCE
"LOADng."
::= { loadngLibLocalIfSetEntry 1 }
loadngLibLocalIfSetIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Specifies the local loadngIfIndex for which this
IP address was added."
REFERENCE
"LOADng."
::= { loadngLibLocalIfSetEntry 2 }
loadngLibLocalIfSetIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The type of the loadngLibLocalIfSetIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngLibLocalIfSetEntry 3 }
loadngLibLocalIfSetIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngLibLocalIfSetIpAddr is an
address of an interface of
this router.
This object is interpreted according to
the setting of loadngLibLocalIfSetIpAddrType."
REFERENCE
"LOADng."
::= { loadngLibLocalIfSetEntry 4 }
loadngLibLocalIfSetRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object permits management of the table
by facilitating actions such as row creation,
construction, and destruction. The value of
this object has no effect on whether other
objects in this conceptual row can be
modified.
An entry may not exist in the active state unless all
objects in the entry have an appropriate value."
REFERENCE
"LOADng."
::= { loadngLibLocalIfSetEntry 5 }
-- Destination Address Set Table
-- Entry (foreach local interface): (D_address)
loadngLibDestAddressSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF LoadngLibDestAddressSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Destination Address Set records
addresses, for which a LOADng Router
will generate RREPs in response to received
RREQs, in addition to its own interface addresses
(as listed in the Local Interface Set). The
Destination Address Set thus represents those
destinations (i.e., hosts), for which this LOADng
Router is providing connectivity. It consists of
destination address tuples: "
REFERENCE
"LOADng."
::= { loadngConfigurationObjGrp 13 }
loadngLibDestAddressSetEntry OBJECT-TYPE
SYNTAX LoadngLibDestAddressSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Destination Address Set consists
of Destination Address Tuples:
(D_address)
"
REFERENCE
"LOADng."
INDEX { loadngLibDestAddressSetIndex }
::= { loadngLibDestAddressSetTable 1 }
LoadngLibDestAddressSetEntry ::=
SEQUENCE {
loadngLibDestAddressSetIndex
Integer32,
loadngLibDestAddressSetIpAddrType
InetAddressType,
loadngLibDestAddressSetIpAddr
InetAddress
}
loadngLibDestAddressSetIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this table. Necessary
because multiple addresses may be associated
with a given loadngIfIndex."
REFERENCE
"LOADng."
::= { loadngLibDestAddressSetEntry 1 }
loadngLibDestAddressSetIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The type of the loadngLibDestAddressSetIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngLibDestAddressSetEntry 2 }
loadngLibDestAddressSetIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"loadngLibDestAddressSetIpAddr is an
address of an interface of
a router.
This object is interpreted according to
the setting of loadngLibDestAddressSetIpAddrType."
REFERENCE
"LOADng."
::= { loadngLibDestAddressSetEntry 3 }
--
-- loadngStateObjGrp
--
-- Contains information describing the current state of the LOADng
-- process on this router.
loadngStateObjGrp OBJECT IDENTIFIER ::= { loadngObjects 2 }
loadngUpTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time current LOADng
process was initialized.
"
::= { loadngStateObjGrp 1 }
--
-- Blacklisted Neighbor Set Table
--
loadngBlacklistedNeighborSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF LoadngBlacklistedNeighborSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Blacklisted Neighbor Set records the neighbor
interface addresses of a LOADng Router, with which
connectivity has been detected to be unidirectional.
Specifically, the Blacklisted Neighbor Set records
neighbors from which an RREQ has been received (i.e.,
through which a Forward Route would possible) but
to which it has been determined that it is not
possible to communicate (i.e., forwarding Route
Replies via this neighbor fails, rendering installing
the Forward Route impossible). It consists of
Blacklisted Neighbor Tuples."
REFERENCE
"LOADng."
::= { loadngStateObjGrp 2 }
loadngBlacklistedNeighborSetEntry OBJECT-TYPE
SYNTAX LoadngBlacklistedNeighborSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A router's Blacklisted Neighbor Set consists
of Blacklisted Neighbor Tuples, one per network
address:loadngBlacklistedNeighborSet
(B_neighbor_address, B_valid_time)
The association between these addrs and
the router's Interface is found in the
Standard MIB II's IP address table
(RFC1213)."
REFERENCE
"LOADng."
INDEX { loadngBlacklistedNeighborSetIndex }
::= { loadngBlacklistedNeighborSetTable 1 }
LoadngBlacklistedNeighborSetEntry ::=
SEQUENCE {
loadngBlacklistedNeighborSetIndex
Integer32,
loadngBlacklistedNeighborSetIpAddrType
InetAddressType,
loadngBlacklistedNeighborSetIpAddr
InetAddress,
loadngBlacklistedNeighborSetBTime
TimeStamp
}
loadngBlacklistedNeighborSetIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this table."
REFERENCE
"LOADng."
::= { loadngBlacklistedNeighborSetEntry 1 }
loadngBlacklistedNeighborSetIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the loadngBlacklistedNeighborSetIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngBlacklistedNeighborSetEntry 2 }
loadngBlacklistedNeighborSetIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngBlacklistedNeighborSetIpAddr is the
address of the blacklisted neighbor interface."
REFERENCE
"LOADng."
::= { loadngBlacklistedNeighborSetEntry 3 }
loadngBlacklistedNeighborSetBTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngBlacklistedNeighborSetBTime specifies the
sysUptime when to expire this entry and remove
it from the 'loadngBlacklistedNeighborSetTable'"
REFERENCE
"LOADng."
::= { loadngBlacklistedNeighborSetEntry 4 }
--
-- Routing Set
--
loadngRoutingSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF LoadngRoutingSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Routing Set records the next hop
on the route to each known destination,
when such a route is known. It consists of
Routing Tuples."
REFERENCE
"LOADng."
::= { loadngStateObjGrp 3 }
loadngRoutingSetEntry OBJECT-TYPE
SYNTAX LoadngRoutingSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A router's Routing Set consists
of Routing Tuples:
(R_dest_addr, R_next_addr, R_dist,
R_metric, R_seq_num, R_valid_time,
R_bidirectional, R_local_iface_addr)
"
REFERENCE
"LOADng."
INDEX { loadngRoutingSetIndex }
::= { loadngRoutingSetTable 1 }
LoadngRoutingSetEntry ::=
SEQUENCE {
loadngRoutingSetIndex
Integer32,
loadngRoutingSetDestIpAddrType
InetAddressType,
loadngRoutingSetDestIpAddr
InetAddress,
loadngRoutingSetNextIpAddrType
InetAddressType,
loadngRoutingSetNextIpAddr
InetAddress,
loadngRoutingSetRouteCost
Unsigned32,
loadngRoutingSetWeakLinks
Unsigned32,
loadngRoutingSetMetric
Integer32,
loadngRoutingSetSeqnum
Integer32,
loadngRoutingSetValidTime
TimeStamp,
loadngRoutingSetBidirectional
TruthValue,
loadngRoutingSetLocalIfaceIpAddrType
InetAddressType,
loadngRoutingSetLocalIfaceIpAddr
InetAddress
}
loadngRoutingSetIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this table."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 1 }
loadngRoutingSetDestIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the loadngRoutingSetDestIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 2 }
loadngRoutingSetDestIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetDestIpAddrType is the address
of the destination, either the address of an
interface of a destination LOADng Router, or
the address of an interface reachable via the
destination LOADng Router, but which is outside
the LLN."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 3 }
loadngRoutingSetNextIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the loadngRoutingSetNextIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 4 }
loadngRoutingSetNextIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetNextIpAddr is the
address of the next hop on the selected
route to the destination."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 5 }
loadngRoutingSetRouteCost OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetRouteCost is the distance
(in number of hops) associated
with the selected route to the destination
with address R_dest_addr."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 6 }
loadngRoutingSetWeakLinks OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetWeakLinks is the distance
(in number of weak links) associated
with the selected route to the destination
with address R_dest_addr."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 7 }
loadngRoutingSetMetric OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetMetric specifies how R_dist
is defined and calculated, as well as the
comparison operator <= for determining which
of two route costs is lower."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 8 }
loadngRoutingSetSeqnum OBJECT-TYPE
SYNTAX Integer32 (-1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetSeqnum is the value of the
<seq-num> field of the RREQ or RREP which installed
or last updated this tuple. For the routing
tuples installed by previous hop information of
RREQ or RREP, loadngRoutingSetSeqnum must be
set to -1."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 9 }
loadngRoutingSetValidTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetValidTime specifies the sysUptime
when to expire this entry and remove it from the
'loadngRoutingSetTable'"
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 10 }
loadngRoutingSetBidirectional OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetBidirectional is a boolean
flag, which specifies if the routing tuple
is verified as representing a bi-directional
route. Data traffic should only be routed
through a routing tuple with R_bidirectional
flag equals TRUE, unless the router is
configured as accepting routes without
bi-directionality verification explicitly by
setting the USE_BIDIRECTIONAL_LINK_ONLY to FALSE."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 11 }
loadngRoutingSetLocalIfaceIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the loadngRoutingSetLocalIfaceIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 12 }
loadngRoutingSetLocalIfaceIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngRoutingSetLocalIfaceIpAddr is the address
of the local interface, through which the
destination can be reached."
REFERENCE
"LOADng."
::= { loadngRoutingSetEntry 13 }
--
-- Pending Acknowledgment Set
--
loadngPendingAckSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF LoadngPendingAckSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Pending Acknowledgment Set contains
information about RREPs which have been
transmitted with the ackrequired flag set,
and for which an RREP_ACK has not yet been
received. It consists of Pending Acknowledgment
Tuples."
REFERENCE
"LOADng."
::= { loadngStateObjGrp 4 }
loadngPendingAckSetEntry OBJECT-TYPE
SYNTAX LoadngPendingAckSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A router's Pending Acknowledgment Set
consists of Pending Acknowledgment Tuples:
(P_next_hop, P_originator, P_seq_num,
P_ack_timeout)
"
REFERENCE
"LOADng."
INDEX { loadngPendingAckSetIndex }
::= { loadngPendingAckSetTable 1 }
LoadngPendingAckSetEntry ::=
SEQUENCE {
loadngPendingAckSetIndex
Integer32,
loadngPendingAckSetNextIpAddrType
InetAddressType,
loadngPendingAckSetNextIpAddr
InetAddress,
loadngPendingAckSetOrigIpAddrType
InetAddressType,
loadngPendingAckSetOrigIpAddr
InetAddress,
loadngPendingAckSetSeqnum
Integer32,
loadngPendingAckSetValidTime
TimeStamp
}
loadngPendingAckSetIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this table."
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 1 }
loadngPendingAckSetNextIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the loadngPendingAckSetNextIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 2 }
loadngPendingAckSetNextIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngPendingAckSetNextIpAddr is the address
of the neighbor interface to which the RREP
was sent. "
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 3 }
loadngPendingAckSetOrigIpAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the loadngPendingAckSetOrigIpAddr
in the InetAddress MIB (RFC4001).
Only the values ipv4(1) and
ipv6(2) are supported."
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 4 }
loadngPendingAckSetOrigIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngPendingAckSetOrigIpAddr is the address
of the originator of the RREP."
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 5 }
loadngPendingAckSetSeqnum OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngPendingAckSetSeqnum corresponds to the
<seq-num> field of the sent RREP."
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 6 }
loadngPendingAckSetValidTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"loadngPendingAckSetValidTime specifies the sysUptime
when to expire this entry and remove it from the
'loadngPendingAckSetTable'"
REFERENCE
"LOADng."
::= { loadngPendingAckSetEntry 7 }
--
-- loadngConformance information
--
loadngCompliances OBJECT IDENTIFIER ::= { loadngConformance 1 }
loadngMIBGroups OBJECT IDENTIFIER ::= { loadngConformance 2 }
-- Compliance Statements
loadngBasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The basic implementation requirements for
managed network entities that implement
LOADng."
MODULE -- this module
MANDATORY-GROUPS { loadngConfigurationGroup }
::= { loadngCompliances 1 }
loadngFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The full implementation requirements for
managed network entities that implement
LOADng."
MODULE -- this module
MANDATORY-GROUPS { loadngConfigurationGroup,
loadngStateGroup }
::= { loadngCompliances 2 }
--
-- Units of Conformance
--
loadngConfigurationGroup OBJECT-GROUP
OBJECTS {
loadngNetTraversalTime,
loadngRREQRetries,
loadngRREQRatelimit,
loadngRHoldTime,
loadngMaxRouteCost,
loadngMaxWeakLinks,
loadngRREPAckRequired,
loadngRREPAckTimeout,
loadngBHoldTime,
loadngUseBidirectionalLinkOnly,
loadngIfRowStatus,
loadngLibLocalIfSetIfIndex,
loadngLibLocalIfSetIpAddrType,
loadngLibLocalIfSetRowStatus
}
STATUS current
DESCRIPTION
"Set of LOADng configuration objects implemented
in this module."
::= { loadngMIBGroups 2 }
loadngStateGroup OBJECT-GROUP
OBJECTS {
loadngUpTime,
loadngIfStateUpTime,
loadngBlacklistedNeighborSetIpAddrType,
loadngBlacklistedNeighborSetIpAddr,
loadngBlacklistedNeighborSetBTime,
loadngRoutingSetDestIpAddrType,
loadngRoutingSetDestIpAddr,
loadngRoutingSetNextIpAddrType,
loadngRoutingSetNextIpAddr,
loadngRoutingSetRouteCost,
loadngRoutingSetWeakLinks,
loadngRoutingSetMetric,
loadngRoutingSetSeqnum,
loadngRoutingSetValidTime,
loadngRoutingSetBidirectional,
loadngRoutingSetLocalIfaceIpAddrType,
loadngRoutingSetLocalIfaceIpAddr,
loadngPendingAckSetNextIpAddrType,
loadngPendingAckSetNextIpAddr,
loadngPendingAckSetOrigIpAddrType,
loadngPendingAckSetOrigIpAddr,
loadngPendingAckSetSeqnum,
loadngPendingAckSetValidTime
}
STATUS current
DESCRIPTION
"Set of LOADng state objects implemented
in this module."
::= { loadngMIBGroups 3 }
END
This MIB module defines objects for the configuration and monitoring of LOADng [LOADng].
There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. These are the tables and objects and their sensitivity/vulnerability:
Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:
LLN technology is often deployed to support communications of emergency services or military tactical applications. In these applications, it is imperative to maintain the proper operation of the communications network and to protect sensitive information related to its operation. Therefore, it is RECOMMENDED to provide support for the Transport Security Model (TSM) [RFC5591] in combination with TLS/DTLS [RFC6353].
SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.
It is RECOMMENDED that implementations provide the security features described by the SNMPv3 framework (see [RFC3410]), including full support for authentication and privacy via the User-based Security Model (USM) [RFC3414] with the AES cipher algorithm [RFC3826]. Implementations MAY also provide support for the Transport Security Model (TSM) [RFC5591] in combination with a secure transport such as SSH [RFC5592] or TLS/DTLS [RFC6353].
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.
Editor's Note (to be removed prior to publication): IANA is requested to assign a value for "XXXX" under the 'mib-2' subtree and to record the assignment in the SMI Numbers registry. When the assignment has been made, the RFC Editor is asked to replace "XXXX" (here and in the MIB module) with the assigned value and to remove this note. Note well: prior to official assignment by the IANA, a draft document MUST use placeholders (such as "XXXX" above) rather than actual numbers. See RFC4181 Section 4.5 for an example of how this is done in a draft MIB module.
This MIB document uses the template authored by D. Harrington which is based on contributions from the MIB Doctors, especially Juergen Schoenwaelder, Dave Perkins, C.M.Heard and Randy Presuhn.
***************************************************************
* Note to the RFC Editor (to be removed prior to publication) *
* *
* The reference to RFCXXXX within the DESCRIPTION clauses *
* of the MIB module point to this draft and are to be *
* assigned by the RFC Editor. *
* *
***************************************************************