[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Examples of ASN.1 for SMIng.txt




>>>>> Alessandro Triglia writes:

Alessandro> The constraint in Float32 is slightly more complicated,
Alessandro> because it involves knowledge of the encoding. However,
Alessandro> this constraint can be expressed by constraining the range
Alessandro> of the mantissa and the range of the exponent.

Alessandro>      Float32 ::= REAL (WITH COMPONENTS { mantissa(<some
Alessandro> range>), base(2), exponent(<some range>) })

Alessandro> In both cases, we just chose to make the specification
Alessandro> simpler.

I am still wondering how you express an IEEE floating point number
together with the special values formally in ASN.1. But your answer is
probably that using something like an IEEE floating point number is
wrong anyway. ;-)

Alessandro> The syntax of all the statements ENTITY-CLASS,
Alessandro> ENTITY-INSTANCE, NODE, etc.  is rigorously defined.

Sure. No problem with that. I was arguing that there is more than just
these single statements. Some must or may or must not appear depending
on which other statements are present.

>> Your ID does not point out which subset of ASN.1 I need to
>> implement in order to get SMIng. Or is the proposal that I have to
>> have full ASN.1 support?

Alessandro> This is intended, at least if MIB writers are to use the
Alessandro> full expressiveness of the ASN.1 notation to define MIBs
Alessandro> containing complex data structures.

Interesting.

>> If that is your proposal, please explain how that maps to protocols
>> such as SNMP or COPS-PR.

Alessandro> The ENTITY-INSTANCE statements assign OIDs to all the
Alessandro> components of the data structures defined in
Alessandro> ENTITY-CLASSES, down to the leaf level. The elementary
Alessandro> data are therefore accessible by SNMP as objects. As for
Alessandro> COPS-PR, a SEQUENCE of elementary components, that has an
Alessandro> OID assigned, is to be made accessible by the protocol as
Alessandro> a PRI.

This answer does not convince me. The fact that everything has an OID
does not imply you can ship it with existing versions of SNMP or
COPS-PR. These protocols only support a limited set of base data types
and thus I can't just ship an arbitrary ASN.1 data structure. And this
is generally considered to be a feature and not a bug.

/js

-- 
Juergen Schoenwaelder      Technical University Braunschweig
<schoenw@ibr.cs.tu-bs.de>  Dept. Operating Systems & Computer Networks
Phone: +49 531 391 3289    Muehlenpfordtstr. 23, 38106 Braunschweig, Germany
Fax:   +49 531 391 5936    <http://www.ibr.cs.tu-bs.de/~schoenw/>