SNMP URI and 2396bis

Stefan,

> > Although the syntax of snmp_URI allows text string context in the 
> > authority part of the URI, RFC2396bis doesn't allow text string 
> > context in there.
> 
> Correct. RFC 2396 did allow it, but 2396bis does no longer. 
> The proposed snmp URI scheme looks almost like a hierarchical uri,
> but as you noted it differs significantly.

The snmp URI scheme was written with reference to RFC 2396, however
it would be wrong to create an immediate conflict with 2396bis,
so something needs to change.  Thanks for pointing this out.
 
> I'm in no way fluent on SNMP, but it would seem prudent to 
> either go the "opaque way" and use another character than '/'
> for separating components, or go the "hierarchical" way and
> shift the engine/context parts into the path part of the uri.

The "hierarchical" way seems preferable, as it allows relative
URIs for which the draft identifies at least one use (hint that a
single SNMP operation can be used to get data for multiple URIs).

> One simple way could be the usage of query parameter or always
> treat the first two path segments as engine/context identifier
> with a defined constant for default values.

I don't like the defined constant idea as it results in spending
characters in the URI to omit or default the engine and/or context,
and omission or defaulting of these is likely to be quite common.
Spending URI characters to say that the SNMP context is the null
string default seems particularly silly.

Would it be acceptable to move the engine/context parts into the
path, but make them optional via using something like "E=" and
"C=" strings to introduce them?  If <oid> is an OID (numbers
separated by dots), that would allow all of the following:

	snmp://host/oid
	snmp://host/C=context/oid
	snmp://host/E=engine/C=context/oid
	snmp://host/E=engine/oid

as well as versions of the above without "/oid".  All eight
possibilities are meaningful and potentially useful, and this
approach doesn't spend extra characters to omit things.  The
URI scheme would require that engine precede context if both
are present as that matches the SNMP identifier hierarchy
(e.g., a context is only assured to be unique within the
scope of a single engine).

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
black_david@emc.com        Mobile: +1 (978) 394-7754
----------------------------------------------------

Received on Saturday, 7 February 2004 20:31:23 UTC