| First let me explain what is going on, then I will get into what could
be done to make the interface more user friendly.
The SNMP entity has three identifier attributes
registered name (e.g., local_ns:.mcczip)
name (e.g., mcczip.lkg.dec.com)
address (e.g., 16.20.144.58)
Partial registration occurs if the name or address field is not
entered, or the SNMP entity is not reachable. There are other
conditions that cause partial registration to occur but that
isn't important for this discussion.
The iconic map is domain based, which means
a. the global entity must be registered
b. The identifier used for the register directive (fullname datatype)
is used to identify the member.
Now lets say you add a snmp entity to the map and it is only partially
registered. When you lookinto the entity the Iconic Map issues
for each child class of snmp that DYNAMIC = FALSE
{
SHOW SNMP NS:.xxx <child> * ALL IDENTIFIERS
if error
display error message box
else
display child in map window
}
The SNMP am will return the "partially registered" error message for each
child class. From your note I gather you already realize that this is
how thinks work but A little background info never hurts.
Now to answer your question... The SNMP team and REGISTRATION FM
team are currently investigating how to modify the REGISTER SNMP
operation so that the internet name and address are made available to the
SNMP access module when a partial registration occurs. That is, if either of
these arguments are entered, they will be stored in the mir in such a way the
SNMP am will be able to translate the fullname passed from the
iconic map, or fcl, into the internet name or address. This, hopefully,
will get into v1.2.
Now, why do you see error boxes? The Iconic Map has no knowledge
that the error condition being returned for each of the show identifier
operations are related. It is possible that another MM may
augment the SNMP entity, adding a new child entity with a show identifiers
directive. The function provided by this mm may not need the internet name
or address, hence the show identifier would return a success.
We can probably come up with a better way of displaying the error messages
instead of blasting them all on top of each other. I will add this to
the wish list.
|
|
Here's my best attempt at shedding some light on a very confusing area. This
will also be posted as the answer to internal qar 2050 and incorporated into
the v1.2 snmp am use guide.
Dan
Registering SNMP Global Entities
================================
Registered snmp entity identifiers may exist in two places, the DECmcc
MIR and the Domain Name Server DNS (or local host database), see figure 1.
DECmcc MIR D(omain)NS
==============================================================================
Registered Name = ETHRFX_NS:.hostname |
(Internet) Name = hostname | (Internet) Name = hostname
IP Address = 16.126.16.57 | IP Address = 16.126.16.57
==============================================================================
Figure 1. SNMP identifiers in MIR and Domain Name Server
The REGISTER directive provides the following options for snmp
entities,
REGISTER SNMP R_name [SYNONYM = I_name], [ADDRESS = IP_addr]
where
R_name is the Registered name
I_name is the Internet host name
IP_addr is the dot notation ip address.
While neither the Internet host name nor IP address arguments are
required, one or the other must be supplied for an snmp entity to be fully
registered. In addition, for full registration the entity must be reachable
via either ICMP Echo (PING) or SNMP (get PDU). Fully registered SNMP entities
have all three identifiers in the DECmcc MIR.
Whenever possible, it is desireable to provide the Registered name
and Internet host name when registering snmp global entities and allow the SNMP
Access Module to obtain the IP Address. The SNMP Access Module tries to
obtain the entity's IP address from the D(omain)NS using the Internet host
name and the gethostbyname() function.
If the Internet host name is unknown or the entity being registered
has no corresponding entry in the D(omain)NS, the IP address argument is
provided to allow registration of those entities. Note that the SNMP AM will
still try to obtain an Internet host name from the D(omain)NS via the
gethostbyaddress() function if no Internet host name has been provided. If an
Internet host name can not be obtained, the entity will be marked as partially
registered. (See section below on partial registration). Subsequent access
to this partially registered entity is possible if the IP address provided was
valid.
Providing both Internet host name and IP address is not necessary
since the SNMP Access Module can obtain one of these identifiers given the
other. If both are provided, the SNMP AM uses the Internet host name to obtain
the IP address from the D(omain)NS via the gethostbyname() function. If the
address returned from the D(omain)NS differs from the address supplied, an
exception is generated (Address argument differs from the address stored in
the Domain Name Server or local host table) and the entity is partially
registered (See section below on partial registration). Subsequent operations
will use the IP address returned from the D(omain)NS and the address
supplied on registration will be ignored.
Partial Registration
====================
For partially registered SNMP entities the DECmcc MIR always contains
at least the Registered name, and may contain either the Internet host name or
the IP address or both. Partially registered entities can be accessed if the
SNMP Access Module can obtain an IP address either from the D(omain)NS or
from the DECmcc MIR.
Table 1 below shows the results of providing different combinations of
identifiers when the entity is being registered. Entries in the column marked
"In D(omain)NS" apply to the results of a gethostbyname() or
gethostbyaddress() function. Entries in the "Entity Rechable" column indicate
whether the entity responded to an ICMP echo or SNMP get pdu. The "Result"
column shows registration status and identifiers contained in the DECmcc MIR.
Idents Provided Entity
on Register In D(omain)NS Reachable Result
===============================================================================
R_name n/a n/a Partial Registration
No internet name or
or ip addr specified.
Only R_name in MIR.
R_name,I_name Y Y Full Registration. All
idents in MIR.
R_name,I_name Y N Partial Registration.
Entity not reachable.
All idents in MIR.
R_name,I_name N n/a Partial Registration.
No such entity, Only
R_name in MIR.
R_name,IP_addr Y Y Full Registration. All
idents in MIR.
R_name,IP_addr Y N Partial Registration.
Entity not reachable.
All idents in MIR.
R_name,IP_addr N Y Partial Registration.
No Internet name.
R_name and IP_addr
in MIR.
R_name,IP_addr N N Partial Registration.
Entity not reachable.
R_name and IP_addr
in MIR.
===============================================================================
Table 1. Registration results.
|
|
Providing both Internet host name and IP address is not necessary
since the SNMP Access Module can obtain one of these identifiers given the
other. If both are provided, the SNMP AM uses the Internet host name to obtain
the IP address from the D(omain)NS via the gethostbyname() function. If the
address returned from the D(omain)NS differs from the address supplied, an
exception is generated (Address argument differs from the address stored in
the Domain Name Server or local host table) and the entity is partially
registered (See section below on partial registration). Subsequent operations
will use the IP address returned from the D(omain)NS and the address
supplied on registration will be ignored.
Actually, subsequent operations are not possible in this case until
the correct ip address is provided since the only identifier in the MIR is
the registered name.
|