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

Conference taec::temip

Title:Telecom. Management Information Platform conference
Moderator:TAEC::LAVILLAT
Created:Fri Mar 08 1991
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:725
Total number of notes:2431

715.0. "Docu on mcc_tcpip_mtu2" by NNTPD::"[email protected]" (Uwe Noffke) Wed Apr 30 1997 16:42

Hello,

is there any documentation on the SNMP MIB II translator utility
mcc_tcpip_mtu2
available on the net?

Thanks in advance for any hints

Uwe

[Posted by WWW Notes gateway]
T.RTitleUserPersonal
Name
DateLines
715.1See TCP/IP SNMP Acess Module UseTAEC::STANARDTue May 13 1997 15:5130
Uwe,

The only documentation of the MIB translator is found in the 
TCP/IP SNMP Acess Module Use (AA-Q9HCC-TE). There is not a specific
MIB II translator, but rather the utility determines based on the contents of
the file being compiled which MIB syntax should be used. There are several of 
the SNMPV2 datatypes that are not supported by the compiler, and are documented
in Section 9.3.3, Standards Compliance for SNMP V2.

    o  The BITS construct is not supported 

    o  The data type Counter64 is not supported 

    o  The new SNMPv2 standard MIB objects (replacing or augmenting MIB I 
       and II) are not automatically available in TeMIP Framework. 

    o  If the definition of any of these MIB objects is needed for reference 
       in the SNMPv2 private MIB extension, its definition must be included 
       in the private MIB. 

The SNMP Access module does not yet support the SNMP V2 protocol, but can 
compile SNMPV2 MIB definitions (within the documented restrictions).

The key to which syntax is used is the use of the MODULE-IDENTITY keyword as
the first definition. If it exists, the rest of the file will be interpreted
using MIB II syntax rules. If not, then MIB I will be used.

Hope this helps,

Bob Stanard
715.2NNTPD::"[email protected]"Uwe NoffkeWed May 14 1997 10:50145
Hello, Bob,

Thanks for your answer. The reason for me to ask for the MIB translator docu 
is the following:

In a project for the German Telecom we are implementing an eSNMP subagent with
a private MIB. Within that MIB we define some tables like the one given below:


    --
    --  table structure for all non interactive KDT processes
    --  (status attributes for child entity KDT)
    --
        
    kdtProzessTabelle   OBJECT-TYPE
            SYNTAX  SEQUENCE OF KdtProzessEintrag
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                    "Liste aller nicht interaktiven Prozesse der Anwendung
KDT"
            ::= { kdt 2 }

    kdtProzessEintrag  OBJECT-TYPE
            SYNTAX  KdtProzessEintrag
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                "Die Spalten der nicht interaktiven KDT-Prozesstabelle."
            INDEX   { kdtProzessIndex }
            ::= { kdtProzessTabelle 1 }

    KdtProzessEintrag   ::= SEQUENCE    {
                                kdtProzessIndex
                                                INTEGER,
                                kdtProzessName
                                                DisplayString,
                                kdtProzessZustand
                                                INTEGER,
                                kdtProzessHost
                                                DisplayString
                            }

    kdtProzessIndex     OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Index des nicht interaktiven Prozesses der Anwendung KDT.

                    EXAMPLE: 5"
            ::= { kdtProzessEintrag 1 }

    kdtProzessName      OBJECT-TYPE
            SYNTAX  DisplayString
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Name des nicht interaktiven Prozesses der Anwendung KDT.
                    EXAMPLE: BVIN_KDT_"
            ::= { kdtProzessEintrag 2 }

    kdtProzessZustand   OBJECT-TYPE
            SYNTAX  INTEGER
            {
                aktiv(1),
                nicht-aktiv(2)
            }
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                    "Zustand des nicht interaktiven KDT-Prozesses.
                    EXAMPLE: aktiv"
            ::= { kdtProzessEintrag 3 }

    kdtProzessHost      OBJECT-TYPE    
            SYNTAX  INTEGER
            ACCESS  read-only              
            STATUS  mandatory              
            DESCRIPTION                    
                    "Rechner des nicht interaktiven KDT-Prozesses.
                    EXAMPLE: INSMP0"            
            ::= { kdtProzessEintrag 4 }


