Bundled base MIBs¶
Warning
This page is generated by scripts/update_bundled_mibs.py. Edit the
manifest, pysmi/mibs/bundled_mibs.json, not this file.
pysmi carries 210 MIB modules of its own, in pysmi/mibs/asn1/. They are
a source, not a fallback: they are registered ahead of the sources a caller
configures, and a caller’s own copy wins only by carrying a newer
MODULE-IDENTITY revision – not merely by being the caller’s. See
The mibdump tool for --prefer-mib-source and --no-bundled-mibs, which
override that outright.
A further 275 modules are held rather than carried, in
pysmi/mibs/future/. They are listed under Held, not carried at the
foot of this page, and everything the rest of this page says about
maintenance, freshness and shipping applies to the 210 below and not to
them.
32 of the modules below carry no MODULE-IDENTITY at all, so there is no revision to compare and the bundled copy is the one that gets used. Most are a pre-SMIv2 module or an SMI module proper, whose text was fixed when its RFC was published and cannot be revised except as a new module under a new name – so the copy here cannot go stale under a caller who has a better one. Four are undated for a different reason: ATM-FORUM-MIB and the three LAN-EMULATION modules ship their MODULE-IDENTITY commented out, so they declare none.
Every module below is traceable to the publisher its text came from, named in
the Source column: cut out of the RFC that currently defines it, fetched from
IANA’s registry or the IEEE 802.1 MIB directory, or taken from the publisher
named there. scripts/update_bundled_mibs.py --check re-fetches everything
that has somewhere to re-fetch from and reports anything that no longer
matches. RFC-sourced entries are also checked against the RFC Editor for
obsoletion, since an RFC’s text never changes but a later RFC can replace it.
A Source shown without a link is archived: the publisher is named and real,
but serves no MIB file this script can fetch – CableLabs modules dropped from
the live directory, the ATM Forum set, IEEE and TIA modules absent from any
public MIB directory, DMTF and SCTE behind a 403, IEC behind a paywall,
Internet-Drafts whose bundled text matches no archived revision closely enough
to name one. --check stays quiet about those. Five more are maintained
in this repository outright and listed under Modules maintained here.
9 modules carry a patch, listed under Patched modules below, because their published text does not compile as published.
The same modules ship compiled too. A wheel carries pysmi/mibs/pysnmp/,
one pysnmp module per entry below, rendered from the ASN.1 by hatch_build.py
while the wheel is built. A consumer that wants to load a standard module
rather than compile it can point pysnmp straight at the package:
from pysnmp.smi import builder
mibBuilder = builder.MibBuilder()
mibBuilder.addMibSources(builder.ZipMibSource("pysmi.mibs.pysnmp"))
mibBuilder.loadModules("IF-MIB")
Nothing under that directory is in the repository and nothing regenerates it on a schedule: it is built from the ASN.1 beside it every time a distribution is, so the two cannot disagree. The ASN.1 stays because it is what the compiler reads – resolving an IMPORTS clause means parsing the imported module’s source – so the compiled form joins it rather than replacing it.
A handful of those modules state a runtime rule SMIv2 has no syntax to express,
so no code generator can derive it: RFC 4001 section 4 makes the encoding of an
InetAddress index depend on the value of the InetAddressType index
preceding it in the same row, and says so in a DESCRIPTION clause, in prose.
What a compiled module carries is what the ASN.1 says and nothing more. The
Python for such a rule belongs to the runtime that acts on it – pysnmp keeps
it in pysnmp/smi/mibs/behavior/ and applies it as a module loads – because
it is engine policy rather than MIB semantics, and because a defect in it
should not need a pysmi release to fix. See pysnmp/pysmi#243.
Membership is decided by provenance: a module published by a standards body or
a multivendor association, whose text is traceable to that publisher. Whether
the publisher serves it at a fetchable URL is recorded, not required – it
decides whether --check can watch the module, nothing more.
Publication in an RFC is that provenance, and it settles the question by
itself. A module cut out of an RFC is bundled on that ground alone – its
ORGANIZATION clause is not consulted and the arc it roots at is not either, so
SFLOW-MIB under enterprises 14706 and IBM-6611-APPN-MIB under
enterprises 2 are here on the same footing as IF-MIB. The ORGANIZATION
test still decides the modules that reach the bundle from a mirror or a
publisher’s own directory, where nothing else says who published them; it was
never the right question to ask of an RFC.
What an RFC does not settle is whether the module is a specification at all, and four kinds are left out:
An RFC at Experimental status that nothing depends on.
TCPIPX-MIB(RFC 1792),DPI20-MIB(RFC 1592),AGGREGATE-MIBandTIME-AGGREGATE-MIB(RFC 4498),SMF-MIBandIANA-SMF-MIB(RFC 7367) andRSERPOOL-MIB(RFC 5525) are all published, none of them is a standard, and no module in the pysnmp/mibs corpus imports any of them. See Experimental modules the corpus still imports for the ones that are depended on.A module an RFC prints to illustrate something.
COFFEE-POT-MIB(RFC 2325) is an April Fools’ RFC;FIZBIN-MIBis the SMIv2 specification’s own worked example and ends::= { experimental xx }, a placeholder rather than a registration;BLDG-HVAC-MIBis RFC 3512 section 8, headed “Example MIB Module With Template-based Data”. These are deliberately excluded and should not be proposed again.A module that is not SMI.
COPS-PR-SPPI(RFC 3159) defines the Structure of Policy Provisioning Information – the PIB counterpart of SNMPv2-SMI, not a MIB module, and not something an SMI compiler parses.A module written against the 1993 SMI that RFC 2578 cannot satisfy.
SNMPv2-PARTY-MIB(RFC 1447) importsUInteger32from SNMPv2-SMI, a type RFC 1442 defined and RFC 2578 removed;SNMPv2-M2M-MIB(RFC 1451) imports fromSNMPv2-PARTY-MIBin turn. SubstitutingUnsigned32would make them compile by rewriting the specification, which is the one thing a patch here may not do.
Historic is not on that list. An RFC no longer current still published its
module, and sixteen such pins predate this rule – SNMPv2-USEC-MIB,
SNA-NAU-MIB, TOKEN-RING-RMON-MIB and the rest. What retires a module
here is a later RFC that replaced it, which is a different question and the
one Modules pinned to an obsoleted RFC answers.
A module its publisher still revises is bundled – IANA’s registries and the
IEEE 802.1 directory are tracked at whatever they currently publish, not frozen
at a dated file. Freezing would only make staleness undetectable: the whole
point of --check is that a revision upstream gets reported, and a caller
who has the newer copy already outranks the bundle on revision. Where a
publisher serves nothing fetchable that first protection is absent, but the
second is not: a caller’s dated, newer copy still wins.
Experimental modules the corpus still imports¶
Experimental status keeps a module out only while nothing needs it. An Experimental RFC module is bundled, and counts as current, for as long as live vendor modules import symbols it alone defines. The IETF’s process tracks the maturity of a specification; the bundle has to track whether shipping equipment is still managed through one, and those two go out of step whenever a protocol outlives the document that first described it.
PIM-MIB is the case that sets the rule. RFC 2934 is Experimental because
the protocol it manages was: PIM-SM was specified in RFC 2362, also
Experimental, and only reached Proposed Standard in 2006 and Internet Standard
in 2016. A MIB cannot outrank what it manages, so the module was registered
under experimental 61 rather than an mib-2 arc, and its status has
been frozen there ever since. RFC 5060 later published PIM-STD-MIB on the
standards track and says in its own text that it is “to be preferred”, but the
RFC Editor records no Obsoletes relation, and the two share neither symbols nor
OIDs – PIM-STD-MIB roots at mib-2 157 and PIM-BSR-MIB at
mib-2 172, and the bootstrap-router objects were renamed to a pimBsr
prefix. That is a parallel republication, not a supersession, and RFC 2934
remains the only definition of everything under experimental 61.
Four vendor modules still import from it, and seven of the ten symbols they
name – pimRPSetComponent, pimRPSetAddress, pimCandidateRPEntry
and the rest of the RP-set group – exist in neither successor. The one that
settles it is HP-ICF-PIM6: revised October 2017, describing itself as
extensions to RFC 5060, and importing pimRPSetComponent FROM PIM-MIB
while importing nothing from PIM-STD-MIB at all. Dropping RFC 2934 would
break a module newer than the standard that was supposed to replace it.
LISP-MIB (RFC 7052) and MSDP-MIB (RFC 4624) are bundled on the same
ground; the seven Experimental modules left out above have no importer between
them, so the rule divides them cleanly.
The evidence runs one way only. An importer is enough to keep a module; the
absence of one is not a reason to remove a module already bundled, and it is
the wrong question entirely for a framework MIB an operator compiles directly
rather than through a vendor extension – SNMP-USM-DH-OBJECTS-MIB
(RFC 2786) is USM key change, which nothing extends and everything with USM
may want.
Inventory¶
Module |
Source |
Revision |
Patched |
|---|---|---|---|
ACCOUNTING-CONTROL-MIB |
1998-09-28 |
||
ADSL-LINE-MIB |
1999-08-19 |
yes |
|
ADSL-TC-MIB |
1999-08-19 |
||
ALARM-MIB |
2004-09-09 |
||
APPLETALK-MIB |
– |
||
APPLICATION-MIB |
1998-11-17 |
||
APPN-MIB |
1998-07-15 |
||
ATM-FORUM-MIB |
ATM Forum |
– |
|
ATM-FORUM-SNMP-M4-MIB |
ATM Forum |
1998-05-14 |
|
ATM-FORUM-TC-MIB |
ATM Forum |
– |
|
ATM-MIB |
1998-10-19 |
||
ATM-TC-MIB |
1998-10-19 |
||
BFD-STD-MIB |
2014-08-12 |
||
BFD-TC-STD-MIB |
2014-08-12 |
||
BGP4-MIB |
2006-01-11 |
||
BRIDGE-MIB |
2005-09-19 |
||
CLAB-DEF-MIB |
2023-06-01 |
||
CLAB-TOPO-MIB |
2018-11-08 |
||
DIAL-CONTROL-MIB |
1996-09-23 |
||
DIFFSERV-DSCP-TC |
2002-05-09 |
||
DIFFSERV-MIB |
2002-02-07 |
||
DIRECTORY-SERVER-MIB |
1999-06-07 |
||
DISMAN-EVENT-MIB |
2000-10-16 |
||
DISMAN-PING-MIB |
2006-06-13 |
||
DISMAN-SCRIPT-MIB |
2001-08-21 |
||
DLSW-MIB |
1996-06-04 |
||
DNS-RESOLVER-MIB |
1994-01-28 |
||
DNS-SERVER-MIB |
1994-01-28 |
yes |
|
DOCS-CABLE-DEVICE-MIB |
2006-12-20 |
||
DOCS-IETF-BPI2-MIB |
2005-07-20 |
||
DOCS-IF-MIB |
2006-05-24 |
||
DOCS-IF3-MIB |
2026-04-23 |
||
DOT3-OAM-MIB |
2007-06-14 |
||
DS1-MIB |
2007-03-05 |
||
DS3-MIB |
2004-09-08 |
||
DSA-MIB |
1993-11-25 |
yes |
|
DSG-IF-MIB |
2023-11-22 |
||
DTI-MIB |
CableLabs |
2006-06-28 |
|
DVMRP-STD-MIB |
2001-11-21 |
||
ENTITY-MIB |
2013-04-05 |
||
ENTITY-SENSOR-MIB |
2002-12-16 |
||
ENTITY-STATE-MIB |
2005-11-22 |
||
ENTITY-STATE-TC-MIB |
2005-11-22 |
||
EtherLike-MIB |
2003-09-19 |
||
FC-MGMT-MIB |
2005-04-26 |
||
FCMGMT-MIB |
Fibre Alliance |
– |
|
FDDI-SMT73-MIB |
– |
||
FLOAT-TC-MIB |
2011-07-27 |
||
FRAME-RELAY-DTE-MIB |
1997-05-01 |
||
FRNETSERV-MIB |
2000-09-28 |
||
GBOND-MIB |
2013-02-20 |
||
GMPLS-TC-STD-MIB |
2007-02-28 |
||
HC-PerfHist-TC-MIB |
2004-02-03 |
||
HC-RMON-MIB |
2002-05-08 |
||
HCNUM-TC |
2000-06-08 |
||
HDSL2-SHDSL-LINE-MIB |
2005-12-07 |
||
HOST-RESOURCES-MIB |
1999-10-20 |
||
HPR-MIB |
1997-05-14 |
yes |
|
IANA-ADDRESS-FAMILY-NUMBERS-MIB |
1999-08-26 |
||
IANA-BFD-TC-STD-MIB |
2025-11-25 |
||
IANA-ENTITY-MIB |
2015-07-16 |
||
IANA-GBOND-TC-MIB |
2017-06-23 |
||
IANA-GMPLS-TC-MIB |
2015-11-04 |
||
IANA-ITU-ALARM-TC-MIB |
2014-05-22 |
||
IANA-MAU-MIB |
2026-07-15 |
||
IANA-PWE3-MIB |
2009-06-11 |
||
IANA-RTPROTO-MIB |
2016-04-25 |
||
IANAifType-MIB |
2026-03-17 |
||
IBM-6611-APPN-MIB |
– |
||
IEEE-802DOT17-RPR-MIB |
IEEE 802.17 |
2004-04-21 |
|
IEEE8021-BRIDGE-MIB |
2022-11-08 |
||
IEEE8021-CFM-MIB |
2022-11-08 |
||
IEEE8021-CFMD8-MIB |
IEEE 802.1 |
2007-01-24 |
|
IEEE8021-EVBB-MIB |
IEEE 802.1 |
2010-10-25 |
|
IEEE8021-PAE-MIB |
2004-06-22 |
||
IEEE8021-Q-BRIDGE-MIB |
2022-11-08 |
||
IEEE8021-SECY-MIB |
2022-06-06 |
||
IEEE8021-SPB-MIB |
2022-11-08 |
||
IEEE8021-TC-MIB |
2022-11-08 |
||
IEEE802171-CFM-MIB |
IEEE 802.1 |
2006-11-04 |
|
IEEE8021X-PAE-MIB |
2020-02-18 |
||
IEEE8023-LAG-MIB |
2016-10-12 |
||
IEEE802dot11-MIB |
IEEE 802.11 |
2002-08-30 |
|
IF-MIB |
2000-06-14 |
||
IGMP-STD-MIB |
2000-09-28 |
||
IMA-MIB |
ATM Forum |
1999-02-11 |
|
INET-ADDRESS-MIB |
2005-02-04 |
||
INTEGRATED-SERVICES-MIB |
1995-11-03 |
yes |
|
INTERFACETOPN-MIB |
2001-03-27 |
||
IP-FORWARD-MIB |
2006-02-01 |
||
IP-MIB |
2006-02-02 |
||
IPMROUTE-STD-MIB |
2000-09-22 |
||
IPSEC-ISAKMP-IKE-DOI-TC |
1999-10-15 |
||
IPV6-FLOW-LABEL-MIB |
2003-08-28 |
||
IPV6-MIB |
1998-02-05 |
||
IPV6-MLD-MIB |
2001-01-25 |
||
IPV6-TC |
– |
||
ISCSI-MIB |
2014-02-18 |
||
ISDN-MIB |
1996-09-23 |
||
ISIS-MIB |
2006-04-04 |
||
ITU-ALARM-TC-MIB |
2004-09-09 |
||
LAN-EMULATION-BUS-MIB |
ATM Forum |
– |
|
LAN-EMULATION-CLIENT-MIB |
ATM Forum |
1995-05-10 |
|
LAN-EMULATION-ELAN-MIB |
ATM Forum |
– |
|
LAN-EMULATION-LES-MIB |
ATM Forum |
– |
|
LISP-MIB |
2013-10-21 |
||
LLDP-EXT-DOT1-V2-MIB |
2018-06-21 |
||
LLDP-EXT-HM-MIB |
Hirschmann Automation & Control |
2008-09-12 |
|
LLDP-EXT-MED-MIB |
TIA |
2005-07-28 |
|
LLDP-MIB |
2005-05-06 |
||
LLDP-V2-MIB |
2016-03-11 |
||
LLDP-V2-TC-MIB |
2016-03-11 |
||
MAU-MIB |
2007-04-21 |
||
MGMD-STD-MIB |
2009-03-30 |
||
MIP-MIB |
1996-06-04 |
yes |
|
MPLS-L3VPN-STD-MIB |
2006-01-23 |
||
MPLS-LDP-STD-MIB |
2004-06-03 |
||
MPLS-LSR-MIB |
IETF Internet-Draft |
2000-04-26 |
|
MPLS-LSR-STD-MIB |
2004-06-03 |
||
MPLS-TC-EXT-STD-MIB |
2015-02-02 |
||
MPLS-TC-STD-MIB |
2004-06-03 |
||
MPLS-TE-MIB |
IETF Internet-Draft |
2000-11-21 |
|
MPLS-TE-STD-MIB |
2004-06-03 |
||
MPLS-VPN-MIB |
2001-10-15 |
||
MPOA-MIB |
ATM Forum |
1998-11-09 |
|
MSDP-MIB |
2006-08-01 |
||
NAT-MIB |
2015-10-02 |
||
NETWORK-SERVICES-MIB |
2000-03-03 |
||
NHRP-MIB |
1999-08-26 |
||
OSPF-MIB |
2006-11-10 |
||
OSPFV3-MIB |
2009-08-13 |
||
P-BRIDGE-MIB |
2006-01-09 |
||
PIM-BSR-MIB |
2008-05-28 |
||
PIM-MIB |
2000-09-28 |
||
PIM-STD-MIB |
2007-11-02 |
||
PNNI-MIB |
ATM Forum |
1997-03-01 |
|
POWER-ETHERNET-MIB |
2003-11-24 |
||
PTOPO-MIB |
2000-09-21 |
||
PW-STD-MIB |
2009-06-11 |
||
PW-TC-STD-MIB |
2009-04-21 |
||
PerfHist-TC-MIB |
2003-08-13 |
||
Q-BRIDGE-MIB |
2006-01-09 |
||
RADIUS-ACC-CLIENT-MIB |
2006-08-21 |
||
RADIUS-AUTH-CLIENT-MIB |
2006-08-21 |
||
RADIUS-DYNAUTH-SERVER-MIB |
2006-08-29 |
||
RDBMS-MIB |
1994-06-15 |
yes |
|
RFC-1212 |
maintained here |
– |
|
RFC-1215 |
maintained here |
– |
|
RFC1065-SMI |
– |
||
RFC1155-SMI |
– |
||
RFC1158-MIB |
– |
||
RFC1213-MIB |
– |
||
RFC1269-MIB |
– |
||
RFC1271-MIB |
– |
||
RFC1284-MIB |
– |
||
RFC1315-MIB |
– |
yes |
|
RFC1353-MIB |
– |
||
RFC1381-MIB |
– |
||
RFC1382-MIB |
– |
||
RFC1389-MIB |
– |
||
RFC1406-MIB |
– |
||
RIPv2-MIB |
1994-07-27 |
||
RMON-MIB |
2000-05-11 |
||
RMON2-MIB |
2006-05-02 |
||
RSVP-MIB |
1995-11-03 |
||
SFLOW-MIB |
2003-10-18 |
||
SMON-MIB |
1998-12-16 |
||
SNA-NAU-MIB |
1994-05-12 |
||
SNA-SDLC-MIB |
1994-11-15 |
||
SNMP-COMMUNITY-MIB |
2003-08-06 |
||
SNMP-FRAMEWORK-MIB |
2002-10-14 |
||
SNMP-MPD-MIB |
2002-10-14 |
||
SNMP-NOTIFICATION-MIB |
2002-10-14 |
||
SNMP-PROXY-MIB |
2002-10-14 |
||
SNMP-REPEATER-MIB |
1996-09-14 |
||
SNMP-TARGET-MIB |
2002-10-14 |
||
SNMP-USER-BASED-SM-MIB |
2002-10-16 |
||
SNMP-USM-AES-MIB |
2004-06-14 |
||
SNMP-USM-DH-OBJECTS-MIB |
2000-03-06 |
||
SNMP-USM-HMAC-SHA2-MIB |
2016-04-18 |
||
SNMP-VIEW-BASED-ACM-MIB |
2002-10-16 |
||
SNMPv2-CONF |
– |
||
SNMPv2-CONF-v1 |
maintained here |
– |
|
SNMPv2-MIB |
2002-10-16 |
||
SNMPv2-SMI |
– |
||
SNMPv2-SMI-v1 |
maintained here |
– |
|
SNMPv2-TC |
– |
||
SNMPv2-TC-v1 |
maintained here |
– |
|
SNMPv2-TM |
2002-10-16 |
||
SNMPv2-USEC-MIB |
1996-01-12 |
||
SONET-MIB |
2003-08-11 |
||
SYSAPPL-MIB |
1997-10-20 |
||
SYSLOG-TC-MIB |
2009-03-30 |
||
T11-FC-FABRIC-ADDR-MGR-MIB |
2006-03-02 |
||
T11-FC-NAME-SERVER-MIB |
2006-03-02 |
||
T11-FC-ZONE-SERVER-MIB |
2007-06-27 |
||
T11-TC-MIB |
2006-03-02 |
||
TCP-MIB |
1994-11-01 |
||
TOKEN-RING-RMON-MIB |
– |
||
TRANSPORT-ADDRESS-MIB |
2002-11-01 |
||
TUNNEL-MIB |
2005-05-16 |
||
UDP-MIB |
2005-05-20 |
||
UPS-MIB |
1994-02-23 |
yes |
|
UUID-TC-MIB |
2013-04-05 |
||
VDSL-LINE-MIB |
2004-02-19 |
||
VDSL2-LINE-MIB |
2009-09-30 |
||
VDSL2-LINE-TC-MIB |
2009-09-30 |
||
VPN-TC-STD-MIB |
2005-11-15 |
||
VRRP-MIB |
2000-03-03 |
||
VRRPV3-MIB |
2012-02-13 |
Patched modules¶
The published text of these modules does not compile. Each is stored here as
its publisher printed it, with the repair kept beside it as a unified diff in
scripts/mib-patches/ – so a refresh diffs against the publisher and what
pysmi changes stays visible as a diff of its own.
The repairs are applied when a distribution is built, to both the ASN.1 an
install carries and the pysnmp modules rendered from it. PySMI does not patch
anything at read time: a source is read exactly as it stands, so a caller
pointing --mib-source at their own copy of one of these compiles the defect
along with it. Patch your own copies before PySMI sees them, or rebuild PySMI
from source with your own diffs in that directory – the distribution is the
opinion, and a different opinion is a different build. A patch whose context has
moved makes the refresh fail rather than silently fuzzing. The defect each one
repairs:
ADSL-LINE-MIBRFC 2662 carries a truncated
MIN-ACCESS read-wrline, orphaned in the published text.DNS-SERVER-MIBRFC 1611 imports from
RFC-1213, a module name nothing publishes, and gives INTEGER objects octet-count DISPLAY-HINTs.DSA-MIBRFC 1567 uses OBJECT-GROUP and MODULE-COMPLIANCE without importing them, and imports applIndex and DistinguishedName
FROM APPLICATION-MIB– the name RFC 1565 gave the Network Services Monitoring MIB, which RFC 2788 renamed NETWORK-SERVICES-MIB and which is bundled under that name. The APPLICATION-MIB bundled here is RFC 2564’s unrelated Application Management MIB and defines neither symbol.HPR-MIBRFC 2238 gives LAST-UPDATED a 12-digit value that is neither form RFC 2578 allows, and one comment line lost its leading
--.INTEGRATED-SERVICES-MIBRFC 2213 puts DISPLAY-HINT “d” on Port, whose SYNTAX is OCTET STRING; RFC 2579 section 3.1 allows that format only for an integer. Its missing TestAndIncr import is supplied by repairImports rather than here.
MIP-MIBRFC 2006 gives a plain object accessible-for-notify and declares mipSecNotifcationsGroup where its MODULE-COMPLIANCE names mipSecNotificationsGroup. Its missing mib-2, Unsigned32 and NOTIFICATION-GROUP imports are supplied by repairImports rather than here.
RDBMS-MIBRFC 1697 uses OBJECT-GROUP and MODULE-COMPLIANCE without importing them, and imports applIndex and applGroup
FROM APPLICATION-MIB– the name RFC 1565 gave the Network Services Monitoring MIB. RFC 2788 renamed that module NETWORK-SERVICES-MIB and renamed RFC 1565’s applGroup to applRFC1565Group, whose DESCRIPTION names it as that original set; the MODULE clause of rdbmsCompliance is renamed with the IMPORTS.RFC1315-MIBRFC 1315 imports TimeTicks
FROM RFC-1155, a module name nothing publishes; the same IMPORTS clause spells RFC1213-MIB correctly.UPS-MIBRFC 1628 bounds two objects at 2147483648, one past the top of Integer32; Erratum 3276. Its missing mib-2 and TEXTUAL-CONVENTION imports are supplied by repairImports rather than here.
Modules maintained here¶
These five have no publisher to fetch from, so --check skips them and the
copy in this repository is the only one. That is admissible because none of
them has an upstream to fall behind: two are macros an RFC defined in prose
without ever shipping ASN.1, and three are a 1994 tool’s SNMPv1 rendering of
SMIv2 base modules that the SMIv2 RFCs went on to obsolete. Nothing will revise
any of them. Why each is here:
RFC-1212RFC 1212 defines the OBJECT-TYPE macro in prose, not as an ASN.1 module; no publisher ships one, so this compat module is maintained here.
RFC-1215RFC 1215 defines the TRAP-TYPE macro in prose, not as an ASN.1 module; no publisher ships one, so this compat module is maintained here.
SNMPv2-CONF-v1SMIC’s 1994 SNMPv1 rendering of RFC 1444’s conformance macros, which have no SNMPv1 equivalent – so the module is empty and defines nothing. Bundled because SMIC-converted MIBs name it in their IMPORTS and no publisher ships it under its own name; the mirror carries it only inside SNMPv2-TC-v1, where nothing looking for it by module name can find it.
SNMPv2-SMI-v1SMIC’s 1994 SNMPv1 rendering of RFC 1442’s SMI, which RFC 1902 and then RFC 2578 obsoleted; no publisher ships it, so this compat module is maintained here.
SNMPv2-TC-v1SMIC’s 1994 SNMPv1 rendering of RFC 1443’s textual conventions, which RFC 1903 and then RFC 2579 obsoleted; no publisher ships it, so this compat module is maintained here. The mirror serves it concatenated with SNMPv2-CONF-v1, which is bundled as its own file so that each file here holds exactly one module.
Modules pinned to an obsoleted RFC¶
An obsoleted RFC is not on its own a stale pin. For these modules the successor
RFC publishes the replacement under a different module name, so the pinned
RFC is the only one that ever defined the module named here and pinning it
there is the only thing that can be right. Each successor below has been looked
at and recorded in the manifest, so --check does not report it again – a
successor nobody has looked at yet still is.
Two of them were not replaced by one module. RFC 1213’s MIB-II, and RFC 1158’s
before it, were split up: system and snmp went to SNMPv2-MIB,
interfaces to IF-MIB, at, ip and icmp to IP-MIB, tcp
to TCP-MIB, udp to UDP-MIB, while egp and transmission were
left with no successor to name. Their manifest entries carry that split as a
per-subtree map, and pysmi.mibs.successor_for() answers from it – so a
caller holding an OID an old agent reported can be told which module defines it
now, rather than only that the module it came from is gone.
DSA-MIBobsoleted by RFC 2605, which publishes
DIRECTORY-SERVER-MIB.IGMP-STD-MIBobsoleted by RFC 5519, which publishes
MGMD-STD-MIB.IPMROUTE-STD-MIBobsoleted by RFC 5132, which publishes
IPMCAST-MIB.IPV6-MLD-MIBobsoleted by RFC 5519, which publishes
MGMD-STD-MIB.RFC1065-SMIobsoleted by RFC 1155, which publishes
RFC1155-SMI.RFC1158-MIBobsoleted by RFC 1213, which publishes
RFC1213-MIB.RFC1269-MIBobsoleted by RFC 4273, which publishes
BGP4-MIB.RFC1271-MIBobsoleted by RFC 1757, which publishes
RMON-MIB.RFC1284-MIBobsoleted by RFC 1398, which publishes
RFC1398-MIB.RFC1315-MIBobsoleted by RFC 2115, which publishes
FRAME-RELAY-DTE-MIB.RFC1389-MIBobsoleted by RFC 1724, which publishes
RIPv2-MIB.RFC1406-MIBobsoleted by RFC 2495, which publishes
DS1-MIB.VRRP-MIBobsoleted by RFC 6527, which publishes
VRRPV3-MIB.
Held, not carried¶
These 275 modules sit in pysmi/mibs/future/ in the repository. Their
provenance is the same as any module above – each has a manifest entry naming
the publisher its text came from – and they were fetched, patched where
needed and compile-verified alongside the rest. What separates them is that
nothing needs them: across the roughly 5,500 vendor modules at
https://github.com/pysnmp/mibs, not one imports any module below, pysnmp ships
none of them, and neither project’s own code, tests or documentation names
one. They entered the bundle as parser pressure tests, which is work they did,
and stayed after it was done.
Holding them says three things:
They are not installed. A wheel does not carry
future/; only the repository and the sdist do. The compiler never registers the directory, andpysmi/mibs/pysnmp/holds no compiled form of them. Note that most are not in the MIB distribution either, since that tree is built from this bundle – the way to get one back is to promote it, below, not to fetch it from the mirror.Their freshness is not maintained.
--checkdoes not re-fetch these or ask the RFC Editor whether their pins still stand. A copy here may be years behind its publisher, and by design nothing reports it. That is the cost this arrangement pays and the reason the modules are held rather than bundled: pysmi vouches for the text of what it ships, and it can only keep saying so about a set it actually re-checks.They are not gone. The manifest entry stays, so what the module is and where its text comes from are still recorded, and
pysmi.mibs.future()names them at runtime.
Any use promotes one. A module in the corpus that imports it, a consumer
that asks for it, a test that needs it – each is sufficient on its own, and
no wider case has to be made. scripts/update_bundled_mibs.py --promote
MODULE-NAME moves the file into asn1/, clears the tier on its
manifest entry, re-fetches it from its publisher, because a held copy is
presumed stale, re-verifies the enlarged bundle and rewrites this page.
ADSL-LINE-EXT-MIB, ADSL2-LINE-MIB, ADSL2-LINE-TC-MIB, AGENTX-
MIB, APM-MIB, APPC-MIB, APPN-DLUR-MIB, APPN-TRAP-MIB, APS-
MIB, ARC-MIB, ATM-ACCOUNTING-INFORMATION-MIB, ATM-DXI-MIB, ATM-
FORUM-ADDR-REG, ATM-FORUM-ILMI40-MIB, ATM-FORUM-M4-MIB, ATM-FORUM-
SRVC-REG, ATM-SOFT-PVC-MIB, ATM2-MIB, BATTERY-MIB, BGP-MPLS-
LAYER3-VPN-MULTICAST-MIB, CAPWAP-BASE-MIB, CAPWAP-DOT11-MIB,
CHARACTER-MIB, CIRCUIT-IF-MIB, CLNS-MIB, COPS-CLIENT-MIB,
DECNET-PHIV-MIB, DIFFSERV-CONFIG-MIB, DISMAN-EXPRESSION-MIB,
DISMAN-NSLOOKUP-MIB, DISMAN-SCHEDULE-MIB, DISMAN-TRACEROUTE-MIB,
DMTF-DMI-MIB, DMTF-LAN-ADAPTER-MIB, DMTF-MOBILE-MIB, DMTF-
MONITOR-MIB, DMTF-SERVICE-LAYER-MIB, DOCS-BPI-MIB, DOCS-DIAG-MIB,
DOCS-DRF-MIB, DOCS-IETF-CABLE-DEVICE-NOTIFICATION-MIB, DOCS-IETF-QOS-
MIB, DOCS-IETF-SUBMGT-MIB, DOCS-IF-M-CMTS-MIB, DOCS-IFEXT2-MIB,
DOCS-L2VPN-MIB, DOCS-LOADBAL3-MIB, DOCS-LOADBALANCING-MIB, DOCS-
MCAST-AUTH-MIB, DOCS-MCAST-MIB, DOCS-QOS-MIB, DOCS-QOS3-MIB,
DOCS-SEC-MIB, DOCS-SUBMGT3-MIB, DOCS-TEST-MIB, DOT12-IF-MIB,
DOT12-RPTR-MIB, DOT3-EPON-MIB, DS0-MIB, DS0BUNDLE-MIB,
DSLite-MIB, DSMON-MIB, DVB-RCS-MIB, EBN-MIB, EFM-CU-MIB,
ENERGY-OBJECT-CONTEXT-MIB, ENERGY-OBJECT-MIB, ETHER-CHIPSET-MIB,
ETHER-WIS, FCIP-MGMT-MIB, FIBRE-CHANNEL-FE-MIB, FLOW-METER-MIB,
FORCES-MIB, FR-ATM-PVC-SERVICE-IWF-MIB, FR-MFR-MIB, FRSLD-MIB,
Finisher-MIB, G9981-MIB, G9982-MIB, G9983-MIB, GMPLS-LABEL-
STD-MIB, GMPLS-LSR-STD-MIB, GMPLS-TE-STD-MIB, GSMP-MIB, HC-
ALARM-MIB, HOST-RESOURCES-TYPES, HPR-IP-MIB, IANA-CHARSET-MIB,
IANA-ENERGY-RELATION-MIB, IANA-FINISHER-MIB, IANA-LANGUAGE-MIB,
IANA-MALLOC-MIB, IANA-OLSRv2-LINK-METRIC-TYPE-MIB, IANA-PRINTER-
MIB, IANA-STORAGE-MEDIA-TYPE-MIB, IANAPowerStateSet-MIB,
IANATn3270eTC-MIB, IEC-62439-3-MIB, IEEE8021-CFM-V2-MIB,
IEEE8021-CN-MIB, IEEE8021-DDCFM-MIB, IEEE8021-DEVID-MIB,
IEEE8021-ECMP-MIB, IEEE8021-EVB-MIB, IEEE8021-FQTSS-MIB,
IEEE8021-MIRP-MIB, IEEE8021-MSTP-MIB, IEEE8021-MVRPX-MIB,
IEEE8021-PB-MIB, IEEE8021-PBB-MIB, IEEE8021-PBBTE-MIB,
IEEE8021-PE-MIB, IEEE8021-PFC-MIB, IEEE8021-PSFP-MIB,
IEEE8021-Preemption-MIB, IEEE8021-SPANNING-TREE-MIB, IEEE8021-SRP-
MIB, IEEE8021-ST-MIB, IEEE8021-TEIPS-MIB, IEEE8021-TPMR-MIB,
IEEE8021-TSN-REMOTE-MANAGEMENT-MIB, IEEE8023-DOT3-LLDP-EXT-V2-MIB,
IF-CAP-STACK-MIB, IF-INVERTED-STACK-MIB, IFCP-MGMT-MIB,
INTEGRATED-SERVICES-GUARANTEED-MIB, IP-TRAFFIC-FLOW-SECURITY-MIB,
IPATM-IPMC-MIB, IPFIX-MIB, IPFIX-SELECTOR-MIB, IPMCAST-MIB,
IPOA-MIB, IPS-AUTH-MIB, IPSEC-SPD-MIB, ISNS-MIB, ITU-ALARM-
MIB, Job-Monitoring-MIB, L2L3-VPN-MULTICAST-MIB, L2L3-VPN-
MULTICAST-TC-MIB, L2TP-MIB, LANGTAG-TC-MIB, LLDP-EXT-DCBX-MIB,
LLDP-EXT-DOT1-EVB-EXTENSIONS-MIB, LLDP-EXT-DOT1-MIB, LLDP-EXT-
DOT3-MIB, LLDP-EXT-DOT3-V2-MIB, LLDP-EXT-PNO-MIB, LMP-MIB,
LOWPAN-MIB, MALLOC-MIB, MAP-E-MIB, MEF-SOAM-PM-MIB, MEF-SOAM-
TC-MIB, MEF-UNI-EVC-MIB, MIDCOM-MIB, MIOX25-MIB,
MOBILEIPV6-MIB, MPLS-FRR-FACILITY-STD-MIB, MPLS-FRR-GENERAL-STD-
MIB, MPLS-FRR-ONE2ONE-STD-MIB, MPLS-FTN-STD-MIB, MPLS-ID-STD-MIB,
MPLS-LC-ATM-STD-MIB, MPLS-LC-FR-STD-MIB, MPLS-LDP-ATM-STD-MIB,
MPLS-LDP-FRAME-RELAY-STD-MIB, MPLS-LDP-GENERIC-STD-MIB, MPLS-LPS-
MIB, MPLS-LSR-EXT-STD-MIB, MPLS-OAM-ID-STD-MIB, MPLS-TE-EXT-STD-
MIB, MTA-MIB, Modem-MIB, NATV2-MIB, NEMO-MIB, NHDP-MIB,
NOTIFICATION-LOG-MIB, NTPv4-MIB, OLSRv2-MIB, OPT-IF-MIB,
OSPF-TRAP-MIB, PARALLEL-MIB, PCE-PCEP-MIB, PINT-MIB, PKTC-
IETF-EVENT-MIB, PKTC-IETF-MTA-MIB, PKTC-IETF-SIG-MIB, PMIPV6-MIB,
PMIPV6-TC-MIB, POLICY-BASED-MANAGEMENT-MIB, POWER-ATTRIBUTES-MIB,
PPP-BRIDGE-NCP-MIB, PPP-IP-NCP-MIB, PPP-LCP-MIB, PPP-SEC-MIB,
PSAMP-MIB, PTPBASE-MIB, PW-ATM-MIB, PW-CEP-STD-MIB, PW-ENET-
STD-MIB, PW-MPLS-STD-MIB, PW-TDM-MIB, Printer-MIB, RADIUS-ACC-
SERVER-MIB, RADIUS-AUTH-SERVER-MIB, RADIUS-DYNAUTH-CLIENT-MIB,
RAQMON-MIB, RAQMON-RDS-MIB, RBRIDGE-MIB, RFC1156-MIB,
RFC1230-MIB, RFC1253-MIB, RFC1285-MIB, RFC1316-MIB,
RFC1414-MIB, ROHC-MIB, ROHC-RTP-MIB, ROHC-UNCOMPRESSED-MIB,
RPKI-ROUTER-MIB, RS-232-MIB, RSTP-MIB, RTP-MIB, SCSI-MIB,
SCTE-HMS-HEADENDIDENT-TC-MIB, SCTE-HMS-MPEG-MIB, SCTE-HMS-QAM-MIB,
SCTP-MIB, SIP-COMMON-MIB, SIP-MIB, SIP-SERVER-MIB, SIP-TC-
MIB, SIP-UA-MIB, SLAPM-MIB, SMUX-MIB, SNMP-IEEE802-TM-MIB,
SNMP-SSH-TM-MIB, SNMP-TLS-TM-MIB, SNMP-TSM-MIB, SNMP-VACM-AAA-
MIB, SOFTWIRE-MESH-MIB, SOURCE-ROUTING-MIB, SSPM-MIB, SYSLOG-
MSG-MIB, T11-FC-FABRIC-CONFIG-SERVER-MIB, T11-FC-FABRIC-LOCK-MIB,
T11-FC-FSPF-MIB, T11-FC-ROUTE-MIB, T11-FC-RSCN-MIB, T11-FC-SP-
AUTHENTICATION-MIB, T11-FC-SP-POLICY-MIB, T11-FC-SP-SA-MIB, T11-FC-
SP-TC-MIB, T11-FC-SP-ZONING-MIB, T11-FC-VIRTUAL-FABRIC-MIB, TCP-
ESTATS-MIB, TE-LINK-STD-MIB, TE-MIB, TED-MIB, TN3270E-MIB,
TN3270E-RT-MIB, TOKENRING-MIB, TOKENRING-STATION-SR-MIB, TPM-
MIB, TRILL-OAM-MIB, TRIP-MIB, TRIP-TC-MIB, UDPLITE-MIB,
URI-TC-MIB, VDSL-LINE-EXT-MCM-MIB, VDSL-LINE-EXT-SCM-MIB, VM-
MIB, VPLS-BGP-MIB, VPLS-GENERIC-MIB, VPLS-LDP-MIB, WWW-MIB
Not bundled¶
What stays out is a vendor’s own MIB. Being rooted under enterprises does
not make a module one: CableLabs’ DOCS-* and CLAB-* sit under
enterprises 4491, SCTE’s SCTE-HMS-* under 5591, MEF’s MEF-* under
15007, and all of them are bundled – they are published by an association, and
that is what counts. The test is the module’s ORGANIZATION clause.
Nor is publisher availability a reason. ATM Forum has dissolved, DMTF and SCTE
answer automated fetches with a 403, IEC 62439-3 is behind a paywall; those
modules are bundled anyway, marked archived so --check knows to stay
quiet about them rather than to keep failing.
Draft-named modules are bundled where the published successor renamed the
symbols, because then no substitution is possible: MPLS-VPN-MIB,
MPLS-LSR-MIB and MPLS-TE-MIB are all imported by current vendor modules
that MPLS-L3VPN-STD-MIB and friends cannot satisfy. A draft whose successor
kept the symbols – IGMP-MIB for IGMP-STD-MIB – stays out, since the
successor is already here and serves the same imports.
What an RFC-published module is left out for is set out above the inventory: Experimental status, being an illustration rather than a specification, not being SMI at all, or being written against a version of the SMI the bundle’s own SNMPv2-SMI cannot satisfy. Nothing else about an RFC module keeps it out.
Two bundled modules do not come from an RFC and are not a standards body’s
either. LLDP-EXT-HM-MIB declares ORGANIZATION “Hirschmann Automation &
Control”; it came across with the LLDP extension set and is recorded as
source: hirschmann so that the exception is visible rather than buried.
Everything left out remains available from https://pysnmp.github.io/mibs/asn1/, which is where pysmi looks by default.