570 lines
20 KiB
Plaintext
570 lines
20 KiB
Plaintext
-- ********************************************************************
|
|
-- CISCO-ISNS-IP-NW-DISCOVERY-MIB.my
|
|
--
|
|
-- August 2004, Arul Mozhi
|
|
--
|
|
-- Copyright (c) 2004 by cisco Systems, Inc.
|
|
-- All rights reserved.
|
|
--
|
|
-- ********************************************************************
|
|
|
|
CISCO-ISNS-IP-NW-DISCOVERY-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
MODULE-IDENTITY,
|
|
OBJECT-TYPE,
|
|
Integer32
|
|
FROM SNMPv2-SMI
|
|
|
|
MODULE-COMPLIANCE,
|
|
OBJECT-GROUP
|
|
FROM SNMPv2-CONF
|
|
|
|
TruthValue,
|
|
TestAndIncr,
|
|
RowStatus
|
|
FROM SNMPv2-TC
|
|
|
|
SnmpAdminString
|
|
FROM SNMP-FRAMEWORK-MIB
|
|
|
|
InterfaceIndex,
|
|
InterfaceIndexOrZero
|
|
FROM IF-MIB
|
|
|
|
FcNameId
|
|
FROM CISCO-ST-TC
|
|
|
|
ciscoMgmt
|
|
FROM CISCO-SMI;
|
|
|
|
ciscoIsnsIpNetDiscoveryMIB MODULE-IDENTITY
|
|
LAST-UPDATED "200409080000Z"
|
|
ORGANIZATION "Cisco Systems Inc."
|
|
CONTACT-INFO
|
|
" Cisco Systems
|
|
Customer Service
|
|
Postal: 170 W Tasman Drive
|
|
San Jose, CA 95134
|
|
USA
|
|
Tel: +1 800 553 -NETS
|
|
E-mail: cs-san@cisco.com"
|
|
DESCRIPTION
|
|
"MIB to provide the information about the disjoint
|
|
IP networks connected to the various gigabit ethernet
|
|
interfaces in the 'Fabric' and objects to discover
|
|
the same.
|
|
|
|
It is possible that multiple disjoint IP networks
|
|
may terminate on a single fibre channel switch
|
|
in a Fabric.
|
|
|
|
In such a scenario, the iSNS Server has to ensure that
|
|
the targets returned on a query by iscsi devices are
|
|
filter based on access control list (specified by the
|
|
user during configuration) and also based on gigabit
|
|
ethernet ports which are reachable to the IP network,
|
|
on which the iscsi device is present.
|
|
|
|
To achieve the above objective, the iSNS server
|
|
partitions all known gigabit ethernet ports into
|
|
disjoint sets based on IP reachability by sending
|
|
discovery packets. Each set is referred to as an
|
|
IP Network and the gigabit ethernet ports contained
|
|
therein are referred to as IP Network members.
|
|
|
|
This MIB provides ability to initiate, configure and
|
|
show discovery results of the IP Networks in
|
|
the fabric.
|
|
|
|
GLOSSARY:
|
|
|
|
Fabric - The set of physically connected fibre channel
|
|
switches.
|
|
WWN - World Wide Name.
|
|
ISNS - Internet Storage Name Service."
|
|
|
|
REVISION "200409080000Z"
|
|
DESCRIPTION
|
|
"Initial version of this MIB module."
|
|
::= { ciscoMgmt 434 }
|
|
|
|
ciscoIsnsIpNetDiscoveryMIBNotifs
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIB 0 }
|
|
ciscoIsnsIpNetDiscoveryMIBObjs
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIB 1 }
|
|
ciscoIsnsIpNetDiscoveryConform
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIB 2 }
|
|
|
|
ciscoIsnsIpNetDiscoveryMIBInfo
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIBObjs 1 }
|
|
|
|
ciscoIsnsIpNetDiscoveryMIBConfig
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryMIBObjs 2 }
|
|
|
|
--
|
|
-- IP Network Automatic Discovery Information
|
|
--
|
|
|
|
ciscoIsnsIpNetAutomaticDiscovery OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates whether the automatic discovery
|
|
from the iSNS Server, to find the reachability on
|
|
the IP networks is enabled or not in the system.
|
|
|
|
If automatic discovery is not enabled in the system,
|
|
then based on the user demand only, the iSNS Server
|
|
runs the IP network discovery.
|
|
|
|
The value of this object set to 'true' indicates the
|
|
automatic discovery for IP network is enabled in
|
|
the system.
|
|
|
|
The value of this object set to 'false' indicates the
|
|
automatic discovery for IP network is not enabled in
|
|
the system."
|
|
DEFVAL { false }
|
|
::= { ciscoIsnsIpNetDiscoveryMIBInfo 1 }
|
|
|
|
ciscoIsnsIpNetDiscoveryInterval OBJECT-TYPE
|
|
SYNTAX Integer32 ( 0 .. 5184000)
|
|
UNITS "seconds"
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates the time duration between
|
|
successive automatic discovery run for the
|
|
IP networks, from the iSNS server."
|
|
DEFVAL { 10 }
|
|
::= { ciscoIsnsIpNetDiscoveryMIBInfo 2 }
|
|
|
|
--
|
|
-- Disjoint IP Networks Configured/Discovered
|
|
--
|
|
|
|
ciscoIsnsIpNetTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CiscoIsnsIpNetEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Represents the list of all the IP networks connected
|
|
to the gigabit ethernet interfaces in the fabric."
|
|
::= { ciscoIsnsIpNetDiscoveryMIBInfo 3 }
|
|
|
|
ciscoIsnsIpNetEntry OBJECT-TYPE
|
|
SYNTAX CiscoIsnsIpNetEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry represents the information about an
|
|
IP network connected to the gigabit ethernet interface
|
|
in the fabric.
|
|
|
|
The 'ciscoIsnsIpNetDiscoveryMechanism' object
|
|
represents, whether the corresponding entry is
|
|
populated by the discovery process or by the static
|
|
configuration of the user."
|
|
INDEX { ciscoIsnsIpNetName }
|
|
::= { ciscoIsnsIpNetTable 1 }
|
|
|
|
CiscoIsnsIpNetEntry ::=
|
|
SEQUENCE {
|
|
ciscoIsnsIpNetName SnmpAdminString,
|
|
ciscoIsnsIpNetDiscoveryMechanism INTEGER,
|
|
ciscoIsnsIpNetRowStatus RowStatus
|
|
}
|
|
|
|
ciscoIsnsIpNetName OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (1..100))
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A human readable unique string representing the name
|
|
of an IP network.
|
|
|
|
This name is used to identify the IP network to which
|
|
the gigabit ethernet interfaces/subinterfaces in the
|
|
fabric belongs."
|
|
::= { ciscoIsnsIpNetEntry 1 }
|
|
|
|
ciscoIsnsIpNetDiscoveryMechanism OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
autoGenerated (1),
|
|
userConfigured (2)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object represents whether the IP network is
|
|
dynamically discovered by the discovery process (or)
|
|
statically configured by the user.
|
|
|
|
autoGenerated (1) - dynamically discovered by the
|
|
discovery process.
|
|
userConfigured (2) - IP network configuration is
|
|
statically created by user.
|
|
|
|
An attempt to modify this object will fail with an
|
|
'inconsistentValue' error if the corresponding
|
|
instance of the 'ciscoIsnsIpNetRowStatus' object
|
|
value is active (1).
|
|
|
|
For Row creation the value of this object is
|
|
should be 'userConfigured'.
|
|
|
|
This object represents whether the corresponding
|
|
instance of IP network and its members represented
|
|
in the 'ciscoIsnsIpNetInterfaceTable' are created
|
|
by the discovery process or by the static
|
|
configuration of the user."
|
|
DEFVAL { userConfigured }
|
|
::= { ciscoIsnsIpNetEntry 2 }
|
|
|
|
ciscoIsnsIpNetRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates the status of this entry in the
|
|
table."
|
|
::= { ciscoIsnsIpNetEntry 3 }
|
|
|
|
--
|
|
-- Table for associating gigabit ethernet interfaces
|
|
-- to the IP-network.
|
|
--
|
|
|
|
ciscoIsnsIpNetInterfaceTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF CiscoIsnsIpNetInterfaceEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A table consisting of entries for all the gigabit
|
|
ethernet interfaces, which are connected to the
|
|
various IP networks in the Fabric.
|
|
|
|
The members of the IP networks are either statically
|
|
configured by the user or dynamically discovered by
|
|
the discovery process in the iSNS Server."
|
|
::= { ciscoIsnsIpNetDiscoveryMIBInfo 4 }
|
|
|
|
ciscoIsnsIpNetInterfaceEntry OBJECT-TYPE
|
|
SYNTAX CiscoIsnsIpNetInterfaceEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry (conceptual row) in the
|
|
'ciscoIsnsIpNetInterfaceTable'.
|
|
|
|
Each row represents a gigabit ethernet interface in
|
|
the fabric and its IP network.
|
|
|
|
The IP network name for the gigabit ethernet interface
|
|
is represented by the index object 'ciscoIsnsIpNetName'
|
|
from the 'ciscoIsnsIpNetTable'."
|
|
INDEX { ciscoIsnsIpNetName ,
|
|
ciscoIsnsGigEPortDeviceName,
|
|
ciscoIsnsGigEPortIfIndex }
|
|
::= { ciscoIsnsIpNetInterfaceTable 1 }
|
|
|
|
CiscoIsnsIpNetInterfaceEntry ::=
|
|
SEQUENCE {
|
|
ciscoIsnsGigEPortDeviceName FcNameId,
|
|
ciscoIsnsGigEPortIfIndex InterfaceIndex,
|
|
ciscoIsnsIpNetInterfaceRowStatus RowStatus
|
|
}
|
|
|
|
ciscoIsnsGigEPortDeviceName OBJECT-TYPE
|
|
SYNTAX FcNameId
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object represents the World Wide Name (WWN) of
|
|
the associated switch in the fabric, of the gigabit
|
|
ethernet interface mentioned in corresponding instance
|
|
of 'ciscoIsnsGigEPortIfIndex' object."
|
|
::= { ciscoIsnsIpNetInterfaceEntry 1 }
|
|
|
|
ciscoIsnsGigEPortIfIndex OBJECT-TYPE
|
|
SYNTAX InterfaceIndex
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object represents the 'ifIndex' of the gigabit
|
|
ethernet interface in a switch in the fabric.
|
|
The World Wide Name (WWN) of the switch is mentioned
|
|
in the corresponding instance of
|
|
'ciscoIsnsGigEPortDeviceName'.
|
|
|
|
The gigabit ethernet interface is connected to the IP
|
|
network represented by the the value of the
|
|
corresponding instance of 'ciscoIsnsIpNetName'."
|
|
::= { ciscoIsnsIpNetInterfaceEntry 2 }
|
|
|
|
ciscoIsnsIpNetInterfaceRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates the status of this entry in the
|
|
table."
|
|
::= { ciscoIsnsIpNetInterfaceEntry 3 }
|
|
|
|
--
|
|
-- Objects for Performing the IP Network Discovery
|
|
--
|
|
|
|
ciscoIsnsIpNetDiscoverySpinLock OBJECT-TYPE
|
|
SYNTAX TestAndIncr
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to facilitate modification of
|
|
ciscoIsnsIpNetToDiscover,ciscoIsnsGigEInterfaceToDiscover
|
|
and ciscoIsnsIpNetDiscoveryCommand objects by multiple
|
|
managers.
|
|
|
|
The procedure for modifying the above three objects are
|
|
as follows:
|
|
|
|
1. For IP network specific discovery, determine the new
|
|
values for 'ciscoIsnsIpNetToDiscover' object.
|
|
And For interface specific discovery, determine the new
|
|
value for 'ciscoIsnsGigEInterfaceToDiscover' object.
|
|
|
|
2. Retrieve the value of 'ciscoIsnsIpNetDiscoverySpinLock'
|
|
object.
|
|
|
|
3. For IP network specific discovery,
|
|
Set the value of 'ciscoIsnsIpNetDiscoverySpinLock'
|
|
object to the retrieved value, and (in the same PDU)
|
|
the value of 'ciscoIsnsIpNetToDiscover' object to the
|
|
new value. If the set fails for the
|
|
'ciscoIsnsIpNetDiscoverySpinLock' object, go back to
|
|
step 2.
|
|
|
|
For Interface specific discovery,
|
|
Set the value of 'ciscoIsnsIpNetDiscoverySpinLock'
|
|
object to the retrieved value, and (in the same PDU)
|
|
the value of 'ciscoIsnsGigEInterfaceToDiscover' to the
|
|
new value. If the set fails for the
|
|
'ciscoIsnsIpNetDiscoverySpinLock' object, go back to
|
|
step 2.
|
|
|
|
4. Set the value of 'ciscoIsnsIpNetDiscoverySpinLock'
|
|
object to the retrieved value incremented by two, and
|
|
(in the same PDU) the value of
|
|
'ciscoIsnsIpNetDiscoveryCommand' object to
|
|
'ipNetworkSpecific' or 'interfaceSpecific'.
|
|
|
|
If the set fails for 'ciscoIsnsIpNetDiscoverySpinLock'
|
|
object go back to step 2.
|
|
|
|
Note that if it's possible to include
|
|
'ciscoIsnsIpNetDiscoveryCommand' object in the
|
|
(Set Request) PDU of an earlier step, then step 4 ,
|
|
can be eliminated."
|
|
::= { ciscoIsnsIpNetDiscoveryMIBConfig 1 }
|
|
|
|
ciscoIsnsIpNetToDiscover OBJECT-TYPE
|
|
SYNTAX SnmpAdminString (SIZE (0..100))
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates the name of an IP network,
|
|
represented by the the value of the
|
|
'ciscoIsnsIpNetName' object, that needs to be
|
|
(re)discovered.
|
|
|
|
This object MUST be set to a valid value before or
|
|
concurrently with setting the value of the
|
|
'ciscoIsnsIpNetDiscoveryCommand' object
|
|
to 'ipNetworkSpecific' ."
|
|
DEFVAL { "" }
|
|
::= { ciscoIsnsIpNetDiscoveryMIBConfig 2 }
|
|
|
|
ciscoIsnsGigEInterfaceToDiscover OBJECT-TYPE
|
|
SYNTAX InterfaceIndexOrZero
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object represents the 'ifIndex' of the specified
|
|
gigabit ethernet interface for which the IP network
|
|
discovery needs to be done incrementally.
|
|
|
|
This object MUST be set to a valid value before or
|
|
concurrently with setting the value of the
|
|
'ciscoIsnsIpNetDiscoveryCommand' object
|
|
to 'interfaceSpecific'."
|
|
DEFVAL { 0 }
|
|
::= { ciscoIsnsIpNetDiscoveryMIBConfig 3 }
|
|
|
|
|
|
ciscoIsnsIpNetDiscoveryCommand OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
all(1),
|
|
noOp (2),
|
|
ipNetworkSpecific(3),
|
|
interfaceSpecific(4)
|
|
}
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The IP network discovery command to be executed.
|
|
|
|
Command Remarks
|
|
|
|
all Run IP network discovery for all the
|
|
gigabit ethernet interfaces in the
|
|
fabric.
|
|
|
|
noOp no operation will be performed.
|
|
|
|
ipNetworkSpecific Run IP network discovery for all gigabit
|
|
ethernet interfaces that are configured
|
|
to be members of the IP network name
|
|
specified in the
|
|
'ciscoIsnsIpNetToDiscover' object.
|
|
|
|
interfaceSpecific Run IP network discovery incrementally
|
|
for the gigabit ethernet interface
|
|
specified in the
|
|
'ciscoIsnsGigEInterfaceToDiscover'
|
|
object.
|
|
|
|
The value of this object when read is always 'noOp'."
|
|
|
|
DEFVAL { noOp }
|
|
::= { ciscoIsnsIpNetDiscoveryMIBConfig 4 }
|
|
|
|
ciscoIsnsIpNetDiscoveryCmdStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
success (1),
|
|
none (2),
|
|
inProgress (3),
|
|
noIpNetworkNameSpecified (4),
|
|
invalidIpNetworkName (5),
|
|
noGigEInterfaceIndexSpecified (6),
|
|
invalidGigEInterfaceIndex (7),
|
|
generalFailure (8)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The status of the last IP network discovery command
|
|
operation.
|
|
|
|
success (1) - IP network discovery operation completed
|
|
successfully.
|
|
|
|
none (2) - no IP network discovery operation is
|
|
performed.
|
|
|
|
inProgress (3) - discovery operation is in progress.
|
|
|
|
noIpNetworkNameSpecified (4)
|
|
- IP network name not specified, i.e., the
|
|
value of 'ciscoIsnsIpNetToDiscover'
|
|
object is set to empty string.
|
|
|
|
invalidIpNetworkName (5)
|
|
- IP network is not configured.
|
|
|
|
NoGigEInterfaceIndexSpecified (6)
|
|
- 'ifIndex' of the gigabit eithernet interface
|
|
is not specified, i.e., the value of
|
|
'ciscoIsnsGigEInterfaceToDiscover' object
|
|
is set to '0'.
|
|
|
|
invalidGigEInterfaceIndex (7)
|
|
- 'ifIndex' of the gigabit ethernet interface
|
|
specified in the
|
|
'ciscoIsnsGigEInterfaceToDiscover' object
|
|
is not valid.
|
|
|
|
generalFailure (8)- General IP network discovery operation
|
|
Failure."
|
|
::= { ciscoIsnsIpNetDiscoveryMIBConfig 5 }
|
|
|
|
|
|
--
|
|
-- Compliance Information
|
|
--
|
|
|
|
ciscoIsnsIpNetDiscoverCompliance
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryConform 1 }
|
|
|
|
ciscoIsnsIpNetDiscoveryMIBComp MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The compliance statement for entities which implement
|
|
the CISCO-ISNS-IP-NW-DISCOVERY-MIB."
|
|
MODULE -- this module
|
|
MANDATORY-GROUPS {
|
|
ciscoIsnsIpNetDiscoveryInfoGroup,
|
|
ciscoIsnsIpNetDiscoveryCfgGroup
|
|
}
|
|
|
|
OBJECT ciscoIsnsIpNetRowStatus
|
|
SYNTAX INTEGER {
|
|
active (1),
|
|
createAndGo (4),
|
|
destroy (6)
|
|
}
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Only 'active' needs to be supported."
|
|
OBJECT ciscoIsnsIpNetInterfaceRowStatus
|
|
SYNTAX INTEGER {
|
|
active (1),
|
|
createAndGo (4),
|
|
destroy (6)
|
|
}
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION
|
|
"Only 'active' needs to be supported."
|
|
::= { ciscoIsnsIpNetDiscoverCompliance 1 }
|
|
|
|
|
|
--
|
|
-- Units of Conformance
|
|
--
|
|
|
|
ciscoIsnsIpNetDiscoveryMIBGroups
|
|
OBJECT IDENTIFIER ::= { ciscoIsnsIpNetDiscoveryConform 2 }
|
|
|
|
ciscoIsnsIpNetDiscoveryInfoGroup OBJECT-GROUP
|
|
OBJECTS {
|
|
ciscoIsnsIpNetAutomaticDiscovery,
|
|
ciscoIsnsIpNetDiscoveryInterval,
|
|
ciscoIsnsIpNetDiscoveryMechanism,
|
|
ciscoIsnsIpNetRowStatus,
|
|
ciscoIsnsIpNetInterfaceRowStatus
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A Collection of objects for the IP networks
|
|
configured/discovered in the fabric and its
|
|
associated gigabit ethernet interfaces details."
|
|
::= { ciscoIsnsIpNetDiscoveryMIBGroups 1 }
|
|
|
|
ciscoIsnsIpNetDiscoveryCfgGroup OBJECT-GROUP
|
|
OBJECTS {
|
|
ciscoIsnsIpNetDiscoverySpinLock,
|
|
ciscoIsnsIpNetToDiscover,
|
|
ciscoIsnsGigEInterfaceToDiscover,
|
|
ciscoIsnsIpNetDiscoveryCommand,
|
|
ciscoIsnsIpNetDiscoveryCmdStatus
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A Collection of objects to be configured, for doing
|
|
the IP network discovery."
|
|
::= { ciscoIsnsIpNetDiscoveryMIBGroups 2 }
|
|
|
|
END
|
|
|