The MIB translator translates the table given above into the child entity
definition shown below:

        CHILD ENTITY kdtProzessTabelle = 2 :
            IDENTIFIER = ( kdtProzessIndex),
            DYNAMIC = TRUE,
            SYMBOL = EN36_2_15_22_1_1_100_6_2,

          IDENTIFIER ATTRIBUTES
            ATTRIBUTE kdtProzessIndex   = 5 : Integer32
                ACCESS     = NONSETTABLE,
                DISPLAY    = TRUE,
                CATEGORIES = (CONFIGURATION),
                SYMBOL = EN36_2_15_22_1_1_100_6_2_1_5_ID,
                SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 5}
            END ATTRIBUTE kdtProzessIndex;
          END ATTRIBUTES;

          CHARACTERISTIC ATTRIBUTES
            ATTRIBUTE kdtProzessName   = 2 : DisplayString
                ACCESS     = NONSETTABLE,
                DISPLAY    = TRUE,
                CATEGORIES = (CONFIGURATION),
                SYMBOL = EN36_2_15_22_1_1_100_6_2_1_2,
                SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 2}
            END ATTRIBUTE kdtProzessName;
            ATTRIBUTE kdtProzessZustand   = 3 : kdtProzessZustand_enm
                ACCESS     = NONSETTABLE,
                DISPLAY    = TRUE,
                CATEGORIES = (CONFIGURATION),
                SYMBOL = EN36_2_15_22_1_1_100_6_2_1_3,
                SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 3}
            END ATTRIBUTE kdtProzessZustand;
            ATTRIBUTE kdtProzessHost   = 4 : Integer32
                ACCESS     = NONSETTABLE,
                DISPLAY    = TRUE,
                CATEGORIES = (CONFIGURATION),
                SYMBOL = EN36_2_15_22_1_1_100_6_2_1_4,
                SNMP_OID = {1 3 6 1 4 1 36 2 15 22 1 1 100 6 2 1 4}
            END ATTRIBUTE kdtProzessHost;
          END ATTRIBUTES;

          INCLUDE mcc_tcpip_am_show.ms;
          INCLUDE mcc_tcpip_am_reference.ms;
          INCLUDE mcc_tcpip_am_register.ms;
        END ENTITY kdtProzessTabelle;

Now this is not exactly what we expected nor is it what we need. 

Is there any way to force the MIB translator to translate the table definition
f.e. into a SET OF RECORD? Well, this could be done of course by manually
editing the resulting MSL files but I'm not sure wether the SNMP AM can handle
the SET OF RECORD datatype or not.

Do you have any comments on this, Bob?

Regards

Uwe
[Posted by WWW Notes gateway]
715.3Here is a table exampleTAEC::STANARDBob Stanard - MCI/Mission Critical- CSC/ColoradoThu May 15 1997 10:3577
Uwe,

Here is an example of a MIB that includes what I believe is what you want.
Currently the SNMP AM does not have the facility to convert a trap from an
indexed variable into a specific managed object, but this facility is currently
in external field test, and is targeted for delivery with TeMIP V3.2.
(This of course is no a committment by engineering...blah, blah, blah)
Hope this helps.

Bob


 IMPORTS
    enterprises
        FROM RFC1155-SMI
    OBJECT-TYPE
        FROM RFC-1212
    TRAP-TYPE
        FROM RFC-1215;


ent999          OBJECT IDENTIFIER ::= { enterprises 999 }
myobjects       OBJECT IDENTIFIER ::= { ent999 1 }
osivars         OBJECT IDENTIFIER ::= { myobjects 1 }

processInstanceTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ProcessInstanceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Defines a table for a set of unix application processes.
                 Each row corresponds to one process instance,
                 and to the Managed Object OSI Alarm field.
                 More precisely, the table corresponds to the Managed Object
                 Class, while the table INDEX variable identifies the Managed
                 Object Instance."
    ::= { osivars 4 }

processInstanceEntry OBJECT-TYPE
        SYNTAX  ProcessInstanceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An entry (row) in the processInstanceTable."
        INDEX {processIndex}
    ::= { processInstanceTable 1 }

ProcessInstanceEntry ::=
        SEQUENCE {
                processIndex
                        INTEGER,
                processState
                        INTEGER
                }

processIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Identifies the unix application process."
    ::= { processInstanceEntry 1 }

processState OBJECT-TYPE
        SYNTAX INTEGER {
                initializing(1),
                running(2),
                waiting(3),
                terminating(4)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The state of the application process."
    ::= { processInstanceEntry 2 }


715.4MIB Table representation within Iconic MapNNTPD::"[email protected]"Uwe NoffkeFri May 16 1997 12:0916
Bob,

Thanks for the table example. What troubles me is the visual representation of
that table of processes on the Iconic Map. I get a (maybe very large) list of
process instances. If I want to see the process state I have to select the
instances one by one and submit a SHOW directive for each of them. That's not
quite user-friendly, is it? Is there a way to display all process states of
all process instances at once i.e. within one window?

Since we need the eSNMP subagent to replace an existing solution we have a 
strong requirement to minimize the changes to the user interface.

Regards,

Uwe. 
[Posted by WWW Notes gateway]
715.5Not with the current versionTAEC::STANARDBob Stanard - MCI/Mission Critical- CSC/ColoradoFri May 16 1997 19:3115
Hi Uwe,

I agree, that with the current version you are stuck with a rather ugly
method of collecting the element status. That is what the changes that are being
made to the AM are all about. The new behavior that will be implemented is to
allow the managed object to be selected via a trap variable (or variables, as it
supports more than one index), and allow the alarm severity (also mapable
through a trap variable), to control the visual representation of the managed
object. So, for example, if a process on a system goes away, the agent on that
system sends a trap with the proper index for the effected process and the
severity in enterprise specific trap variables, and the visual representation on
the map is affected without having to explicitly display the status using a
show. 

Bob