This MIB module specifies the management information required to manage Fabric Policies as defined by Fibre Channel's FC-SP specification.
FC-SP uses the term 'Policy Objects', sometimes abbreviated to just 'Objects', to refer to containers used to hold the data by which Fabric Policies are specified/stored. This obviously has the potential to cause confusion between 'Policy Objects' and 'MIB objects'. The DESCRIPTIONs in this MIB module attempt to avoid such confusion by the use of different adjectives and capitalization, even though such mechanisms are less effective when used in descriptors.
Some types of Policy Objects contain multiple items of information, each of which are held in the same format within the Policy Object. In such cases, FC-SP uses the term 'Entry' to describe each instance of the common format. For example, FC-SP defines an Attribute Policy Object as containing one or more 'Attribute Entries'. Again, this MIB module attempts to avoid confusion by the use of adjectives and capitalization to distinguish an Entry within a Policy Object from an entry within a MIB table.
A Fabric's database of Policy Objects consists of a set of active Objects that are to be enforced by that Fabric, as well as non-active Objects that are not enforced. Operations defined (in FC-SP) for Policy Management are:
- Add/Get/Remove operations on individual non-active Policy Objects, - Activate/Deactivate operations on a Policy Summary Object, and - Get operations on the active Policy Summary Object and/or on individual active Policy Objects.
This MIB module has five parts:
1) Active Policy Objects - read-only MIB objects representing the set of active Policy Objects for each Fabric,
2) Activate/Deactivate Operations - a read-write MIB object to invoke an Activate operation of the policies specified via a non-active Policy Summary Object, and - a read-write MIB object to invoke a Deactivate operation.
3) Non-active Policy Objects - read-create MIB objects to allow the creation of non-active Policy Summary Objects (which reference non-active Policy Objects), and - read-create MIB objects representing non-active Policy Objects.
4) Statistics
5) Control information and Notifications
Copyright (C) The IETF Trust (2008). This version
of this MIB module is part of RFC 5324; see the RFC
itself for full legal notices.
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the FC-SP Security Policy Server that received a request that is referenced in a notification.
Table details
t11FcSpPoTable
1.3.6.1.2.1.178.1.1.1
Index: fcmInstanceIndex · t11FcSpPoFabricIndex
A table containing top-level information about active FC-SP policies on various Fabrics.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoFabricIndex
1.3.6.1.2.1.178.1.1.1.1.1
T11FabricIndexA Fabric Index that is used as a unique index value to identify a particular Fabric within one (or more) physical infrastructures.
In an environment that is conformant to FC-SW-3, where there is always exactly one Fabric in a single physical infrastructure, the value of this Fabric Index will always be 1.
However, the current standard, FC-SW-4, defines how multiple Fabrics, each with its own management instrumentation, could operate within one (or more) physical infrastructures. When such multiple Fabrics are in use, this index value is used to uniquely identify a particular Fabric within a physical infrastructure.
Note that the value of this textual convention has a range of (0..4095) so as to be consistent with FC-SW-4, which says that a 'VF_ID Bitmap' is 512 bytes long, with the high-order bit representing VF_ID zero, and the low-order bit representing 4095.Reference: Fibre Channel - Switch Fabric - 4 (FC-SW-4), ANSI INCITS 418-2006, section 6.1.27.2.4. (0..4095) · Unsigned32 · hint d
An index value that uniquely identifies a particular Fabric.
t11FcSpPoPolicySummaryObjName
1.3.6.1.2.1.178.1.1.1.1.2
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of this Fabric's (active) Policy Summary Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3 and table 104.
t11FcSpPoAdminFabricName
1.3.6.1.2.1.178.1.1.1.1.3
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
The administratively-specified name for this Fabric, as specified in the active Switch Membership List Object. This value is meaningful only when Static Domain_IDs are in use in a Fabric (see FC-SW-4). Static Domain_IDs are administratively enabled by a setting of the Switch Flags in each Switch Entry in the Switch Membership List Object. If Static Domain_IDs are not in use, this value might be '0000000000000000'h.
The t11FamEnable, t11FamFabricName, and t11FamConfigDomainIdType objects defined in the T11-FC-FABRIC-ADDR-MGR-MIB module are also concerned with the use of an administratively-specified name for a Fabric and Static Domain_IDs. When FC-SP Policy is in use in a Fabric, the values of t11FamEnable, t11FamFabricName, and t11FamConfigDomainIdType must be read-only and reflect the active Policy Objects. For example, the value of t11FamFabricName must reflect the value of t11FcSpPoAdminFabricName. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 108. - Fibre Channel - Switch Fabric-4 (FC-SW-4), ANSI INCITS 418-2006, April 2006, section 7.1. - Fibre Channel Fabric Address Manager MIB', RFC 4439, March 2006.
t11FcSpPoActivatedTimeStamp
1.3.6.1.2.1.178.1.1.1.1.4
TimeStampThe value of the sysUpTime object at which a specific occurrence happened. The specific occurrence must be
defined in the description of any object defined using this type.
If sysUpTime is reset to zero as a result of a re- initialization of the network management (sub)system, then the values of all TimeStamp objects are also reset. However, after approximately 497 days without a re- initialization, the sysUpTime object will reach 2^^32-1 and then increment around to zero; in this case, existing values of TimeStamp objects do not change. This can lead to ambiguities in the value of TimeStamp objects. · TimeTicks
The value of sysUpTime at which this Fabric's Policy Summary Object was last activated, or zero if the same Policy Summary Object has been active since the last restart of the management system.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoSummaryPolicyNameType
1.3.6.1.2.1.178.1.1.2.1.1
T11FcSpPolicyNameType1 = nodeName7 = alphaNumericNameThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
The combination of t11FcSpPoSummaryPolicyNameType and t11FcSpPoSummaryPolicyName specify the name of the Policy Object contained in the Policy Summary Object. The type of name is 'nodeName' if the value of the corresponding instance of t11FcSpPoSummaryPolicyType is 'switchConnectivity', or 'alphaNumericName' otherwise.
t11FcSpPoSummaryPolicyName
1.3.6.1.2.1.178.1.1.2.1.2
T11FcSpPolicyNameA syntax used, when defining Policy Objects, for the name of something.
An object that uses this syntax always identifies a companion object with syntax T11FcSpPolicyNameType such that the companion object specifies the format and usage of the object with this syntax.
When the companion object has the value 'wildcard' or 'restrictedWildcard', the value of the T11FcSpPolicyName
object is: '0000000000000000'h.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The combination of t11FcSpPoSummaryPolicyNameType and t11FcSpPoSummaryPolicyName specify the name of the Policy Object contained in the Policy Summary Object.
t11FcSpPoSummaryPolicyType
1.3.6.1.2.1.178.1.1.2.1.3
T11FcSpPolicyObjectType1 = summary2 = switchMemberList3 = nodeMemberList4 = switchConnectivity5 = ipMgmtList6 = attributeA value that identifies the type of an FC-SP Policy Object.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 102. · Integer32
The 'Identifier' that specifies the type of this Policy Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3.1 and table 104.
t11FcSpPoSummaryHashFormat
1.3.6.1.2.1.178.1.1.2.1.4
T11FcSpPolicyHashFormatIdentifies a cryptographic hash function used to create a hash value that summarizes an FC-SP Policy Object.
Each definition of an object with this TC as its syntax must be accompanied by a corresponding definition of an object with T11FcSpPolicyHashValue as its syntax, and containing the hash value.
The first two cryptographic hash functions are:
Hash Type Hash Tag Hash Length (Bytes)
SHA-1 '00000001'h 20
SHA-256 '00000002'h 32Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3.1 and table 106. - FIPS PUB 180-2. SIZE (4) · OCTET STRING
The format of this Policy Object's hash value as contained in the corresponding instance of the t11FcSpPoSummaryHashValue object.
t11FcSpPoSummaryHashValue
1.3.6.1.2.1.178.1.1.2.1.5
T11FcSpPolicyHashValueRepresents the value of the cryptographic hash function of an FC-SP Policy Object.
Each definition of an object with this TC as its syntax must be accompanied by a corresponding definition of an object with T11FcSpPolicyHashFormat as its syntax. The corresponding object identifies the cryptographic hash function used to create the hash value.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3.1 and table 106. SIZE (0..64) · OCTET STRING
The hash value of this Policy Object, in the format identified by the corresponding instance of the t11FcSpPoSummaryHashFormat object.
A table of Switch Entries in active Switch Membership List Objects.
One Switch Membership List Object is represented by all of the rows of this table that have the same values of fcmInstanceIndex and t11FcSpPoFabricIndex. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoSwMembSwitchNameType
1.3.6.1.2.1.178.1.1.3.1.1
T11FcSpPolicyNameType1 = nodeName2 = restrictedNodeName5 = wildcard6 = restrictedWildcardThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
If the value of this object is 'nodeName' or 'restrictedNodeName', then the combination of this object and t11FcSpPoSwMembSwitchName specify the Switch Name of this Switch Entry.
The membership is restricted or unrestricted based on the name type. Restricted membership means that the Switch is not allowed to be part of the Fabric unless allowed by a specific Switch Connectivity Object. Unrestricted membership means that the Switch is allowed to be part of the Fabric unless disallowed by a specific Switch Connectivity Object.
The values of 'wildcard' and 'restrictedWildcard' provide the means to specify whether to allow/deny membership for Switches not explicitly named in the Switch Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
t11FcSpPoSwMembSwitchName
1.3.6.1.2.1.178.1.1.3.1.2
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
When the value of t11FcSpPoSwMembSwitchNameType is 'wildcard' or 'restrictedWildcard', this object has the value '0000000000000000'h.
Otherwise, the combination of t11FcSpPoSwMembSwitchNameType and this object specify the Switch Name of this Switch Entry. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
t11FcSpPoSwMembSwitchFlags
1.3.6.1.2.1.178.1.1.3.1.3
BITS
Configurable options in respect to the administration of Policy Objects at this Switch:
'staticDomainID' - if this bit is set, the Switch
uses the 'Static Domain_IDs behavior' (as defined in FC-SW-4). This bit needs to have the same setting for all Switches in a Fabric's Switch Membership List Object, or else the Fabric will partition. If this bit is set, the Domain_ID for the Switch is given by the corresponding instance of t11FcSpPoSwMembDomainID.
'insistentDomainID' - if this bit is set, the
Switch uses the 'Insistent Domain_ID behavior' (see t11FamConfigDomainId of T11-FC-FABRIC-ADDR-MGR-MIB), the Domain_ID for the Switch is given by the corresponding instance of t11FcSpPoSwMembDomainID.
'serialPortsAccess' - the Switch allows management
through serial ports when and only when this bit is set.
'physicalPortsAccess' - the Switch allows management through the physical panel when and only when this bit is set.
'managerRole' - the Switch is allowed to change
the Fabric Policy configuration (on receipt of any of the EACA, Enhanced Stage Fabric Configuration (ESFC), Enhanced Update Fabric Configuration (EUFC), ACA, SFC, or UFC SW_ILSs) if and only if this bit is set.
Whenever a Fabric has Active Policy Objects, the value of the t11FamConfigDomainIdType object defined in the T11-FC-FABRIC-ADDR-MGR-MIB module must be read-only and reflect the values of the 'staticDomainID' and 'insistentDomainID' bits of this object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 112. - Fibre Channel - Switch Fabric-4 (FC-SW-4), ANSI INCITS 418-2006, April 2006, section 7.1. - t11FamConfigDomainIdType, T11-FC-FABRIC-ADDR-MGR-MIB, Fibre Channel Fabric Address Manager MIB, RFC 4439.
t11FcSpPoSwMembDomainID
1.3.6.1.2.1.178.1.1.3.1.4
FcDomainIdOrZeroThe Domain Id (of an FC switch), or zero if the no Domain Id has been assigned. (0..239) · Integer32
The specified Domain_ID value when either of the 'staticDomainID' or 'insistentDomainID' bits are set in the corresponding instance of t11FcSpPoSwMembSwitchFlags.
Whenever a Fabric has Active Policy Objects, the value of the t11FamConfigDomainId object defined in the T11-FC-FABRIC-ADDR-MGR-MIB module must be read-only and reflect the value of this object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and tables 111 and 112. - t11FamConfigDomainId, T11-FC-FABRIC-ADDR-MGR-MIB, Fibre Channel Fabric Address Manager MIB, RFC 4439.
t11FcSpPoSwMembPolicyDataRole
1.3.6.1.2.1.178.1.1.3.1.5
INTEGER1 = client2 = autonomous3 = server · Integer32
The role of the Switch in terms of which Policy data it retains/maintains:
'client' - the Switch operates as a Client Switch. A Client Switch maintains its own Switch Connectivity Object and all Fabric-wide List Objects. If FC-SP Zoning is used, a Client Switch maintains only the subset of the Active Zone Set that it requires to enforce the current Fabric Zoning configuration.
'autonomous' - the Switch operates as an Autonomous
Switch. An Autonomous Switch maintains its own Switch Connectivity Object and all Fabric-wide List Objects. This is the same as 'client' except that if FC-SP Zoning is used, an Autonomous Switch maintains a complete copy of the Fabric Zoning Database.
'server' - the Switch operates as a Server Switch. A Server Switch maintains all Fabric-wide List Objects and the Switch Connectivity Objects of each Switch in the Fabric. If FC-SP Zoning is used, a Server Switch maintains a complete copy of the Fabric Zoning Database. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 113.
t11FcSpPoSwMembAuthBehaviour
1.3.6.1.2.1.178.1.1.3.1.6
BITS
The authentication behaviour of the Switch:
'mustAuthenticate' - if this bit is set, all connections between this Switch and neighbor Switches must be authenticated.
'rejectIsFailure' - if this bit is set, the rejection of an AUTH_Negotiate message must be considered as an authentication failure by this Switch. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 114.
t11FcSpPoSwMembAttribute
1.3.6.1.2.1.178.1.1.3.1.7
T11FcSpAlphaNumNameOrAbsentAn extension of the T11FcSpAlphaNumName TC with one additional possible value: the zero-length string to indicate the absence of a name. SIZE (0..64) · OCTET STRING
The name of an active Attribute Policy Object that is defined for this Switch, or the zero-length string. The zero-length string indicates that no Attribute Policy Object is defined for this Switch. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
A table of Node Entries in active Node Membership List Objects.
One Node Membership List Object is represented by all of the rows of this table that have the same values of fcmInstanceIndex and t11FcSpPoFabricIndex.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNoMembNodeNameType
1.3.6.1.2.1.178.1.1.4.1.1
T11FcSpPolicyNameType1 = nodeName2 = restrictedNodeName3 = portName4 = restrictedPortName5 = wildcard6 = restrictedWildcardThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
If the value of this object is 'wildcard' or 'restrictedWildcard', this Node Entry applies to Nodes not explicitly named in the Node Membership List Object.
Otherwise, the combination of this object and t11FcSpPoNoMembNodeName specify the name of this Node Entry in the active Node Membership List Object. A Node is identified by its Node Name or by one or more of its Port Names.
Restricted membership means that a Node is not allowed to be connected to the Fabric unless allowed by a specific Switch Connectivity Object. Unrestricted membership means that a Node is allowed to be connected to the Fabric unless disallowed by a specific Switch Connectivity Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
t11FcSpPoNoMembNodeName
1.3.6.1.2.1.178.1.1.4.1.2
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
If the value of t11FcSpPoNoMembNodeNameType is 'wildcard' or 'restrictedWildcard', this object has the value '0000000000000000'h.
Otherwise, the combination of t11FcSpPoNoMembNodeNameType and this object specify the name of this Node Entry is the active Node Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
t11FcSpPoNoMembFlags
1.3.6.1.2.1.178.1.1.4.1.3
BITS
Configurable options in respect to the administration of Policy Objects at this Node:
'scsiEnclosureAccess' - the Node is allowed to
control any Switch through SCSI Enclosure Services if this bit is set. If a Switch does not support SCSI Enclosure Services, this bit is ignored.
'authenticationRequired' - the Node is required to
authenticate itself to any Switch to which it is connected if and only if this bit is set. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 118.
t11FcSpPoNoMembCtAccessIndex
1.3.6.1.2.1.178.1.1.4.1.4
Unsigned32
If the value of this object is zero, then access by this Node to Generic Services is not limited by a Common Transport Access Specifier.
Otherwise, the limits are specified by the set of Common Transport Access Descriptors contained in those rows of the t11FcSpPoCtDescrTable for the same Fabric and for which the value of t11FcSpPoCtDescrSpecifierIndex is the same as the value of this object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and tables 118/119/120/121.
t11FcSpPoNoMembAttribute
1.3.6.1.2.1.178.1.1.4.1.5
T11FcSpAlphaNumNameOrAbsentAn extension of the T11FcSpAlphaNumName TC with one additional possible value: the zero-length string to indicate the absence of a name. SIZE (0..64) · OCTET STRING
The name of an active Attribute Policy Object that is defined for this Node, or the zero-length string. The zero-length string indicates that no Attribute Policy Object is defined for this Node. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
A table of Common Transport Access Descriptors being used within active Policy Objects.
A Common Transport Access Specifier is a list of Common Transport Access Descriptors that specify whether a Node is allowed to access a Generic Service or Sub-Server.
An active Common Transport Access Specifier is represented by all rows of this table that have the same values of fcmInstanceIndex, t11FcSpPoFabricIndex, and t11FcSpPoCtDescrSpecifierIndex.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoCtDescrSpecifierIndex
1.3.6.1.2.1.178.1.1.5.1.1
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Common Transport Access Specifier within a Fabric.
t11FcSpPoCtDescrIndex
1.3.6.1.2.1.178.1.1.5.1.2
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Common Transport Access Descriptor within a Common Transport Access Specifier.
t11FcSpPoCtDescrFlags
1.3.6.1.2.1.178.1.1.5.1.3
BITS
The flag bits that specify how access is to be limited by this Common Transport Access Descriptor:
- allow -- access to the specified Generic Service and Server is allowed if this bit is set, and is to be denied if this bit is not set.
- gsTypeWildcard -- if this bit is set, the Generic Service to be allowed/denied is specified by the value of t11FcSpPoCtDescrGsType. If this bit is set, then the gsSubTypeWildcard bit must not be set.
- gsSubTypeWildcard -- if this bit is set, the Generic Service to be allowed/denied is specified by the value of t11FcSpPoCtDescrGsSubType. If this bit is set, then the gsTypeWildcard bit must not be set.
- readOnly -- if this bit is set, then access is to be granted only for reading.
t11FcSpPoCtDescrGsType
1.3.6.1.2.1.178.1.1.5.1.4
OCTET STRING SIZE (1)
The GS_Type of the Generic Service (e.g., the FC-GS-5 Management Service) that is subject to access control. This value is ignored if the gsTypeWildcard bit is not set in the corresponding value of t11FcSpPoCtDescrFlags. Reference: - Fibre Channel - Generic Services-5 (FC-GS-5), ANSI INCITS 427-2006, section 4.3.2.4.
t11FcSpPoCtDescrGsSubType
1.3.6.1.2.1.178.1.1.5.1.5
OCTET STRING SIZE (1)
The GS_Subtype of the Generic Server (e.g., the Fabric Zone Server) that is subject to access control. This value is ignored if the gsSubTypeWildcard bit is not set in the corresponding value of t11FcSpPoCtDescrFlags. Reference: - Fibre Channel - Generic Services-5 (FC-GS-5), ANSI INCITS 427-2006, section 4.3.2.5.
A table of active Switch Connectivity Objects.
A Switch Connectivity Object defines to which other Switches or Nodes a particular Switch may/may not be connected at the Node level and/or at the Port level. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1, tables 123/124.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoSwConnSwitchName
1.3.6.1.2.1.178.1.1.6.1.1
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
The name of the particular Switch for which this Switch Connectivity Object specifies topology restrictions.
t11FcSpPoSwConnAllowedType
1.3.6.1.2.1.178.1.1.6.1.2
INTEGER1 = switch2 = node · Integer32
This object specifies whether this row refers to Switch-to-Switch or Switch-to-Node connectivity, i.e., whether the corresponding instance of t11FcSpPoSwConnAllowedName specifies the name of a Switch or the name of a Node.
t11FcSpPoSwConnPortNameOrAll
1.3.6.1.2.1.178.1.1.6.1.3
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8) · OCTET STRING
This object specifies either the particular port to which this topology restriction applies, or if the value is the zero-length string, that the topology restriction applies to all ports on the particular Switch.
In the FC-SP Policy Database, restrictions for a particular port are formatted within a Port Connectivity Entry of a Switch Connectivity Object, whereas restrictions for all ports on the Switch are specified in the main part of a Switch Connectivity Object, i.e., not in a Port Connectivity Entry. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1, tables 123/124.
t11FcSpPoSwConnAllowedIndex
1.3.6.1.2.1.178.1.1.6.1.4
Unsigned32 (1..4294967295)
When multiple rows in this table apply to the same port(s) in the same Switch's Switch Connectivity Object, this object provides a unique index value to distinguish between such rows.
t11FcSpPoSwConnAllowedNameType
1.3.6.1.2.1.178.1.1.6.1.5
T11FcSpPolicyNameType1 = nodeName2 = restrictedNodeName3 = portName4 = restrictedPortName5 = wildcard6 = restrictedWildcardThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
If the value of this object is 'wildcard' or 'restrictedWildcard', this row specifies whether connectivity is allowed/not allowed with entities not explicitly named by other rows.
Otherwise, the combination of t11FcSpPoSwConnAllowedNameType and t11FcSpPoSwConnAllowedName specify the name of:
- a Switch (if t11FcSpPoSwConnAllowedType = 'switch'), or - a Node (if t11FcSpPoSwConnAllowedType = 'node')
to which connectivity is:
- allowed by 'nodeName' and 'portName', - not allowed by 'restrictedNodeName' and 'restrictedPortName'.
t11FcSpPoSwConnAllowedName
1.3.6.1.2.1.178.1.1.6.1.6
T11FcSpPolicyNameA syntax used, when defining Policy Objects, for the name of something.
An object that uses this syntax always identifies a companion object with syntax T11FcSpPolicyNameType such that the companion object specifies the format and usage of the object with this syntax.
When the companion object has the value 'wildcard' or 'restrictedWildcard', the value of the T11FcSpPolicyName
object is: '0000000000000000'h.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (8) · OCTET STRING
If the value of t11FcSpPoSwConnAllowedNameType is 'wildcard' or 'restrictedWildcard', this object has the value '0000000000000000'h.
Otherwise, the combination of t11FcSpPoSwConnAllowedNameType and t11FcSpPoSwConnAllowedName specify the name of:
- a Switch (if t11FcSpPoSwConnAllowedType = 'switch'), or - a Node (if t11FcSpPoSwConnAllowedType = 'node')
to which connectivity is allowed/restricted.
A table of IP Management Entries in active IP Management List Objects. An IP Management List Object is a Fabric-wide Policy Object that describes which IP hosts are allowed to manage a Fabric.
One IP Management List Object is represented by all of the rows of this table that have the same values of fcmInstanceIndex and t11FcSpPoFabricIndex. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoIpMgmtEntryNameType
1.3.6.1.2.1.178.1.1.7.1.1
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The combination of t11FcSpPoIpMgmtNameType, t11FcSpPoIpMgmtNameLow, and t11FcSpPoIpMgmtNameHigh specify the Internet address range of this IP Management Entry in the IP Management List Object.
The FC-SP specification does not allow the use of a DNS domain name to specify the address at the lower end or at the higher end of the Internet address range, nor does it allow the specification of a zone index. Therefore, the type of address must be one of: 'ipv4', or 'ipv6'. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 7.1.7.1 & 7.1.2, tables 103/126.
t11FcSpPoIpMgmtEntryNameLow
1.3.6.1.2.1.178.1.1.7.1.2
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 16) · OCTET STRING
The lower end of an Internet address range. The type of this address is given by the corresponding instance of t11FcSpPoIpMgmtEntryNameType. The combination of t11FcSpPoIpMgmtNameType, t11FcSpPoIpMgmtNameLow, and t11FcSpPoIpMgmtNameHigh specify the Internet address range of this IP Management Entry in the IP Management List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 7.1.7.1 & 7.1.2, tables 103/126.
t11FcSpPoIpMgmtEntryNameHigh
1.3.6.1.2.1.178.1.1.7.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 16) · OCTET STRING
The higher end of an Internet address range. The type of this address is given by the corresponding instance of t11FcSpPoIpMgmtEntryNameType.
The combination of t11FcSpPoIpMgmtNameType, t11FcSpPoIpMgmtNameLow, and t11FcSpPoIpMgmtNameHigh specify the Internet address range of this IP Management Entry in the IP Management List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 7.1.7.1 & 7.1.2, tables 103/126.
t11FcSpPoIpMgmtWkpIndex
1.3.6.1.2.1.178.1.1.7.1.4
Unsigned32
This object identifies the restrictions for IP management access by IP hosts in this range of IP addresses, specified as the set of Well-Known Protocols Access Descriptors contained in those rows of the t11FcSpPoWkpDescrTable for which the value of t11FcSpPoWkpDescrSpecifierIndex is the same as the value of this object. A value of zero indicates that this IP Management Entry does not identify a Well-Known Protocols Access Specifier. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and tables 127/129.
t11FcSpPoIpMgmtAttribute
1.3.6.1.2.1.178.1.1.7.1.5
T11FcSpAlphaNumNameOrAbsentAn extension of the T11FcSpAlphaNumName TC with one additional possible value: the zero-length string to indicate the absence of a name. SIZE (0..64) · OCTET STRING
The name of an active Attribute Policy Object that is defined for this IP Management entry or the zero-length string. The zero-length string indicates that no Attribute Policy Object is defined for this IP Management entry. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 128.
A table of the Well-Known Protocol Access Descriptors being used within active Policy Objects.
A Well-Known Protocol Access Specifier is a list of Well-Known Protocol Access Descriptors each of which specifies a protocol number, a port number, and/or various flags specifying how IP management access is restricted.
A Well-Known Protocol Transport Access Specifier is represented by all rows of this table that have the same values of fcmInstanceIndex, t11FcSpPoFabricIndex, and t11FcSpPoWkpDescrSpecifierIndex.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoWkpDescrSpecifierIndex
1.3.6.1.2.1.178.1.1.8.1.1
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Well-Known Protocol Access Specifier within a Fabric.
t11FcSpPoWkpDescrIndex
1.3.6.1.2.1.178.1.1.8.1.2
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Well-Known Protocol Access Descriptor within a Well-Known Protocol Access Specifier.
t11FcSpPoWkpDescrFlags
1.3.6.1.2.1.178.1.1.8.1.3
BITS
The flag bits that specify how access is to be limited by this Well-Known Protocol Access Descriptor:
- allow -- IP management access using this protocol/port is allowed if this bit is set, and to be denied if this bit is not set. - wkpWildcard -- if this bit is set, the IP Protocol number of the Well-Known Protocol to be allowed/denied is specified by the value of t11FcSpPoWkpDescrWkpNumber.
- destPortWildcard -- if this bit is set, the Destination (TCP/UDP) Port number of the Well-Known Protocol to be allowed/denied is specified by the value of t11FcSpPoWkpDescrDestPort.
- readOnly -- if this bit is set, then access is to be granted only for reading. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 131.
t11FcSpPoWkpDescrWkpNumber
1.3.6.1.2.1.178.1.1.8.1.4
Unsigned32 (0..255)
When the 'wkpWildcard' bit is set in the corresponding instance of t11FcSpPoWkpDescrFlags, this object specifies the IP protocol number of the Well-Known Protocol. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 131. - http://www.iana.org/assignments/protocol-numbers.
t11FcSpPoWkpDescrDestPort
1.3.6.1.2.1.178.1.1.8.1.5
InetPortNumberRepresents a 16 bit port number of an Internet transport layer protocol. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>.
The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where a port number is unknown, or when the value zero is used as a wildcard in a filter.Reference: STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960 (0..65535) · Unsigned32 · hint d
When the 'destPortWildcard' bit is set in the corresponding instance of t11FcSpPoWkpDescrFlags, this object specifies the Destination (TCP/UDP) Port number of the Well-Known Protocol. When the 'destPortWildcard' bit is reset, this object is ignored (and can have the value zero). Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 131. - http://www.iana.org/assignments/port-numbers.
A table of the Attribute Policy Objects being used within active Policy Objects. In the FC-SP Policy Database, each Attribute Policy Object consists of an Attribute Object Name and a set of Attribute Entries.
An active Attribute Policy Object is represented by all the Attribute Entries in this table that have the same value of t11FcSpPoAttribName.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoAttribName
1.3.6.1.2.1.178.1.1.9.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of the Attribute Policy Object containing one or more Attribute Entries. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1 and table 133.
t11FcSpPoAttribEntryIndex
1.3.6.1.2.1.178.1.1.9.1.2
Unsigned32 (1..4294967295)
A unique value to distinguish this Attribute Entry from other Attribute Entries contained in the same Attribute Policy Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 133/134.
t11FcSpPoAttribPartIndex
1.3.6.1.2.1.178.1.1.9.1.3
Unsigned32 (1..4294967295)
When the value of an Attribute Entry is shorter than 257 bytes, the whole value is contained in one instance of t11FcSpPoAttribValue, and the value of this object is 1.
If the value of an Attribute Entry is longer than 256 bytes, then that value is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, with each such part contained in a separate row of this table, and the value of this object is set to the part number. That is, this object has the value of 1 for bytes 0-255, the value of 2 for bytes 256-511, etc. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 134/135.
t11FcSpPoAttribType
1.3.6.1.2.1.178.1.1.9.1.4
Unsigned32 (1..4294967295)
The type of attribute. The first type to be defined is:
t11FcSpPoAttribType t11FcSpPoAttribValue
=================== ====================
'00000001'h The AUTH_Negotiate Message Payload Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 134/135 and table 10.
t11FcSpPoAttribValue
1.3.6.1.2.1.178.1.1.9.1.5
OCTET STRING SIZE (0..256)
The value of an Attribute Entry is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, and each such part is contained in a separate instance of this object.
The value of this object is independent of whether some parts of its value are broken out into separate MIB objects pointed to by the corresponding instance of t11FcSpPoAttribExtension. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 134/135 and table 10.
t11FcSpPoAttribExtension
1.3.6.1.2.1.178.1.1.9.1.6
OBJECT IDENTIFIER
For some types of Attribute Policy Object, the value of this MIB object points to type-specific MIB objects that contain individual/broken-out parts of the Attribute Policy Object's value. If this object doesn't point to such type-specific MIB objects, then it contains the value: zeroDotZero.
In particular, when the value of t11FcSpPoAttribType indicates 'AUTH_Negotiate Message Payload', one or more Authentication Protocol Identifiers and their associated Authentication Protocol Parameters are embedded within the value of the corresponding instance of t11FcSpPoAttribValue; MIB objects to contain these individual values are defined in the t11FcSpPoAuthProtTable. Thus, for an 'AUTH_Negotiate Message Payload' Attribute, the value of this object contains an OID within the t11FcSpPoAuthProtTable, e.g., of the whole table, of an individual row, or of an individual instance within the table.
A table of Authentication Protocol Identifier and Authentication Protocol Parameters that are embedded in Attribute Policy Objects being used within active Policy Objects.
This table is used for Attribute Entries of Attribute Policy Objects for which the value of t11FcSpPoAttribType indicates 'AUTH_Negotiate Message Payload' and the value of t11FcSpPoAttribExtension contains the OID of this table. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 5.3.2 & 7.1.8.1, tables 134/135 and tables 10/11.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoAuthProtIdentifier
1.3.6.1.2.1.178.1.1.10.1.1
Unsigned32
The Authentication Protocol Identifier:
1 = DH-CHAP
2 = FCAP
3 = FCPAP
4 = IKEv2
5 = IKEv2-AUTH
240 thru 255 = Vendor Specific Protocols
all other values are 'Reserved' (by T11). Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 5.3.2, table 11.
t11FcSpPoAuthProtPartIndex
1.3.6.1.2.1.178.1.1.10.1.2
Unsigned32 (1..4294967295)
When the value of an Attribute Protocol Parameters string is shorter than 257 bytes, the whole value is contained in one instance of t11FcSpPoAuthProtParams, and the value of this object is 1. (This includes the case when the Attribute Protocol Parameters string is zero bytes in length.)
If the value of an Authentication Protocol Parameters string is longer than 256 bytes, then that value is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, with each such part contained in a separate row of this table, and the value of this object is set to the part number. That is, this object has the value of 1 for bytes 0-255, the value of 2 for bytes 256-511, etc. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 5.3.2, table 10.
t11FcSpPoAuthProtParams
1.3.6.1.2.1.178.1.1.10.1.3
OCTET STRING SIZE (0..256)
The value of an Authentication Protocol Parameters string is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, and each such part is contained in a separate instance of this object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 5.3.2, table 10.
t11FcSpPoOperTable
1.3.6.1.2.1.178.1.2.1
Index: fcmInstanceIndex · t11FcSpPoFabricIndex
A table that allows Activate and Deactivate operations to be invoked for FC-SP Policies on various Fabrics.
Activating a new policy configuration is a two-step process:
1) create a single Policy Summary Object as a set of rows in the t11FcSpPoNaSummaryTable specifying a set of Policy Objects that describe the new configuration; and 2) activate that Policy Summary Object using the t11FcSpPoOperActivate object defined in this table.
Deactivating the current policy configuration is a one-step process: the current Policy Summary Object is deactivated using the t11FcSpPoOperDeActivate object.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoOperActivate
1.3.6.1.2.1.178.1.2.1.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
Writing the name of a Policy Summary Object into this object is a request to activate the policy configuration described by the combination of all rows in t11FcSpPoNaSummaryTable that have that name as their value of t11FcSpPoNaSummaryName and are for the same Fabric.
Before issuing such a request, the relevant rows in the t11FcSpPoNaSummaryTable must exist and represent a complete and consistent Policy Summary Object. If they do not, the request will fail, with t11FcSpPoOperResult having the 'badSummaryObject' value.
When read, the value of this object is always the zero- length string.
Writing to this object does not delete (or in any way affect) any rows in the MIB tables for non-active Policy Objects. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2
t11FcSpPoOperDeActivate
1.3.6.1.2.1.178.1.2.1.1.2
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
Writing the current value of t11FcSpPoPolicySummaryObjName into this object (for a particular Fabric) is a request to deactivate that Fabric's current policy configuration. Writing any other value into this object is an error (e.g., 'wrongValue').
When read, the value of this object is always the zero- length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.3
This object indicates the status/result of the last activation/deactivation that was invoked via the corresponding instance of t11FcSpPoOperActivate or t11FcSpPoOperDeActivate.
When the value of this object is 'inProgress', the values of the corresponding instances of t11FcSpPoOperActivate and t11FcSpPoOperDeActivate cannot be modified.
The value 'badSummaryObject' indicates an activation request that did not name a complete and consistent Policy Summary Object.
The value 'none' indicates activation/deactivation has not been attempted since the last restart of the management system.
t11FcSpPoOperFailCause
1.3.6.1.2.1.178.1.2.1.1.4
SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form.
To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279].
Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited.
The use of control codes should be avoided.
When it is necessary to represent a newline, the control code sequence CR LF should be used.
The use of leading or trailing white space should be avoided.
For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided.
For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding.
UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding.
Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416].
Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..64) · OCTET STRING · hint 255t
A textual message indicating the reason for the most recent activation/deactivation failure, or the zero-length string if no information is available (e.g., because the corresponding instance of t11FcSpPoOperResult has the value 'none'). When the corresponding instance of t11FcSpPoOperResult is either 'activateFailure' or 'deactivateFailure', the value of this object indicates the reason for that failure.
A table of non-active Policy Summary Objects available to be activated.
The functionality of this table deviates slightly from FC-SP in that FC-SP specifies that the only Policy Summary Object is the Active one, i.e., FC-SP does not store non-active Policy Summary Objects in the Policy Database. Instead, FC-SP requires a new Policy Summary Object to be created for, and embedded within, every Activate (APS) request. Thus, the newly created Policy Summary Object outlasts the APS request only as the new active Policy Summary Object and only if the APS succeeds. In contrast, the Activate operation provided by this MIB module consists of two steps:
1) create a non-active Policy Summary Object as a set of entries in this table describing a new configuration; 2) activate a Policy Summary Object (stored as a set of entries in this table) using t11FcSpPoOperActivate.
These two steps are only loosely connected, i.e., the result of the first operation is a non-active Policy Summary Object that is retained (in this table) even if it isn't immediately activated. Even after an attempt to activate it succeeds or fails, a non-active Policy Summary Object is not deleted, but is retained and still available for subsequent modification/re-use.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaSummaryName
1.3.6.1.2.1.178.1.3.1.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of the non-active Policy Summary Object that contains this Policy Object.
t11FcSpPoNaSummaryPolicyType
1.3.6.1.2.1.178.1.3.1.1.2
T11FcSpPolicyObjectType1 = summary2 = switchMemberList3 = nodeMemberList4 = switchConnectivity5 = ipMgmtList6 = attributeA value that identifies the type of an FC-SP Policy Object.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 102. · Integer32
The 'Identifier' (i.e., the type) of this Policy Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3.1 and table 104.
t11FcSpPoNaSummaryPolicyIndex
1.3.6.1.2.1.178.1.3.1.1.3
Unsigned32 (1..4294967295)
A unique integer value to distinguish this Policy Object from any others that have the same type and that are contained in the same Policy Summary Object.
t11FcSpPoNaSummaryPolicyNameType
1.3.6.1.2.1.178.1.3.1.1.4
T11FcSpPolicyNameType1 = nodeName7 = alphaNumericNameThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
The combination of t11FcSpPoNaSummaryPolicyNameType and t11FcSpPoNaSummaryPolicyName specify the name of the non-active Policy Object identified by this row.
The type of name must be 'nodeName' if the value of the corresponding instance of t11FcSpPoNaSummaryPolicyType is 'switchConnectivity', or 'alphaNumericName' otherwise.
t11FcSpPoNaSummaryPolicyName
1.3.6.1.2.1.178.1.3.1.1.5
T11FcSpPolicyNameA syntax used, when defining Policy Objects, for the name of something.
An object that uses this syntax always identifies a companion object with syntax T11FcSpPolicyNameType such that the companion object specifies the format and usage of the object with this syntax.
When the companion object has the value 'wildcard' or 'restrictedWildcard', the value of the T11FcSpPolicyName
object is: '0000000000000000'h.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The combination of t11FcSpPoNaSummaryPolicyNameType and t11FcSpPoNaSummaryPolicyName specify the name of the non-active Policy Object identified by this row.
t11FcSpPoNaSummaryHashStatus
1.3.6.1.2.1.178.1.3.1.1.6
T11FcSpHashCalculationStatus1 = calculate2 = correct3 = staleWhen some kind of 'database' is defined in a set of read-write MIB objects, it is common that multiple changes in the data need to be made at the same time. So, if hash values are maintained for that data, those hash values are only correct if and when they are re-calculated after every change. In such circumstances, the use of an object with this syntax allows the re-calculation of the hash values to be deferred until all changes have been made, and therefore the calculation need only be done once after all changes, rather than repeatedly/after each individual change.
The definition of an object defined using this TC is required to specify which one or more instances of which MIB objects contain the hash values operated upon (or whose status is given) by the value of this TC.
When read, the value of an object with this syntax is either:
correct -- the identified MIB object instance(s) contain the correct hash values; or
stale -- the identified MIB object instance(s)
contain stale (possibly incorrect) values.
Writing a value of 'calculate' is a request to re-calculate and update the values of the corresponding instances of the identified MIB objects. Writing a value of 'correct' or 'stale' to this object is an error (e.g., 'wrongValue'). · Integer32
When read, the value of this object is either:
correct -- the corresponding instance of t11FcSpPoNaSummaryHashValue contains the correct value; or
stale -- the corresponding instance of
t11FcSpPoNaSummaryHashValue contains a stale (possibly incorrect) value;
Writing a value of 'calculate' is a request to re-calculate and update the value of the corresponding instance of t11FcSpPoNaSummaryHashValue. Writing a value of 'correct' or 'stale' to this object is an error (e.g., 'wrongValue').
t11FcSpPoNaSummaryHashFormat
1.3.6.1.2.1.178.1.3.1.1.7
T11FcSpPolicyHashFormatIdentifies a cryptographic hash function used to create a hash value that summarizes an FC-SP Policy Object.
Each definition of an object with this TC as its syntax must be accompanied by a corresponding definition of an object with T11FcSpPolicyHashValue as its syntax, and containing the hash value.
The first two cryptographic hash functions are:
Hash Type Hash Tag Hash Length (Bytes)
SHA-1 '00000001'h 20
SHA-256 '00000002'h 32Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3.1 and table 106. - FIPS PUB 180-2. SIZE (4) · OCTET STRING
The format of this Policy Object's hash value as contained in the corresponding instance of the t11FcSpPoNaSummaryHashValue object.
t11FcSpPoNaSummaryHashValue
1.3.6.1.2.1.178.1.3.1.1.8
T11FcSpPolicyHashValueRepresents the value of the cryptographic hash function of an FC-SP Policy Object.
Each definition of an object with this TC as its syntax must be accompanied by a corresponding definition of an object with T11FcSpPolicyHashFormat as its syntax. The corresponding object identifies the cryptographic hash function used to create the hash value.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3.1 and table 106. SIZE (0..64) · OCTET STRING
The hash value of this Policy Object, in the format identified by the corresponding instance of the t11FcSpPoNaSummaryHashFormat object.
t11FcSpPoNaSummaryRowStatus
1.3.6.1.2.1.178.1.3.1.1.9
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row.
Before a row in this table can have 'active' status, a non-Active Policy Object must already be represented in the table corresponding to the value of t11FcSpPoNaSummaryPolicyType with the name given by the combination of t11FcSpPoNaSummaryPolicyNameType and t11FcSpPoNaSummaryPolicyName. If such a Policy Object gets deleted from the relevant table, the row in this table must also get deleted.
When a row has 'active' status, the only write-able MIB objects in this table are t11FcSpPoNaSummaryHashStatus and t11FcSpPoNaSummaryRowStatus.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaSwListName
1.3.6.1.2.1.178.1.3.2.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of the Switch Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 108.
t11FcSpPoNaSwListFabricName
1.3.6.1.2.1.178.1.3.2.1.2
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The administratively specified Fabric_Name. This value is meaningful only when static Domain_IDs are used in a Fabric. If Static Domain_IDs are not used, the Fabric_Name is dynamically determined, in which case the value of this object can be '0000000000000000'h or the zero-length string. Reference: - t11FamConfigDomainId, T11-FC-FABRIC-ADDR-MGR-MIB, Fibre Channel Fabric Address Manager MIB, RFC 4439; - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, table 108.
t11FcSpPoNaSwListRowStatus
1.3.6.1.2.1.178.1.3.2.1.3
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
If a row in this table is deleted, any row in the t11FcSpPoNaSwMembTable for the same Switch Membership List Object will also get deleted.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaSwMembSwitchNameType
1.3.6.1.2.1.178.1.3.3.1.1
T11FcSpPolicyNameType1 = nodeName2 = restrictedNodeName5 = wildcard6 = restrictedWildcardThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
If the value of this object is 'nodeName' or 'restrictedNodeName', then the combination of this object and t11FcSpPoNaSwMembSwitchName specify the Switch Name of this Switch Entry.
The membership is restricted or unrestricted based on the name type. Restricted membership means that the Switch is not allowed to be part of the Fabric unless allowed by a specific Switch Connectivity Object. Unrestricted membership means that the Switch is allowed to be part of the Fabric unless disallowed by a specific Switch Connectivity Object.
The values of 'wildcard' and 'restrictedWildcard' provide the means to specify whether to allow/deny membership for Switches not explicitly named in the Switch Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
t11FcSpPoNaSwMembSwitchName
1.3.6.1.2.1.178.1.3.3.1.2
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
If the value of t11FcSpPoSwMembSwitchNameType is 'wildcard' or 'restrictedWildcard', this object has the value '0000000000000000'h.
Otherwise, the combination of t11FcSpPoNaSwMembSwitchNameType and this object specify the Switch Name of this Switch Entry. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
t11FcSpPoNaSwMembFlags
1.3.6.1.2.1.178.1.3.3.1.3
BITS
Configurable options in respect to the administration of Policy Objects at this Switch:
'staticDomainID' - the Switch uses the 'Static
Domain_IDs behavior' (as defined in FC-SW-4) when this bit is set. This bit should have the same setting for all Switches in a Fabric's Switch Membership List Object, or else the Fabric will partition. If this bit is set, the 'insistentDomainID' bit must not be set.
'insistentDomainID' - if this bit is set, the Switch
uses the 'Insistent Domain_IDs behavior' (as defined in FC-SW-4), and the 'staticDomainID' bit must not be set.
'serialPortsAccess' - the Switch allows management
through serial ports when and only when this bit is set.
'physicalPortsAccess' - the Switch allows management through the physical panel when and only when this bit is set.
'managerRole' - the Switch is allowed to change
the Fabric Policy configuration (on receipt of any of the EACA, ESFC, EUFC, ACA, SFC, or UFC SW_ILSs) if this bit is set. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 112.
t11FcSpPoNaSwMembDomainID
1.3.6.1.2.1.178.1.3.3.1.4
FcDomainIdOrZeroThe Domain Id (of an FC switch), or zero if the no Domain Id has been assigned. (0..239) · Integer32
The Domain_ID to be used when either the 'staticDomainID' bit or the 'insistentDomainID' bit is set in the corresponding value of t11FcSpPoNaSwMembFlags. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and tables 111 and 112.
t11FcSpPoNaSwMembPolicyDataRole
1.3.6.1.2.1.178.1.3.3.1.5
INTEGER1 = client2 = autonomous3 = server · Integer32
The role of the Switch in terms of which Policy data it retains/maintains:
'client' - the Switch operates as a Client Switch. A Client Switch maintains its own Switch Connectivity Object and all Fabric-wide List Objects. If FC-SP Zoning is used, a Client Switch maintains only the subset of the Active Zone Set that it requires to enforce the current Fabric Zoning configuration.
'autonomous' - the Switch operates as an Autonomous
Switch. An Autonomous Switch maintains its own Switch Connectivity Object and all Fabric-wide List Objects. This is the same as 'client' except that if FC-SP Zoning is used, an Autonomous Switch maintains a complete copy of the Fabric Zoning Database.
'server' - the Switch operates as a Server Switch. A Server Switch maintains all Fabric-wide List Objects and the Switch Connectivity Objects of each Switch in the Fabric. If FC-SP Zoning is used, a Server Switch maintains a complete copy of the Fabric Zoning Database. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 113.
t11FcSpPoNaSwMembAuthBehaviour
1.3.6.1.2.1.178.1.3.3.1.6
BITS
The authentication behaviour of the Switch:
'mustAuthenticate' - if this bit is set, all connections between this Switch and neighbor Switches must be authenticated.
'rejectIsFailure' - if this bit is set, the rejection of an AUTH_Negotiate message must be considered as an authentication failure by this Switch. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 114.
t11FcSpPoNaSwMembAttribute
1.3.6.1.2.1.178.1.3.3.1.7
T11FcSpAlphaNumNameOrAbsentAn extension of the T11FcSpAlphaNumName TC with one additional possible value: the zero-length string to indicate the absence of a name. SIZE (0..64) · OCTET STRING
The name of a non-active Attribute Policy Object that is defined for this Switch. The zero-length string indicates that no non-active Attribute Policy Object is defined for this Switch.
The effect of having no rows in the t11FcSpPoNaAttribTable for which the value of t11FcSpPoNaAttribName is the same as the value of this object, is the same as this object's value being the zero-length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 110.
t11FcSpPoNaSwMembRowStatus
1.3.6.1.2.1.178.1.3.3.1.8
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A row cannot exist unless there is a row in the t11FcSpPoNaSwListTable for the Switch Membership List Object containing the Switch Entry for this Switch, i.e., the row in t11FcSpPoNaSwListTable for a Switch Membership List Object must be created before (or simultaneously) with a row in this table for a Switch Entry in that Switch Membership List Object; and when a row in t11FcSpPoNaSwListTable is deleted, any row in this table for a Switch Entry in that Switch Membership List Object also gets deleted.
A table of Node Entries in non-active Node Membership List Objects. One Node Membership List Object is represented by all the rows in this table that have the same value of t11FcSpPoNaNoMembListName.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaNoMembListName
1.3.6.1.2.1.178.1.3.4.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of the non-active Node Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
t11FcSpPoNaNoMembNodeNameType
1.3.6.1.2.1.178.1.3.4.1.2
T11FcSpPolicyNameType1 = nodeName2 = restrictedNodeName3 = portName4 = restrictedPortName5 = wildcard6 = restrictedWildcardThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
If the value of this object is 'wildcard' or 'restrictedWildcard', this Node Entry applies to Nodes not explicitly named in the Node Membership List Object.
Otherwise, the combination of this object and t11FcSpPoNaNoMembNodeName specify the name of this Node Entry in the active Node Membership List Object. A Node is identified by its Node Name or by one or more of its Port Names.
Restricted membership means that a Node is not allowed to be connected to the Fabric unless allowed by a specific Switch Connectivity Object. Unrestricted membership means that a Node is allowed to be connected to the Fabric unless disallowed by a specific Switch Connectivity Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
t11FcSpPoNaNoMembNodeName
1.3.6.1.2.1.178.1.3.4.1.3
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
If the value of t11FcSpPoNaNoMembNodeNameType is 'wildcard' or 'restrictedWildcard', this object has the value '0000000000000000'h.
Otherwise, the combination of t11FcSpPoNaNoMembNodeNameType and this object specify the name of this Node Entry is the active Node Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
t11FcSpPoNaNoMembFlags
1.3.6.1.2.1.178.1.3.4.1.4
BITS
Configurable options in respect to the administration of Policy Objects at this Node:
'scsiEnclosureAccess' - the Node is allowed to
control any Switch through SCSI Enclosure Services if this bit is set. If a Switch does not support SCSI Enclosure Services, this bit is ignored.
'authenticationRequired' - the Node is required to
authenticate itself to any Switch to which it is connected if and only if this bit is set. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 118.
t11FcSpPoNaNoMembCtAccessIndex
1.3.6.1.2.1.178.1.3.4.1.5
Unsigned32
If the value of this object is zero, then access by this Node to Generic Services is not limited by a Common Transport Access Specifier.
Otherwise, the limits are specified by the set of Common Transport Access Descriptors contained in those rows of the t11FcSpPoNaCtDescrTable for which the value of t11FcSpPoNaCtDescrSpecifierIndex is the same as the value of this object. No such rows in t11FcSpPoNaCtDescrTable have the same effect as this object's value being zero. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and tables 118/119/120/121.
t11FcSpPoNaNoMembAttribute
1.3.6.1.2.1.178.1.3.4.1.6
T11FcSpAlphaNumNameOrAbsentAn extension of the T11FcSpAlphaNumName TC with one additional possible value: the zero-length string to indicate the absence of a name. SIZE (0..64) · OCTET STRING
The name of a non-active Attribute Policy Object that is defined for this Node. The zero-length string indicates that no non-active Attribute Policy Object is defined for this Node.
The effect of having no rows in the t11FcSpPoNaAttribTable for which the value of t11FcSpPoNaAttribName is the same as the value of this object, is the same as this object's value being the zero-length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.4.1 and table 116.
t11FcSpPoNaNoMembRowStatus
1.3.6.1.2.1.178.1.3.4.1.7
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A table of Common Transport Access Descriptors referenced by non-active Policy Objects.
A Common Transport Access Specifier is a list of Common Transport Access Descriptors that specify whether a Node is allowed to access a Generic Service or Sub-Server.
A non-active Common Transport Access Specifier is represented by all rows of this table that have the same values of fcmInstanceIndex, t11FcSpPoFabricIndex, and t11FcSpPoNaCtDescrSpecifierIndex. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.5
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaCtDescrSpecifierIndex
1.3.6.1.2.1.178.1.3.5.1.1
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Common Transport Access Specifier within a Fabric.
t11FcSpPoNaCtDescrIndex
1.3.6.1.2.1.178.1.3.5.1.2
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Common Transport Access Descriptor within a Common Transport Access Specifier.
t11FcSpPoNaCtDescrFlags
1.3.6.1.2.1.178.1.3.5.1.3
BITS
The flag bits that specify how access is to be limited by this Common Transport Access Descriptor:
- allow -- access to the specified Generic Service and Server is allowed if this bit is set, and is to be denied if this bit is not set.
- gsTypeWildcard -- if this bit is set, the Generic Service to be allowed/denied is specified by the value of t11FcSpPoNaCtDescrGsType, and the gsSubTypeWildcard bit must not also be set.
- gsSubTypeWildcard -- if this bit is set, the Generic Service to be allowed/denied is specified by the value of t11FcSpPoNaCtDescrGsSubType, and the gsTypeWildcard bit must not also be set.
- readOnly -- if this bit is set, then access is to be granted only for reading. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.5.1, and tables 117, 118, and 120.
t11FcSpPoNaCtDescrGsType
1.3.6.1.2.1.178.1.3.5.1.4
OCTET STRING SIZE (1)
The GS_Type of the Generic Service (e.g., the FC-GS-5 Management Service) that is subject to access control. This value is ignored if the gsTypeWildcard bit is not set in the corresponding value of t11FcSpPoNaCtDescrFlags. Reference: - ANSI INCITS 427-2006, Fibre Channel - Generic Services-5 (FC-GS-5), section 4.3.2.4. - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.5.1 and table 120.
t11FcSpPoNaCtDescrGsSubType
1.3.6.1.2.1.178.1.3.5.1.5
OCTET STRING SIZE (1)
The GS_Subtype of the Generic Server (e.g., the Fabric Zone Server) that is subject to access control. This value is ignored if the gsSubTypeWildcard bit is not set in the corresponding value of t11FcSpPoNaCtDescrFlags. Reference: - ANSI INCITS 427-2006, Fibre Channel - Generic Services-5 (FC-GS-5), section 4.3.2.5. - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.5.1 and table 120.
t11FcSpPoNaCtDescrRowStatus
1.3.6.1.2.1.178.1.3.5.1.6
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A table of non-active Switch Connectivity Objects. A Switch Connectivity Object defines to which other Switches or Nodes a particular Switch may/may not be connected at the Node level and/or at the Port level. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaSwConnSwitchName
1.3.6.1.2.1.178.1.3.6.1.1
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
The name of the Switch for which this Switch Connectivity Object specifies topology restrictions. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1 and table 123.
t11FcSpPoNaSwConnAllowedType
1.3.6.1.2.1.178.1.3.6.1.2
INTEGER1 = switch2 = node · Integer32
This object specifies whether this row refers to an 'Allowed Switch' that concerns Switch-to-Switch connectivity or an 'Allowed Node' that concerns Switch-to-Node connectivity. Consequently, this object's value indicates whether the corresponding instance of t11FcSpPoNaSwConnAllowedName specifies the name of a Switch or the name of a Node. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1 and table 123.
t11FcSpPoNaSwConnPortNameOrAll
1.3.6.1.2.1.178.1.3.6.1.3
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8) · OCTET STRING
This object specifies either the particular port on which this topology restriction applies, or if the value is the zero-length string, that the topology restriction applies to all ports of the Switch.
In other words, if this object's value contains the name of a port, then this row represents a 'Port Connectivity Entry' (as described in FC-SP) within a Switch Connectivity Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1 and tables 123/124.
t11FcSpPoNaSwConnAllowedIndex
1.3.6.1.2.1.178.1.3.6.1.4
Unsigned32 (1..4294967295)
When multiple rows in this table refer to different 'Allowed Switches' or to different 'Allowed Nodes' for the same port(s) in the same Switch Connectivity Object, this object provides a unique index value to distinguish between such rows.
t11FcSpPoNaSwConnAllowedNameType
1.3.6.1.2.1.178.1.3.6.1.5
T11FcSpPolicyNameType1 = nodeName2 = restrictedNodeName3 = portName4 = restrictedPortName5 = wildcard6 = restrictedWildcardThe format and usage of a companion object having T11FcSpPolicyName as its syntax.
Six of the values indicate the same format, i.e., they differ only in semantics. That common format is a Fibre Channel 'Name_Identifier', i.e., the same syntax as 'FcNameIdOrZero (SIZE(8))'.
These six are three pairs of one restricted and one unrestricted. Each usage of this syntax must specify what the meaning of 'restricted' is for that usage and how the characteristics and behavior of restricted names differ from unrestricted names.
The six are:
'nodeName' - a Node_Name, which is the
Name_Identifier associated with a Fibre Channel Node.
'restrictedNodeName' - a Restricted Node_Name.
'portName' - the Name_Identifier associated
with a Fibre Channel Port.
'restrictedPortName' - a Restricted Port_Name.
'wildcard' - a Wildcard value that is used to
identify 'all others' (typically, all other members of a Policy Object, not all other Policy Objects).
'restrictedWildcard' - a Restricted Wildcard value.
Other possible values are:
'alphaNumericName' - the value begins with an ASCII
letter (upper or lower case) followed by (0 ... 63)
characters from the set: lower case letters, upper case
letters, digits, and the four symbols: dollar-sign ($), dash (-), caret (^), and underscore (_).
'ipv6AddressRange' - two IPv6 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 32 bytes.
'ipv4AddressRange' - two IPv4 addresses in network
byte order, the numerically smallest first and the numerically largest second; total length is 8 bytes.Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. · Integer32
If the value of this object is 'wildcard' or 'restrictedWildcard', this row specifies whether connectivity is allowed/not allowed with entities not explicitly named by other rows.
Otherwise, the combination of t11FcSpPoNaSwConnAllowedNameType and t11FcSpPoNaSwConnAllowedName specify the name of:
- a Switch (if t11FcSpPoNaSwConnAllowedType = 'switch'), or - a Node (if t11FcSpPoNaSwConnAllowedType = 'node')
to which connectivity is allowed/not allowed. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1 and tables 123/124.
t11FcSpPoNaSwConnAllowedName
1.3.6.1.2.1.178.1.3.6.1.6
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (8) · OCTET STRING
If t11FcSpPoNaSwConnAllowedNameType has the value 'wildcard' or 'restrictedWildcard', this object has the value '0000000000000000'h. Otherwise, the combination of t11FcSpPoNaSwConnAllowedNameType and t11FcSpPoNaSwConnAllowedName specify the name of:
- a Switch (if t11FcSpPoNaSwConnAllowedType = 'switch'), or - a Node (if t11FcSpPoNaSwConnAllowedType = 'node')
to which connectivity is allowed/not allowed. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.6.1 and tables 123/124.
t11FcSpPoNaSwConnRowStatus
1.3.6.1.2.1.178.1.3.6.1.7
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A table of IP Management Entries in non-active IP Management List Objects. The IP Management List Object is a Fabric-wide Policy Object that describes which IP hosts are allowed to manage a Fabric.
One non-active IP Management List Object is represented by all rows of this table that have the same values of fcmInstanceIndex and t11FcSpPoFabricIndex.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaIpMgmtListName
1.3.6.1.2.1.178.1.3.7.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of a non-active Node Membership List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 125.
t11FcSpPoNaIpMgmtEntryNameType
1.3.6.1.2.1.178.1.3.7.1.2
InetAddressType1 = ipv42 = ipv6A value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The combination of t11FcSpPoNaIpMgmtEntryNameType, t11FcSpPoNaIpMgmtNameLow, and t11FcSpPoNaIpMgmtNameHigh specify the Internet address range of this IP Management Entry in the IP Management List Object.
The FC-SP specification does not allow this address to be specified using a DNS domain name, nor does it allow the specification of zone indexes. Therefore, the type of address must be one of: 'ipv4' or 'ipv6'. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 7.1.7.1 and table 126.
t11FcSpPoNaIpMgmtEntryNameLow
1.3.6.1.2.1.178.1.3.7.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 16) · OCTET STRING
The lower end of an Internet address range. The type of this address is given by the corresponding instance of t11FcSpPoNaIpMgmtEntryNameType.
The combination of t11FcSpPoNaIpMgmtEntryNameType, t11FcSpPoNaIpMgmtNameLow, and t11FcSpPoIpMgmtNameHigh specify the Internet address range of this IP Management Entry in the IP Management List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 7.1.7.1 and table 126.
t11FcSpPoNaIpMgmtEntryNameHigh
1.3.6.1.2.1.178.1.3.7.1.4
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 16) · OCTET STRING
The higher end of an Internet address range. The type of this address is given by the corresponding instance of t11FcSpPoNaIpMgmtEntryNameType.
The combination of t11FcSpPoNaIpMgmtEntryNameType, t11FcSpPoNaIpMgmtNameLow, and t11FcSpPoNaIpMgmtNameHigh specify the Internet address range of this IP Management Entry in the IP Management List Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 7.1.7.1 and table 126.
t11FcSpPoNaIpMgmtWkpIndex
1.3.6.1.2.1.178.1.3.7.1.5
Unsigned32
This object identifies the restrictions for IP management access by IP hosts in this range of IP addresses.
The restrictions are specified as the set of Well-Known Protocols Access Descriptors contained in those rows of the t11FcSpPoNaWkpDescrTable for which the value of t11FcSpPoNaWkpDescrSpecifierIndx is the same as the value of this object. If there are no such rows or if the value of this object is zero, then this IP Management Entry does not identify any Well-Known Protocols Access restrictions. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and tables 127/129.
t11FcSpPoNaIpMgmtAttribute
1.3.6.1.2.1.178.1.3.7.1.6
T11FcSpAlphaNumNameOrAbsentAn extension of the T11FcSpAlphaNumName TC with one additional possible value: the zero-length string to indicate the absence of a name. SIZE (0..64) · OCTET STRING
The name of a non-active Attribute Policy Object that is defined for this IP Management entry. The zero-length string indicates that no non-active Attribute Policy Object is defined for it. The effect of having no rows in the t11FcSpPoNaAttribTable for which the value of t11FcSpPoNaAttribName is the same as the value of this object, is the same as this object's value being the zero-length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 128.
t11FcSpPoNaIpMgmtRowStatus
1.3.6.1.2.1.178.1.3.7.1.7
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A table of the Well-Known Protocol Access Descriptors referenced from non-active Policy Objects.
A Well-Known Protocol Access Specifier is a list of Well-Known Protocol Access Descriptors each of which specifies a protocol number, a port number, and/or various flags specifying how IP management access is restricted.
A non-active Well-Known Protocol Transport Access Specifier is represented by all rows of this table that have the same values of fcmInstanceIndex, t11FcSpPoFabricIndex, and t11FcSpPoNaWkpDescrSpecifierIndx.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaWkpDescrSpecifierIndx
1.3.6.1.2.1.178.1.3.8.1.1
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular non-active Well-Known Protocol Access Specifier within a Fabric.
t11FcSpPoNaWkpDescrIndex
1.3.6.1.2.1.178.1.3.8.1.2
Unsigned32 (1..4294967295)
An index value that uniquely identifies a particular Well-Known Protocol Access Descriptor within a non-active Well-Known Protocol Access Specifier.
t11FcSpPoNaWkpDescrFlags
1.3.6.1.2.1.178.1.3.8.1.3
BITS
The flag bits that specify how access is to be limited by this Well-Known Protocol Access Descriptor:
- allow -- IP management access using this protocol/port is allowed if this bit is set, and to be denied if this bit is not set.
- wkpWildcard -- if this bit is set, the IP Protocol number of the Well-Known Protocol to be allowed/denied is specified by the value of t11FcSpPoNaWkpDescrWkpNumber.
- destPortWildcard -- if this bit is set, the Destination (TCP/UDP) Port number of the Well-Known Protocol to be allowed/denied is specified by the value of t11FcSpPoNaWkpDescrDestPort.
- readOnly -- if this bit is set, then access is to be granted only for reading. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 131.
t11FcSpPoNaWkpDescrWkpNumber
1.3.6.1.2.1.178.1.3.8.1.4
Unsigned32 (0..255)
When the 'wkpWildcard' bit is set in the corresponding instance of t11FcSpPoNaWkpDescrFlags, this object specifies the IP protocol number of the Well-Known Protocol. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 131. - http://www.iana.org/assignments/protocol-numbers.
t11FcSpPoNaWkpDescrDestPort
1.3.6.1.2.1.178.1.3.8.1.5
InetPortNumberRepresents a 16 bit port number of an Internet transport layer protocol. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>.
The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where a port number is unknown, or when the value zero is used as a wildcard in a filter.Reference: STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960 (0..65535) · Unsigned32 · hint d
When the 'destPortWildcard' bit is set in the corresponding instance of t11FcSpPoNaWkpDescrFlags, this object specifies the Destination (TCP/UDP) Port number of the Well-Known Protocol. When the 'destPortWildcard' bit is reset, this object is ignored (and can have the value zero). Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.7.1 and table 131. - http://www.iana.org/assignments/port-numbers.
t11FcSpPoNaWkpDescrRowStatus
1.3.6.1.2.1.178.1.3.8.1.6
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A table of the Attribute Policy Objects being used within non-active Policy Objects.
A non-active Attribute Policy Object is represented by all the Attribute Entries in this table that have the same value of t11FcSpPoNaAttribName.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaAttribName
1.3.6.1.2.1.178.1.3.9.1.1
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of the Attribute Policy Object containing one or more Attribute Entries. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1 and table 133.
t11FcSpPoNaAttribEntryIndex
1.3.6.1.2.1.178.1.3.9.1.2
Unsigned32 (1..4294967295)
A unique value to distinguish this Attribute Entry from other Attribute Entries contained in the same Attribute Policy Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 133/134.
t11FcSpPoNaAttribPartIndex
1.3.6.1.2.1.178.1.3.9.1.3
Unsigned32 (1..4294967295)
When the value of an Attribute Entry is shorter than 257 bytes, the whole value is contained in one instance of t11FcSpPoNaAttribValue, and the value of this object is 1.
If the value of an Attribute Entry is longer than 256 bytes, then that value is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part which is shorter if necessary, with each such part contained in a separate row of this table, and the value of this object is set to the part number. That is, this object has the value of 1 for bytes 0-255, the value of 2 for bytes 256-511, etc. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 134/135.
t11FcSpPoNaAttribType
1.3.6.1.2.1.178.1.3.9.1.4
Unsigned32 (1..4294967295)
The type of attribute. The first type to be defined is:
t11FcSpPoNaAttribType t11FcSpPoNaAttribValue
===================== ======================
'00000001'h The AUTH_Negotiate Message Payload Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 134/135 and table 10.
t11FcSpPoNaAttribValue
1.3.6.1.2.1.178.1.3.9.1.5
OCTET STRING SIZE (0..256)
The value of an Attribute Entry is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, and each such part is contained in a separate instance of this object.
When the value of the corresponding instance of t11FcSpPoNaAttribExtension is not zeroDotZero, then the same underlying management data has its value contained both in this object and in the individual/broken-out parts pointed to by t11FcSpPoNaAttribExtension. Thus, after any modification of the underlying management data, e.g., after a Set operation to the value of either MIB representation, then that modification is reflected in the values of both MIB representations. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.8.1, tables 134/135 and table 10.
t11FcSpPoNaAttribExtension
1.3.6.1.2.1.178.1.3.9.1.6
OBJECT IDENTIFIER
For some types of Attribute Policy Object, the value of this MIB object points to type-specific MIB objects that contain individual/broken-out parts of the Attribute Policy Object's value. If this object doesn't point to such type-specific MIB objects, then it contains the value: zeroDotZero.
In particular, when the value of t11FcSpPoNaAttribType indicates 'AUTH_Negotiate Message Payload', one or more Authentication Protocol Identifiers and their associated Authentication Protocol Parameters are embedded within the value of the corresponding instance of t11FcSpPoNaAttribValue; MIB objects to contain these individual values are defined in the t11FcSpPoAuthProtTable. Thus, for an 'AUTH_Negotiate Message Payload' Attribute, the value of this object would contain the OID of t11FcSpPoNaAuthProtTable.
When the value of this object is not zeroDotZero, then the same underlying management data has its value contained in both the individual/broken-out parts pointed to by this object and in the corresponding instance of t11FcSpPoNaAttribValue. Thus, after any modification of the underlying management data, e.g., after a Set operation to the value of either MIB representation, then that modification is reflected in the values of both MIB representations.
t11FcSpPoNaAttribRowStatus
1.3.6.1.2.1.178.1.3.9.1.7
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
A table of Authentication Protocol Identifier and Authentication Protocol Parameters that are embedded in Attribute Policy Objects being used within non-active Policy Objects.
This table is used for Attribute Entries of Attribute Policy Objects for which the value of t11FcSpPoNaAttribType indicates 'AUTH_Negotiate Message Payload' and the value of t11FcSpPoNaAttribExtension contains the OID of this table. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, sections 5.3.2 & 7.1.8.1, tables 134/135 and tables 10/11.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoNaAuthProtIdentifier
1.3.6.1.2.1.178.1.3.10.1.1
Unsigned32
The Authentication Protocol Identifier:
1 = DH-CHAP
3 = FCPAP
4 = IKEv2
5 = IKEv2-AUTH
240 thru 255 = Vendor Specific Protocols
all other values are 'Reserved' (by T11). Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 5.3.2, table 11.
t11FcSpPoNaAuthProtPartIndex
1.3.6.1.2.1.178.1.3.10.1.2
Unsigned32 (1..4294967295)
When the value of an Attribute Protocol Parameters string is shorter than 257 bytes, the whole value is contained in one instance of t11FcSpPoNaAuthProtParams, and the value of this object is 1. (This includes the case when the Attribute Protocol Parameters string is zero bytes in length.)
If the value of an Authentication Protocol Parameters string is longer than 256 bytes, then that value is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, with each such part contained in a separate row of this table, and the value of this object is set to the part number. That is, this object has the value of 1 for bytes 0-255, the value of 2 for bytes 256-511, etc. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 5.3.2, table 10.
t11FcSpPoNaAuthProtParams
1.3.6.1.2.1.178.1.3.10.1.3
OCTET STRING SIZE (0..256)
The value of an Authentication Protocol Parameters string is divided up on 256-byte boundaries such that all parts are 256 bytes long except the last part, which is shorter if necessary, and each such part is contained in a separate instance of this object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 5.3.2, table 10.
t11FcSpPoNaAuthProtRowStatus
1.3.6.1.2.1.178.1.3.10.1.4
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row. Values of object instances within the row can be modified at any time.
t11FcSpPoStatsTable
1.3.6.1.2.1.178.1.4.1
Index: fcmInstanceIndex · t11FcSpPoFabricIndex
A table of statistics maintained by FC-SP Security Policy Servers.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoInRequests
1.3.6.1.2.1.178.1.4.1.1.1
Counter32
The number of FC-SP Policy Management Requests (e.g., GPS, APS, etc.) received by this FC-SP Security Policy Server on this Fabric.
This counter has no discontinuities other than those that all Counter32's have when sysUpTime=0. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.
t11FcSpPoInAccepts
1.3.6.1.2.1.178.1.4.1.1.2
Counter32
The number of times that this FC-SP Security Policy Server sent an Accept CT_IU on this Fabric in response to a received FC-SP Policy Management Request (e.g., GPS, APS, etc.).
This counter has no discontinuities other than those that all Counter32's have when sysUpTime=0. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.
t11FcSpPoInRejects
1.3.6.1.2.1.178.1.4.1.1.3
Counter32
The number of times that this FC-SP Security Policy Server sent a Reject CT_IU on this Fabric in response to a received FC-SP Policy Management Request (e.g., GPS, APS, etc.). This counter has no discontinuities other than those that all Counter32's have when sysUpTime=0. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.
t11FcSpPoControlTable
1.3.6.1.2.1.178.1.5.2
Index: fcmInstanceIndex · t11FcSpPoFabricIndex
A table of control information, including the memory realization of FC-SP Policy Databases, and concerning the generation of notifications due to FC-SP Policy-related events.
An arbitrary integer value that uniquely identifies this instance amongst all local Fibre Channel management instances.
It is mandatory to keep this value constant between restarts of the agent, and to make every possible effort to keep it constant across restarts (but note, it is unrealistic to expect it to remain constant across all re-configurations of the local system, e.g., across the replacement of all non- volatile storage).
t11FcSpPoStorageType
1.3.6.1.2.1.178.1.5.2.1.1
StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted.
If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.)
Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32
This object specifies the memory realization of FC-SP Policy Objects and related information for a particular Fabric; specifically, for:
- rows created and/or modified for the particular Fabric in these tables:
t11FcSpPoNaSummaryTable t11FcSpPoNaSwListTable t11FcSpPoNaSwMembTable t11FcSpPoNaNoMembTable t11FcSpPoNaCtDescrTable t11FcSpPoNaSwConnTable t11FcSpPoNaIpMgmtTable t11FcSpPoNaWkpDescrTable t11FcSpPoNaAttribTable
- the activate and deactivate actions invoked through the t11FcSpPoOperActivate and t11FcSpPoOperDeActivate objects for the particular Fabric; and
- modified information contained in the same row as an instance of this object.
Even if an instance of this object has the value 'permanent(4)', none of the information defined in this MIB module for the given Fabric needs to be writable.
t11FcSpPoNotificationEnable
1.3.6.1.2.1.178.1.5.2.1.2
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
This object specifies whether the following types of notifications:
t11FcSpPoNotifyActivation, t11FcSpPoNotifyActivateFail, t11FcSpPoNotifyDeactivation and t11FcSpPoNotifyDeactivateFail
should be generated for this Fabric.
An indication of which of the following types of notification is currently being/was most recently generated for the Fabric:
'activation' -- t11FcSpPoNotifyActivation
'activateFail' -- t11FcSpPoNotifyActivateFail
'deactivation' -- t11FcSpPoNotifyDeactivation
'deactivateFail' -- t11FcSpPoNotifyDeactivateFail
The value 'none' indicates that none of these types of notifications have been generated since the last restart of the network management system, and therefore that the corresponding instances of: t11FcSpPoRequestSource, t11FcSpPoReasonCode, t11FcSpPoCtCommandString, t11FcSpPoReasonCodeExp, and t11FcSpPoReasonVendorCode are irrelevant.
t11FcSpPoRequestSource
1.3.6.1.2.1.178.1.5.2.1.4
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the source of the (Activate Policy Summary or Deactivate Policy Summary) request for which the current/most recent notification of the type indicated by the corresponding instance of t11FcSpPoLastNotifyType is being/was generated.
If no source is available, the value of this object is the zero-length string.
t11FcSpPoReasonCode
1.3.6.1.2.1.178.1.5.2.1.5
T11NsGs4RejectReasonCode1 = none2 = invalidCmdCode3 = invalidVerLevel4 = logicalError5 = invalidIUSize6 = logicalBusy7 = protocolError8 = unableToPerformCmdReq9 = cmdNotSupported10 = serverNotAvailable11 = couldNotEstabSession12 = vendorErrorThe FC-GS-4 reject reason code for a request.
none(1) - no error. invalidCmdCode(2) - request contained an invalid command code. invalidVerLevel(3) - request contained an invalid version number. logicalError(4) - there was a logical error. invalidIUSize(5) - the CT_IU (Information Unit) size was invalid. logicalBusy(6) - the module is busy. protocolError(7) - there was a protocol error. unableToPerformCmdReq(8) - the command specified in the req could not be executed. The details of exactly what failed will be in the corresponding reason code explanation. cmdNotSupported(9) - the command is not supported. serverNotAvailable(10) - the identified server was not available. couldNotEstabSession(11) - a server session could not be established. vendorError(12) - a vendor-specific error.Reference: ANSI INCITS 387-2004, Fibre Channel - Generic Services-4 (FC-GS-4), section 4.4.3. · Integer32
The reason code associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, the value of this object is 'none(1)'. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoCtCommandString
1.3.6.1.2.1.178.1.5.2.1.6
OCTET STRING SIZE (0..255)
The binary content of the failed request that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'. The content of the request is formatted as an octet string (in network byte order) containing the CT_IU, as described in Table 2 of [FC-GS-5] (including the preamble).
For other values of t11FcSpPoLastNotifyType, or if the CT_IU's content is unavailable, the value of this object is the zero-length string. When the length of this object is 255 octets, it contains the first 255 octets of the CT_IU (in network-byte order).
t11FcSpPoReasonCodeExp
1.3.6.1.2.1.178.1.5.2.1.7
Unsigned32 (0..255)
The reason code explanation associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, the value of this object is zero. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoReasonVendorCode
1.3.6.1.2.1.178.1.5.2.1.8
OCTET STRING SIZE (0 | 1)
The vendor-specific reason code associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, or if no vendor-specific reason code is available, the value of this object is the zero-length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
Trap details
t11FcSpPoNotifyActivation
1.3.6.1.2.1.178.0.1
This notification is generated whenever a Security Policy Server (indicated by the value of t11FcSpPoServerAddress) successfully completes the execution of an Activate Policy Summary request. The value of t11FcSpPoRequestSource indicates the source of the APS request. The value of t11FcSpPoPolicySummaryObjName indicates the name of the activated Policy Summary Object.
t11FcSpPoServerAddress
1.3.6.1.2.1.178.1.5.1
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the FC-SP Security Policy Server that received a request that is referenced in a notification.
t11FcSpPoPolicySummaryObjName
1.3.6.1.2.1.178.1.1.1.1.2
T11FcSpAlphaNumNameA syntax used when defining Policy Objects for the name of something, where the name is always in the format specified by:
T11FcSpPolicyNameType = 'alphaNumericName'Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, Table 103. SIZE (1..64) · OCTET STRING
The name of this Fabric's (active) Policy Summary Object. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.1.3 and table 104.
t11FcSpPoRequestSource
1.3.6.1.2.1.178.1.5.2.1.4
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the source of the (Activate Policy Summary or Deactivate Policy Summary) request for which the current/most recent notification of the type indicated by the corresponding instance of t11FcSpPoLastNotifyType is being/was generated.
If no source is available, the value of this object is the zero-length string.
t11FcSpPoNotifyActivateFail
1.3.6.1.2.1.178.0.2
This notification is generated whenever a Security Policy Server (indicated by the value of t11FcSpPoServerAddress) fails to complete the execution of an Activate Policy Summary request.
The value of t11FcSpPoCtCommandString indicates the rejected request, and the values of t11FcSpPoReasonCode, t11FcSpPoReasonCodeExp, and t11FcSpPoReasonVendorCode indicate the reason for the rejection. The value of t11FcSpPoRequestSource indicates the source of the request. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2.
t11FcSpPoServerAddress
1.3.6.1.2.1.178.1.5.1
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the FC-SP Security Policy Server that received a request that is referenced in a notification.
t11FcSpPoRequestSource
1.3.6.1.2.1.178.1.5.2.1.4
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the source of the (Activate Policy Summary or Deactivate Policy Summary) request for which the current/most recent notification of the type indicated by the corresponding instance of t11FcSpPoLastNotifyType is being/was generated.
If no source is available, the value of this object is the zero-length string.
t11FcSpPoCtCommandString
1.3.6.1.2.1.178.1.5.2.1.6
OCTET STRING SIZE (0..255)
The binary content of the failed request that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'. The content of the request is formatted as an octet string (in network byte order) containing the CT_IU, as described in Table 2 of [FC-GS-5] (including the preamble).
For other values of t11FcSpPoLastNotifyType, or if the CT_IU's content is unavailable, the value of this object is the zero-length string. When the length of this object is 255 octets, it contains the first 255 octets of the CT_IU (in network-byte order).
t11FcSpPoReasonCode
1.3.6.1.2.1.178.1.5.2.1.5
T11NsGs4RejectReasonCode1 = none2 = invalidCmdCode3 = invalidVerLevel4 = logicalError5 = invalidIUSize6 = logicalBusy7 = protocolError8 = unableToPerformCmdReq9 = cmdNotSupported10 = serverNotAvailable11 = couldNotEstabSession12 = vendorErrorThe FC-GS-4 reject reason code for a request.
none(1) - no error. invalidCmdCode(2) - request contained an invalid command code. invalidVerLevel(3) - request contained an invalid version number. logicalError(4) - there was a logical error. invalidIUSize(5) - the CT_IU (Information Unit) size was invalid. logicalBusy(6) - the module is busy. protocolError(7) - there was a protocol error. unableToPerformCmdReq(8) - the command specified in the req could not be executed. The details of exactly what failed will be in the corresponding reason code explanation. cmdNotSupported(9) - the command is not supported. serverNotAvailable(10) - the identified server was not available. couldNotEstabSession(11) - a server session could not be established. vendorError(12) - a vendor-specific error.Reference: ANSI INCITS 387-2004, Fibre Channel - Generic Services-4 (FC-GS-4), section 4.4.3. · Integer32
The reason code associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, the value of this object is 'none(1)'. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoReasonCodeExp
1.3.6.1.2.1.178.1.5.2.1.7
Unsigned32 (0..255)
The reason code explanation associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, the value of this object is zero. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoReasonVendorCode
1.3.6.1.2.1.178.1.5.2.1.8
OCTET STRING SIZE (0 | 1)
The vendor-specific reason code associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, or if no vendor-specific reason code is available, the value of this object is the zero-length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoNotifyDeactivation
1.3.6.1.2.1.178.0.3
This notification is generated whenever a Security Policy Server (indicated by the value of t11FcSpPoServerAddress) successfully completes the execution of a Deactivate Policy Summary request. The value of t11FcSpPoRequestSource indicates the source of the DPS request. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.3.
t11FcSpPoServerAddress
1.3.6.1.2.1.178.1.5.1
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the FC-SP Security Policy Server that received a request that is referenced in a notification.
t11FcSpPoRequestSource
1.3.6.1.2.1.178.1.5.2.1.4
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the source of the (Activate Policy Summary or Deactivate Policy Summary) request for which the current/most recent notification of the type indicated by the corresponding instance of t11FcSpPoLastNotifyType is being/was generated.
If no source is available, the value of this object is the zero-length string.
t11FcSpPoNotifyDeactivateFail
1.3.6.1.2.1.178.0.4
This notification is generated whenever a Security Policy Server (indicated by the value of t11FcSpPoServerAddress) fails to complete the execution of a Deactivate Policy Summary request.
The value of t11FcSpPoCtCommandString indicates the rejected request, and the values of t11FcSpPoReasonCode, t11FcSpPoReasonCodeExp, and t11FcSpPoReasonVendorCode indicate the reason for the rejection. The value of t11FcSpPoRequestSource indicates the source of the request.
t11FcSpPoServerAddress
1.3.6.1.2.1.178.1.5.1
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the FC-SP Security Policy Server that received a request that is referenced in a notification.
t11FcSpPoRequestSource
1.3.6.1.2.1.178.1.5.2.1.4
FcNameIdOrZeroThe World Wide Name (WWN) associated with a Fibre Channel (FC) entity. WWNs were initially defined as 64-bits in length. The latest definition (for future use) is 128-bits long. The zero-length string value is used in circumstances in which the WWN is unassigned/unknown. SIZE (0 | 8 | 16) · OCTET STRING
The WWN of the source of the (Activate Policy Summary or Deactivate Policy Summary) request for which the current/most recent notification of the type indicated by the corresponding instance of t11FcSpPoLastNotifyType is being/was generated.
If no source is available, the value of this object is the zero-length string.
t11FcSpPoCtCommandString
1.3.6.1.2.1.178.1.5.2.1.6
OCTET STRING SIZE (0..255)
The binary content of the failed request that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'. The content of the request is formatted as an octet string (in network byte order) containing the CT_IU, as described in Table 2 of [FC-GS-5] (including the preamble).
For other values of t11FcSpPoLastNotifyType, or if the CT_IU's content is unavailable, the value of this object is the zero-length string. When the length of this object is 255 octets, it contains the first 255 octets of the CT_IU (in network-byte order).
t11FcSpPoReasonCode
1.3.6.1.2.1.178.1.5.2.1.5
T11NsGs4RejectReasonCode1 = none2 = invalidCmdCode3 = invalidVerLevel4 = logicalError5 = invalidIUSize6 = logicalBusy7 = protocolError8 = unableToPerformCmdReq9 = cmdNotSupported10 = serverNotAvailable11 = couldNotEstabSession12 = vendorErrorThe FC-GS-4 reject reason code for a request.
none(1) - no error. invalidCmdCode(2) - request contained an invalid command code. invalidVerLevel(3) - request contained an invalid version number. logicalError(4) - there was a logical error. invalidIUSize(5) - the CT_IU (Information Unit) size was invalid. logicalBusy(6) - the module is busy. protocolError(7) - there was a protocol error. unableToPerformCmdReq(8) - the command specified in the req could not be executed. The details of exactly what failed will be in the corresponding reason code explanation. cmdNotSupported(9) - the command is not supported. serverNotAvailable(10) - the identified server was not available. couldNotEstabSession(11) - a server session could not be established. vendorError(12) - a vendor-specific error.Reference: ANSI INCITS 387-2004, Fibre Channel - Generic Services-4 (FC-GS-4), section 4.4.3. · Integer32
The reason code associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, the value of this object is 'none(1)'. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoReasonCodeExp
1.3.6.1.2.1.178.1.5.2.1.7
Unsigned32 (0..255)
The reason code explanation associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, the value of this object is zero. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3
t11FcSpPoReasonVendorCode
1.3.6.1.2.1.178.1.5.2.1.8
OCTET STRING SIZE (0 | 1)
The vendor-specific reason code associated with the failure that is indicated when the value of the corresponding instance of t11FcSpPoLastNotifyType is 'activateFail' or 'deactivateFail'.
For other values of t11FcSpPoLastNotifyType, or if no vendor-specific reason code is available, the value of this object is the zero-length string. Reference: - ANSI INCITS 426-2007, T11/Project 1570-D, Fibre Channel - Security Protocols (FC-SP), February 2007, section 7.3.6.2 & 7.3.6.3