RFC 7367
Definition of Managed Objects for the Mobile Ad Hoc Network (MANET) Simplified Multicast Framework Relay Set Process
RFC 7367 ๐ Managed Objects for the MANET SMF Relay Set Process
Okay bestie, let's get into RFC 7367 ๐ It's an IETF (Internet Engineering Task Force) doc about MIB (Management Information Base) objects, and it's giving network-management realness โจ
- RFC number: 7367
- Title: Definition of Managed Objects for the Mobile Ad Hoc Network (MANET) Simplified Multicast Framework Relay Set Process
- Authors: R. Cole (US Army CERDEC), J. Macker and B. Adamson (Naval Research Laboratory)
- Category: Experimental ๐งช
- ISSN: 2070-1721
- Date: October 2014 ๐
- Obsoletes / Updates: the header doesn't list any Obsoletes or Updates entries, so this one isn't replacing or patching anything else ๐ฆ
Abstract ๐ธ
Okay so this memo defines a chunk of the MIB, which is the big store of managed objects that network management protocols use. Specifically, it's about configuring the Simplified Multicast Forwarding (SMF) process for Mobile Ad Hoc Networks (MANETs). The SMF-MIB module also reports state info, performance info, and notifications. Config is cute, but the extra state and performance info is what operators need when they're troubleshooting multicast forwarding problems ๐๐
Status of This Memo ๐
This document is not an Internet Standards Track specification. It's published for examination, experimental implementation, and evaluation ๐งช
It defines an Experimental Protocol for the Internet community. It's a product of the IETF and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is a candidate for any level of Internet Standard, so check Section 2 of RFC 5741 for the details ๐ค
For the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc7367 ๐
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) as in effect on the date of publication. Please actually read these, bestie, because they spell out your rights and restrictions for this document ๐ซถ
Code Components pulled out of this document have to include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions. They come 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
4.1. SMF Management Model .......................................4
4.2. Terms ......................................................5
5. Structure of the MIB Module .....................................5
5.1. Textual Conventions ........................................6
5.2. The Capabilities Group .....................................6
5.3. The Configuration Group ....................................6
5.4. The State Group ............................................7
5.5. The Performance Group ......................................7
5.6. The Notifications Group ....................................7
5.7. Tables and Indexing ........................................8
6. Relationship to Other MIB Modules ...............................9
6.1. Relationship to the SNMPv2-MIB .............................9
6.2. Relationship to the IP-MIB .................................9
6.3. Relationship to the IPMCAST-MIB ............................9
6.4. MIB Modules Required for IMPORTS ..........................10
6.5. Relationship to Future RSSA-MIB Modules ...................10
7. SMF-MIB Definitions ............................................10
8. IANA-SMF-MIB Definitions .......................................51
9. Security Considerations ........................................56
10. Applicability Statement .......................................59
11. IANA Considerations ...........................................62
12. References ....................................................62
12.1. Normative References .....................................62
12.2. Informative References ...................................64
Acknowledgements ..................................................65
Contributors ......................................................65
Authors' Addresses ................................................65
1. Introduction โจ
Okay so this memo is all about a piece of the MIB for network management protocols. It describes objects for configuring a process that implements Simplified Multicast Forwarding (SMF) [RFC6621] for Mobile Ad Hoc Networks (MANETs) ๐ก
SMF gives you multicast Duplicate Packet Detection (DPD), and it supports algorithms that build an estimate of a MANET Minimum Connected Dominating Set (MCDS). That estimate is what makes multicast forwarding efficient ๐
The SMF-MIB module also reports state info, performance info, and notifications. Config is nice, but this extra state and performance info is literally what operators use when they're debugging multicast forwarding problems ๐ฅ
2. The Internet-Standard Management Framework ๐
If you want the full tea on the current Internet-Standard Management Framework, check out section 7 of RFC 3410 [RFC3410] ๐ซ
Managed objects get accessed through a virtual information store called the Management Information Base, or MIB. Usually you reach them through the Simple Network Management Protocol (SNMP). MIB objects get defined with the mechanisms in the Structure of Management Information (SMI) ๐
This memo specifies a MIB module that's compliant with SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580] ๐
3. Conventions ๐ง
Okay this one's important, bestie ๐ 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 RFC 2119 [RFC2119] ๐ซถ
4. Overview ๐
SMF gives you ways to do DPD-based multicast forwarding, and you can optionally add CDS-based relay sets. The CDS gives you complete connected coverage of all the nodes in the MANET ๐ฆ
The MCDS is the smallest set of MANET nodes (forming a connected cluster) that covers every node in the cluster with their transmissions. Here's the cool part: as MANET node density goes up, the fraction of nodes you need in an MCDS goes down. So using the MCDS as your multicast forwarding set becomes a super efficient multicast mechanism for MANETs ๐
There are lots of algorithms for building MCDS estimates. The Simplified Multicast Framework [RFC6621] describes some of them. It also defines different operational modes for a node that's helping build the MCDS estimates together. Which modes apply depends on the MANET routing and discovery protocols and mechanisms running on that specific node ๐ง
A SMF router's MIB module holds SMF process configuration parameters (like which CDS algorithm to use), state information (like current membership in the CDS), performance counters (like packet counters), and notifications ๐
4.1. SMF Management Model ๐
This section walks through the management model for the SMF node process ๐
Figure 1 (reproduced from Figure 1 of [RFC6621]) shows how the SMF Relay Set Selection Algorithm connects to the related algorithms, processes, and protocols running in MANET nodes. The Relay Set Selection Algorithm (RSSA) can rely on topology info from the MANET Neighborhood Discovery Protocol (NHDP), from the specific MANET routing protocol on the node, or from Layer 2 info passed up to higher-layer protocol processes ๐บ๏ธ
______________ ____________
| | | |
| Neighborhood | | Relay Set |
| Discovery |------------->| Selection |
| | neighbor | |
|______________| info |____________|
\ /
neighbor\ / forwarding
info* \ _____________ / status
\ | | /
`-->| Forwarding |<--'
| Process |
----------------->|_____________|----------------->
incoming packet, forwarded packets
interface id*, and
previous hop*
Figure 1: SMF Router Architecture
The asterisks (*) mark the primitives and relationships that relay set algorithms need when they require previous-hop packet-forwarding knowledge ๐
4.2. Terms ๐
The following definitions apply throughout this document ๐
- Configuration Objects: switches, tables, and objects that get initialized to default settings or set through the management interfaces, such as the ones defined by this MIB module โ๏ธ
- Tunable Configuration Objects: objects whose values affect timing or attempt bounds on the SMF Relay Set (RS) process โฑ๏ธ
- State Objects: automatically generated values that define the current operating state of the SMF RS process in the router ๐ข
- Performance Objects: automatically generated values that help an administrator or automated tool assess the performance of the CDS multicast process on the router, and the overall multicast performance within the MANET routing domain ๐
5. Structure of the MIB Module ๐๏ธ
This section lays out the structure of the SMF-MIB module. The objects are arranged into the following groups ๐งฉ
- smfMIBNotifications: defines the notifications associated with the SMF process ๐
- smfMIBObjects: defines the objects that form the basis for the SMF-MIB module. These objects are split up by function into these groups:
- Capabilities Group: contains the SMF objects the device uses to advertise its local capabilities with respect to, e.g., the supported RSSAs ๐ฃ
- Configuration Group: contains the SMF objects that configure specific options determining the overall operation of the SMF process and the resulting multicast performance ๐๏ธ
- State Group: contains information describing the current state of the SMF process, such as the Neighbor Table ๐ฃ
- Performance Group: contains objects that help characterize the performance of the SMF process, typically counters for statistical computations ๐ข
- smfMIBConformance: defines two conformance implementations for the SMF-MIB module, minimal and full ๐ฅ
Part 1 of 13. More parts are coming, bestie, so stay tuned ๐ซถ๐
5.1. Textual Conventions ๐
okay so the SMF-MIB module has its own textual convention, and it's giving ๐ฆ
- The SmfStatus is defined within the SMF-MIB module. This contains the current operational status of the SMF process on an interface. โจ
These are the textual conventions for the SMF-MIB module that IANA maintains:
- The IANAsmfOpModeIdTC represents an index that identifies a specific SMF operational mode. This Textual Convention is maintained by IANA in the IANA-SMF-MIB. ๐
- The IANAsmfRssaIdTC represents an index that identifies, through reference, a specific RSSA available for operation on the device. This Textual Convention is maintained by IANA also in the IANA-SMF-MIB. ๐ธ
5.2. The Capabilities Group ๐
the SMF device supports a set of capabilities, and here's the list it can advertise ๐
- Operational Mode - topology information from NHDP, CDS-aware unicast routing, or Cross-layer from Layer 2. ๐ง
- SMF RSSA - the specific RSSA operational on the device. Note that configuration, state, and performance objects related to a specific RSSA must be defined within a separate MIB module. ๐ซถ
5.3. The Configuration Group ๐
the SMF device gets set up with a bunch of controls, and these are the prominent ones ๐
- Operational Mode - determines from where topology information is derived, e.g., NHDP, CDS-aware unicast routing, or Cross-layer from Layer 2. ๐
- SMF RSSA - the specific RSSA operational on the device. ๐ฆ
- Duplicate Packet detection for IPv4 - Identification-based or Hash-based DPD (I-DPD or H-DPD, respectively). โจ
- Duplicate Packet detection for IPv6 - Identification-based or Hash-based DPD. ๐
- SMF Type Message TLV - if NHDP mode is selected, then the SMF Type Message TLV MAY be included in the NHDP exchanges. ๐ธ
- SMF Address Block TLV - if NHDP mode is selected, then the SMF Address Block TLV SHOULD be included in the NHDP exchanges. ๐
- SMF Address Forwarding Table - a table identifying configured multicast addresses to be forwarded by the SMF process. ๐ฅ
5.4. The State Group ๐ฆ
the State sub-tree reports current state info, for example:
- Node RSSA State - identifies whether the node is currently in or out of the Relay Set. ๐ง
- Neighbors Table - a table containing current one-hop neighbors and their operational RSSA. ๐
5.5. The Performance Group ๐
the Performance sub-tree mostly reports counters about SMF RSSA performance. The SMF performance counters come in per-node and per-interface objects:
- Total multicast packets received. ๐
- Total multicast packets forwarded. ๐
- Total duplicate multicast packets detected. ๐
- Per interface statistics table with the following entries:
- Multicast packets received. โจ
- Multicast packets forwarded. ๐ซถ
- Duplicate multicast packets detected. ๐
5.6. The Notifications Group ๐
the Notifications sub-tree holds the list of notifications supported within the SMF-MIB module, plus their intended purpose and utility. ๐
5.7. Tables and Indexing ๐๏ธ
the SMF-MIB module has a bunch of tables that record data about:
- configuration and operation of packet forwarding on the local router, ๐ธ
- configuration and operation of local MANET interfaces on the router, and ๐ฆ
- configuration and operation of various RSSAs for packet forwarding. ๐
The SMF-MIB module's tables get indexed through these constructs:
- smfCapabilitiesIndex - the index identifying the combination of SMF mode and SMF RSSA available on this device. ๐
- smfCfgAddrForwardingIndex - the index to configured multicast address lists that are forwarded by the SMF process. ๐ง
- smfCfgIfIndex - the IfIndex of the interface on the local router on which SMF is configured. ๐
- smfStateNeighborIpAddrType, smfStateNeighborIpAddr, and smfStateNeighborPrefixLen - the interface index set of specific one-hop neighbor nodes to this local router. ๐
These tables and their indexing are defined in the SMF-MIB module:
- smfCapabilitiesTable - identifies the resident set of (SMF Operational Modes, SMF RSSA algorithms) available on this router. This table has
'INDEX { smfCapabilitiesIndex }'. โจ - smfCfgAddrForwardingTable - contains information on multicast addresses that are to be forwarded by the SMF process on this device. This table has
'INDEX { smfCfgAddrForwardingIndex }'. ๐ซถ - smfCfgInterfaceTable - describes the SMF interfaces on this device that are participating in the SMF packet forwarding process. This table has
'INDEX { smfCfgIfIndex }'. ๐ฅ - smfStateNeighborTable - describes the current neighbor nodes, their addresses and the SMF RSSA and the interface on which they can be reached. This table has
'INDEX { smfStateNeighborIpAddrType, smfStateNeighborIpAddr, smfStateNeighborPrefixLen }'. ๐ - smfPerfIpv4InterfacePerfTable - contains the IPv4-related SMF statistics per each SMF interface on this device. This table has
'INDEX { smfCfgIfIndex }'. ๐ - smfPerfIpv6InterfacePerfTable - contains the IPv6-related SMF statistics per each SMF interface on this device. This table has
'INDEX { smfCfgIfIndex }'. ๐ฆ
6. Relationship to Other MIB Modules ๐งฉ
6.1. Relationship to the SNMPv2-MIB ๐ซง
the 'system' group in the SNMPv2-MIB module [RFC3418] is mandatory for all systems, and its objects apply to the entity as a whole. The 'system' group provides identification of the management entity and certain other system-wide data. The SMF-MIB module does not duplicate those objects. ๐
6.2. Relationship to the IP-MIB ๐
it's an expectation that SMF devices will implement the standard IP-MIB module [RFC4293]. Exactly how to integrate SMF packet handling and management into the standard IP-MIB module management is part of the experiment. ๐งช
The SMF-MIB module counters within the smfPerformanceGroup count packets handled by the system and interface local SMF process (as discussed above). Not all IP (unicast and multicast) packets on a device interface are handled by the SMF process. So the counters are tracking different packet streams in the IP-MIB and SMF-MIB modules. ๐
6.3. Relationship to the IPMCAST-MIB ๐ก
the smfCfgAddrForwardingTable is basically a filter table (if populated) that identifies addresses/packets to be forwarded via the local SMF flooding process. The IP Multicast MIB module in RFC 5132 [RFC5132] manages objects related to standard IP multicast, which could be running in parallel to SMF on the device. ๐ธ
RFC 5132 manages traditional IP-based multicast (based upon multicast routing mechanisms). The SMF-MIB module provides management for a MANET subnet-based flooding mechanism which, may be used for multicast transport (through SMF broadcast) depending upon the MANET dynamics and other factors regarding the MANET subnet. Further, they may coexist in certain MANET deployments using the smfCfgAddrForwardingTable to hand certain IP multicast addresses to the SMF process and other IP multicast packets to be forwarded by other multicast mechanisms that are IP route based. SMF and the associated SMF-MIB module are experimental and these are some of the experiments to be had with SMF and the SMF-MIB module. ๐งชโจ
6.4. MIB Modules Required for IMPORTS ๐ฆ
the objects imported for use in the SMF-MIB module are as follows. The MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Integer32, TimeTicks and experimental macros are imported from RFC 2578 [RFC2578]. The TEXTUAL-CONVENTION, RowStatus, and TruthValue macros are imported from RFC 2579 [RFC2579]. The MODULE-COMPLIANCE, OBJECT-GROUP, and NOTIFICATION-GROUP macros are imported from RFC 2580 [RFC2580]. The InterfaceIndexOrZero and ifName textual conventions are imported from RFC 2863 [RFC2863]. The SnmpAdminString textual convention is imported from RFC 3411 [RFC3411]. The InetAddress, InetAddressType, and InetAddressPrefixLength textual conventions are imported from RFC 4001 [RFC4001]. ๐
6.5. Relationship to Future RSSA-MIB Modules ๐ฎ
in a sense, the SMF-MIB module is a general front-end to a set of yet-to-be developed RSSA-specific MIB modules. These RSSA-specific MIB modules will define the objects for the configuration, state, performance and notification required for the operation of these specific RSSAs. The SMF-MIB module Capabilities Group lets the remote management station query the router to discover the set of supported RSSAs. ๐๐
7. SMF-MIB Definitions โจ
okay bestie, this is the big one ๐ The whole MIB module lives in one code block below, so every single character stays exactly as the spec wrote it, no cap ๐
SMF-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Counter32, Integer32, TimeTicks, experimental
FROM SNMPv2-SMI -- RFC 2578
TEXTUAL-CONVENTION, RowStatus, TruthValue
FROM SNMPv2-TC -- RFC 2579
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP
FROM SNMPv2-CONF -- RFC 2580
InterfaceIndexOrZero, ifName
FROM IF-MIB -- RFC 2863
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB -- RFC 3411
InetAddress, InetAddressType,
InetAddressPrefixLength
FROM INET-ADDRESS-MIB -- RFC 4001
IANAsmfOpModeIdTC,
IANAsmfRssaIdTC
FROM IANA-SMF-MIB
;
smfMIB MODULE-IDENTITY
LAST-UPDATED "201410100000Z" -- October 10, 2014
ORGANIZATION "IETF MANET Working Group"
CONTACT-INFO
"WG EMail: manet@ietf.org
WG Chairs: sratliff@cisco.com
jmacker@nrl.navy.mil
Editors: Robert G. Cole
US Army CERDEC
6010 Frankford Road
Aberdeen Proving Ground, MD 21005
USA
Phone: +1 443 395-8744
EMail: robert.g.cole@us.army.mil
Joseph Macker
Naval Research Laboratory
Washington, D.C. 20375
USA
EMail: macker@itd.nrl.navy.mil
Brian Adamson
Naval Research Laboratory
Washington, D.C. 20375
USA
EMail: adamson@itd.nrl.navy.mil"
DESCRIPTION
"This MIB module contains managed object definitions for
the MANET SMF RSSA process defined in:
Macker, J., Ed., Simplified Multicast Forwarding, RFC 6621,
May 2012.
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 History
REVISION "201410100000Z" -- October 10, 2014
DESCRIPTION
"The first version of this MIB module,
published as RFC 7367.
"
::= { experimental 126 }
--
-- TEXTUAL CONVENTIONs
--
SmfStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An indication of the operability of an SMF
function or feature. For example, the status
of an interface: 'enabled' indicates that
this interface is performing SMF functions
and 'disabled' indicates that it is not.
Similarly, for the status of the device:
'enabled' indicates that the device has
enabled the SMF functions on the device and
'disabled' means that the device and all interfaces
have disabled all SMF functions."
SYNTAX INTEGER {
enabled (1),
disabled (2)
}
--
-- Top-Level Object Identifier Assignments
--
smfMIBNotifications OBJECT IDENTIFIER ::= { smfMIB 0 }
smfMIBObjects OBJECT IDENTIFIER ::= { smfMIB 1 }
smfMIBConformance OBJECT IDENTIFIER ::= { smfMIB 2 }
--
-- smfMIBObjects Assignments:
-- smfCapabilitiesGroup - 1
-- smfConfigurationGroup - 2
-- smfStateGroup - 3
-- smfPerformanceGroup - 4
--
--
-- smfCapabilitiesGroup
--
-- This group contains the SMF objects that identify specific
-- capabilities within this device related to SMF functions.
--
smfCapabilitiesGroup OBJECT IDENTIFIER ::= { smfMIBObjects 1 }
--
-- SMF Capabilities Table
--
smfCapabilitiesTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmfCapabilitiesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The smfCapabilitiesTable identifies the
resident set of SMF Operational Modes and
RSSA combinations that can run on this
forwarder."
REFERENCE
"See Section 7.2 'Reduced Relay Set Forwarding',
Section 8.1.1 'SMF Message TLV Type', and
the Appendices A, B, and C in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., May 2012."
::= { smfCapabilitiesGroup 1 }
smfCapabilitiesEntry OBJECT-TYPE
SYNTAX SmfCapabilitiesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular operational
mode and RSSA combination.
"
INDEX { smfCapabilitiesIndex }
::= { smfCapabilitiesTable 1 }
SmfCapabilitiesEntry ::= SEQUENCE {
smfCapabilitiesIndex Integer32,
smfCapabilitiesOpModeID IANAsmfOpModeIdTC,
smfCapabilitiesRssaID IANAsmfRssaIdTC
}
smfCapabilitiesIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this entry; a unique value,
greater than zero, for each combination of
a particular operational mode and RSSA
available on this device.
It is recommended that values are assigned
contiguously starting from 1.
Rows in this table are automatically
populated by the entity's management system
on initialization.
By default, the agent should support at least the
Classical Flooding 'cF' algorithm. All compliant
SMF forwarders must support Classical Flooding.
Hence, the first entry in this table MUST exist
and MUST be defined as:
smfCapabilitiesIndex i '1'
smfCapabilitiesOpModeID i 'cfOnly(1)'
smfCapabilitiesRssaID i 'cF(1)'
The value for each combination MUST remain
constant at least from one re-initialization
of the entity's management system to the
next re-initialization."
::= { smfCapabilitiesEntry 1 }
smfCapabilitiesOpModeID OBJECT-TYPE
SYNTAX IANAsmfOpModeIdTC
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies
the particular operational mode for this device."
::= { smfCapabilitiesEntry 2 }
smfCapabilitiesRssaID OBJECT-TYPE
SYNTAX IANAsmfRssaIdTC
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies
the particular RSSA algorithm in this MIB
module. Example RSSAs are found in the
appendix of RFC 6621."
REFERENCE
"For example, see Section 8.1.1 'SMF Message TLV Type',
and the Appendices A, B, and C in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., May 2012."
::= { smfCapabilitiesEntry 3 }
--
-- smfConfigurationGroup
--
-- This group contains the SMF objects that configure specific
-- options that determine the overall performance and operation
-- of the multicast forwarding process for the router device
-- and its interfaces.
--
smfConfigurationGroup OBJECT IDENTIFIER ::= { smfMIBObjects 2 }
smfCfgAdminStatus OBJECT-TYPE
SYNTAX SmfStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The configured status of the SMF process
on this device. 'enabled(1)' means that
SMF is configured to run on this device.
'disabled(2)' means that the SMF process
is configured off.
Prior to SMF functions being performed over
specific interfaces, this object must first
be 'enabled'. If this object is 'disabled',
then no SMF functions are being performed on
the device and all smfCfgIfAdminStatus objects
MUST also be set to 'disabled'. When this
object is changed from 'enabled' to 'disabled'
by the manager, then all smfCfgIfAdminStatus
objects MUST also be automatically set to
'disabled' by the agent.
The default value for this object SHOULD be
'enabled'.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
DEFVAL { enabled }
::= { smfConfigurationGroup 1 }
smfCfgSmfSysUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time (in hundredths of a second) since the
system SMF process was last re-initialized.
The SMF process is re-initialized when the
value of the 'smfCfgAdminStatus' object
transitions to 'enabled' from either a prior
value of 'disabled' or upon initialization
of this device."
::= { smfConfigurationGroup 2 }
smfCfgRouterIDAddrType OBJECT-TYPE
SYNTAX InetAddressType { ipv4(1), ipv6(2) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The address type of the address used for
the SMF ID of this router as specified
in the 'smfCfgRouterID' next.
Only the values ipv4(1) and ipv6(2)
are supported.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
DEFVAL { ipv4 }
::= { smfConfigurationGroup 3 }
smfCfgRouterID OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The IP address used as the SMF router ID.
This can be set by the management station.
If not explicitly set, then the device
SHOULD select a routable IP address
assigned to this router for use as
the 'smfCfgRouterID'.
The smfCfgRouterID is a logical identification
that MUST be consistent across interoperable
SMF neighborhoods, and it is RECOMMENDED to be
chosen as the numerically largest address
contained in a node's 'Neighbor Address List'
as defined in NHDP. An smfCfgRouterID MUST be
unique within the scope of the operating
MANET network regardless of the method used
for selecting it.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"For example, see
Appendix A.1 'E-CDS Relay Set Selection Overview'
and
Appendix C.1 'MPR-CDS Relay Set Selection
Overview' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfConfigurationGroup 4 }
okay bestie, we're deep in the config group now ๐ the knobs for operational mode, RSSA membership, DPD, and the NHDP TLVs are all here, plus the forwarding filter table ๐
smfCfgOperationalMode OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The SMF RSS node operational mode and
RSSA combination active on this
local forwarder. This object is defined
to be equal to the smfCapabilitiesIndex,
which identifies the specific active
operational mode and RSSA.
The default value for this object is
'1', which corresponds to:
smfCapabilitiesOpModeID i 'cfOnly(1)'
smfCapabilitiesRssaID i 'cF(1)'
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 7.2 'Reduced Relay Set Forwarding',
and the Appendices A, B, and C in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { 1 }
::= { smfConfigurationGroup 5 }
smfCfgRssaMember OBJECT-TYPE
SYNTAX INTEGER {
potential(1),
always(2),
never(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The RSSA downselects a set of forwarders for
multicast forwarding. Sometimes it is useful
to force an agent to be included or excluded
from the resulting RSS. This object is a
switch to allow for this behavior.
The value 'potential(1)' allows the selected
RSSA to determine if this agent is included
or excluded from the RSS.
The value 'always(2)' forces the selected
RSSA to include this agent in the RSS.
The value 'never(3)' forces the selected
RSSA to exclude this agent from the RSS.
The default setting for this object is
'potential(1)'. Other settings could pose
operational risks under certain conditions.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 7 'Relay Set Selection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { potential }
::= { smfConfigurationGroup 6 }
smfCfgIpv4Dpd OBJECT-TYPE
SYNTAX INTEGER {
hashBased(1),
identificationBased(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The current method for IPv4 duplicate packet
detection.
The value 'hashBased(1)' indicates that the
router's duplicate packet detection is based
upon comparing a hash over the packet fields.
This is the default setting for this object.
The value 'identificationBased(2)'
indicates that the duplicate packet
detection relies upon header information
in the multicast packets to identify
previously received packets.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 6.2 'IPv4 Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { hashBased }
::= { smfConfigurationGroup 7 }
smfCfgIpv6Dpd OBJECT-TYPE
SYNTAX INTEGER {
hashBased(1),
identificationBased(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The current method for IPv6 duplicate packet
detection.
The values indicate the type of method used
for duplicate packet detection as described
the previous description for the object
'smfCfgIpv4Dpd'.
The default value for this object is
'hashBased(1)'.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 6.1 'IPv6 Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { hashBased }
::= { smfConfigurationGroup 8 }
smfCfgMaxPktLifetime OBJECT-TYPE
SYNTAX Integer32 (0..65535)
UNITS "Seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The estimate of the network packet
traversal time.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 6 'SMF Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { 60 }
::= { smfConfigurationGroup 9 }
smfCfgDpdEntryMaxLifetime OBJECT-TYPE
SYNTAX Integer32 (0..65525)
UNITS "Seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum lifetime of a cached DPD
record in the local device storage.
If the memory is running low prior to the
MaxLifetime being exceeded, the local SMF
devices should purge the oldest records first.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 6 'SMF Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { 600 }
::= { smfConfigurationGroup 10 }
--
-- Configuration of messages to be included in
-- NHDP message exchanges in support of SMF
-- operations.
--
smfCfgNhdpRssaMesgTLVIncluded OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether or not the associated NHDP
messages include the RSSA Message TLV. This
is an optional SMF operational setting.
The value 'true(1)' indicates that this TLV is
included; the value 'false(2)' indicates that it
is not included.
It is RECOMMENDED that the RSSA Message TLV
be included in the NHDP messages.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 8.1.1 'SMF Message TLV Type' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { true }
::= { smfConfigurationGroup 11 }
smfCfgNhdpRssaAddrBlockTLVIncluded OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether or not the associated NHDP
messages include the RSSA Address Block TLV.
This is an optional SMF operational setting.
The value 'true(1)' indicates that this TLV is
included; the value 'false(2)' indicates that it
is not included.
The smfCfgNhdpRssaAddrBlockTLVIncluded is optional
in all cases as it depends on the existence of
an address block that may not be present.
If this SMF device is configured with NHDP,
then this object SHOULD be set to 'true(1)'.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
REFERENCE
"See Section 8.1.2 'SMF Address Block TLV
Type' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
DEFVAL { true }
::= { smfConfigurationGroup 12 }
--
-- Table identifying configured multicast addresses to be forwarded.
--
smfCfgAddrForwardingTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmfCfgAddrForwardingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The smfCfgAddrForwardingTable is essentially a filter
table (if populated) that identifies addresses/packets
to be forwarded via the local SMF flooding process.
The IP Multicast MIB module in RFC 5132 manages objects
related to standard IP multicast, which could be running
in parallel to SMF on the device.
RFC 5132 manages traditional IP-based multicast (based
upon multicast routing mechanisms). The SMF-MIB module
provides management for a MANET subnet-based flooding
mechanism that may be used for multicast transport
(through SMF broadcast) depending upon the MANET dynamics
and other factors regarding the MANET subnet. Further,
they may coexist in certain MANET deployments
using the smfCfgAddrForwardingTable to hand certain IP
multicast addresses to the SMF process and other IP
multicast packets to be forwarded by other
multicast mechanisms that are IP route based. SMF and
the associated SMF-MIB module are experimental and these
are some of the experiments to be had with SMF and
the SMF-MIB module.
This is the (conceptual) table containing information on
multicast addresses that are to be forwarded by the SMF
process. This table represents an IP filters table for
forwarding (or not) packets based upon their IP
multicast address.
The SMF process can be configured to forward only those
multicast addresses found within the
smfCfgAddrForwardingTable. As such, addresses that are
to be forwarded by the SMF process MUST be found within
the address ranges configured within this table, unless
this table is empty.
Each row is associated with a range of multicast
addresses, and ranges for different rows must be disjoint.
Different rows MAY share a common
smfCfgAddrForwardingGroupName to administratively
associate different rows.
The objects in this table are persistent and, when written,
the entity SHOULD save the change to non-volatile storage."
REFERENCE
"See Section 9.1 'Forwarded Multicast Groups' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfConfigurationGroup 13 }
smfCfgAddrForwardingEntry OBJECT-TYPE
SYNTAX SmfCfgAddrForwardingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) containing the information on a
particular multicast scope."
INDEX { smfCfgAddrForwardingIndex }
::= { smfCfgAddrForwardingTable 1 }
SmfCfgAddrForwardingEntry ::= SEQUENCE {
smfCfgAddrForwardingIndex Integer32,
smfCfgAddrForwardingGroupName SnmpAdminString,
smfCfgAddrForwardingAddrType InetAddressType,
smfCfgAddrForwardingAddress InetAddress,
smfCfgAddrForwardingAddrPrefixLength
InetAddressPrefixLength,
smfCfgAddrForwardingStatus RowStatus
}
okay so this is where the SMF-MIB gets its whole personality ๐ we're in the forwarding-group table now, and the rules are very strict (bestie, read these carefully ๐ซถ)
smfCfgAddrForwardingIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object identifies a unique entry
for a forwarding group. The index for
this entry is a unique value,
greater than zero, for each row.
It is recommended that values are assigned
contiguously starting from 1.
The value for each row index MUST remain
constant from one re-initialization
of the entity's management system to the
next re-initialization."
::= { smfCfgAddrForwardingEntry 1 }
smfCfgAddrForwardingGroupName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies a group name for a set of
row entries in order to administratively associate
a set of address ranges.
If there is no group name or this object is
otherwise not applicable, then this object contains
a zero-length string.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
::= { smfCfgAddrForwardingEntry 2 }
smfCfgAddrForwardingAddrType OBJECT-TYPE
SYNTAX InetAddressType { ipv4(1), ipv6(2) }
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of the addresses in the multicast
forwarding ranges identified by this table.
Only the values ipv4(1) and ipv6(2) are
supported.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
::= { smfCfgAddrForwardingEntry 3 }
smfCfgAddrForwardingAddress OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The multicast group address that, when
combined with smfCfgAddrForwardingAddrPrefixLength,
gives the group prefix for this forwarding range.
The InetAddressType is given by
smfCfgAddrForwardingAddrType.
This address object is only significant up to
smfCfgAddrForwardingAddrPrefixLength bits. The
remaining address bits are set to zero. This is
especially important for this index field.
Any non-zero bits would signify an entirely
different entry.
Legal values correspond to the subset of address
families for which multicast address allocation
is supported.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
::= { smfCfgAddrForwardingEntry 4 }
smfCfgAddrForwardingAddrPrefixLength OBJECT-TYPE
SYNTAX InetAddressPrefixLength
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The length in bits of the mask that, when
combined with smfCfgAddrForwardingAddress,
gives the group prefix for this forwarding
range.
This object is persistent and, when written,
the entity SHOULD save the change to
non-volatile storage."
::= { smfCfgAddrForwardingEntry 5 }
smfCfgAddrForwardingStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this row, by which new entries may be
created, or old entries deleted from this table."
::= { smfCfgAddrForwardingEntry 6 }
--
-- SMF Interfaces Configuration Table
--
smfCfgInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmfCfgInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF Interface Table describes the SMF
interfaces that are participating in the
SMF packet forwarding process. The ifIndex is
from the interfaces group defined in the
Interfaces Group MIB module (RFC 2863). As such,
this table 'sparse augments' the ifTable
specifically when SMF is to be configured to
operate over this interface.
A conceptual row in this table exists if and only
if either a manager has explicitly created the row
or there is an interface on the managed device
that automatically supports and runs SMF as part
of the device's initialization process.
The manager creates a row in this table by setting
the rowStatus to 'createAndGo' or 'createAndWait'.
Row objects having associated DEFVAL clauses are
automatically defined by the agent with these
values during row creation, unless the manager
explicitly defines these object values during the
row creation.
As the smfCfgInterfaceTable sparsely augments the
IfTable. Hence,
+ an entry cannot exist in smfCfgInterfaceTable
without a corresponding entry in the ifTable.
+ if an entry in the ifTable is removed, the
corresponding entry (if it exists) in the
smfCfgInterfaceTable MUST be removed.
+ the smfCfgIfStatus can have a value of
'enabled' or 'disabled' independent of the
current value of the ifAdminStatus of the
corresponding entry in the ifTable.
The values of the objects smfCfgAdminStatus and
smfCfgIfAdminStatus reflect the up-down status of
the SMF process running on the device and on the
specific interfaces, respectively. Hence,
+ the value of the smfCfgAdminStatus can be
'enabled' or 'disabled' reflecting the current
running status of the SMF process on the device.
+ the value of the smfCfgIfAdminStatus can be
'enabled' or 'disabled' if the value of the
smfCfgAdminStatus is set to 'enabled'.
+ if the value of the smfCfgAdminStatus is
'disabled', then the corresponding
smfCfgIfAdminStatus objects MUST be set
to 'disabled' in the smfCfgInterfaceTable.
+ once the value of the smfCfgAdminStatus changes
from 'disabled' to 'enabled', it is up to the
management system to make the corresponding
changes to the smfCfgIfAdminStatus values
back to 'enabled'.
"
REFERENCE
"RFC 2863 - 'The Interfaces Group MIB', McCloghrie,
K., and F. Kastenholtz, June 2000."
::= { smfConfigurationGroup 14 }
smfCfgInterfaceEntry OBJECT-TYPE
SYNTAX SmfCfgInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF interface entry describes one SMF
interface as indexed by its ifIndex.
The objects in this table are persistent and, when
written, the device SHOULD save the change to
non-volatile storage. For further information
on the storage behavior for these objects, refer
to the description for the smfCfgIfRowStatus
object."
INDEX { smfCfgIfIndex }
::= { smfCfgInterfaceTable 1 }
SmfCfgInterfaceEntry ::=
SEQUENCE {
smfCfgIfIndex InterfaceIndexOrZero,
smfCfgIfAdminStatus SmfStatus,
smfCfgIfSmfUpTime TimeTicks,
smfCfgIfRowStatus RowStatus
}
smfCfgIfIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The ifIndex for this SMF interface. This value
MUST correspond to an ifIndex referring
to a valid entry in the Interfaces Table.
If the manager attempts to create a row
for which the ifIndex does not exist on the
local device, then the agent SHOULD issue
a return value of 'inconsistentValue' and
the operation SHOULD fail."
REFERENCE
"RFC 2863 - 'The Interfaces Group MIB', McCloghrie,
K., and F. Kastenholtz, June 2000."
::= { smfCfgInterfaceEntry 1 }
smfCfgIfAdminStatus OBJECT-TYPE
SYNTAX SmfStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The SMF interface's administrative status.
The value 'enabled' denotes that the interface
is running the SMF forwarding process.
The value 'disabled' denotes that the interface is
currently external to the SMF forwarding process.
When the value of the smfCfgAdminStatus is
'disabled', then the corresponding smfCfgIfAdminStatus
objects MUST be set to 'disabled' in the
smfCfgInterfaceTable.
If this object is not equal to 'enabled', all associated
entries in the 'smfPerfIpv4InterfacePerfTable' and the
'smfPerfIpv6InterfacePerfTable' MUST be deleted.
The default value for this object is 'enabled(1)'.
This object SHOULD be persistent and when
written the device SHOULD save the change to
non-volatile storage."
DEFVAL { enabled }
::= { smfCfgInterfaceEntry 2 }
smfCfgIfSmfUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time (in hundredths of a second) since
this interface SMF process was last
re-initialized. The interface SMF process is
re-initialized when the value of the
'smfCfgIfAdminStatus' object transitions to 'enabled'
from either a prior value of 'disabled' or upon
initialization of this interface or this device."
::= { smfCfgInterfaceEntry 3 }
smfCfgIfRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object permits management of this 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 a defined appropriate value. For
objects with DEFVAL clauses, the management station
does not need to specify the value of these objects in order
for the row to transit to the 'active' state; the default
value for these objects is used. For objects that do not
have DEFVAL clauses, the network manager MUST
specify the value of these objects prior to this row
transitioning to the 'active' state.
When this object transitions to 'active', all objects
in this row SHOULD be written to non-volatile (stable)
storage. Read-create objects in this row MAY be modified.
When an object in a row with smfCfgIfRowStatus of 'active'
is changed, then the updated value MUST be reflected in SMF
and this new object value MUST be written to non-volatile
storage."
::= { smfCfgInterfaceEntry 4 }
--
-- smfStateGroup
--
-- Contains information describing the current state of the SMF
-- process such as the current inclusion in the RS or not.
--
smfStateGroup OBJECT IDENTIFIER ::= { smfMIBObjects 3 }
ngl that's the whole config side of the table, and the MUSTs and SHOULDs in there are doing the heavy lifting ๐ง๐ we're now entering the State Group, which is literally the "where am I right now" section of the MIB ๐ฆโจ
Okay bestie, picking up right where we left off with the state objects ๐ โจ
The first one, smfStateNodeRsStatusIncluded, tells you whether your node is in the MANET Relay Set right now ๐ฆ
smfStateNodeRsStatusIncluded OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current status of the SMF node in the context of
the MANETs relay set. A value of 'true(1)' indicates
that the node is currently part of the MANET Relay
Set. A value of 'false(2)' indicates that the node
is currently not part of the MANET Relay Set."
REFERENCE
"See Section 7 'Relay Set Selection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfStateGroup 1 }
smfStateDpdMemoryOverflow OBJECT-TYPE
SYNTAX Counter32
UNITS "DPD Records"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of DPD records that had to be flushed to
prevent memory overruns for caching of these records.
The number of records to be flushed upon a buffer
overflow is an implementation specific decision.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 6 'SMF Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfStateGroup 2 }
--
-- SMF Neighbor Table
--
smfStateNeighborTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmfStateNeighborEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF StateNeighborTable describes the
current one-hop neighbor nodes, their address
and SMF RSSA, and the interface on which
they can be reached."
REFERENCE
"See Section 8 'SMF Neighborhood Discovery' and
Section 8.1. 'SMF Relay Algorithm TLV
Types' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfStateGroup 3 }
smfStateNeighborEntry OBJECT-TYPE
SYNTAX SmfStateNeighborEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF Neighbor Table contains the
set of one-hop neighbors, the interface
they are reachable on, and the SMF RSSA
they are currently running."
INDEX { smfStateNeighborIpAddrType,
smfStateNeighborIpAddr,
smfStateNeighborPrefixLen }
::= { smfStateNeighborTable 1 }
SmfStateNeighborEntry ::=
SEQUENCE {
smfStateNeighborIpAddrType InetAddressType,
smfStateNeighborIpAddr InetAddress,
smfStateNeighborPrefixLen InetAddressPrefixLength,
smfStateNeighborRSSA IANAsmfRssaIdTC,
smfStateNeighborNextHopInterface InterfaceIndexOrZero
}
smfStateNeighborIpAddrType OBJECT-TYPE
SYNTAX InetAddressType { ipv4(1), ipv6(2) }
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The one-hop neighbor IP address type.
Only the values 'ipv4(1)' and
'ipv6(2)' are supported."
::= { smfStateNeighborEntry 1 }
smfStateNeighborIpAddr OBJECT-TYPE
SYNTAX InetAddress (SIZE(4|16))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The one-hop neighbor Inet IPv4 or IPv6
address.
Only IPv4 and IPv6 addresses
are supported."
::= { smfStateNeighborEntry 2 }
smfStateNeighborPrefixLen OBJECT-TYPE
SYNTAX InetAddressPrefixLength
UNITS "bits"
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The prefix length. This is a decimal value that
indicates the number of contiguous, higher-order
bits of the address that make up the network
portion of the address."
::= { smfStateNeighborEntry 3 }
smfStateNeighborRSSA OBJECT-TYPE
SYNTAX IANAsmfRssaIdTC
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current RSSA running on the neighbor."
::= { smfStateNeighborEntry 4 }
smfStateNeighborNextHopInterface OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The interface ifIndex over which the
neighbor is reachable in one-hop."
::= { smfStateNeighborEntry 6 }
--
-- SMF Performance Group
--
-- Contains objects that help to characterize the
-- performance of the SMF RSSA process, such as statistics
-- counters. There are two types of SMF RSSA statistics:
-- global counters and per-interface counters.
--
-- It is an expectation that SMF devices will
-- implement the standard IP-MIB module in RFC 4293.
-- Exactly how to integrate SMF packet handling and
-- management into the standard IP-MIB module management
-- is part of the experiment.
--
-- The SMF-MIB module counters within the
-- smfPerformanceGroup count packets handled by the
-- system and interface local SMF process (as discussed
-- above). Not all IP (unicast and multicast) packets
-- on a device interface are handled by the SMF process.
-- So the counters are tracking different packet streams
-- in the IP-MIB and SMF-MIB modules.
--
smfPerformanceGroup OBJECT IDENTIFIER ::= { smfMIBObjects 4 }
smfPerfGobalGroup OBJECT IDENTIFIER ::= { smfPerformanceGroup 1 }
--
-- IPv4 packet counters
--
smfPerfIpv4MultiPktsRecvTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of
multicast IPv4 packets received by the
device and delivered to the SMF process.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
::= { smfPerfGobalGroup 1 }
smfPerfIpv4MultiPktsForwardedTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of
multicast IPv4 packets forwarded by the
device.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
::= { smfPerfGobalGroup 2 }
smfPerfIpv4DuplMultiPktsDetectedTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of duplicate
multicast IPv4 packets detected by the
device.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 6.2 'IPv4 Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 3 }
smfPerfIpv4DroppedMultiPktsTTLExceededTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of dropped
multicast IPv4 packets by the
device due to Time to Live (TTL) exceeded.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 5 'SMF Packet Processing and
Forwarding' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 4 }
smfPerfIpv4TTLLargerThanPreviousTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv4 packets
received that have a TTL larger than that
of a previously received identical packet.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 5 'SMF Packet Processing and
Forwarding' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 5 }
--
-- IPv6 packet counters
--
smfPerfIpv6MultiPktsRecvTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of
multicast IPv6 packets received by the
device and delivered to the SMF process.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
::= { smfPerfGobalGroup 6 }
smfPerfIpv6MultiPktsForwardedTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of
multicast IPv6 packets forwarded by the
device.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
::= { smfPerfGobalGroup 7 }
smfPerfIpv6DuplMultiPktsDetectedTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of duplicate
multicast IPv6 packets detected by the
device.
Okay so these counters are all giving the same energy ๐ They're Counter32s counting packets, and they share one little warning: if SMF gets disabled and then turned back on, the count can jump, so you wanna keep an eye on smfCfgSmfSysUpTime (or smfCfgIfSmfUpTime per interface) too ๐โจ
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 6.1 'IPv6 Duplicate Packet
Detection' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 8 }
smfPerfIpv6DroppedMultiPktsTTLExceededTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of dropped
multicast IPv6 packets by the
device due to TTL exceeded.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 5 'SMF Packet Processing and
Forwarding' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 9 }
smfPerfIpv6TTLLargerThanPreviousTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv6 packets
received that have a TTL larger than that
of a previously received identical packet.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 5 'SMF Packet Processing and
Forwarding' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 10 }
smfPerfIpv6HAVAssistsReqdTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv6 packets
received that required the Hash Assist Value (HAV)
for DPD.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 6.1.1 'IPv6 SMF_DPD Option Header' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 11 }
smfPerfIpv6DpdHeaderInsertionsTotal OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv6 packets
received that the device inserted the
DPD header option.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled. In order to check for
the occurrence of such a discontinuity when monitoring
this counter object, it is recommended that the
smfCfgSmfSysUpTime object also be monitored."
REFERENCE
"See Section 6.1.2 'IPv6 Identification-Based
DPD' in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
::= { smfPerfGobalGroup 12 }
--
-- Per SMF Interface Performance Table
--
smfPerfInterfaceGroup OBJECT IDENTIFIER ::= { smfPerformanceGroup 2 }
smfPerfIpv4InterfacePerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmfPerfIpv4InterfacePerfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF Interface Performance Table
describes the SMF counters per
interface."
::= { smfPerfInterfaceGroup 1 }
smfPerfIpv4InterfacePerfEntry OBJECT-TYPE
SYNTAX SmfPerfIpv4InterfacePerfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF Interface Performance entry
describes the statistics for a particular
node interface."
INDEX { smfCfgIfIndex }
::= { smfPerfIpv4InterfacePerfTable 1 }
SmfPerfIpv4InterfacePerfEntry ::=
SEQUENCE {
smfPerfIpv4MultiPktsRecvPerIf Counter32,
smfPerfIpv4MultiPktsForwardedPerIf Counter32,
smfPerfIpv4DuplMultiPktsDetectedPerIf Counter32,
smfPerfIpv4DroppedMultiPktsTTLExceededPerIf Counter32,
smfPerfIpv4TTLLargerThanPreviousPerIf Counter32
}
smfPerfIpv4MultiPktsRecvPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of multicast IP
packets received by the SMF process on
this device on this interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv4InterfacePerfEntry 1 }
smfPerfIpv4MultiPktsForwardedPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of
multicast IP packets forwarded by the
SMF process on this device
on this interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv4InterfacePerfEntry 2 }
smfPerfIpv4DuplMultiPktsDetectedPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of duplicate
multicast IP packets detected by the
SMF process on this device
on this interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv4InterfacePerfEntry 3 }
smfPerfIpv4DroppedMultiPktsTTLExceededPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of dropped
multicast IPv4 packets by the SMF process
on this device on this interface
due to TTL exceeded.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv4InterfacePerfEntry 4 }
smfPerfIpv4TTLLargerThanPreviousPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv4 packets
received by the SMF process on this device
on this interface that have a TTL larger than
that of a previously received identical packet.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv4InterfacePerfEntry 5 }
smfPerfIpv6InterfacePerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF SmfPerfIpv6InterfacePerfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF Interface Performance Table
describes the SMF counters per
interface."
::= { smfPerfInterfaceGroup 2 }
smfPerfIpv6InterfacePerfEntry OBJECT-TYPE
SYNTAX SmfPerfIpv6InterfacePerfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The SMF Interface Performance entry
describes the counters for a particular
node interface."
INDEX { smfCfgIfIndex }
::= { smfPerfIpv6InterfacePerfTable 1 }
SmfPerfIpv6InterfacePerfEntry ::=
SEQUENCE {
smfPerfIpv6MultiPktsRecvPerIf Counter32,
smfPerfIpv6MultiPktsForwardedPerIf Counter32,
smfPerfIpv6DuplMultiPktsDetectedPerIf Counter32,
smfPerfIpv6DroppedMultiPktsTTLExceededPerIf Counter32,
smfPerfIpv6TTLLargerThanPreviousPerIf Counter32,
smfPerfIpv6HAVAssistsReqdPerIf Counter32,
smfPerfIpv6DpdHeaderInsertionsPerIf Counter32
}
smfPerfIpv6MultiPktsRecvPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of
multicast IP packets received by the
SMF process on this device
on this interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 1 }
smfPerfIpv6MultiPktsForwardedPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of
multicast IP packets forwarded by the
SMF process on this device
on this interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 2 }
smfPerfIpv6DuplMultiPktsDetectedPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of duplicate
multicast IP packets detected by the
SMF process on this device
on this interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 3 }
smfPerfIpv6DroppedMultiPktsTTLExceededPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the number of dropped
multicast IP packets by the
SMF process on this device
on this interface due to TTL
exceeded.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 4 }
smfPerfIpv6TTLLargerThanPreviousPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv6 packets
received that have a TTL larger than that
of a previously received identical packet
by the SMF process on this device on this
interface.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 5 }
smfPerfIpv6HAVAssistsReqdPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv6 packets
received by the SMF process on this device
on this interface that required the
HAV assist for DPD.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 6 }
smfPerfIpv6DpdHeaderInsertionsPerIf OBJECT-TYPE
SYNTAX Counter32
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A counter of the total number of IPv6 packets
received by the SMF process on this device
on this interface that the device inserted the
DPD header option.
There is the potential for a counter discontinuity
in this object if the system SMF process has been
disabled and later enabled on this interface.
In order to check for the occurrence of such a
discontinuity when monitoring this counter object,
it is recommended that the smfCfgIfSmfUpTime
object also be monitored."
::= { smfPerfIpv6InterfacePerfEntry 7 }
--
-- Notifications
--
smfMIBNotifObjects OBJECT IDENTIFIER ::= { smfMIBNotifications 0 }
okay so these IPv6 counters are all giving the same plot twist ๐ซถ Every one of them is a Counter32 that counts Packets, and every one warns that the counter can jump if the SMF process gets turned off and back on on that interface. โจ The move is to keep an eye on smfCfgIfSmfUpTime alongside them so you can spot that discontinuity, bestie ๐ฆ
the Notifications section starts right at the bottom, so more MIB goodies are coming ๐
okay bestie, this is where the notifications get their settings and the conformance groups get lined up ๐โจ
smfMIBNotifControl OBJECT IDENTIFIER ::= { smfMIBNotifications 1 }
-- smfMIBNotifObjects
smfNotifAdminStatusChange NOTIFICATION-TYPE
OBJECTS { smfCfgRouterIDAddrType, -- The originator of
-- the notification.
smfCfgRouterID, -- The originator of
-- the notification.
smfCfgAdminStatus -- The new status of the
-- SMF process.
}
STATUS current
DESCRIPTION
"smfCfgAdminStatusChange is a notification sent when
the 'smfCfgAdminStatus' object changes."
::= { smfMIBNotifObjects 1 }
smfNotifConfiguredOpModeChange NOTIFICATION-TYPE
OBJECTS { smfCfgRouterIDAddrType, -- The originator of
-- the notification.
smfCfgRouterID, -- The originator of
-- the notification.
smfCfgOperationalMode -- The new Operations
-- Mode of the SMF
-- process.
}
STATUS current
DESCRIPTION
"smfNotifConfiguredOpModeChange is a notification
sent when the 'smfCfgOperationalMode' object
changes."
::= { smfMIBNotifObjects 2 }
smfNotifIfAdminStatusChange NOTIFICATION-TYPE
OBJECTS { smfCfgRouterIDAddrType, -- The originator of
-- the notification.
smfCfgRouterID, -- The originator of
-- the notification.
ifName, -- The interface whose
-- status has changed.
smfCfgIfAdminStatus -- The new status of the
-- SMF interface.
}
STATUS current
DESCRIPTION
"smfCfgIfAdminStatusChange is a notification sent when
the 'smfCfgIfAdminStatus' object changes."
::= { smfMIBNotifObjects 3 }
smfNotifDpdMemoryOverflowEvent NOTIFICATION-TYPE
OBJECTS { smfCfgRouterIDAddrType, -- The originator of
-- the notification.
smfCfgRouterID, -- The originator of
-- the notification.
smfStateDpdMemoryOverflow -- The counter of
-- the overflows.
}
STATUS current
DESCRIPTION
"smfNotifDpdMemoryOverflowEvents is sent when the
number of memory overflow events exceeds
the 'smfNotifDpdMemoryOverflowThreshold' within the
previous number of seconds defined by the
'smfNotifDpdMemoryOverflowWindow'."
::= { smfMIBNotifObjects 4 }
-- smfMIBNotifControl
smfNotifDpdMemoryOverflowThreshold OBJECT-TYPE
SYNTAX Integer32 (0..255)
UNITS "Events"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A threshold value for the
'smfNotifDpdmemoryOverflowEvents' object.
If the number of occurrences exceeds
this threshold within the previous
number of seconds
'smfNotifDpdMemoryOverflowWindow',
then the 'smfNotifDpdMemoryOverflowEvent'
notification is sent.
The default value for this object is
'1'."
DEFVAL { 1 }
::= { smfMIBNotifControl 1 }
smfNotifDpdMemoryOverflowWindow OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A time window value for the
'smfNotifDpdmemoryOverflowEvents' object.
If the number of occurrences exceeds
the 'smfNotifDpdMemoryOverflowThreshold'
within the previous number of seconds
'smfNotifDpdMemoryOverflowWindow',
then the 'smfNotifDpdMemoryOverflowEvent'
notification is sent.
The default value for this object is
'1'."
DEFVAL { 1 }
::= { smfMIBNotifControl 2 }
--
-- Compliance Statements
--
smfCompliances OBJECT IDENTIFIER ::= { smfMIBConformance 1 }
smfMIBGroups OBJECT IDENTIFIER ::= { smfMIBConformance 2 }
smfBasicCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "The basic implementation requirements for
managed network entities that implement
the SMF RSSA process."
MODULE -- this module
MANDATORY-GROUPS { smfCapabObjectsGroup,
smfConfigObjectsGroup }
::= { smfCompliances 1 }
smfFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "The full implementation requirements for
managed network entities that implement
the SMF RSSA process."
MODULE -- this module
MANDATORY-GROUPS { smfCapabObjectsGroup,
smfConfigObjectsGroup,
smfStateObjectsGroup,
smfPerfObjectsGroup,
smfNotifObjectsGroup,
smfNotificationsGroup
}
::= { smfCompliances 2 }
--
-- Units of Conformance
--
smfCapabObjectsGroup OBJECT-GROUP
OBJECTS {
smfCapabilitiesOpModeID,
smfCapabilitiesRssaID
}
STATUS current
DESCRIPTION
"Set of SMF configuration objects implemented
in this module."
::= { smfMIBGroups 1 }
smfConfigObjectsGroup OBJECT-GROUP
OBJECTS {
smfCfgAdminStatus,
smfCfgSmfSysUpTime,
smfCfgRouterIDAddrType,
smfCfgRouterID,
smfCfgOperationalMode,
smfCfgRssaMember,
smfCfgIpv4Dpd,
smfCfgIpv6Dpd,
smfCfgMaxPktLifetime,
smfCfgDpdEntryMaxLifetime,
smfCfgNhdpRssaMesgTLVIncluded,
smfCfgNhdpRssaAddrBlockTLVIncluded,
smfCfgAddrForwardingGroupName,
smfCfgAddrForwardingAddrType,
smfCfgAddrForwardingAddress,
smfCfgAddrForwardingAddrPrefixLength,
smfCfgAddrForwardingStatus,
smfCfgIfAdminStatus,
smfCfgIfSmfUpTime,
smfCfgIfRowStatus
}
STATUS current
DESCRIPTION
"Set of SMF configuration objects implemented
in this module."
::= { smfMIBGroups 2 }
smfStateObjectsGroup OBJECT-GROUP
OBJECTS {
smfStateNodeRsStatusIncluded,
smfStateDpdMemoryOverflow,
smfStateNeighborRSSA,
smfStateNeighborNextHopInterface
}
STATUS current
DESCRIPTION
"Set of SMF state objects implemented
in this module."
::= { smfMIBGroups 3 }
smfPerfObjectsGroup OBJECT-GROUP
OBJECTS {
smfPerfIpv4MultiPktsRecvTotal,
smfPerfIpv4MultiPktsForwardedTotal,
smfPerfIpv4DuplMultiPktsDetectedTotal,
smfPerfIpv4DroppedMultiPktsTTLExceededTotal,
smfPerfIpv4TTLLargerThanPreviousTotal,
smfPerfIpv6MultiPktsRecvTotal,
smfPerfIpv6MultiPktsForwardedTotal,
smfPerfIpv6DuplMultiPktsDetectedTotal,
smfPerfIpv6DroppedMultiPktsTTLExceededTotal,
smfPerfIpv6TTLLargerThanPreviousTotal,
smfPerfIpv6HAVAssistsReqdTotal,
smfPerfIpv6DpdHeaderInsertionsTotal,
smfPerfIpv4MultiPktsRecvPerIf,
smfPerfIpv4MultiPktsForwardedPerIf,
smfPerfIpv4DuplMultiPktsDetectedPerIf,
smfPerfIpv4DroppedMultiPktsTTLExceededPerIf,
smfPerfIpv4TTLLargerThanPreviousPerIf,
smfPerfIpv6MultiPktsRecvPerIf,
smfPerfIpv6MultiPktsForwardedPerIf,
smfPerfIpv6DuplMultiPktsDetectedPerIf,
smfPerfIpv6DroppedMultiPktsTTLExceededPerIf,
smfPerfIpv6TTLLargerThanPreviousPerIf,
smfPerfIpv6HAVAssistsReqdPerIf,
smfPerfIpv6DpdHeaderInsertionsPerIf
}
STATUS current
DESCRIPTION
"Set of SMF performance objects implemented
in this module by total and per interface."
::= { smfMIBGroups 4 }
smfNotifObjectsGroup OBJECT-GROUP
OBJECTS {
smfNotifDpdMemoryOverflowThreshold,
smfNotifDpdMemoryOverflowWindow
}
STATUS current
DESCRIPTION
"Set of SMF notification control
objects implemented in this module."
::= { smfMIBGroups 5 }
smfNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
smfNotifAdminStatusChange,
smfNotifConfiguredOpModeChange,
smfNotifIfAdminStatusChange,
smfNotifDpdMemoryOverflowEvent
}
STATUS current
DESCRIPTION
"Set of SMF notifications implemented
in this module."
::= { smfMIBGroups 6 }
END
the notifications are literally the MIB's way of shouting when something changes, and the compliance groups are how a device proves it's got the whole vibe ๐๐ง
8. IANA-SMF-MIB Definitions โจ
okay bestie, section 8 is where IANA gets the keys ๐ This section has the IANA-SMF-MIB module, which defines two Textual Conventions. IANA SHOULD maintain them and keep them synchronized with the registry below, inside the IANAsmfOpModeIdTC and IANAsmfRssaIdTC TEXTUAL-CONVENTIONs ๐
The IANAsmfOpModeIdTC is the index that points to a specific SMF operations mode ๐ฆ It's an integer-valued named-number enumeration, so each entry is an integer plus a label. IANA creates and maintains this one. New assignments are first come, first served ๐ธ There's no deep review. IANA just checks that the request is well-formed and doesn't duplicate something that already exists. Requests must include a little clerical info, like a point of contact (with an email address) and a short description of the method you're proposing as a new SMF operations mode ๐
The IANAsmfRssaIdTC is the index that points to a specific Reduced Set Selection Algorithm (RSSA) ๐ง It's also an integer-valued named-number enumeration (integer plus label), and IANA creates and maintains it too โจ
Now the ranges, which are the juicy part ๐
Future assignments in the 5-127 range need an RFC publication, either as an IETF submission or as an Independent submission [RFC5742]. The category of that RFC MUST be Standards Track ๐ฅ The specific RSSAs MUST be documented in enough detail that independent implementations can actually interoperate ๐ซถ
Future assignments in the 128-239 range are private or local use only. The type and purpose are defined by the local site ๐ Nothing stops multiple sites from using the same value in different, incompatible ways. IANA doesn't need to review these, because IANA won't record them, and they aren't generally useful for broad interoperability. The sites using the Private Use range are responsible for making sure no conflicts happen within their intended scope ๐
Private Use means the sites are on their own for conflicts, bestie. Coordinate with your neighbours ๐
Future assignments in the 240-255 range are for experimentation ๐งช These also need an RFC publication (IETF submission or Independent submission [RFC5742]). The category of RFC MUST be Experimental, and the RSSA algorithms MUST be documented in enough detail that independent implementations can interoperate ๐
This MIB module references [RFC3626], [RFC5614], [RFC6621], and [RFC7181] ๐
IANA-SMF-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2
FROM SNMPv2-SMI -- RFC 2578
TEXTUAL-CONVENTION
FROM SNMPv2-TC; -- RFC 2579
ianaSmfMIB MODULE-IDENTITY
LAST-UPDATED "201410100000Z" -- October 10, 2014
ORGANIZATION "IANA"
CONTACT-INFO "Internet Assigned Numbers Authority
Postal: ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States
Tel: +1 310 301 5800
EMail: iana@iana.org"
DESCRIPTION "This MIB module defines the
IANAsmfOpModeIdTC and IANAsmfRssaIdTC
Textual Conventions, and thus the
enumerated values of the
smfCapabilitiesOpModeID and
smfCapabilitiesRssaID objects defined
in the SMF-MIB."
REVISION "201410100000Z" -- October 10, 2014
DESCRIPTION
"Initial version of this MIB as published in RFC 7367.
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).
"
::= { mib-2 225 }
IANAsmfOpModeIdTC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An index that identifies through reference to a specific
SMF operations mode. There are basically three styles
of SMF operation with reduced relay sets currently
identified:
Independent operation 'independent(1)' -
SMF performs its own relay
set selection using information from an associated
MANET NHDP process.
CDS-aware unicast routing operation 'routing(2)'-
a coexistent unicast routing
protocol provides dynamic relay
set state based upon its own control plane
Connected Dominating Set (CDS) or neighborhood
discovery information.
Cross-layer operation 'crossLayer(3)' -
SMF operates using neighborhood
status and triggers from a
cross-layer information base for dynamic relay
set selection and maintenance.
IANA MUST update this Textual Convention accordingly.
The definition of this Textual Convention with the
addition of newly assigned values is updated
periodically by the IANA, in the
IANA-maintained registries. (The
latest arrangements can be obtained by contacting the
IANA.)
Requests for new values SHOULD be made to IANA via
email (iana@iana.org)."
REFERENCE
"See Section 7.2 'Reduced Relay Set Forwarding',
and the Appendices A, B, and C in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012."
SYNTAX INTEGER {
independent (1),
routing (2),
crossLayer (3)
-- future (4-255)
}
IANAsmfRssaIdTC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An index that identifies through reference to specific
RSSAs. Several are currently defined
in the Appendices A, B, and C of RFC 6621.
Examples of RSSAs already identified within
this Textual Convention (TC) are:
Classical Flooding (cF(1)) - is the standard
flooding algorithm where each node in the next
retransmits the information on each of its interfaces.
Source-Based Multipoint Relay (sMPR(2)) -
this algorithm is used by Optimized Link State Routing
(OLSR) and OLSR version 2 (OLSRv2) protocols for the
relay of link state updates and other control
information (RFC 3626, RFC 7181). Since each router
picks its neighboring relays independently, sMPR
forwarders depend upon previous hop information
(e.g., source Media Access Control (MAC) address) to
operate correctly.
Essential Connected Dominating Set (eCDS(3)) -
defined in RFC 5614, this algorithm forms a single
CDS mesh for the SMF operating region. Its
packet-forwarding rules are not dependent upon
previous hop knowledge in contrast to sMPR.
Multipoint Relay Connected Dominating Set (mprCDS(4)) -
This algorithm is an extension to the basic sMPR
election algorithm that results in a shared
(non-source-specific) SMF CDS. Thus, its forwarding
rules are not dependent upon previous hop information,
similar to eCDS.
IANA MUST update this Textual Convention accordingly.
The definition of this Textual Convention with the
addition of newly assigned values is updated
periodically by the IANA, in the
IANA-maintained registries. (The
latest arrangements can be obtained by contacting the
IANA.)
Requests for new values SHOULD be made to IANA via
email (iana@iana.org)."
REFERENCE
"For example, see:
Section 8.1.1. 'SMF Message TLV Type' and the Appendices
A, B, and C in
RFC 6621 - 'Simplified Multicast Forwarding',
Macker, J., Ed., May 2012.
RFC 3626 - Clausen, T., Ed., and P. Jacquet, Ed., 'Optimized
Link State Routing Protocol (OLSR)', October 2003.
RFC 5614 - Ogier, R. and P. Spagnolo, 'Mobile Ad Hoc
Network (MANET) Extension of OSPF Using Connected
Dominating Set (CDS) Flooding', August 2009.
RFC 7181 - Clausen, T., Dearlove, C., Jacquet, P., and
U. Herberg, 'The Optimized Link State Routing Protocol
Version 2', April 2014."
SYNTAX INTEGER {
cF(1),
sMPR(2),
eCDS(3),
mprCDS(4)
-- future(5-127)
-- noStdAction(128-239)
-- experimental(240-255)
}
END
9. Security Considerations ๐๐
okay bestie, this section is the "please don't break the network" section and it is SERIOUS but also kind of fascinating ๐ญ๐ซถ the MIB has a bunch of objects you can read AND write, and writing them without proper protection can totally mess up network operations. so let's go through the spicy ones ๐
- smfCfgAdminStatus ๐ธ: this writable config object controls whether the SMF process is on or off. if it's set inconsistently across the MANET multicast domain, multicast data delivery can get inconsistent, and some nodes might not receive multicast data meant for them. not it! ๐ โโ๏ธ
- smfCfgRouterIDAddrType and smfCfgRouterID ๐: these define the ID of the SMF process. they should be set to a routable address on the local SMF device. the smfCfgRouterID is a logical identification that MUST be configured as unique across interoperating SMF neighborhoods, and it is RECOMMENDED to be chosen as the numerically largest address contained in a node's
'Neighbor Address List' as defined in NHDP. a smfCfgRouterID MUST be unique within the scope of the operating MANET network regardless of the method used for selecting it. if these get misconfigured or set inconsistently across the MANET, RSSAs like eCDS can get compromised, and some routers might not receive multicast packets destined for them. so messing with these on purpose could be a Denial-of-Service (DoS) attack on the MANET ๐จ๐
- smfCfgOpMode ๐ง : this writable config object defines the operational mode of the SMF process, aka how it gets the data it uses to build its local estimate of the CDS. it is recommended that this be set consistently across the MANET so multicast forwarding works properly. if it's inconsistent, multicast delivery can get compromised. intentionally misconfiguring it could pose a DoS attack against the MANET ๐ค
- smfCfgRssa ๐ฏ: this writable config object sets the specific RSSA for the SMF process. if it's inconsistent across the MANET domain, multicast delivery will likely fail. so again, deliberately messing with it could be a DoS attack on the MANET ๐
- smfCfgRssaMember ๐โโ๏ธ: this writable config object sets the local SMF node's "interest" in participating in the CDS. setting it to 'never(3)' on a highly connected device could lead to frequent island formation ๐๏ธ. setting it to 'always(2)' could support data ex-filtration from the MANET domain ๐ yikes
- smfCfgIpv4Dpd ๐: this writable config object sets the duplicate packet detection method (H-DPD or I-DPD) for forwarding IPv4 multicast packets. forwarders may operate with mixed H-DPD and I-DPD modes as long as they consistently perform the appropriate DPD routines outlined in [RFC6621]. however, it is RECOMMENDED that a deployment be configured with a common mode for operational consistency โจ
- smfCfgIpv6Dpd ๐: this writable config object sets the duplicate packet detection method for forwarding IPv6 multicast packets. since IPv6 SMF does specify an option header, the interoperability constraints are not as loose as in the IPv4 version, so forwarders SHOULD NOT operate with mixed H-DPD and I-DPD modes. the value for this object SHOULD be set consistently within the forwarders comprising the MANET, or else inconsistent forwarding may result in unnecessary multicast packet dropping ๐๏ธ
- smfCfgMaxPktLifetime โณ: this writable config object sets the estimate of the network packet traversal time. if it's set too small, multicast data delivery ratios can tank across the MANET domain ๐. setting it too small could also serve as a form of DoS attack ๐ฌ
- smfCfgDpdEntryMaxLifetime ๐๏ธ: this writable config object sets the maximum lifetime (in seconds) for cached DPD records for the combined IPv4 and IPv6 methods. if memory is running low before MaxLifetime is exceeded, the local SMF devices should purge the oldest records first. if this value is set too small, the SMF DPD algorithms can get way less effective, causing a higher than necessary packet load on the MANET ๐ฆ๐ฆ
- smfCfgNhdpRssaMesgTLVIncluded ๐จ: this writable config object indicates whether the associated NHDP messages include the RSSA Message TLV. it is highly RECOMMENDED that this be set to 'true(1)' when the SMF operation mode is independent, because this info tells the local forwarder which RSSA neighboring forwarders are using, and it's used to keep forwarding consistent across the MANET ๐ซถ. SMF neighbors MAY be configured differently with respect to the RSSA and still operate cooperatively, but how well that works depends on the algorithm types designated, and this situation SHOULD be avoided ๐
- smfCfgNhdpRssaAddrBlockTLVIncluded ๐งฉ: this writable config object indicates whether the associated NHDP messages include the RSSA Address Block TLV. the smfNhdpRssaAddrBlockTLVIncluded is optional in all cases, since it depends on whether an address block exists that may not be present. if this SMF device is configured with NHDP, this object should be set to 'true(1)', because this TLV lets CDS relay algorithm operation and configuration get shared among 2-hop neighborhoods. some relay algorithms need 2-hop neighbor configuration to correctly select relay sets ๐
- smfCfgAddrForwardingTable ๐: the writable config objects in this table indicate which multicast IP addresses are to be forwarded by this SMF node. misconfiguring rows here can limit this SMF device's ability to forward multicast data properly ๐ง
- smfCfgInterfaceTable ๐: the writable config objects in this table indicate which SMF node interfaces participate in the SMF packet forwarding process. misconfiguring rows here can also limit this device's ability to forward multicast data properly ๐
Now the readable stuff ๐ Some of the readable objects in this MIB (anything with a MAX-ACCESS other than not-accessible) may be sensitive or vulnerable in some environments. so it's important to control even GET and/or NOTIFY access to them, and maybe even encrypt their values when sending them over the network via SNMP ๐โจ here are the spicy readable ones:
- smfNodeRsStatusIncluded ๐ต๏ธโโ๏ธ: this readable state object indicates whether this SMF node is part of the CDS. being in the CDS makes the node a distinguished device, which could be exploited for data ex-filtration or DoS attacks ๐ฑ
- smfStateNeighborTable ๐บ๏ธ: the readable state objects in this table indicate current neighbor nodes of this SMF node. exposing this to an attacker could make it way easier for them to access the larger MANET domain ๐โโ๏ธ๐จ
The rest of the objects in the SMF-MIB are performance counter objects. they show how active the SMF process is on this node, but exposing these values isn't expected to pose a security risk to the MANET network ๐๐
Now the SNMP versions part ๐ฅบ SNMP versions prior to SNMPv3 did not include adequate security. even if the network itself is secure (like with IPsec), there's still no control over who on that secure network can access and GET/SET (read/change/create/delete) the objects in this MIB ๐ญ
Implementations SHOULD provide the security features described by the SNMPv3 framework (see [RFC3410]), and implementations claiming compliance with the SNMPv3 standard MUST include full support for authentication and privacy via the User-based Security Model (USM) [RFC3414] with the AES cipher algorithm [RFC3826]. implementations MAY also support the Transport Security Model (TSM) [RFC5591] in combination with a secure transport such as SSH [RFC5592] or TLS/DTLS [RFC6353] โจ๐
further, deploying SNMP versions prior to SNMPv3 is NOT RECOMMENDED. instead, it is RECOMMENDED to deploy SNMPv3 and enable cryptographic security ๐ it is then a customer/operator responsibility to make sure the SNMP entity giving access to an instance of this MIB is properly configured, so only principals (users) with legitimate rights can GET or SET (change/create/delete) the objects ๐ซก๐
10. Applicability Statement ๐
okay so this section is the "how do people actually USE this thing" part, and it's giving real-world MANET drama ๐๐จ. This document describes objects for configuring parameters of the Simplified Multicast Forwarding [RFC6621] process on a Mobile Ad Hoc Network (MANET) router. The MIB module, called SMF-MIB, also reports state and performance information and notifications โจ. Here we show some examples of how this MIB module can be used in MANET deployments. A bigger conversation about MANET management use cases and challenges is out of scope for this doc, so we're keeping it focused ๐.
SMF lets MANET routers forward IPv4 and IPv6 packets over the MANET and cover the MANET nodes by automatically finding efficient estimates of the Minimum Connected Dominating Set (MCDS) of nodes within the MANET ๐ฆ. The MCDS gets estimated using the Relay Set Selection Algorithms (RSSAs) discussed in this document. Three scenarios where this MIB module is useful:
- Parking Lot Initial Configuration Situation ๐ ฟ๏ธ - it's super common for the vehicles that make up the MANET to be deployed forward to a remote spot, like a natural disaster site, and then offloaded in a parking lot where the networking devices get their initial configuration. The config is loaded into the devices from a fixed-location Network Operations Center (NOC) at the parking lot, and the vehicles stay stationary while the changes happen. Standards-based methods for configuration management from that co-located NOC are necessary for this option. The interesting configuration objects for the SMF process are listed in this MIB module ๐ .
- Mobile Vehicles with Low Bandwidth Satellite Link to a Fixed NOC ๐ฐ๏ธ - the vehicles carry MANET routers with multiple wireless interfaces, and one of them is a relatively low-bandwidth on-the-move satellite connection linking a fixed NOC to the MANET nodes. Standards-based methods for monitoring and fault management from the fixed NOC are necessary for this option ๐.
- Fixed NOC and Mobile Local Manager in Larger Vehicles ๐ - for bigger vehicles, a hierarchical network management setup is useful. Centralized management happens from a fixed NOC, while local management happens inside the vehicles. Standards-based methods for configuration, monitoring, and fault management are necessary for this option ๐.
Here's an example of the simplest configuration for getting a working multicast forwarding capability in a MANET ๐ง. This discussion only identifies the configuration needed through the SMF-MIB module, and it assumes that other configuration has already happened. Say the MANET only supports IPv4 addressing, and the MANET nodes are being configured in the Parking Lot Initialization case from above. Then the SMF-MIB module defines ten configuration OIDs and two configuration tables: the smfCfgAddrForwardingTable and the smfCfgInterfaceTable. Out of those ten OIDs, all but one (smfCfgRouterID) have DEFVAL clauses, which means they already give you a functional SMF configuration inside the MANET ๐.
The smfCfgRouterIDType defaults to 'ipv4', so smfCfgRouterID can be set like this (assuming the Net-SNMP toolkit is in use),:
snmpset [options] <smfCfgRouterID_OID>.0 a 192.0.2.100
If the smfCfgAddrForwardingTable is left empty, the SMF local forwarder forwards all multicast addresses. So that table doesn't need any configuration if you want the MANET to forward all multicast addresses ๐ซถ.
All that's left is configuring at least one row in the smfCfgInterfaceTable ๐ฅ. Say the node has a wireless interface with an <ifName>='wlan0' and an <ifIndex>='1'. All the objects in the rows of the smfCfgInterfaceTable have a DEFVAL clause, so only the RowStatus object needs to be set. That means the SMF process gets activated on the 'wlan0' interface with this network manager snmpset command:
snmpset [options] <smfCfgIfRowStatus>.1 i active(1)
At this point, the configured forwarder starts a Classical Flooding algorithm to forward every multicast address IPv4 packet it receives ๐ธ.
For more efficient multicast forwarding within the MANET, the network manager can walk the smfCapabilitiesTable to find other SMF Operational Modes, like this:
snmpwalk [options] <smfCapabilitiesTable>
SMF-MIB::smfCapabilitiesIndex.1 = INTEGER: 1
SMF-MIB::smfCapabilitiesIndex.2 = INTEGER: 2
SMF-MIB::smfCapabilitiesOpModeID.1 = INTEGER: cfOnly(1)
SMF-MIB::smfCapabilitiesOpModeiD.2 = INTEGER: independent(2)
SMF-MIB::smfCapabilitiesRssaID.1 = INTEGER: cF(1)
SMF-MIB::smfCapabilitiesRssaID.2 = INTEGER: eCDS(3)
In this example, the forwarding device also supports the Essential Connected Dominating Set (eCDS) RSSA, with the forwarder in the 'independent(2)' operational mode ๐ฆ. If the network manager then issues an snmpset like this:
snmpset [options] <smfCfgOperationalMode>.0 i 2
the local forwarder switches its forwarding behavior from Classical Flooding to the more efficient eCDS flooding ๐โจ.
11. IANA Considerations ๐
okay so IANA has a few jobs here ๐งพ. This document defines two MIB modules:
- SMF-MIB is defined in Section 7 and is an experimental MIB module ๐งช.
- IANA-SMF-MIB is defined in Section 8 and is an IANA MIB module that IANA maintains ๐๏ธ.
So, IANA has completed three actions ๐ :
IANA has allocated an OBJECT IDENTIFIER value and recorded it in the SMI Numbers registry, in the subregistry called "SMI Experimental Codes", under the experimental branch (1.3.6.1.3) ๐:
Decimal | Name | Description | Reference
--------+---------+---------------+------------
126 | smfMib | SMF-MIB | [RFC7367]
IANA has also allocated an OBJECT IDENTIFIER value and recorded it in the SMI Numbers registry, in the subregistry called "SMI Network Management MGMT Codes Internet-standard MIB", under the mib-2 branch (1.3.6.1.2.1) ๐:
Decimal | Name | Description | Reference
--------+---------------+-----------------+------------
225 | ianaSmfMIB | IANA-SMF-MIB | [RFC7367]
IANA maintains a MIB module called ianaSmfMIB and has populated it with the initial MIB module defined in Section 8 of this document ๐ฆ. It did that by creating a new entry in the registry "IANA Maintained MIBs" called "IANA-SMF-MIB" โจ.
12. References ๐ซง
12.1. Normative References ๐
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999,
<http://www.rfc-editor.org/info/rfc2578>.
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD
58, RFC 2579, April 1999,
<http://www.rfc-editor.org/info/rfc2579>.
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
"Conformance Statements for SMIv2", STD 58, RFC 2580,
April 1999, <http://www.rfc-editor.org/info/rfc2580>.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group
MIB", RFC 2863, June 2000,
<http://www.rfc-editor.org/info/rfc2863>.
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction and Applicability Statements for Internet-
Standard Management Framework", RFC 3410, December 2002,
<http://www.rfc-editor.org/info/rfc3410>.
[RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing Simple Network Management
Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
December 2002, <http://www.rfc-editor.org/info/rfc3411>.
[RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model
(USM) for version 3 of the Simple Network Management
Protocol (SNMPv3)", STD 62, RFC 3414, December 2002,
<http://www.rfc-editor.org/info/rfc3414>.
[RFC3418] Presuhn, R., "Management Information Base (MIB) for the
Simple Network Management Protocol (SNMP)", STD 62, RFC
3418, December 2002,
<http://www.rfc-editor.org/info/rfc3418>.
[RFC3626] Clausen, T. and P. Jacquet, "Optimized Link State Routing
Protocol (OLSR)", RFC 3626, October 2003,
<http://www.rfc-editor.org/info/rfc3626>.
[RFC3826] Blumenthal, U., Maino, F., and K. McCloghrie, "The
Advanced Encryption Standard (AES) Cipher Algorithm in the
SNMP User-based Security Model", RFC 3826, June 2004,
<http://www.rfc-editor.org/info/rfc3826>.
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J.
Schoenwaelder, "Textual Conventions for Internet Network
Addresses", RFC 4001, February 2005,
<http://www.rfc-editor.org/info/rfc4001>.
[RFC5591] Harrington, D. and W. Hardaker, "Transport Security Model
for the Simple Network Management Protocol (SNMP)", STD
78, RFC 5591, June 2009,
<http://www.rfc-editor.org/info/rfc5591>.
[RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure
Shell Transport Model for the Simple Network Management
Protocol (SNMP)", RFC 5592, June 2009,
<http://www.rfc-editor.org/info/rfc5592>.
[RFC5614] Ogier, R. and P. Spagnolo, "Mobile Ad Hoc Network (MANET)
Extension of OSPF Using Connected Dominating Set (CDS)
Flooding", RFC 5614, August 2009,
<http://www.rfc-editor.org/info/rfc5614>.
[RFC5742] Alvestrand, H. and R. Housley, "IESG Procedures for
Handling of Independent and IRTF Stream Submissions", BCP
92, RFC 5742, December 2009,
<http://www.rfc-editor.org/info/rfc5742>.
[RFC6353] Hardaker, W., "Transport Layer Security (TLS) Transport
Model for the Simple Network Management Protocol (SNMP)",
STD 78, RFC 6353, July 2011,
<http://www.rfc-editor.org/info/rfc6353>.
[RFC6621] Macker, J., "Simplified Multicast Forwarding", RFC 6621,
May 2012, <http://www.rfc-editor.org/info/rfc6621>.
[RFC7181] Clausen, T., Dearlove, C., Jacquet, P., and U. Herberg,
"The Optimized Link State Routing Protocol Version 2", RFC
7181, April 2014,
<http://www.rfc-editor.org/info/rfc7181>.
12.2. Informative References ๐ท
[RFC4293] Routhier, S., "Management Information Base for the
Internet Protocol (IP)", RFC 4293, April 2006,
<http://www.rfc-editor.org/info/rfc4293>.
[RFC5132] McWalter, D., Thaler, D., and A. Kessler, "IP Multicast
MIB", RFC 5132, December 2007,
<http://www.rfc-editor.org/info/rfc5132>.
Acknowledgements โจ
Okay bestie, the authors gave some serious shoutouts ๐ซถ First, a huge thank you to Sean Harnedy ๐ for his valuable comments in the early phases of building this MIB module. Then they thanked Adrian Farrel, Dan Romascanu, Juergen Shoenwaelder, Stephen Hanna, and Brian Haberman ๐ for reviewing the document so carefully and leaving insightful comments. The entire MANET WG gets a shoutout too ๐ฆ for all of their reviews.
James Nguyen is iconic ๐ for his careful review and comments on this MIB module, and for his work on the follow-on MIB modules that configure specific RSSAs related to SMF. And the authors also gave a major shoutout to James Nguyen, Brian Little, Ryan Morgan, and Justin Dean ๐ฅ for their software development of the SMF-MIB. Literally the whole team ate ๐
Contributors
This MIB document uses the template written by D. Harrington. That template is based on contributions from the MIB Doctors, especially Juergen Schoenwaelder, Dave Perkins, C.M. Heard, and Randy Presuhn ๐ง๐
Authors' Addresses
Here's who wrote it, with their contact info ๐ธ
Robert G. Cole
US Army CERDEC
6010 Frankford Road
Aberdeen Proving Ground, Maryland 21005
United States
Phone: +1 443 395 8744
EMail: robert.g.cole@us.army.mil
Joseph Macker
Naval Research Laboratory
Washington, D.C. 20375
United States
EMail: macker@itd.nrl.navy.mil
Brian Adamson
Naval Research Laboratory
Washington, D.C. 20375
United States
EMail: adamson@itd.nrl.navy.mil
๐ฆ where this page comes from
- ietf: rfc7367 2014-10
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms