Subject: [Ipoverib] IPOIB Link Layer Address Table MIB Definition

From: "Harnedy, Sean" <[email-masked]>
Date: Tue, 30 Apr 2002 16:15:52 -0400

I propose the addition of the IPOIB Link Layer Address Table to the
InfiniBand Interfaces MIB to define the IPOIB Client Identifiers
that can be associated with each InfiniBand interface (port). I have
created a textual convention to define the 20 octet definition that
is consistent with the other IPOIB encapsulation and architecture
documents. The table allows for GID+different QPNs and different GIDs+
QPN that may be configured for each IPOIB interface at the InfiniBand
port. The index for the table is the IfIndex (e.g. InfiniBand port
number) and the entry index number. I chose 65535 as the upper limit
for the number of Client Identifiers associated with each port, although
there may be a more appropriate number defined in the IBTA spec (i.e,
number of GIDs associated with a port * QPN ?).

Sean

--
-- IPOIB Client Identifier Textual Convention
--

   IbIpoibClientIdentifier ::= TEXTUAL CONVENTION
      STATUS   current
      DESCRIPTION
         "The IPOIB Client Identifier uniquely identifies an IPOIB
          link layer address associated with an InfiniBand port. It
          comprises 3 fields.

            1. reserved
            2. Queue Pair Number field (QPN)
            3. Global Identifier (GID)

       +................+................+................+...............+
       |20: (reserved)  |19: QPN[23-16]  |18: QPN[15-8]   |17: QPN[7-0]   |
       +................+................+................+...............+
       |16: GID[127-120]|15: GID[119-112]|14: GID[111-104]|13: GID[103-96]|
       +................+................+................+...............+
       |12: GID[95-88]  |11: GID[87-80]  |10: GID[79-72]  |9:  GID[71-64] |
       +................+................+................+...............+
       |8:  GID[63-56]  |7:  GID[55-48]  |6:  GID[47-40]  |5:  GID[39-32] |
       +................+................+................+...............+
       |4:  GID[31-24]  |3:  GID[23-16]  |2:  GID[15-8]   |1:  GID[7-0]   |
       +................+................+................+...............+
                       
         The reserved field is octet 20. It is reserved for future use.
         These bits MUST be set to zero.
 
         The Queue Pair Number field is a 3 octet field (octets 17, 18 & 19)
         that identifies the destination queue pair. Note: the reserved field
         and the QPN field are collectively referred to as the interface-id.
         If an IPOIB interface has only 1 GID associated with it, the 
         inteface-id may MAY contain all zeroes.

         The Global Identifier field is a 16 octet field (octets 1 thru 16)
         that is formed by the combination of the IB subnet prefix and the 
         port's GUID be included. It is unique in the InfiniBand fabric. 
         Note: An IPOIB interface may have more than 1 GID associated with 
         it."
      SYNTAX OCTET STRING (SIZE (20))

--
-- IPOIB Link Layer Address Table
--

ibIpoibLinkLayerAddrTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IbIpoibLinkLayerAddrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This table contains information about all IPOIB link
       layer addresses associated with this InfiniBand interface
       (port)."
   ::= { ibIfObjects 3 }

ibIpoibLinkLayerAddrEntry OBJECT-TYPE
   SYNTAX      IbIpoibLinkLayerAddrEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Information about specific IPOIB link layer addresses 
       associated with this InfiniBand interface (port)."
   INDEX { ibIfLinkLayerIfIndex, ibIpoibLinkLayerIndex }
   ::= { ibIpoibLinkLayerAddrTable 1 }
   
IbIpoibLinkLayerAddrEntry ::= SEQUENCE {
   ibIpoibLinkLayerIfIndex   InterfaceIndex,
   ibIpoibLinkLayerIndex     INTEGER,
   ibIpoibLinkLayerAddr      IbIpoibClientIdentifier
   }

ibIpoibLinkLayerIfIndex  OBJECT-TYPE
   SYNTAX      InterfaceIndex
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The IfIndex of the IPOIB InfiniBand interface (port)."
   ::= { ibIpoibLinkLayerEntry 1 }

ibIpoibLinkLayerIndex  OBJECT-TYPE
   SYNTAX      INTEGER (1..65535))
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Index of the IPOIB Link Layer address in the table."
   ::= { ibIpoibLinkLayerEntry 2 }

ibIpoibLinkLayerAddr  OBJECT-TYPE        
   SYNTAX      IbIpoibClientIdentifier
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "A Client Identifier for this interface (port). An implementation
       may associate multiple IPOIB interfaces on the same port. It is 
       up to the implementation to ensure a unique Client Identifier 
       when multiple IPoIB interfaces are defined over the same port and
       same GID. A unique, invariant interface-id value must be included
       in addition to the GID within the Client Identifier definition to 
       achieve this. Note: a port may also be associated with multiple
       GIDs. Therefore, multiple IPoIB interfaces may exist on the same 
       port while using a different GID from among the GIDs associated 
       with the port. In either case, the IbIpoibLinkLayerAddr must be
       unique." 
    ::= { ibIpoibLinkLayerEntry 3 }

_______________________________________________
IPoverIB mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ipoverib