Subject: RE: TAddress TC

From: David Perkins <[email-masked]>
Date: Wed, 11 Nov 98 13:56:38 pst

HI,

Lauren shows below a good example of how not to use the term "null" in
SNMP MIB definitions.

The term "null" means different things based on where it is used.
In SNMP, the term "null" is not defined.
In SNMP, when one is describing values of the OCTET STRING or BITS
data types, a value with a length of zero is a "zero length string".
This is very different from a "missing value", that is, what you
get when you try to retrieve the value of an instance that does
not exist, and the SNMP operation returns an error such as noSuchName
or an exception value such as noSuchInstance. In SQL, missing value
are called null values, and a null value is VERY different than
a zero length string value. ASN.1, from which SNMP uses elements,
contains the data type NULL and the data value NULL. It doesn't
include the term "null".

So please do not write descriptions like that shown below. It is
confusing to read, since the term "null" is not defined
in SNMP. Does the description mean that the value will be a zero
length string, or does it mean that an instance of the object
does not exist when the transport type is unix-domain sockets.
I can't tell.

On Tue, 10 Nov 1998 12:44:19 -0600  [email-masked] wrote:
>agentxConnTransportAddress OBJECT-TYPE
>    SYNTAX       TAddress
>    MAX-ACCESS   read-only
>    STATUS       current
>    DESCRIPTION
>       "The transport address of the remote (subagent) end of this
>        connection to the master agent. The object is likely to be      
> |
>        null for unix-domain sockets, since the subagent need not bind  
> |
>        a filename to its local socket."                                
> |
>    ::= { agentxConnectionEntry 4 }
>
Regards,
/[email-masked], David T. Perkins
Date: 11/11/98, Time: 13:56:38