What you are trying to load is NOT a MIB. That is the problem. It is an RFC
which, using ASN.1 notation, is talking about MIBs and what constructs they will
use. "MACRO" is not a supported construct within a MIB. It is instead the
ASN.1 language used to define the parts of a MIB. There may be a MIB to load
concerning what else is in this RFC, but this isn't it. And there may be other
MIB compilers which can read, or may even require, this macro, but NetView's
isn't one of them.
Your confusion here is over the IMPORTS section in the MIB you are trying to
load. Not everything in the IMPORTS section represents a MIB to be loaded.
Much of it describes constructs found in the MIB which are already part of the
MIB compiler. For example:
IMPORTS
DisplayString, RowStatus,
RowPointer, TruthValue,
TEXTUAL-CONVENTION FROM SNMPv2-TC
Counter32, Gauge32, TimeTicks,
OBJECT-TYPE, MODULE-IDENTITY,
NOTIFICATION-TYPE FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP FROM SNMPv2-CONF
ifIndex FROM IF-MIB
sdlcLSAddress FROM SNA-SDLC-MIB;
All the things in caps, TEXTUAL-CONVENTION, OBJECT-TYPE, MODULE-IDENTITY,
NOTIFICATION-TYPE, MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP,
are SNMP V2 constructs which are already part of the SNMP V2 MIB compiler in
NetView (xnmloadmib2). What they tell you is that this MIB must be loaded with
the V2 comipler, as the V1 will not do. But you do not need to do anything to
make the NetView V2 compiler understand these concepts. Indeed, you cannot do
anything to make it "understand" a concept which it doesn't already have
imbedded in it. The references to other MIBs however, IF-MIB, and SNA-SDLC-MIB,
are a different story. The lower case items they introduce are not basic SNMPV2
constructs, but specific uses of those constructs.
You can load the SNMPv2-TC and SNMPv2-SMI MIBs if you haven't already, to get
their textual conventions, but almost all V2 MIBs reference those, so you only
have to do that once. And your MIB will load without them because the are so
basic. The compiler already knows about TimeTicks and 32-bit integer values.
My advice for next time, is try to load your target MIB with out worrying about
the pre-reqs. If you really need something, the compiler will give you an error
message and tell you so. Then you can investigate the IMPORTS to see where to
get it.
James Shanks
Tivoli (NetView for UNIX and NT) L3 Support
|