1-- ********************************************************************
2-- CISCO-ISNS-IP-NW-DISCOVERY-MIB.my
3--
4-- August 2004, Arul Mozhi
5--
6-- Copyright (c) 2004 by cisco Systems, Inc.
7-- All rights reserved.
8--
9-- ********************************************************************
10
11CISCO-ISNS-IP-NW-DISCOVERY-MIB DEFINITIONS ::= BEGIN
12
13IMPORTS
14       MODULE-IDENTITY,
15       OBJECT-TYPE,
16       Integer32
17           FROM SNMPv2-SMI
18
19       MODULE-COMPLIANCE,
20       OBJECT-GROUP
21           FROM SNMPv2-CONF
22
23       TruthValue,
24       TestAndIncr,
25       RowStatus
26           FROM SNMPv2-TC
27
28       SnmpAdminString
29           FROM SNMP-FRAMEWORK-MIB
30
31       InterfaceIndex,
32       InterfaceIndexOrZero
33           FROM IF-MIB
34
35       FcNameId
36           FROM CISCO-ST-TC
37
38       ciscoMgmt
39           FROM CISCO-SMI;
40
41ciscoIsnsIpNetDiscoveryMIB MODULE-IDENTITY
42       LAST-UPDATED "200409080000Z"
43       ORGANIZATION "Cisco Systems Inc."
44       CONTACT-INFO
45               "     Cisco Systems
46                     Customer Service
47                 Postal: 170 W Tasman Drive
48                    San Jose, CA  95134
49                    USA
50                 Tel: +1 800 553 -NETS
51                 E-mail: cs-san@cisco.com"
52       DESCRIPTION
53           "MIB to provide the information about the disjoint
54            IP networks connected to the various gigabit ethernet
55            interfaces in the 'Fabric' and objects to discover
56            the same.
57
58            It is possible that multiple disjoint IP networks
59            may terminate on a single fibre channel switch
60            in a Fabric.
61
62            In such a scenario, the iSNS Server has to ensure that
63            the targets returned on a query by iscsi devices are
64            filter based on access control list (specified by the
65            user during configuration) and also based on gigabit
66            ethernet ports which are reachable to the IP network,
67            on which the iscsi device is present.
68
69            To achieve the above objective, the iSNS server
70            partitions all known gigabit ethernet ports into
71            disjoint sets based on IP reachability by sending
72            discovery packets. Each set is referred to as an
73            IP Network and the gigabit ethernet ports contained
74            therein are referred to as IP Network members.
75
76            This MIB provides ability to initiate, configure and
77            show discovery results of the IP Networks in
78            the fabric.
79
80            GLOSSARY:
81
82            Fabric - The set of physically connected fibre channel
83                     switches.
84            WWN    - World Wide Name.
85            ISNS   - Internet Storage Name Service."
86
87       REVISION   "200409080000Z"
88       DESCRIPTION
89           "Initial version of this MIB module."
90       ::= { ciscoMgmt 434 }
91
92ciscoIsnsIpNetDiscoveryMIBNotifs
93       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIB 0 }
94ciscoIsnsIpNetDiscoveryMIBObjs
95       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIB 1 }
96ciscoIsnsIpNetDiscoveryConform
97       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIB 2 }
98
99ciscoIsnsIpNetDiscoveryMIBInfo
100       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIBObjs 1 }
101
102ciscoIsnsIpNetDiscoveryMIBConfig
103       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIBObjs 2 }
104
105--
106--  IP Network Automatic Discovery Information
107--
108
109ciscoIsnsIpNetAutomaticDiscovery OBJECT-TYPE
110       SYNTAX       TruthValue
111       MAX-ACCESS   read-write
112       STATUS       current
113       DESCRIPTION
114           "This object indicates whether the automatic discovery
115            from the iSNS Server, to find the reachability on
116            the IP networks is enabled or not in the system.
117
118            If automatic discovery is not enabled in the system,
119            then based on the user demand only, the iSNS Server
120            runs the IP network discovery.
121
122            The value of this object set to 'true' indicates the
123            automatic discovery for IP network is enabled in
124            the system.
125
126            The value of this object set to 'false' indicates the
127            automatic discovery for IP network is not enabled in
128            the system."
129       DEFVAL { false }
130       ::= { ciscoIsnsIpNetDiscoveryMIBInfo 1 }
131
132ciscoIsnsIpNetDiscoveryInterval OBJECT-TYPE
133       SYNTAX        Integer32 ( 0 .. 5184000)
134       UNITS         "seconds"
135       MAX-ACCESS    read-write
136       STATUS        current
137       DESCRIPTION
138           "This object indicates the time duration between
139            successive automatic discovery run for the
140            IP networks, from the iSNS server."
141       DEFVAL   { 10 }
142       ::= { ciscoIsnsIpNetDiscoveryMIBInfo 2 }
143
144--
145-- Disjoint IP Networks Configured/Discovered
146--
147
148ciscoIsnsIpNetTable OBJECT-TYPE
149       SYNTAX       SEQUENCE OF CiscoIsnsIpNetEntry
150       MAX-ACCESS   not-accessible
151       STATUS       current
152       DESCRIPTION
153           "Represents the list of all the IP networks connected
154            to the gigabit ethernet interfaces in the fabric."
155       ::= { ciscoIsnsIpNetDiscoveryMIBInfo 3 }
156
157ciscoIsnsIpNetEntry OBJECT-TYPE
158       SYNTAX       CiscoIsnsIpNetEntry
159       MAX-ACCESS   not-accessible
160       STATUS       current
161       DESCRIPTION
162           "An entry represents the information about an
163            IP network connected to the gigabit ethernet interface
164            in the fabric.
165
166            The 'ciscoIsnsIpNetDiscoveryMechanism' object
167            represents, whether the corresponding entry is
168            populated by the discovery process or by the static
169            configuration of the user."
170       INDEX   { ciscoIsnsIpNetName }
171       ::= { ciscoIsnsIpNetTable 1 }
172
173CiscoIsnsIpNetEntry ::=
174       SEQUENCE {
175           ciscoIsnsIpNetName                   SnmpAdminString,
176           ciscoIsnsIpNetDiscoveryMechanism     INTEGER,
177           ciscoIsnsIpNetRowStatus              RowStatus
178       }
179
180ciscoIsnsIpNetName OBJECT-TYPE
181       SYNTAX       SnmpAdminString (SIZE (1..100))
182       MAX-ACCESS   not-accessible
183       STATUS       current
184       DESCRIPTION
185           "A human readable unique string representing the name
186            of an IP network.
187
188            This name is used to identify the IP network to which
189            the gigabit ethernet interfaces/subinterfaces in the
190            fabric belongs."
191       ::= { ciscoIsnsIpNetEntry 1 }
192
193ciscoIsnsIpNetDiscoveryMechanism OBJECT-TYPE
194       SYNTAX   INTEGER {
195             autoGenerated (1),
196             userConfigured (2)
197       }
198       MAX-ACCESS   read-create
199       STATUS       current
200       DESCRIPTION
201           "This object represents whether the IP network is
202            dynamically discovered by the discovery process (or)
203            statically configured by the user.
204
205            autoGenerated (1)  - dynamically discovered by the
206                                 discovery process.
207            userConfigured (2) - IP network configuration is
208                                 statically created by user.
209
210            An attempt to modify this object will fail with an
211            'inconsistentValue' error if the corresponding
212            instance of the 'ciscoIsnsIpNetRowStatus' object
213            value is active (1).
214
215            For Row creation the value of this object is
216            should be 'userConfigured'.
217
218            This object represents whether the corresponding
219            instance of IP network and its members represented
220            in the 'ciscoIsnsIpNetInterfaceTable' are created
221            by the discovery process or by the static
222            configuration of the user."
223       DEFVAL  { userConfigured }
224       ::= { ciscoIsnsIpNetEntry 2 }
225
226ciscoIsnsIpNetRowStatus OBJECT-TYPE
227       SYNTAX       RowStatus
228       MAX-ACCESS   read-create
229       STATUS       current
230       DESCRIPTION
231           "This object indicates the status of this entry in the
232            table."
233       ::= { ciscoIsnsIpNetEntry 3 }
234
235--
236-- Table for associating gigabit ethernet interfaces
237-- to the IP-network.
238--
239
240ciscoIsnsIpNetInterfaceTable OBJECT-TYPE
241       SYNTAX       SEQUENCE OF CiscoIsnsIpNetInterfaceEntry
242       MAX-ACCESS   not-accessible
243       STATUS       current
244       DESCRIPTION
245           "A table consisting of entries for all the gigabit
246            ethernet interfaces, which are connected to the
247            various IP networks in the Fabric.
248
249            The members of the IP networks are either statically
250            configured by the user or dynamically discovered by
251            the discovery process in the iSNS Server."
252       ::= { ciscoIsnsIpNetDiscoveryMIBInfo 4 }
253
254ciscoIsnsIpNetInterfaceEntry OBJECT-TYPE
255       SYNTAX       CiscoIsnsIpNetInterfaceEntry
256       MAX-ACCESS   not-accessible
257       STATUS       current
258       DESCRIPTION
259           "An entry (conceptual row) in the
260            'ciscoIsnsIpNetInterfaceTable'.
261
262            Each row represents a gigabit ethernet interface in
263            the fabric and its IP network.
264
265            The IP network name for the gigabit ethernet interface
266            is represented by the index object 'ciscoIsnsIpNetName'
267            from the 'ciscoIsnsIpNetTable'."
268       INDEX   { ciscoIsnsIpNetName ,
269                 ciscoIsnsGigEPortDeviceName,
270                 ciscoIsnsGigEPortIfIndex }
271       ::= { ciscoIsnsIpNetInterfaceTable 1 }
272
273CiscoIsnsIpNetInterfaceEntry ::=
274       SEQUENCE {
275           ciscoIsnsGigEPortDeviceName        FcNameId,
276           ciscoIsnsGigEPortIfIndex           InterfaceIndex,
277           ciscoIsnsIpNetInterfaceRowStatus   RowStatus
278       }
279
280ciscoIsnsGigEPortDeviceName OBJECT-TYPE
281       SYNTAX      FcNameId
282       MAX-ACCESS  not-accessible
283       STATUS      current
284       DESCRIPTION
285           "This object represents the World Wide Name (WWN) of
286            the associated switch in the fabric, of the gigabit
287            ethernet interface mentioned in corresponding instance
288            of 'ciscoIsnsGigEPortIfIndex' object."
289       ::= { ciscoIsnsIpNetInterfaceEntry 1 }
290
291ciscoIsnsGigEPortIfIndex OBJECT-TYPE
292       SYNTAX       InterfaceIndex
293       MAX-ACCESS   not-accessible
294       STATUS       current
295       DESCRIPTION
296           "This object represents the 'ifIndex' of the gigabit
297            ethernet interface in a switch in the fabric.
298            The World Wide Name (WWN) of the switch is mentioned
299            in the corresponding instance of
300            'ciscoIsnsGigEPortDeviceName'.
301
302            The gigabit ethernet interface is connected to the IP
303            network represented by the the value of the
304            corresponding instance of 'ciscoIsnsIpNetName'."
305       ::= { ciscoIsnsIpNetInterfaceEntry 2 }
306
307ciscoIsnsIpNetInterfaceRowStatus OBJECT-TYPE
308       SYNTAX      RowStatus
309       MAX-ACCESS   read-create
310       STATUS       current
311       DESCRIPTION
312           "This object indicates the status of this entry in the
313            table."
314       ::= { ciscoIsnsIpNetInterfaceEntry 3 }
315
316--
317-- Objects for Performing the IP Network Discovery
318--
319
320ciscoIsnsIpNetDiscoverySpinLock OBJECT-TYPE
321        SYNTAX       TestAndIncr
322        MAX-ACCESS   read-write
323        STATUS       current
324        DESCRIPTION
325           "This object is used to facilitate modification of
326            ciscoIsnsIpNetToDiscover,ciscoIsnsGigEInterfaceToDiscover
327            and ciscoIsnsIpNetDiscoveryCommand objects by multiple
328            managers.
329
330            The procedure for modifying the above three objects are
331            as follows:
332
333            1. For IP network specific discovery, determine the new
334               values for 'ciscoIsnsIpNetToDiscover' object.
335               And For interface specific discovery, determine the new
336               value for 'ciscoIsnsGigEInterfaceToDiscover' object.
337
338            2. Retrieve the value of 'ciscoIsnsIpNetDiscoverySpinLock'
339               object.
340
341            3. For IP network specific discovery,
342               Set the value of 'ciscoIsnsIpNetDiscoverySpinLock'
343               object to the retrieved value, and (in the same PDU)
344               the value of 'ciscoIsnsIpNetToDiscover' object to the
345               new value. If the set fails for the
346               'ciscoIsnsIpNetDiscoverySpinLock' object, go back to
347               step 2.
348
349               For Interface specific discovery,
350               Set the value of 'ciscoIsnsIpNetDiscoverySpinLock'
351               object to the retrieved value, and (in the same PDU)
352               the value of 'ciscoIsnsGigEInterfaceToDiscover' to the
353               new value. If the set fails for the
354               'ciscoIsnsIpNetDiscoverySpinLock' object, go back to
355               step 2.
356
357            4. Set the value of 'ciscoIsnsIpNetDiscoverySpinLock'
358               object to the retrieved value incremented by two, and
359               (in the same PDU) the value of
360               'ciscoIsnsIpNetDiscoveryCommand' object to
361               'ipNetworkSpecific' or 'interfaceSpecific'.
362
363               If the set fails for 'ciscoIsnsIpNetDiscoverySpinLock'
364               object go back to step 2.
365
366            Note that if it's possible to include
367            'ciscoIsnsIpNetDiscoveryCommand' object  in the
368            (Set Request) PDU of an earlier step, then step 4 ,
369            can be eliminated."
370        ::= { ciscoIsnsIpNetDiscoveryMIBConfig 1 }
371
372ciscoIsnsIpNetToDiscover OBJECT-TYPE
373       SYNTAX        SnmpAdminString (SIZE (0..100))
374       MAX-ACCESS    read-write
375       STATUS        current
376       DESCRIPTION
377           "This object indicates the name of an IP network,
378            represented by the the value of the
379            'ciscoIsnsIpNetName' object, that needs to be
380            (re)discovered.
381
382            This object MUST be set to a valid value before or
383            concurrently with setting the value of the
384            'ciscoIsnsIpNetDiscoveryCommand' object
385            to 'ipNetworkSpecific' ."
386       DEFVAL { "" }
387       ::= { ciscoIsnsIpNetDiscoveryMIBConfig 2 }
388
389ciscoIsnsGigEInterfaceToDiscover OBJECT-TYPE
390       SYNTAX          InterfaceIndexOrZero
391       MAX-ACCESS      read-write
392       STATUS          current
393       DESCRIPTION
394           "This object represents the 'ifIndex' of the specified
395            gigabit ethernet interface for which the IP network
396            discovery needs to be done incrementally.
397
398            This object MUST be set to a valid value before or
399            concurrently with setting the value of the
400            'ciscoIsnsIpNetDiscoveryCommand' object
401            to 'interfaceSpecific'."
402       DEFVAL { 0 }
403       ::= { ciscoIsnsIpNetDiscoveryMIBConfig 3 }
404
405
406ciscoIsnsIpNetDiscoveryCommand OBJECT-TYPE
407       SYNTAX INTEGER {
408             all(1),
409             noOp (2),
410             ipNetworkSpecific(3),
411             interfaceSpecific(4)
412       }
413       MAX-ACCESS      read-write
414       STATUS          current
415       DESCRIPTION
416           "The IP network discovery command to be executed.
417
418            Command                 Remarks
419
420            all                Run IP network discovery for all the
421                               gigabit ethernet interfaces in the
422                               fabric.
423
424            noOp               no operation will be performed.
425
426            ipNetworkSpecific  Run IP network discovery for all gigabit
427                               ethernet interfaces that are configured
428                               to be members of the IP network name
429                               specified in the
430                               'ciscoIsnsIpNetToDiscover' object.
431
432            interfaceSpecific  Run IP network discovery incrementally
433                               for the gigabit ethernet interface
434                               specified in the
435                               'ciscoIsnsGigEInterfaceToDiscover'
436                               object.
437
438            The value of this object when read is always 'noOp'."
439
440       DEFVAL { noOp }
441       ::= { ciscoIsnsIpNetDiscoveryMIBConfig 4 }
442
443ciscoIsnsIpNetDiscoveryCmdStatus OBJECT-TYPE
444       SYNTAX INTEGER {
445             success (1),
446             none (2),
447             inProgress (3),
448             noIpNetworkNameSpecified (4),
449             invalidIpNetworkName (5),
450             noGigEInterfaceIndexSpecified (6),
451             invalidGigEInterfaceIndex (7),
452             generalFailure (8)
453       }
454       MAX-ACCESS read-only
455       STATUS current
456       DESCRIPTION
457           "The status of the last IP network discovery command
458            operation.
459
460            success (1) - IP network discovery operation completed
461                           successfully.
462
463            none (2)    - no IP network discovery operation is
464                           performed.
465
466            inProgress (3) - discovery operation is in progress.
467
468            noIpNetworkNameSpecified (4)
469                         - IP network name not specified, i.e., the
470                           value of 'ciscoIsnsIpNetToDiscover'
471                           object is set to empty string.
472
473            invalidIpNetworkName (5)
474                         - IP network is not configured.
475
476            NoGigEInterfaceIndexSpecified (6)
477                         - 'ifIndex' of the gigabit eithernet interface
478                           is not specified, i.e., the value of
479                           'ciscoIsnsGigEInterfaceToDiscover' object
480                           is set to '0'.
481
482            invalidGigEInterfaceIndex (7)
483                         - 'ifIndex' of the gigabit ethernet interface
484                           specified in the
485                           'ciscoIsnsGigEInterfaceToDiscover' object
486                           is not valid.
487
488            generalFailure (8)- General IP network discovery operation
489                                 Failure."
490       ::= { ciscoIsnsIpNetDiscoveryMIBConfig 5 }
491
492
493--
494-- Compliance Information
495--
496
497ciscoIsnsIpNetDiscoverCompliance
498       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryConform 1 }
499
500ciscoIsnsIpNetDiscoveryMIBComp  MODULE-COMPLIANCE
501       STATUS       current
502       DESCRIPTION
503           "The compliance statement for entities which implement
504            the CISCO-ISNS-IP-NW-DISCOVERY-MIB."
505       MODULE       -- this module
506       MANDATORY-GROUPS {
507           ciscoIsnsIpNetDiscoveryInfoGroup,
508           ciscoIsnsIpNetDiscoveryCfgGroup
509           }
510
511       OBJECT ciscoIsnsIpNetRowStatus
512       SYNTAX     INTEGER {
513                     active (1),
514                     createAndGo (4),
515                     destroy (6)
516                   }
517       MIN-ACCESS read-only
518       DESCRIPTION
519           "Only 'active' needs to be supported."
520       OBJECT    ciscoIsnsIpNetInterfaceRowStatus
521       SYNTAX     INTEGER {
522                     active (1),
523                     createAndGo (4),
524                     destroy (6)
525                   }
526       MIN-ACCESS read-only
527       DESCRIPTION
528           "Only 'active' needs to be supported."
529       ::= { ciscoIsnsIpNetDiscoverCompliance 1 }
530
531
532--
533-- Units of Conformance
534--
535
536ciscoIsnsIpNetDiscoveryMIBGroups
537       OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryConform 2 }
538
539ciscoIsnsIpNetDiscoveryInfoGroup OBJECT-GROUP
540       OBJECTS {
541           ciscoIsnsIpNetAutomaticDiscovery,
542           ciscoIsnsIpNetDiscoveryInterval,
543           ciscoIsnsIpNetDiscoveryMechanism,
544           ciscoIsnsIpNetRowStatus,
545           ciscoIsnsIpNetInterfaceRowStatus
546       }
547       STATUS       current
548       DESCRIPTION
549           "A Collection of objects for the IP networks
550            configured/discovered in the fabric and its
551            associated gigabit ethernet interfaces details."
552       ::= { ciscoIsnsIpNetDiscoveryMIBGroups 1 }
553
554ciscoIsnsIpNetDiscoveryCfgGroup OBJECT-GROUP
555       OBJECTS {
556           ciscoIsnsIpNetDiscoverySpinLock,
557           ciscoIsnsIpNetToDiscover,
558           ciscoIsnsGigEInterfaceToDiscover,
559           ciscoIsnsIpNetDiscoveryCommand,
560           ciscoIsnsIpNetDiscoveryCmdStatus
561       }
562       STATUS       current
563       DESCRIPTION
564           "A Collection of objects to be configured, for doing
565            the IP network discovery."
566       ::= { ciscoIsnsIpNetDiscoveryMIBGroups 2 }
567
568END
569
570