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-MIB and TIME-AGGREGATE-MIB (RFC 4498), SMF-MIB and IANA-SMF-MIB (RFC 7367) and RSERPOOL-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-MIB is the SMIv2 specification’s own worked example and ends ::= { experimental xx }, a placeholder rather than a registration; BLDG-HVAC-MIB is 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) imports UInteger32 from SNMPv2-SMI, a type RFC 1442 defined and RFC 2578 removed; SNMPv2-M2M-MIB (RFC 1451) imports from SNMPv2-PARTY-MIB in turn. Substituting Unsigned32 would 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

RFC 2513

1998-09-28

ADSL-LINE-MIB

RFC 2662

1999-08-19

yes

ADSL-TC-MIB

RFC 2662

1999-08-19

ALARM-MIB

RFC 3877

2004-09-09

APPLETALK-MIB

RFC 1742

APPLICATION-MIB

RFC 2564

1998-11-17

APPN-MIB

RFC 2455

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

RFC 2515

1998-10-19

ATM-TC-MIB

RFC 2514

1998-10-19

BFD-STD-MIB

RFC 7331

2014-08-12

BFD-TC-STD-MIB

RFC 7330

2014-08-12

BGP4-MIB

RFC 4273

2006-01-11

BRIDGE-MIB

RFC 4188

2005-09-19

CLAB-DEF-MIB

CableLabs

2023-06-01

CLAB-TOPO-MIB

CableLabs

2018-11-08

DIAL-CONTROL-MIB

RFC 2128

1996-09-23

DIFFSERV-DSCP-TC

RFC 3289

2002-05-09

DIFFSERV-MIB

RFC 3289

2002-02-07

DIRECTORY-SERVER-MIB

RFC 2605

1999-06-07

DISMAN-EVENT-MIB

RFC 2981

2000-10-16

DISMAN-PING-MIB

RFC 4560

2006-06-13

DISMAN-SCRIPT-MIB

RFC 3165

2001-08-21

DLSW-MIB

RFC 2024

1996-06-04

DNS-RESOLVER-MIB

RFC 1612

1994-01-28

DNS-SERVER-MIB

RFC 1611

1994-01-28

yes

DOCS-CABLE-DEVICE-MIB

RFC 4639

2006-12-20

DOCS-IETF-BPI2-MIB

RFC 4131

2005-07-20

DOCS-IF-MIB

RFC 4546

2006-05-24

DOCS-IF3-MIB

CableLabs

2026-04-23

DOT3-OAM-MIB

RFC 4878

2007-06-14

DS1-MIB

RFC 4805

2007-03-05

DS3-MIB

RFC 3896

2004-09-08

DSA-MIB

RFC 1567

1993-11-25

yes

DSG-IF-MIB

CableLabs

2023-11-22

DTI-MIB

CableLabs

2006-06-28

DVMRP-STD-MIB

IETF Internet-Draft

2001-11-21

ENTITY-MIB

RFC 6933

2013-04-05

ENTITY-SENSOR-MIB

RFC 3433

2002-12-16

ENTITY-STATE-MIB

RFC 4268

2005-11-22

ENTITY-STATE-TC-MIB

RFC 4268

2005-11-22

EtherLike-MIB

RFC 3635

2003-09-19

FC-MGMT-MIB

RFC 4044

2005-04-26

FCMGMT-MIB

Fibre Alliance

FDDI-SMT73-MIB

RFC 1512

FLOAT-TC-MIB

RFC 6340

2011-07-27

FRAME-RELAY-DTE-MIB

RFC 2115

1997-05-01

FRNETSERV-MIB

RFC 2954

2000-09-28

GBOND-MIB

RFC 6765

2013-02-20

GMPLS-TC-STD-MIB

RFC 4801

2007-02-28

HC-PerfHist-TC-MIB

RFC 3705

2004-02-03

HC-RMON-MIB

RFC 3273

2002-05-08

HCNUM-TC

RFC 2856

2000-06-08

HDSL2-SHDSL-LINE-MIB

RFC 4319

2005-12-07

