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. * * * ***************************************************************