Subject: [Isis-wg] ISIS MIB question

From: [email-masked] (Brad Hazen)
Date: Tue, 30 Nov 1999 14:38:41 -0500

I'm trying to figure out why it's necessary to use
isisCircIndex and isisISAdjIndex as indices for the
isisCircTable and the isisISAdjTable.

  Neither object has any relationship to any protocol
value.

  It seems to me that there are already enough objects
available (isisCircIfIndex, isisCircIfSubIndex, and
isisISAdjNeighSNPAAddress) to uniquely identify rows
in both tables.

  What is the reason that isisCircIndex and 
isisISAdjIndex are required?

 Brad

_______________________________________________
Isis-wg mailing list  -  [email-masked]
http://external.juniper.net/mailman/listinfo/isis-wg

---

From: Jeff Parker <[email-masked]>
Date: Tue, 30 Nov 1999 17:22:13 -0500

> The ISIS mib states that the three index objects in the 
> isisISAdjIPAddtTable table are not accessible. The objects 
> are isisISAdjIPAddrSysInstance, isisISAdjIPAddrCircIndex
> and isisISAdjIPAddrAdjIndex.  The MAX-ACCESS value for the 
> three objects are "not-accessible".   If these are used as 
> index of the table, why are they not accessible?
> 
> Thanks.
>  
> James He

While you would think that "not-accessible" would mean
not accessible, it is more complicated than that.  Mib
indicies are supposed to be marked with this label, 
which seems to mean "don't mess with this" rather than
"you can't see this".

- jeff parker
- [email-masked]

---

From: Jeff Parker <[email-masked]>
Date: Tue, 30 Nov 1999 17:33:59 -0500

> isisISAdjIndex are required?

Let's start with the easy one.

You might have multiple adjacencies on a LAN interface,
such as Ethernet.  In this case, you will need to 
distinguish adjacencies which share the same circuit
attributes.  The AdjIndex serves to mark such different
adjacencies: clearly no circuit index can do that job.  

While there seem to be too many circuit indicies, they
play different roles.  The CircIndex may match the
IfIndex, but it need not.  Your implementation is
free to make these the same value: the overhead of
supporting the two names is minimal, and allows 
implementations that make the CircIndex match a
physical interface (port 3 on card 2) which the
IfIndex is not well suited for.  Since most SNMP
port management depends on the IfIndex, I found it
helpful to include both.  

We felt that the subInterface was useful to support
circuits on interfaces such as ATM and Frame Relay
which split one physical interface into multiple
portions.  This allows you to quickly find the
fiber via the IfIndex and then the VCI via the
SubInterface.  

         isisCircIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The identifier of this circuit, unique within the
                instance of the protocol. This object follows the index
                behaviour.  This is for SNMP Indexing purposes only
                and has no relation to any protocol value."
        ::= { isisCircEntry 2 }

        isisCircIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of ifIndex for the interface to which this
                circuit corresponds.   This object cannot be modified
                after creation"
        ::= { isisCircEntry 3 }

        isisCircIfSubIndex OBJECT-TYPE
             SYNTAX Integer32
             MAX-ACCESS read-only
             STATUS current
             DESCRIPTION
                 "A specifier for the part of the interface ifIndex to which
                 this circuit corresponds, such as a DLCI or VPI/VCI.
                 This object cannot be modified after creation"
         ::=    { isisCircEntry 4 }

- [email-masked]

---

From: [email-masked] (Brad Hazen)
Date: Tue, 30 Nov 1999 19:54:06 -0500

Jeff,

 Thanks for the clarification, but a couple of
points still aren't clear.

>adjacencies: clearly no circuit index can do that job.  

I understand that you can have multiple adjacencies on
a LAN interface. But my question is why do you need to
'assign' an AdjIndex to distinguish adjacencies when 
there seems to be enough other information to uniquely
identify an adjacency without it?  Specifically, why can't
you use isisISAdjNeighSNPAAddress in combination with the
circuit attributes to distinguish an adjacency?  Are SNPA
addresses not unique?

         isisISAdjIndex OBJECT-TYPE
             SYNTAX Integer32
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
                 "A unique value identifying the IS adjacency from all
                 other such adjacencies on this circuit. This value is
                 assigned by the system when the adjacency is created
                 automatically."
         ::= { isisISAdjEntry 3 }

>port management depends on the IfIndex, I found it

OK. 

>fiber via the IfIndex and then the VCI via the

OK. 

Is there a default value for this object when a
subinterface index might not apply? On a LAN
circuit, for instance.

Thanks again,

  Brad

---

From: "He, James" <[email-masked]>
Date: Tue, 30 Nov 1999 22:07:04 -0500

>                 assigned by the system when the adjacency is created

There might be two adjacencies between two systems. Hence 
isisISAdjNeighSNPAAddress is not enough the identify a particular
adjacency. 

>subinterface index might not apply? On a LAN

It might be -1 or 0.

James