HOST-RESOURCES-MIB

RFC 2790

1999-10-20

HPR-MIB

RFC 2238

1997-05-14

yes

IANA-ADDRESS-FAMILY-NUMBERS-MIB

IANA

1999-08-26

IANA-BFD-TC-STD-MIB

IANA

2025-11-25

IANA-ENTITY-MIB

IANA

2015-07-16

IANA-GBOND-TC-MIB

IANA

2017-06-23

IANA-GMPLS-TC-MIB

IANA

2015-11-04

IANA-ITU-ALARM-TC-MIB

IANA

2014-05-22

IANA-MAU-MIB

IANA

2026-07-15

IANA-PWE3-MIB

RFC 5601

2009-06-11

IANA-RTPROTO-MIB

IANA

2016-04-25

IANAifType-MIB

IANA

2026-03-17

IBM-6611-APPN-MIB

RFC 1593

IEEE-802DOT17-RPR-MIB

IEEE 802.17

2004-04-21

IEEE8021-BRIDGE-MIB

IEEE 802.1

2022-11-08

IEEE8021-CFM-MIB

IEEE 802.1

2022-11-08

IEEE8021-CFMD8-MIB

IEEE 802.1

2007-01-24

IEEE8021-EVBB-MIB

IEEE 802.1

2010-10-25

IEEE8021-PAE-MIB

IEEE 802.1

2004-06-22

IEEE8021-Q-BRIDGE-MIB

IEEE 802.1

2022-11-08

IEEE8021-SECY-MIB

IEEE 802.1

2022-06-06

IEEE8021-SPB-MIB

IEEE 802.1

2022-11-08

IEEE8021-TC-MIB

IEEE 802.1

2022-11-08

IEEE802171-CFM-MIB

IEEE 802.1

2006-11-04

IEEE8021X-PAE-MIB

IEEE 802.1

2020-02-18

IEEE8023-LAG-MIB

IEEE 802.1

2016-10-12

IEEE802dot11-MIB

IEEE 802.11

2002-08-30

IF-MIB

RFC 2863

2000-06-14

IGMP-STD-MIB

RFC 2933

2000-09-28

IMA-MIB

ATM Forum

1999-02-11

INET-ADDRESS-MIB

RFC 4001

2005-02-04

INTEGRATED-SERVICES-MIB

RFC 2213

1995-11-03

yes

INTERFACETOPN-MIB

RFC 3144

2001-03-27

IP-FORWARD-MIB

RFC 4292

2006-02-01

IP-MIB

RFC 4293

2006-02-02

IPMROUTE-STD-MIB

RFC 2932

2000-09-22

IPSEC-ISAKMP-IKE-DOI-TC

IETF Internet-Draft

1999-10-15

IPV6-FLOW-LABEL-MIB

RFC 3595

2003-08-28

IPV6-MIB

RFC 8096

1998-02-05

IPV6-MLD-MIB

RFC 3019

2001-01-25

IPV6-TC

RFC 8096

ISCSI-MIB

RFC 7147

2014-02-18

ISDN-MIB

RFC 2127

1996-09-23

ISIS-MIB

RFC 4444

2006-04-04

ITU-ALARM-TC-MIB

RFC 3877

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

RFC 7052

2013-10-21

LLDP-EXT-DOT1-V2-MIB

IEEE 802.1

2018-06-21

LLDP-EXT-HM-MIB

Hirschmann Automation & Control

2008-09-12

LLDP-EXT-MED-MIB

TIA

2005-07-28

LLDP-MIB

IEEE 802.1

2005-05-06

LLDP-V2-MIB

IEEE 802.1

2016-03-11

LLDP-V2-TC-MIB

IEEE 802.1

2016-03-11

MAU-MIB

RFC 4836

2007-04-21

MGMD-STD-MIB

RFC 5519

2009-03-30

MIP-MIB

RFC 2006

1996-06-04

yes

MPLS-L3VPN-STD-MIB

RFC 4382

2006-01-23

MPLS-LDP-STD-MIB

RFC 3815

