--- 1/draft-ietf-6lo-lowpan-mib-00.txt 2014-04-08 09:14:38.325595154 -0700 +++ 2/draft-ietf-6lo-lowpan-mib-01.txt 2014-04-08 09:14:38.377596433 -0700 @@ -1,23 +1,23 @@ Internet Engineering Task Force J. Schoenwaelder Internet-Draft A. Sehgal Intended status: Standards Track Jacobs University -Expires: July 17, 2014 T. Tsou +Expires: October 10, 2014 T. Tsou Huawei Technologies (USA) C. Zhou Huawei Technologies - January 13, 2014 + April 8, 2014 Definition of Managed Objects for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) - draft-ietf-6lo-lowpan-mib-00 + draft-ietf-6lo-lowpan-mib-01 Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for managing IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs). Status of This Memo @@ -27,21 +27,21 @@ 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 July 17, 2014. + This Internet-Draft will expire on October 10, 2014. Copyright Notice Copyright (c) 2014 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 @@ -50,29 +50,29 @@ 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. The Internet-Standard Management Framework . . . . . . . . . . 3 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 5. Relationship to Other MIB Modules . . . . . . . . . . . . . . 6 - 6. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 - 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15 - 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 - 10.1. Normative References . . . . . . . . . . . . . . . . . . 15 - 10.2. Informative References . . . . . . . . . . . . . . . . . 16 - Appendix A. JSON Representation . . . . . . . . . . . . . . . . . 17 + 5. Relationship to Other MIB Modules . . . . . . . . . . . . . . 7 + 6. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7 + 7. Security Considerations . . . . . . . . . . . . . . . . . . . 24 + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 + 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 + 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + 10.1. Normative References . . . . . . . . . . . . . . . . . . 25 + 10.2. Informative References . . . . . . . . . . . . . . . . . 25 + Appendix A. JSON Representation . . . . . . . . . . . . . . . . . 26 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols. In particular it defines objects for managing IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) [RFC4944]. 2. The Internet-Standard Management Framework @@ -92,73 +92,111 @@ 3. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 4. Overview The LOWPAN-MIB module is primarily a collection of counters that reflect how 6LoWPAN datagrams are processed by the 6LoWPAN layer. - The object identifier registration tree has the following structure: + The objects are defined twice, once to report the global statistics + as seen by the 6LoWPAN layer and once to report per interface 6LoWPAN + layer statistics. The per interface statistics are optional to + implement. The object identifier registration tree has the following + structure: - --lowpanMIB(1.3.6.1.2.1.XXXX) - +--lowpanNotifications(0) - +--lowpanObjects(1) - | +-- r-n Unsigned32 lowpanReasmTimeout(1) - | +-- r-n Counter32 lowpanInReceives(2) - | +-- r-n Counter32 lowpanInHdrErrors(3) - | +-- r-n Counter32 lowpanInMeshReceives(4) - | +-- r-n Counter32 lowpanInMeshForwds(5) - | +-- r-n Counter32 lowpanInMeshDelivers(6) - | +-- r-n Counter32 lowpanInReasmReqds(7) - | +-- r-n Counter32 lowpanInReasmFails(8) - | +-- r-n Counter32 lowpanInReasmOKs(9) - | +-- r-n Counter32 lowpanInCompReqds(10) - | +-- r-n Counter32 lowpanInCompFails(11) - | +-- r-n Counter32 lowpanInCompOKs(12) - | +-- r-n Counter32 lowpanInDiscards(13) - | +-- r-n Counter32 lowpanInDelivers(14) - | +-- r-n Counter32 lowpanOutRequests(15) - | +-- r-n Counter32 lowpanOutCompReqds(16) - | +-- r-n Counter32 lowpanOutCompFails(17) - | +-- r-n Counter32 lowpanOutCompOKs(18) - | +-- r-n Counter32 lowpanOutFragReqds(19) - | +-- r-n Counter32 lowpanOutFragFails(20) - | +-- r-n Counter32 lowpanOutFragOKs(21) - | +-- r-n Counter32 lowpanOutFragCreates(22) - | +-- r-n Counter32 lowpanOutMeshHopLimitExceeds(23) - | +-- r-n Counter32 lowpanOutMeshNoRoutes(24) - | +-- r-n Counter32 lowpanOutMeshRequests(25) - | +-- r-n Counter32 lowpanOutMeshForwds(26) - | +-- r-n Counter32 lowpanOutMeshTransmits(27) - | +-- r-n Counter32 lowpanOutDiscards(28) - | +-- r-n Counter32 lowpanOutTransmits(29) - +--lowpanConformance(2) - +--lowpanGroups(1) - | +--lowpanCoreGroup(1) - | +--lowpanMeshGroup(2) - +--lowpanCompliances(2) - +--lowpanCompliance(1) + ---- lowpanMIB(1.3.6.1.2.1.XXXX) + +---- lowpanNotifications(0) + +---- lowpanObjects(1) + | +---- lowpanStats(1) + | | +--r- lowpanReasmTimeout(1) Unsigned32 + | | +--r- lowpanInReceives(2) Counter32 + | | +--r- lowpanInHdrErrors(3) Counter32 + | | +--r- lowpanInMeshReceives(4) Counter32 + | | +--r- lowpanInMeshForwds(5) Counter32 + | | +--r- lowpanInMeshDelivers(6) Counter32 + | | +--r- lowpanInReasmReqds(7) Counter32 + | | +--r- lowpanInReasmFails(8) Counter32 + | | +--r- lowpanInReasmOKs(9) Counter32 + | | +--r- lowpanInCompReqds(10) Counter32 + | | +--r- lowpanInCompFails(11) Counter32 + | | +--r- lowpanInCompOKs(12) Counter32 + | | +--r- lowpanInDiscards(13) Counter32 + | | +--r- lowpanInDelivers(14) Counter32 + | | +--r- lowpanOutRequests(15) Counter32 + | | +--r- lowpanOutCompReqds(16) Counter32 + | | +--r- lowpanOutCompFails(17) Counter32 + | | +--r- lowpanOutCompOKs(18) Counter32 + | | +--r- lowpanOutFragReqds(19) Counter32 + | | +--r- lowpanOutFragFails(20) Counter32 + | | +--r- lowpanOutFragOKs(21) Counter32 + | | +--r- lowpanOutFragCreates(22) Counter32 + | | +--r- lowpanOutMeshHopLimitExceeds(23) Counter32 + | | +--r- lowpanOutMeshNoRoutes(24) Counter32 + | | +--r- lowpanOutMeshRequests(25) Counter32 + | | +--r- lowpanOutMeshForwds(26) Counter32 + | | +--r- lowpanOutMeshTransmits(27) Counter32 + | | +--r- lowpanOutDiscards(28) Counter32 + | | +--r- lowpanOutTransmits(29) Counter32 + | +---- lowpanIfStatsTable(2) + | +---- lowpanIfStatsEntry(1) [ifIndex] + | +--r- lowpanIfReasmTimeout(1) Unsigned32 + | +--r- lowpanIfInReceives(2) Counter32 + | +--r- lowpanIfInHdrErrors(3) Counter32 + | +--r- lowpanIfInMeshReceives(4) Counter32 + | +--r- lowpanIfInMeshForwds(5) Counter32 + | +--r- lowpanIfInMeshDelivers(6) Counter32 + | +--r- lowpanIfInReasmReqds(7) Counter32 + | +--r- lowpanIfInReasmFails(8) Counter32 + | +--r- lowpanIfInReasmOKs(9) Counter32 + | +--r- lowpanIfInCompReqds(10) Counter32 + | +--r- lowpanIfInCompFails(11) Counter32 + | +--r- lowpanIfInCompOKs(12) Counter32 + | +--r- lowpanIfInDiscards(13) Counter32 + | +--r- lowpanIfInDelivers(14) Counter32 + | +--r- lowpanIfOutRequests(15) Counter32 + | +--r- lowpanIfOutCompReqds(16) Counter32 + | +--r- lowpanIfOutCompFails(17) Counter32 + | +--r- lowpanIfOutCompOKs(18) Counter32 + | +--r- lowpanIfOutFragReqds(19) Counter32 + | +--r- lowpanIfOutFragFails(20) Counter32 + | +--r- lowpanIfOutFragOKs(21) Counter32 + | +--r- lowpanIfOutFragCreates(22) Counter32 + | +--r- lowpanIfOutMeshHopLimitExceeds(23) Counter32 + | +--r- lowpanIfOutMeshNoRoutes(24) Counter32 + | +--r- lowpanIfOutMeshRequests(25) Counter32 + | +--r- lowpanIfOutMeshForwds(26) Counter32 + | +--r- lowpanIfOutMeshTransmits(27) Counter32 + | +--r- lowpanIfOutDiscards(28) Counter32 + | +--r- lowpanIfOutTransmits(29) Counter32 + +---- lowpanConformance(2) + +---- lowpanGroups(1) + | +---- lowpanStatsGroup(1) + | +---- lowpanStatsMeshGroup(2) + | +---- lowpanIfStatsGroup(3) + | +---- lowpanIfStatsMeshGroup(4) + +---- lowpanCompliances(2) + +---- lowpanCompliance(1) The counters defined in the LOWPAN-MIB module provide information about the 6LoWPAN datagrams received and transmitted and how they are processed in the 6LoWPAN layer. For link-layers that use the 6LoWPAN dispatch byte as defined in [RFC4944] (e.g., IEEE 802.15.4), a 6LoWPAN datagram is a datagram with a dispatch byte matching the bit patterns 01xxxxxx, 10xxxxxx, or 11xxxxxx. Datagrams with a dispatch byte matching the bit pattern 00xxxxxx (NALP - not a LoWPAN frame) are not considered to be 6LoWPAN datagram by this specification. Other radio technologies may use different mechanisms to identify 6LoWPAN datagrams (e.g., the BLUETOOTH Low Energy Logical Link Control and Adaptation Protocol uses Channel Identifiers - [I-D.ietf-6lowpan-btle]). + [I-D.ietf-6lo-btle]). The following diagram illustrates the conceptual relationships between the counters. IPv6 layer ^ v InDelivers -+- -+- OutRequests | | InDiscards <--+ | | | @@ -205,35 +243,36 @@ The mesh header processing related counters do not have an explicit discard counter. Implementations that do not support mesh forwarding MUST count the number of received 6LoWPAN datagrams with a MESH header (lowpanInMeshReceives) but they MUST NOT increment the lowpanInMeshReceives and lowpanInMeshDelivers counters if these 6LoWPAN datagrams are dropped. 5. Relationship to Other MIB Modules - The MIB module IMPORTS definitions from SNMPv2-SMI [RFC2578] and - SNMPv2-CONF [RFC2580]. + The MIB module IMPORTS definitions from SNMPv2-SMI [RFC2578], SNMPv2- + CONF [RFC2580], and IF-MIB [RFC2863]. 6. Definitions LOWPAN-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, mib-2 FROM SNMPv2-SMI -- RFC 2578 OBJECT-GROUP, MODULE-COMPLIANCE - FROM SNMPv2-CONF; -- RFC 2580 + FROM SNMPv2-CONF -- RFC 2580 + ifIndex FROM IF-MIB; -- RFC 2863 lowpanMIB MODULE-IDENTITY - LAST-UPDATED "201401130000Z" + LAST-UPDATED "201404080000Z" ORGANIZATION "Jacobs University Bremen" CONTACT-INFO "Juergen Schoenwaelder Jacobs University Bremen Email: j.schoenwaelder@jacobs-university.de Anuj Sehgal Jacobs University Bremen Email: s.anuj@jacobs-university.de @@ -253,325 +292,678 @@ Copyright (c) 2014 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info)." - REVISION "201401130000Z" + REVISION "201404080000Z" DESCRIPTION "Initial version, published as RFC XXXX." - -- RFC Ed.: replace XXXX with actual RFC number and remove this note + -- RFC Ed.: replace XXXX with RFC number and remove this note ::= { mib-2 XXXX } -- object definitions lowpanNotifications OBJECT IDENTIFIER ::= { lowpanMIB 0 } lowpanObjects OBJECT IDENTIFIER ::= { lowpanMIB 1 } lowpanConformance OBJECT IDENTIFIER ::= { lowpanMIB 2 } + lowpanStats OBJECT IDENTIFIER ::= { lowpanObjects 1 } + lowpanReasmTimeout OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of seconds that received fragments are held while they are awaiting reassembly at this entity." - ::= { lowpanObjects 1 } + ::= { lowpanStats 1 } lowpanInReceives OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of 6LoWPAN datagrams received, including those received in error." - ::= { lowpanObjects 2 } + ::= { lowpanStats 2 } lowpanInHdrErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received 6LoWPAN datagrams discarded due to errors in their headers, including unknown dispatch values." - ::= { lowpanObjects 3 } + ::= { lowpanStats 3 } lowpanInMeshReceives OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The number of received 6LoWPAN datagrams with a MESH header." - ::= { lowpanObjects 4 } + "The number of received 6LoWPAN datagrams with a MESH + header." + ::= { lowpanStats 4 } lowpanInMeshForwds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received 6LoWPAN datagrams requiring MESH forwarding." - ::= { lowpanObjects 5 } + ::= { lowpanStats 5 } lowpanInMeshDelivers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received 6LoWPAN datagrams with a MESH header delivered to the local system." - ::= { lowpanObjects 6 } + ::= { lowpanStats 6 } lowpanInReasmReqds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received 6LoWPAN fragments that needed to be reassembled. This includes both FRAG1 and FRAGN 6LoWPAN datagrams." - ::= { lowpanObjects 7 } + ::= { lowpanStats 7 } lowpanInReasmFails OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The number of failures detected by the re-assembly algorithm - (e.g., timeouts). Note that this is not necessarily a count - of discarded 6LoWPAN fragments since implementations can - lose track of the number of fragments by combining them as - received." - ::= { lowpanObjects 8 } + "The number of failures detected by the re-assembly + algorithm (e.g., timeouts). Note that this is not + necessarily a count of discarded 6LoWPAN fragments + since implementations can lose track of the number + of fragments by combining them as received." + ::= { lowpanStats 8 } lowpanInReasmOKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPv6 packets successfully reassembled." - ::= { lowpanObjects 9 } + ::= { lowpanStats 9 } lowpanInCompReqds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams requiring header decompression." - ::= { lowpanObjects 10 } + ::= { lowpanStats 10 } lowpanInCompFails OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams where header decompression failed (e.g., because the necessary context information was not available)." - ::= { lowpanObjects 11 } + ::= { lowpanStats 11 } lowpanInCompOKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams where header decompression was successful." - ::= { lowpanObjects 12 } + ::= { lowpanStats 12 } lowpanInDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received 6LoWPAN datagrams for which no problems were encountered to prevent their continued processing, but were discarded (e.g., for lack of buffer space). Note that this counter does not include any datagrams discarded due to a reassembly failure or a compression failure." - ::= { lowpanObjects 13 } + ::= { lowpanStats 13 } lowpanInDelivers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of IPv6 packets successfully delivered to the IPv6 layer." - ::= { lowpanObjects 14 } + ::= { lowpanStats 14 } lowpanOutRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The total number of IPv6 packets supplied by the IPv6 layer." - ::= { lowpanObjects 15 } + "The total number of IPv6 packets supplied by the IPv6 + layer." + ::= { lowpanStats 15 } lowpanOutCompReqds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The total number of IPv6 packets for which header compression - was attempted." - ::= { lowpanObjects 16 } + "The total number of IPv6 packets for which header + compression was attempted." + ::= { lowpanStats 16 } lowpanOutCompFails OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The total number of IPv6 packets for which header compression - failed." - ::= { lowpanObjects 17 } + "The total number of IPv6 packets for which header + compression failed." + ::= { lowpanStats 17 } lowpanOutCompOKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION - "The total number of IPv6 packets for which header compression - was successful." - ::= { lowpanObjects 18 } + "The total number of IPv6 packets for which header + compression was successful." + ::= { lowpanStats 18 } lowpanOutFragReqds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPv6 packets that required fragmentation in order to be transmitted." - ::= { lowpanObjects 19 } + ::= { lowpanStats 19 } lowpanOutFragFails OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPv6 packets that have been discarded because fragmentation failed." - ::= { lowpanObjects 20 } + ::= { lowpanStats 20 } lowpanOutFragOKs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPv6 packets that have been successfully fragmented." - ::= { lowpanObjects 21 } + ::= { lowpanStats 21 } lowpanOutFragCreates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN fragments that have been generated as a result of fragmentation. This includes both FRAG1 and FRAGN 6LoWPAN datagrams." - ::= { lowpanObjects 22 } + ::= { lowpanStats 22 } lowpanOutMeshHopLimitExceeds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams with a MESH header that were dropped because the hop limit has been exceeded." - ::= { lowpanObjects 23 } + + ::= { lowpanStats 23 } lowpanOutMeshNoRoutes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams with a MESH header that were dropped because there was no forwarding information available." - ::= { lowpanObjects 24 } + ::= { lowpanStats 24 } lowpanOutMeshRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams requiring MESH header encapsulation." - ::= { lowpanObjects 25 } + ::= { lowpanStats 25 } lowpanOutMeshForwds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams with a MESH header for which suitable forwarding information was available." - ::= { lowpanObjects 26 } + ::= { lowpanStats 26 } lowpanOutMeshTransmits OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of 6LoWPAN datagrams with a MESH header created." - ::= { lowpanObjects 27 } + ::= { lowpanStats 27 } lowpanOutDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPv6 packets for which no problem was encountered to prevent their transmission to their destination, but were discarded (e.g., for lack of buffer space)." - ::= { lowpanObjects 28 } + + ::= { lowpanStats 28 } lowpanOutTransmits OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of 6LoWPAN datagram that this entity supplied to the lower layers for transmission." - ::= { lowpanObjects 29 } + ::= { lowpanStats 29 } + + lowpanIfStatsTable OBJECT-TYPE + SYNTAX SEQUENCE OF LowpanIfStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table providing per interface statistics." + ::= { lowpanObjects 2 } + + lowpanIfStatsEntry OBJECT-TYPE + SYNTAX LowpanIfStatsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry providing statistics for a specific interface." + INDEX { ifIndex } + ::= { lowpanIfStatsTable 1 } + + LowpanIfStatsEntry ::= SEQUENCE { + lowpanIfReasmTimeout Unsigned32, + lowpanIfInReceives Counter32, + lowpanIfInHdrErrors Counter32, + lowpanIfInMeshReceives Counter32, + lowpanIfInMeshForwds Counter32, + lowpanIfInMeshDelivers Counter32, + lowpanIfInReasmReqds Counter32, + lowpanIfInReasmFails Counter32, + lowpanIfInReasmOKs Counter32, + lowpanIfInCompReqds Counter32, + lowpanIfInCompFails Counter32, + lowpanIfInCompOKs Counter32, + lowpanIfInDiscards Counter32, + lowpanIfInDelivers Counter32, + lowpanIfOutRequests Counter32, + lowpanIfOutCompReqds Counter32, + lowpanIfOutCompFails Counter32, + lowpanIfOutCompOKs Counter32, + lowpanIfOutFragReqds Counter32, + lowpanIfOutFragFails Counter32, + lowpanIfOutFragOKs Counter32, + lowpanIfOutFragCreates Counter32, + lowpanIfOutMeshHopLimitExceeds Counter32, + lowpanIfOutMeshNoRoutes Counter32, + lowpanIfOutMeshRequests Counter32, + lowpanIfOutMeshForwds Counter32, + lowpanIfOutMeshTransmits Counter32, + lowpanIfOutDiscards Counter32, + lowpanIfOutTransmits Counter32 + } + + lowpanIfReasmTimeout OBJECT-TYPE + SYNTAX Unsigned32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of seconds that received fragments are + held while they are awaiting reassembly at this interface." + ::= { lowpanIfStatsEntry 1 } + + lowpanIfInReceives OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of 6LoWPAN datagrams received on this + interface, including those received in error." + ::= { lowpanIfStatsEntry 2 } + + lowpanIfInHdrErrors OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface that were discarded due to errors in + their headers, including unknown dispatch values." + ::= { lowpanIfStatsEntry 3 } + + lowpanIfInMeshReceives OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams reveived on this + interface with a MESH header." + + ::= { lowpanIfStatsEntry 4 } + + lowpanIfInMeshForwds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface requiring MESH forwarding." + ::= { lowpanIfStatsEntry 5 } + + lowpanIfInMeshDelivers OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface with a MESH header delivered to the local + system." + ::= { lowpanIfStatsEntry 6 } + + lowpanIfInReasmReqds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN fragments received on this + interface that needed to be reassembled. This + includes both FRAG1 and FRAGN 6LoWPAN datagrams." + ::= { lowpanIfStatsEntry 7 } + + lowpanIfInReasmFails OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of failures detected by the re-assembly + algorithm (e.g., timeouts) for datagrams received + on this interface. Note that this is not necessarily + a count of discarded 6LoWPAN fragments since + implementations can lose track of the number + of fragments by combining them as received." + ::= { lowpanIfStatsEntry 8 } + + lowpanIfInReasmOKs OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IPv6 packets successfully reassembled + from fragments received on this interface." + ::= { lowpanIfStatsEntry 9 } + + lowpanIfInCompReqds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface requiring header decompression." + ::= { lowpanIfStatsEntry 10 } + + lowpanIfInCompFails OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface where header decompression failed (e.g., + because the necessary context information was + not available)." + ::= { lowpanIfStatsEntry 11 } + + lowpanIfInCompOKs OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface where header decompression was successful." + ::= { lowpanIfStatsEntry 12 } + + lowpanIfInDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams received on this + interface for which no problems were encountered to + prevent their continued processing, but were discarded + (e.g., for lack of buffer space). Note that this + counter does not include any datagrams discarded due + to a reassembly failure or a compression failure." + ::= { lowpanIfStatsEntry 13 } + + lowpanIfInDelivers OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of IPv6 packets received on this + interface that were successfully delivered to the + IPv6 layer." + ::= { lowpanIfStatsEntry 14 } + + lowpanIfOutRequests OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of IPv6 packets supplied by the IPv6 + layer to be sent over this interface." + ::= { lowpanIfStatsEntry 15 } + + lowpanIfOutCompReqds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of IPv6 packets to be sent over + this interface for which header compression was + attempted." + ::= { lowpanIfStatsEntry 16 } + + lowpanIfOutCompFails OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of IPv6 packets to be sent over + this interface for which header compression failed." + ::= { lowpanIfStatsEntry 17 } + + lowpanIfOutCompOKs OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of IPv6 packets to be sent over + this interface for which header compression was + successful." + ::= { lowpanIfStatsEntry 18 } + + lowpanIfOutFragReqds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IPv6 packets to be sent over this + interface that required fragmentation in order + to be transmitted." + ::= { lowpanIfStatsEntry 19 } + + lowpanIfOutFragFails OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IPv6 packets to be sent over this + interface that have been discarded because + fragmentation failed." + ::= { lowpanIfStatsEntry 20 } + + lowpanIfOutFragOKs OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IPv6 packets to be sent over this + interface that have been successfully fragmented." + ::= { lowpanIfStatsEntry 21 } + + lowpanIfOutFragCreates OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN fragments that have been + generated on this interface as a result of + fragmentation. This includes both FRAG1 and FRAGN + 6LoWPAN datagrams." + ::= { lowpanIfStatsEntry 22 } + + lowpanIfOutMeshHopLimitExceeds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams to be sent on this + interface with a MESH header that were dropped + because the hop limit has been exceeded." + ::= { lowpanIfStatsEntry 23 } + + lowpanIfOutMeshNoRoutes OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams to be sent on this + interface with a MESH header that were dropped + because there was no forwarding information available." + ::= { lowpanIfStatsEntry 24 } + + lowpanIfOutMeshRequests OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams to be sent on this + interface requiring MESH header encapsulation." + ::= { lowpanIfStatsEntry 25 } + + lowpanIfOutMeshForwds OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams to be sent on this + interface with a MESH header for which suitable + forwarding information was available." + ::= { lowpanIfStatsEntry 26 } + + lowpanIfOutMeshTransmits OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of 6LoWPAN datagrams to be send on this + interface with a MESH header created." + ::= { lowpanIfStatsEntry 27 } + + lowpanIfOutDiscards OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of IPv6 packets to be sent over this + interface for which no problem was encountered to + prevent their transmission to their destination, but + were discarded (e.g., for lack of buffer space)." + ::= { lowpanIfStatsEntry 28 } + + lowpanIfOutTransmits OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of 6LoWPAN datagrams to be sent on + this interface that this entity supplied to the lower + layers for transmission." + ::= { lowpanIfStatsEntry 29 } -- conformance definitions lowpanGroups OBJECT IDENTIFIER ::= { lowpanConformance 1 } lowpanCompliances OBJECT IDENTIFIER ::= { lowpanConformance 2 } lowpanCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for systems that implement 6LoWPAN." MODULE -- this module MANDATORY-GROUPS { - lowpanCoreGroup + lowpanStatsGroup } - GROUP lowpanMeshGroup + GROUP lowpanStatsMeshGroup DESCRIPTION "This group is mandatory for implementations that process or forward 6LoWPAN datagrams with mesh headers." + GROUP lowpanIfStatsGroup + DESCRIPTION + "This group is mandatory for implementations that expose + per interface statistics." + GROUP lowpanIfStatsMeshGroup + DESCRIPTION + "This group is mandatory for implementations that expose + per interface statistics and that process or forward + 6LoWPAN datagrams with mesh headers." ::= { lowpanCompliances 1 } -lowpanCoreGroup OBJECT-GROUP + lowpanStatsGroup OBJECT-GROUP OBJECTS { lowpanReasmTimeout, lowpanInReceives, lowpanInHdrErrors, lowpanInMeshReceives, lowpanInReasmReqds, lowpanInReasmFails, lowpanInReasmOKs, lowpanInCompReqds, lowpanInCompFails, @@ -590,37 +982,87 @@ lowpanOutTransmits } STATUS current DESCRIPTION "A collection of objects providing information and statistics about the processing of 6LoWPAN datagrams, excluding counters covering the processing of datagrams with a mesh headers." ::= { lowpanGroups 1 } -lowpanMeshGroup OBJECT-GROUP + lowpanStatsMeshGroup OBJECT-GROUP OBJECTS { lowpanInMeshForwds, lowpanInMeshDelivers, lowpanOutMeshHopLimitExceeds, lowpanOutMeshNoRoutes, lowpanOutMeshRequests, lowpanOutMeshForwds, lowpanOutMeshTransmits } STATUS current DESCRIPTION "A collection of objects providing information and statistics about the processing of 6LoWPAN datagrams with a 6LoWPAN mesh header." ::= { lowpanGroups 2 } + lowpanIfStatsGroup OBJECT-GROUP + OBJECTS { + lowpanIfReasmTimeout, + lowpanIfInReceives, + lowpanIfInHdrErrors, + lowpanIfInMeshReceives, + lowpanIfInReasmReqds, + lowpanIfInReasmFails, + lowpanIfInReasmOKs, + lowpanIfInCompReqds, + lowpanIfInCompFails, + lowpanIfInCompOKs, + lowpanIfInDiscards, + lowpanIfInDelivers, + lowpanIfOutRequests, + lowpanIfOutCompReqds, + lowpanIfOutCompFails, + lowpanIfOutCompOKs, + lowpanIfOutFragReqds, + lowpanIfOutFragFails, + lowpanIfOutFragOKs, + lowpanIfOutFragCreates, + lowpanIfOutDiscards, + lowpanIfOutTransmits + } + STATUS current + DESCRIPTION + "A collection of objects providing per interface + information and statistics about the processing + of 6LoWPAN datagrams, excluding counters covering + the processing of datagrams with a mesh headers." + ::= { lowpanGroups 3 } + + lowpanIfStatsMeshGroup OBJECT-GROUP + OBJECTS { + lowpanIfInMeshForwds, + lowpanIfInMeshDelivers, + lowpanIfOutMeshHopLimitExceeds, + lowpanIfOutMeshNoRoutes, + lowpanIfOutMeshRequests, + lowpanIfOutMeshForwds, + lowpanIfOutMeshTransmits + } + STATUS current + DESCRIPTION + "A collection of objects providing per interface + information and statistics about the processing + of 6LoWPAN datagrams with a 6LoWPAN mesh header." + ::= { lowpanGroups 4 } + END 7. Security Considerations 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 @@ -692,44 +1134,48 @@ [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks", RFC 4944, September 2007. - [I-D.ietf-6lowpan-btle] Nieminen, J., Savolainen, T., Isomaki, - M., Patil, B., Shelby, Z., and C. - Gomez, "Transmission of IPv6 Packets - over BLUETOOTH Low Energy", - draft-ietf-6lowpan-btle-12 (work in - progress), February 2013. + [RFC2863] McCloghrie, K. and F. Kastenholz, "The + Interfaces Group MIB", RFC 2863, + June 2000. 10.2. Informative References [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, December 2002. [RFC4293] Routhier, S., "Management Information Base for the Internet Protocol (IP)", RFC 4293, April 2006. [RFC6643] Schoenwaelder, J., "Translation of Structure of Management Information Version 2 (SMIv2) MIB Modules to YANG Modules", RFC 6643, July 2012. + [I-D.ietf-6lo-btle] Nieminen, J., Savolainen, T., Isomaki, + M., Patil, B., Shelby, Z., and C. + Gomez, "Transmission of IPv6 Packets + over BLUETOOTH Low Energy", + draft-ietf-6lo-btle-00 (work in + progress), November 2013. + [I-D.lhotka-netmod-yang-json] Lhotka, L., "Modeling JSON Text with YANG", draft-lhotka-netmod-yang-json-02 (work in progress), September 2013. Appendix A. JSON Representation Using the translation algorithm defined in [RFC6643], the SMIv2 module can be translated to YANG. Using the JSON representation of data modeled in YANG defined in [I-D.lhotka-netmod-yang-json], the @@ -730,23 +1176,23 @@ Appendix A. JSON Representation Using the translation algorithm defined in [RFC6643], the SMIv2 module can be translated to YANG. Using the JSON representation of data modeled in YANG defined in [I-D.lhotka-netmod-yang-json], the objects defined in the MIB module can be represented in JSON as shown below. The compact representation without any white space uses 468 octets. (Of course, this number depends on the number of octets needed for the counter values.) - { "LOWPAN-MIB:LOWPAN-MIB": { + "lowpanStats": { "lowpanReasmTimeout": 20, "lowpanInReceives": 42, "lowpanInHdrErrors": 0, "lowpanInMeshReceives": 8, "lowpanInMeshForwds": 0, "lowpanInMeshDelivers": 0, "lowpanInReasmReqds": 22, "lowpanInReasmFails": 2, "lowpanInReasmOKs": 20, "lowpanInCompReqds": 16, @@ -764,20 +1210,21 @@ "lowpanOutFragCreates": 8, "lowpanOutMeshHopLimitExceeds": 0, "lowpanOutMeshNoRoutes": 0, "lowpanOutMeshRequests": 0, "lowpanOutMeshForwds": 0, "lowpanOutMeshTransmits": 0, "lowpanOutDiscards": 0, "lowpanOutTransmits": 15 } } + } Authors' Addresses Juergen Schoenwaelder Jacobs University Campus Ring 1 Bremen 28759 Germany EMail: j.schoenwaelder@jacobs-university.de