[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

5730.0. "Using SNMP SETs, Unsigned32 encoded incorrectly as TimeTicks" by MARVIN::GUMB (Murphy's laws sometimes work) Fri Nov 12 1993 06:31

Hi,

I've been trying to use the FDDI MIB (RFC1285) to alter values of objects
defined as type FddiTime. FddiTime is defined in the RFC as

INTEGER (0..2147483647)

which the MIB to MSL translator correctly picks up as type Unsigned32 in MSL
terms.

However, it seems that type Unsigned32 is being encoded incorrectly in ASN.1 as
the SNMP application type 'TimeTicks' rather than plain old integer as per
the definition above.

Here's an ASN.1 dump of an attempt to set 

MCC> set snmp .. fddi snmpFddiMAC snmpFddiMACTable snmpFddiMACTreq (1,1) 10001

[UNIVERSAL 16 ]
 {
 [UNIVERSAL 2 ] 0 -- Integer
 [UNIVERSAL 4 ] 70 75 62 6C 69 63
 [ 3 ]
  {
  [UNIVERSAL 2 ] 1 -- Integer
  [UNIVERSAL 2 ] 0 -- Integer
  [UNIVERSAL 2 ] 0 -- Integer
  [UNIVERSAL 16 ]
   {
   [UNIVERSAL 16 ]
    {
    [UNIVERSAL 6 ] 1 3 6 1 2 1 10 15 2 2 1 14 1 1 -- Object
    [APPLICATION 3 ] 0F 42 40
    }
   }
  }
 }

Using another management station (MSU I think) I see

[UNIVERSAL 16 ]
 {
 [UNIVERSAL 2 ] 0 -- Integer
 [UNIVERSAL 4 ] 70 75 62 6C 69 63
 [ 3 ]
  {
  [UNIVERSAL 2 ] 752422096 -- Integer
  [UNIVERSAL 2 ] 0 -- Integer
  [UNIVERSAL 2 ] 0 -- Integer
  [UNIVERSAL 16 ]
   {
   [UNIVERSAL 16 ]
    {
    [UNIVERSAL 6 ] 1 3 6 1 2 1 10 15 2 2 1 14 1 11 -- Object
    [UNIVERSAL 2 ] 100001 -- Integer
    }
   }
  }
 }

which works OK.

My guess as to WHY this is happening is, after looking at

/usr/mcc/mcc_system/mcc_tcpip_am_internet_mib_types.ms

which contains

        (****************************************************************)
        (* MIBTimeTicks - are measured in hundredths of a second, and   *)
        (*                take on values between 0 and (2 ^ 32) - 1     *)
        (****************************************************************)
        TYPE
           MIBTimeTicks = 3 Unsigned32;

is that to make type MIBTimeTicks work, ALL Unsigned32's are encoded as
timeticks rather than just MIBTimeTicks.

Anyone care to shed any light on this particular shady corner ?

Regards,

John
T.RTitleUserPersonal
Name
DateLines