2004-06-03

MPLS-LSR-MIB

IETF Internet-Draft

2000-04-26

MPLS-LSR-STD-MIB

RFC 3813

2004-06-03

MPLS-TC-EXT-STD-MIB

RFC 7453

2015-02-02

MPLS-TC-STD-MIB

RFC 3811

2004-06-03

MPLS-TE-MIB

IETF Internet-Draft

2000-11-21

MPLS-TE-STD-MIB

RFC 3812

2004-06-03

MPLS-VPN-MIB

IETF Internet-Draft

2001-10-15

MPOA-MIB

ATM Forum

1998-11-09

MSDP-MIB

RFC 4624

2006-08-01

NAT-MIB

RFC 7658

2015-10-02

NETWORK-SERVICES-MIB

RFC 2788

2000-03-03

NHRP-MIB

RFC 2677

1999-08-26

OSPF-MIB

RFC 4750

2006-11-10

OSPFV3-MIB

RFC 5643

2009-08-13

P-BRIDGE-MIB

RFC 4363

2006-01-09

PIM-BSR-MIB

RFC 5240

2008-05-28

PIM-MIB

RFC 2934

2000-09-28

PIM-STD-MIB

RFC 5060

2007-11-02

PNNI-MIB

ATM Forum

1997-03-01

POWER-ETHERNET-MIB

RFC 3621

2003-11-24

PTOPO-MIB

RFC 2922

2000-09-21

PW-STD-MIB

RFC 5601

2009-06-11

PW-TC-STD-MIB

RFC 5542

2009-04-21

PerfHist-TC-MIB

RFC 3593

2003-08-13

Q-BRIDGE-MIB

RFC 4363

2006-01-09

RADIUS-ACC-CLIENT-MIB

RFC 4670

2006-08-21

RADIUS-AUTH-CLIENT-MIB

RFC 4668

2006-08-21

RADIUS-DYNAUTH-SERVER-MIB

RFC 4673

2006-08-29

RDBMS-MIB

RFC 1697

1994-06-15

yes

RFC-1212

maintained here

RFC-1215

maintained here

RFC1065-SMI

RFC 1065

RFC1155-SMI

RFC 1155

RFC1158-MIB

RFC 1158

RFC1213-MIB

RFC 1213

RFC1269-MIB

RFC 1269

RFC1271-MIB

RFC 1271

RFC1284-MIB

RFC 1284

RFC1315-MIB

RFC 1315

yes

RFC1353-MIB

RFC 1353

RFC1381-MIB

RFC 1381

RFC1382-MIB

RFC 1382

RFC1389-MIB

RFC 1389

RFC1406-MIB

RFC 1406

RIPv2-MIB

RFC 1724

1994-07-27

RMON-MIB

RFC 2819

2000-05-11

RMON2-MIB

RFC 4502

2006-05-02

RSVP-MIB

RFC 2206

1995-11-03

SFLOW-MIB

sFlow.org

2003-10-18

SMON-MIB

RFC 2613

1998-12-16

SNA-NAU-MIB

RFC 1666

1994-05-12

SNA-SDLC-MIB

RFC 1747

1994-11-15

SNMP-COMMUNITY-MIB

RFC 3584

2003-08-06

SNMP-FRAMEWORK-MIB

RFC 3411

2002-10-14

SNMP-MPD-MIB

RFC 3412

2002-10-14

SNMP-NOTIFICATION-MIB

RFC 3413

2002-10-14

SNMP-PROXY-MIB

RFC 3413

2002-10-14

SNMP-REPEATER-MIB

RFC 2108

1996-09-14

SNMP-TARGET-MIB

RFC 3413

2002-10-14

SNMP-USER-BASED-SM-MIB

RFC 3414

2002-10-16

SNMP-USM-AES-MIB

RFC 3826

2004-06-14

SNMP-USM-DH-OBJECTS-MIB

RFC 2786

2000-03-06

SNMP-USM-HMAC-SHA2-MIB

RFC 7860

2016-04-18

SNMP-VIEW-BASED-ACM-MIB

