1-- *********************************************************************
2-- CISCO-VIRTUAL-INTERFACE-MIB.my: Virtual Interface mib
3--
4-- January 2008, Pauline Shuen
5--
6-- Copyright (c) 2008 by cisco Systems, Inc.
7-- All rights reserved.
8--
9-- *********************************************************************
10
11CISCO-VIRTUAL-INTERFACE-MIB DEFINITIONS ::= BEGIN
12
13IMPORTS
14    MODULE-IDENTITY,
15    OBJECT-TYPE,
16    Unsigned32
17        FROM SNMPv2-SMI
18    MODULE-COMPLIANCE,
19    OBJECT-GROUP
20        FROM SNMPv2-CONF
21    RowStatus,
22    TimeStamp,
23    TruthValue
24        FROM SNMPv2-TC
25    SnmpAdminString
26        FROM SNMP-FRAMEWORK-MIB
27    InterfaceIndex,
28    InterfaceIndexOrZero
29        FROM IF-MIB
30    IANAifType
31        FROM IANAifType-MIB
32    PortMemberList
33        FROM CISCO-ST-TC
34    ciscoMgmt
35        FROM CISCO-SMI;
36
37
38ciscoVirtualInterfaceMIB MODULE-IDENTITY
39    LAST-UPDATED    "200802270000Z"
40    ORGANIZATION    "Cisco Systems Inc."
41    CONTACT-INFO
42            "Cisco Systems
43            Customer Service
44            Postal: 170 W Tasman Drive
45
46                    San Jose, CA  95134
47
48                    USA
49
50            Tel: +1 800 553 -NETS
51
52            E-mail: cs-nexus5000@cisco.com"
53    DESCRIPTION
54        "The MIB module for creation and deletion of Virtual Interfaces
55        and Virtual Interface Groups.  In addition to this MIB,
56        interface mib (rfc2863) will also contain entries for virtual
57        interfaces.
58
59        There are two ways virtual interfaces can be created and bound
60        to an interface. The MIB Object cvifGroupsSupported indicates
61        if a particular system supports the Virtual Interface Group
62        concept.
63
64        If Virtual Interface Groups are supported, then a virtual
65        interface is always created/deleted in conjunction with its
66        associated Virtual Interface Group. The Virtual Interface
67        Group, which may be associated to multiple virtual interfaces,
68        is then bound to a physical interface or another virtual
69        interface like an EtherChannel.
70
71        If Virtual Interface Groups are not supported, then a virtual
72        interface is created/deleted independently. And each virtual
73        interface is bound to a physical interface or another virtual
74        interface like an EtherChannel.
75
76        In order for a virtual interface to become operational, it must
77        be directly or indirectly (via its Virtual Interface Group)
78        bound to a physical interface or possibly to another virtual
79        interface such as an EtherChannel.
80
81        The cvifGroupTable is only used if the MIB object
82        cvifGroupsSupported indicates Virtual Interface Groups are
83        supported."
84    REVISION        "200802270000Z"
85    DESCRIPTION
86        "Initial version of this MIB module."
87    ::= { ciscoMgmt 648 }
88
89
90ciscoVirtualInterfaceMIBObjects  OBJECT IDENTIFIER
91    ::= { ciscoVirtualInterfaceMIB 1 }
92
93ciscoVirtualInterfaceMIBConformance  OBJECT IDENTIFIER
94    ::= { ciscoVirtualInterfaceMIB 2 }
95
96cvifGlobals  OBJECT IDENTIFIER
97    ::= { ciscoVirtualInterfaceMIBObjects 1 }
98
99cvifConfig  OBJECT IDENTIFIER
100    ::= { ciscoVirtualInterfaceMIBObjects 2 }
101
102
103-- Virtual Interface Globals
104
105cvifGroupsSupported OBJECT-TYPE
106    SYNTAX          TruthValue
107    MAX-ACCESS      read-write
108    STATUS          current
109    DESCRIPTION
110        "This is a boolean that indicates whether Virtual Interface
111        Groups are supported (and enabled). Note that many agents are
112        unlikely to support write-access for this object. If there are
113        entries in the cvifGroupTable when this value is being set to
114        false, the set will fail."
115    ::= { cvifGlobals 1 }
116-- Virtual Interface Group Table
117
118cvifGroupTable OBJECT-TYPE
119    SYNTAX          SEQUENCE OF CvifGroupEntry
120    MAX-ACCESS      not-accessible
121    STATUS          current
122    DESCRIPTION
123        "This table facilitates the creation and deletion of a Virtual
124        Interface Group.  Entries in this table exist only if
125        cvifGroupsSupported is 'true'. A Virtual Interface Group is a
126        collection of virtual interfaces on an adapter in a server. The
127        virtual interfaces within a Virtual Interface Group do not need
128        to all have the same ifType."
129    ::= { cvifConfig 1 }
130
131cvifGroupEntry OBJECT-TYPE
132    SYNTAX          CvifGroupEntry
133    MAX-ACCESS      not-accessible
134    STATUS          current
135    DESCRIPTION
136        "There is one entry in this table for each created
137        Virtual Interface Group."
138    INDEX           { cvifGroupIndex }
139    ::= { cvifGroupTable 1 }
140
141CvifGroupEntry ::= SEQUENCE {
142        cvifGroupIndex          Unsigned32,
143        cvifGroupIfIndex        InterfaceIndex,
144        cvifGroupBindingIfIndex InterfaceIndexOrZero,
145        cvifGroupMemberList     PortMemberList,
146        cvifGroupCreationTime   TimeStamp,
147        cvifGroupFailureCause   SnmpAdminString,
148        cvifGroupOperState      INTEGER ,
149        cvifGroupRowStatus      RowStatus
150}
151
152cvifGroupIndex OBJECT-TYPE
153    SYNTAX          Unsigned32 (1..1024 )
154    MAX-ACCESS      not-accessible
155    STATUS          current
156    DESCRIPTION
157        "An index that uniquely identifies an entry in the
158        cvifGroupTable table."
159    ::= { cvifGroupEntry 1 }
160
161cvifGroupIfIndex OBJECT-TYPE
162    SYNTAX          InterfaceIndex
163    MAX-ACCESS      read-only
164    STATUS          current
165    DESCRIPTION
166        "The ifIndex of this Virtual Interface Group."
167    ::= { cvifGroupEntry 2 }
168
169cvifGroupBindingIfIndex OBJECT-TYPE
170    SYNTAX          InterfaceIndexOrZero
171    MAX-ACCESS      read-create
172    STATUS          current
173    DESCRIPTION
174        "The ifIndex of the physical interface or another virtual
175        interface like an Etherchannel bound to this Virtual Interface
176        Group. The binding can happen at Virtual Interface Group
177        creation time or at a later time. In order for Virtual Interface
178        Group to become operational, binding to a physical interface or
179        a virtual interface like an Etherchannel is mandatory. When the
180        virtual interface group is not bound to an interface, this field
181        has a value of zero."
182    ::= { cvifGroupEntry 3 }
183
184cvifGroupMemberList OBJECT-TYPE
185    SYNTAX          PortMemberList
186    MAX-ACCESS      read-only
187    STATUS          current
188    DESCRIPTION
189        "The list of Virtual interfaces in the Virtual Interface Group."
190    DEFVAL          { ''H }
191    ::= { cvifGroupEntry 4 }
192
193cvifGroupCreationTime OBJECT-TYPE
194    SYNTAX          TimeStamp
195    MAX-ACCESS      read-only
196    STATUS          current
197    DESCRIPTION
198        "The timestamp of this entry's creation time."
199    ::= { cvifGroupEntry 5 }
200
201cvifGroupFailureCause OBJECT-TYPE
202    SYNTAX          SnmpAdminString
203    MAX-ACCESS      read-only
204    STATUS          current
205    DESCRIPTION
206        "The cause of failure for the last bind operation. This object
207        will be zero length if and only if the bind is successful. After
208        a successful bind operation, the value of cvifGroupOperState is
209        set to 'up'."
210    ::= { cvifGroupEntry 6 }
211
212cvifGroupOperState OBJECT-TYPE
213    SYNTAX          INTEGER  {
214                        up(1),
215                        down(2)
216                    }
217    MAX-ACCESS      read-only
218    STATUS          current
219    DESCRIPTION
220        "Operational state of the Virtual Interface Group."
221    ::= { cvifGroupEntry 7 }
222
223cvifGroupRowStatus OBJECT-TYPE
224    SYNTAX          RowStatus
225    MAX-ACCESS      read-create
226    STATUS          current
227    DESCRIPTION
228        "The status of this conceptual row. The RowStatus becomes active
229        on successful creation of a Virtual Interface Group. It is not
230        necessary for the cvifGroupBindingIfIndex to be set at the time
231        of creation."
232    ::= { cvifGroupEntry 8 }
233
234
235-- Virtual Interface Table
236
237cvifTable OBJECT-TYPE
238    SYNTAX          SEQUENCE OF CvifEntry
239    MAX-ACCESS      not-accessible
240    STATUS          current
241    DESCRIPTION
242        "This table facilitates the creation and deletion of virtual
243        interfaces.  Virtual interfaces may or may not be associated
244        with a Virtual Interface Group according to the value of
245        cvifGroupsSupported. In order for a virtual interface to become
246        operational, it must be directly bound to a physical interface
247        or another virtual interface like an EtherChannel or indirectly
248        bound via its Virtual Interface Group.  At creation time, the
249        cvifType must be identified."
250    ::= { cvifConfig 2 }
251
252cvifEntry OBJECT-TYPE
253    SYNTAX          CvifEntry
254    MAX-ACCESS      not-accessible
255    STATUS          current
256    DESCRIPTION
257        "There is one entry in this table for each created virtual
258        Interface"
259    INDEX           {
260                        cvifIndex,
261                        cvifType
262                    }
263    ::= { cvifTable 1 }
264
265CvifEntry ::= SEQUENCE {
266        cvifIndex          Unsigned32,
267        cvifType           IANAifType,
268        cvifIfIndex        InterfaceIndex,
269        cvifCreationTime   TimeStamp,
270        cvifBindingIfIndex InterfaceIndexOrZero,
271        cvifFailureCause   SnmpAdminString,
272        cvifRowStatus      RowStatus
273}
274
275cvifIndex OBJECT-TYPE
276    SYNTAX          Unsigned32 (1..1024 )
277    MAX-ACCESS      not-accessible
278    STATUS          current
279    DESCRIPTION
280        "When Virtual Interface Groups (as indicated by the
281        cvifGroupsSupported MIB object) are supported, this is the
282        Virtual Interface Group index. Otherwise, this index identifies
283        the virtual interface."
284    ::= { cvifEntry 1 }
285
286cvifType OBJECT-TYPE
287    SYNTAX          IANAifType
288    MAX-ACCESS      not-accessible
289    STATUS          current
290    DESCRIPTION
291        "The type of virtual interface desired by the network manager.
292        If and when a row is created in this table by using a SetRequest
293        to cvifRowStatus, the corresponding ifTable row will be created
294        by the agent with its ifType as specified by this object.
295
296        Note that agents are unlikely to support more than a few values
297        for this object, e.g., 'ethernetCsmacd(6)' and
298        'fibreChannel(56)'."
299    ::= { cvifEntry 2 }
300
301cvifIfIndex OBJECT-TYPE
302    SYNTAX          InterfaceIndex
303    MAX-ACCESS      read-only
304    STATUS          current
305    DESCRIPTION
306        "The ifIndex of this virtual interface."
307    ::= { cvifEntry 3 }
308
309cvifCreationTime OBJECT-TYPE
310    SYNTAX          TimeStamp
311    MAX-ACCESS      read-only
312    STATUS          current
313    DESCRIPTION
314        "The timestamp of this entry's creation time."
315    ::= { cvifEntry 4 }
316
317cvifBindingIfIndex OBJECT-TYPE
318    SYNTAX          InterfaceIndexOrZero
319    MAX-ACCESS      read-create
320    STATUS          current
321    DESCRIPTION
322        "This field is supported only when Virtual Interface Groups are
323        not supported, as indicated by the cvifGroupsSupported MIB
324        object.  It identifies the ifIndex of the interface that this
325        virtual interface is bound to. In order for a virtual interface
326        to become operational, in the absence of Virtual Interface
327        Groups, binding to an interface is mandatory. When the virtual
328        interface is not bound to an interface, this field has a
329        value of zero."
330    ::= { cvifEntry 5 }
331
332cvifFailureCause OBJECT-TYPE
333    SYNTAX          SnmpAdminString
334    MAX-ACCESS      read-only
335    STATUS          current
336    DESCRIPTION
337        "This field is supported only when Virtual Interface Groups are
338        not supported, as indicated by the cvifGroupsSupported MIB
339        object. The cause of failure for the last bind operation. This
340        object will be zero length if and only if the bind is
341        successful."
342    ::= { cvifEntry 6 }
343
344cvifRowStatus OBJECT-TYPE
345    SYNTAX          RowStatus
346    MAX-ACCESS      read-create
347    STATUS          current
348    DESCRIPTION
349        "The status of this conceptual row. The RowStatus becomes active
350        on successful creation of a virtual interface. If Virtual
351        Interface Groups are not supported, as indicated by the
352        cvifGroupsSupported MIB object, the virtual interface must be
353        bound to a physical interface or another virtual interface like
354        an Etherchannel before it can become operational."
355    ::= { cvifEntry 7 }
356
357
358-- Conformance
359
360cvifMIBCompliances  OBJECT IDENTIFIER
361    ::= { ciscoVirtualInterfaceMIBConformance 1 }
362
363cvifMIBGroups  OBJECT IDENTIFIER
364    ::= { ciscoVirtualInterfaceMIBConformance 2 }
365
366
367cvifGroupMIBCompliance MODULE-COMPLIANCE
368    STATUS          current
369    DESCRIPTION
370        "The compliance statement for entities which implement the
371        CISCO-VIRTUAL-INTERFACE-MIB mib, with support for Virtual
372        Interface Groups, as indicated by the cvifGroupsSupported MIB
373        object."
374    MODULE          -- this module
375    MANDATORY-GROUPS {
376                        cvifGroupConformanceObjects,
377                        cvifCommonConformanceObjects
378                    }
379
380    OBJECT          cvifGroupsSupported
381    MIN-ACCESS      read-only
382    DESCRIPTION
383        "Support for write access is not required."
384
385    OBJECT          cvifGroupBindingIfIndex
386    MIN-ACCESS      read-only
387    DESCRIPTION
388        "Support for write access is not required."
389
390    OBJECT          cvifGroupRowStatus
391    MIN-ACCESS      read-only
392    DESCRIPTION
393        "Support for write access is not required."
394
395    OBJECT          cvifRowStatus
396    MIN-ACCESS      read-only
397    DESCRIPTION
398        "Support for write access is not required."
399    ::= { cvifMIBCompliances 1 }
400
401cvifMIBCompliance MODULE-COMPLIANCE
402    STATUS          current
403    DESCRIPTION
404        "The compliance statement for entities which implement the
405        CISCO-VIRTUAL-INTERFACE-MIB mib, without support for Virtual
406        Interface Groups, as indicated by the cvifGroupsSupported MIB
407        object."
408    MODULE          -- this module
409    MANDATORY-GROUPS {
410                        cvifPhysicalConformanceObjects,
411                        cvifCommonConformanceObjects
412                    }
413
414    OBJECT          cvifGroupsSupported
415    MIN-ACCESS      read-only
416    DESCRIPTION
417        "Support for write access is not required."
418
419    OBJECT          cvifBindingIfIndex
420    MIN-ACCESS      read-only
421    DESCRIPTION
422        "Support for write access is not required."
423
424    OBJECT          cvifRowStatus
425    MIN-ACCESS      read-only
426    DESCRIPTION
427        "Support for write access is not required."
428    ::= { cvifMIBCompliances 2 }
429
430-- Units of Conformance
431
432cvifGroupConformanceObjects OBJECT-GROUP
433    OBJECTS         {
434                        cvifGroupIfIndex,
435                        cvifGroupBindingIfIndex,
436                        cvifGroupMemberList,
437                        cvifGroupCreationTime,
438                        cvifGroupFailureCause,
439                        cvifGroupOperState,
440                        cvifGroupRowStatus
441                    }
442    STATUS          current
443    DESCRIPTION
444        "A collection of objects related to implementation of
445        virtual interfaces bound to Virtual Interface Groups."
446    ::= { cvifMIBGroups 1 }
447
448cvifCommonConformanceObjects OBJECT-GROUP
449    OBJECTS         {
450                        cvifGroupsSupported,
451                        cvifIfIndex,
452                        cvifCreationTime,
453                        cvifRowStatus
454                    }
455    STATUS          current
456    DESCRIPTION
457        "A collection of objects related to all implementations
458        of virtual interfaces."
459    ::= { cvifMIBGroups 2 }
460
461cvifPhysicalConformanceObjects OBJECT-GROUP
462    OBJECTS         {
463                        cvifBindingIfIndex,
464                        cvifFailureCause
465                    }
466    STATUS          current
467    DESCRIPTION
468        "A collection of objects related to implementation of
469        virtual interfaces bound to physical interfaces."
470    ::= { cvifMIBGroups 3 }
471
472END
473
474