MIB with 2 tables, one index OK the other one is 'out of range'

Marc Franquesa <[email protected]>
Newsgroups gmane.network.net-snmp.user
Organization Lady 3Jane
Message-ID <1299521332.4854.11.camel@nexus>
A few time a go I developed a SNMP subagent with its own MIB and until 
now it worked perfectly. Since some days ago there is a part of the 
tree that is not 'walkable'. After searching for a bug in my snmp 
agent, I found (or suspect) that the problem can be in the MIB
intepretation. 

The important parts of the MIB (3475 lines): 

CounterIndex          ::= TEXTUAL-CONVENTION 
    DISPLAY-HINT      "d" 
    STATUS            current 
    DESCRIPTION       "A unique value, for each type of  counter in 
the managed system. " 
    SYNTAX             Integer32 (0..65535) 

As you can see the syntax range starts at 0. 

Then, (after some other values) I define the first table for my MIB: 

-- TABLE zone 
zoneTable OBJECT-TYPE 
    SYNTAX SEQUENCE OF ZoneEntry 
    MAX-ACCESS not-accessible 
    STATUS current 
    DESCRIPTION "Per Zone query Statistics" 
    ::= { b9Zones 1 } 

zoneEntry OBJECT-TYPE 
    SYNTAX ZoneEntry 
    MAX-ACCESS not-accessible 
    STATUS current 
    DESCRIPTION "An entry for Per Zone query Statistics" 
    INDEX { zoneIndex } 
    ::= { zoneTable  1 } 

ZoneEntry::= SEQUENCE { 
    zoneIndex CounterIndex, 
    zoneName        DisplayString, 
    b9zoneQueriesRequestv4    Counter32, 
    b9zoneQueriesRequestv6    Counter32, 
  [....] 

zoneIndex OBJECT-TYPE 
    SYNTAX      CounterIndex 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION "zone Table Index" 
    ::= { zoneEntry 1 } 

And just after it, the second table: 

-- TABLE view 
viewTable OBJECT-TYPE 
    SYNTAX SEQUENCE OF ViewEntry 
    MAX-ACCESS not-accessible 
    STATUS current 
    DESCRIPTION "Outgoing queries per view" 
    ::= { b9Views 1 } 

viewEntry OBJECT-TYPE 
    SYNTAX ViewEntry 
    MAX-ACCESS not-accessible 
    STATUS current 
    DESCRIPTION "An entry for Outgoing queries per view" 
    INDEX { viewIndex } 
    ::= { viewTable  1 } 

ViewEntry::= SEQUENCE { 
    viewIndex CounterIndex, 
    viewName        DisplayString, 
  [...] 

viewIndex OBJECT-TYPE 
    SYNTAX      CounterIndex 
    MAX-ACCESS  not-accessible 
    STATUS      current 
    DESCRIPTION "view Table Index" 
    ::= { viewEntry 1 } 

If your compare them they are practically the same struct (as they 
are script-created). I checked the MIB with smilint and it gives a 
PERFECT (no errors nor warnings). 

Without my agent running, only checking the tree, I can do: 

# snmptranslate -On BIND-MIB::zoneIndex.0 
.1.3.6.1.4.1.8072.9999.9999.1768.1.5.1.1.1.0 

But for viewTable: 

# snmptranslate -On BIND-MIB::viewIndex.0 
BIND-MIB::viewIndex.0: Unknown Object Identifier (Index out of range: 
0 (viewIndex)) 

If I ask for a Index starting at any other number: 

# snmptranslate -On BIND-MIB::viewIndex.11 
.1.3.6.1.4.1.8072.9999.9999.1768.1.6.1.1.1.11 

Why this different behavior?? I tried to remove the first table from 
the MIB and viewIndex.0 still fails. 

I remark that the same MIB was working in the past. Recently I 
upgraded my Debian System form Lenny to Squeeze (stable) but both use 
net-snmp 5.2.0. 

Thanks for any hint 


-- 
----------------------------------
Marc Franquesa
Lady 3Jane http://www.l3jane.net/
Nexus




------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.