RFC 3415

2002-10-16

SNMPv2-CONF

RFC 2580

SNMPv2-CONF-v1

maintained here

SNMPv2-MIB

RFC 3418

2002-10-16

SNMPv2-SMI

RFC 2578

SNMPv2-SMI-v1

maintained here

SNMPv2-TC

RFC 2579

SNMPv2-TC-v1

maintained here

SNMPv2-TM

RFC 3417

2002-10-16

SNMPv2-USEC-MIB

RFC 1910

1996-01-12

SONET-MIB

RFC 3592

2003-08-11

SYSAPPL-MIB

RFC 2287

1997-10-20

SYSLOG-TC-MIB

RFC 5427

2009-03-30

T11-FC-FABRIC-ADDR-MGR-MIB

RFC 4439

2006-03-02

T11-FC-NAME-SERVER-MIB

RFC 4438

2006-03-02

T11-FC-ZONE-SERVER-MIB

RFC 4936

2007-06-27

T11-TC-MIB

RFC 4439

2006-03-02

TCP-MIB

RFC 4022

1994-11-01

TOKEN-RING-RMON-MIB

RFC 1513

TRANSPORT-ADDRESS-MIB

RFC 3419

2002-11-01

TUNNEL-MIB

RFC 4087

2005-05-16

UDP-MIB

RFC 4113

2005-05-20

UPS-MIB

RFC 1628

1994-02-23

yes

UUID-TC-MIB

RFC 6933

2013-04-05

VDSL-LINE-MIB

RFC 3728

2004-02-19

VDSL2-LINE-MIB

RFC 5650

2009-09-30

VDSL2-LINE-TC-MIB

RFC 5650

2009-09-30

VPN-TC-STD-MIB

RFC 4265

2005-11-15

VRRP-MIB

RFC 2787

2000-03-03

VRRPV3-MIB

RFC 6527

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-MIB

RFC 2662 carries a truncated MIN-ACCESS  read-wr line, orphaned in the published text.

DNS-SERVER-MIB

RFC 1611 imports from RFC-1213, a module name nothing publishes, and gives INTEGER objects octet-count DISPLAY-HINTs.

DSA-MIB

RFC 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-MIB

RFC 2238 gives LAST-UPDATED a 12-digit value that is neither form RFC 2578 allows, and one comment line lost its leading --.

INTEGRATED-SERVICES-MIB

RFC 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-MIB

RFC 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-MIB

RFC 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-MIB

RFC 1315 imports TimeTicks FROM RFC-1155, a module name nothing publishes; the same IMPORTS clause spells RFC1213-MIB correctly.

UPS-MIB

RFC 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-1212

RFC 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-1215

RFC 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-v1

SMIC’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-v1

SMIC’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-v1

SMIC’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-MIB

obsoleted by RFC 2605, which publishes DIRECTORY-SERVER-MIB.

IGMP-STD-MIB

obsoleted by RFC 5519, which publishes MGMD-STD-MIB.

IPMROUTE-STD-MIB

obsoleted by RFC 5132, which publishes IPMCAST-MIB.

IPV6-MLD-MIB

obsoleted by RFC 5519, which publishes MGMD-STD-MIB.

RFC1065-SMI

obsoleted by RFC 1155, which publishes RFC1155-SMI.

RFC1158-MIB

obsoleted by RFC 1213, which publishes RFC1213-MIB.

RFC1269-MIB

obsoleted by RFC 4273, which publishes BGP4-MIB.

RFC1271-MIB

obsoleted by RFC 1757, which publishes RMON-MIB.

RFC1284-MIB

obsoleted by RFC 1398, which publishes RFC1398-MIB.

RFC1315-MIB

obsoleted by RFC 2115, which publishes FRAME-RELAY-DTE-MIB.

RFC1389-MIB

obsoleted by RFC 1724, which publishes RIPv2-MIB.

RFC1406-MIB

obsoleted by RFC 2495, which publishes DS1-MIB.

VRRP-MIB

obsoleted 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, and pysmi/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. --check does 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.