DC-LMP-PROD DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, enterprises, Integer32, Unsigned32, IpAddress FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, RowStatus, TruthValue FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB; dcLmp MODULE-IDENTITY LAST-UPDATED "201412210000Z" -- December 21, 2014 ORGANIZATION "MRV Communications." CONTACT-INFO "For technical support, please contact your service channel" DESCRIPTION "The MIB module for management of the DC-LMP product." -- Revision history REVISION "201412210000Z" -- December 21, 2014 DESCRIPTION "Initial edition." ::= { opx 5 } nbase OBJECT IDENTIFIER ::= { enterprises 629 } opx OBJECT IDENTIFIER ::= { nbase 10 } -- Top level components of this MIB -- Tables, Scalars dcLmpObjects OBJECT IDENTIFIER ::= { dcLmp 1 } -- Conformance dcLmpConformance OBJECT IDENTIFIER ::= { dcLmp 2 } -- Textual conventions DcLmpAdminStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The desired administrative state of an LMP entity." SYNTAX INTEGER { up(1), down(2) } DcLmpOperStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The current operational state of an LMP entity." SYNTAX INTEGER { up(1), -- active down(2), -- inactive goingUp(3), -- activating goingDown(4), -- deactivating actFailed(5) -- activation failed } DcLmpIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The index value identifying an LMP entity." SYNTAX Unsigned32 -- End of textual conventions -- LMP entity table -- This table is used to create and manage LMP entities. dcLmpProductTable OBJECT-TYPE SYNTAX SEQUENCE OF DcLmpProductEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of LMP entities." ::= { dcLmpObjects 1 } dcLmpProductEntry OBJECT-TYPE SYNTAX DcLmpProductEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents an instance of the DC-LMP product." INDEX { dcLmpProductIndex } ::= { dcLmpProductTable 1 } DcLmpProductEntry ::= SEQUENCE { dcLmpProductIndex DcLmpIndex, dcLmpProductNodeId IpAddress, dcLmpProductSocketIfIndex InterfaceIndexOrZero, dcLmpProductSocketBufPoolSize Integer32, dcLmpProductDLMIBufPoolSize Integer32, dcLmpProductResendInterval Unsigned32, dcLmpProductResendDelta Unsigned32, dcLmpProductHelloIntvalDflt Unsigned32, dcLmpProductHelloIntvalDfltMin Unsigned32, dcLmpProductHelloIntvalDfltMax Unsigned32, dcLmpProductHelloDeadIvlDflt Unsigned32, dcLmpProductHelloDeadIvlDfltMin Unsigned32, dcLmpProductHelloDeadIvlDfltMax Unsigned32, dcLmpProductLinkVerifyInterval Unsigned32, dcLmpProductLnkMismatchNotifEnbl TruthValue, dcLmpProductUnprotNotifEnable TruthValue, dcLmpProductCcUpDownNotifEnable TruthValue, dcLmpProductTeLinkNotifEnable TruthValue, dcLmpProductTelCorrNotifEnable TruthValue, dcLmpProductDataLinkNotifEnable TruthValue, dcLmpProductNeighborAutoGen TruthValue, dcLmpProductTeLinkAutoLink TruthValue, dcLmpProductUniRepeatInterval Unsigned32, dcLmpProductUniCompletionIntval Unsigned32, dcLmpDestIpAddrAsUni TruthValue, dcLmpProductRestarted TruthValue, dcLmpProductAdminStatus DcLmpAdminStatus, dcLmpProductOperStatus DcLmpOperStatus, dcLmpProductRowStatus RowStatus, dcLmpProductWdmMode TruthValue, dcLmpProductWdmRole INTEGER, dcLmpSrcIpAddrNodeID TruthValue, dcLmpProductExtendedHelloDeadIvl Unsigned32, mrvLmpProductTestPort InterfaceIndexOrZero, mrvLmpProductTestWavelength Unsigned32, mrvLmpProductLinkVerifyDeadInterval Unsigned32, mrvLmpProductAttenWithEdfa Unsigned32, mrvLmpProductAttenWithoutEdfa Unsigned32 } dcLmpProductIndex OBJECT-TYPE SYNTAX DcLmpIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this dcLmpProductEntry. This is the HAF entity index passed on the entity create parameters." ::= { dcLmpProductEntry 1 } dcLmpProductNodeId OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The Node ID for this LMP node." ::= { dcLmpProductEntry 2 } dcLmpProductSocketIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "Management assigned interface identifier for the IP Sockets component interface to DC-LMP." ::= { dcLmpProductEntry 3 } dcLmpProductSocketBufPoolSize OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The number of buffers available for sending sockets data to a given neighbor. This is used to pace the sockets data flow. There can never be more than this many outstanding unacked non-IPCC messages to a given neighbor. Note that this field may not be altered while the dcLmpProductAdminStatus is up." DEFVAL { 8 } ::= { dcLmpProductEntry 4 } dcLmpProductDLMIBufPoolSize OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The number of pre-reserved buffers available for interacting with the DLM provider. This is used to ensure DLM interactions do not fail in buffer shortage conditions. Note that this field may not be altered while the dcLmpProductAdminStatus is up." DEFVAL { 8 } ::= { dcLmpProductEntry 5 } dcLmpProductResendInterval OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The initial interval in milliseconds between resends of LMP messages, where per-message type values are not provided." DEFVAL { 500 } ::= { dcLmpProductEntry 6 } dcLmpProductResendDelta OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The default factor that governs the speed with which the sender increases the retransmission interval." DEFVAL { 1 } ::= {dcLmpProductEntry 7} -- Fields transplanted from the top-level fields in the LMP MIB dcLmpProductHelloIntvalDflt OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default value for the HelloInterval parameter used in the Hello protocol keep-alive phase. It indicates how frequently LMP Hello messages will be sent. This field is used as the initial suggestion during the negotiation of the hello interval, but may be overridden with a per-control channel field. This field can be set to zero to disable the LMP Hello mechanism." ::= { dcLmpProductEntry 8 } dcLmpProductHelloIntvalDfltMin OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default minimum value for the HelloInterval parameter. It is used as a default value for lmpCcHelloIntervalMin. This field can be set to zero to disable the LMP Hello mechanism." ::= { dcLmpProductEntry 9 } dcLmpProductHelloIntvalDfltMax OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default maximum value for the HelloInterval parameter. It is used as a default value for lmpCcHelloIntervalMax. This field can be set to zero to disable the LMP Hello mechanism." ::= { dcLmpProductEntry 10 } dcLmpProductHelloDeadIvlDflt OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default HelloDeadInterval parameter to use in the Hello protocol keep-alive phase. It indicates how long a device should wait before declaring the control channel dead. The HelloDeadInterval parameter must be greater than the HelloInterval parameter and should be at least three times the value of HelloInterval. This field is used as the initial suggestion during the negotiation of the hello dead interval, but may be overridden with a per-control channel field. This field can be set to zero to disable the LMP Hello mechanism." ::= { dcLmpProductEntry 11 } dcLmpProductHelloDeadIvlDfltMin OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default minimum value for the HelloDeadInterval parameter. It is used as a default value for lmpCcHelloDeadIntervalMin. This field can be set to zero to disable the LMP Hello mechanism." ::= { dcLmpProductEntry 12 } dcLmpProductHelloDeadIvlDfltMax OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default maximum value for the HelloDeadInterval parameter. It is used as a default value for lmpCcHelloDeadIntervalMax. This field can be set to zero to disable the LMP Hello mechanism." ::= { dcLmpProductEntry 13 } dcLmpProductLinkVerifyInterval OBJECT-TYPE SYNTAX Unsigned32 (0..2147483647) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates how often the link verification procedure is executed. This field can be set to zero to disable periodic link verification." DEFVAL { 100000 } ::= { dcLmpProductEntry 14 } dcLmpProductLnkMismatchNotifEnbl OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is true, then it enables the generation of lmpTeLinkPropertyMismatch and lmpDataLinkPropertyMismatch notifications, otherwise these notifications are not emitted." DEFVAL { false } ::= { dcLmpProductEntry 15 } dcLmpProductUnprotNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is true, then it enables the generation of lmpUnprotected notification, otherwise these notifications are not emitted." DEFVAL { false } ::= { dcLmpProductEntry 16 } dcLmpProductCcUpDownNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is true, then it enables the generation of lmpControlChannelUp and lmpControlChannelDown notifications, otherwise these notifications are not emitted." DEFVAL { false } ::= { dcLmpProductEntry 17 } dcLmpProductTeLinkNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is true, then it enables the generation of lmpTeLinkDegraded and lmpTeLinkNotDegraded notifications, otherwise these notifications are not emitted." DEFVAL { false } ::= { dcLmpProductEntry 18 } dcLmpProductTelCorrNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is true, then it enables the generation of lmpTeLinkCorrelated notification, otherwise these notifications are not emitted." DEFVAL { false } ::= { dcLmpProductEntry 19 } dcLmpProductDataLinkNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is true, then it enables the generation of lmpDataLinkVerificationFailure notifications, otherwise these notifications are not emitted." DEFVAL { false } ::= { dcLmpProductEntry 20 } dcLmpProductNeighborAutoGen OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this instance of DC-LMP should automatically generate new entries in the neighbor table for new neighbors discovered during control channel setup. This feature only applies to control channels that are carried over point-to-point interfaces." DEFVAL { true } ::= { dcLmpProductEntry 21 } dcLmpProductTeLinkAutoLink OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this instance of DC-LMP should attempt to automatically correlate TE links with neighbor nodes. When this feature is enabled, then during link correlation DC-LMP will attempt to perform link verification of all TE links that are not associated to any neighbor (in addition to the normal behavior of verifying those TE links that are associated to the specific neighbor). Note that enabling this feature may result in significantly increased LMP operation time." DEFVAL { false } ::= { dcLmpProductEntry 22 } dcLmpProductUniRepeatInterval OBJECT-TYPE SYNTAX Unsigned32 (0..2147483647) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in milliseconds between schedulings of UNI Service Discovery. If 0, UNI is not scheduled repeatedly." DEFVAL { 600000 } ::= { dcLmpProductEntry 23 } dcLmpProductUniCompletionIntval OBJECT-TYPE SYNTAX Unsigned32 (1..3600000) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum allowed time in milliseconds of a UNI Service Discovery exchange." DEFVAL { 180000 } ::= { dcLmpProductEntry 24 } dcLmpDestIpAddrAsUni OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "OIF UNI specifies that Config, ConfigAck, ConfigNack and Hello messages be sent to the neighbor's IPCC address (or the All-nodes multicast address in the case of an in-fibre Config). All other messages must be sent with the neighbor's node ID as the destination IP address. By default, DC-LMP does not do this, but rather always sends to the known CC's destination IP address (or the All-nodes multicast, if the address has not been configured, and a Config is sent). Set this field to true in order to enable the OIF UNI behaviour." DEFVAL { false } ::= { dcLmpProductEntry 25 } dcLmpProductRestarted OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Flag to indicate whether DC-LMP has restarted following a failure. If this is true, then for a period _LMP_PRODUCT_RESTART_TIME_ after restarting, LinkSummary messages are processed differently, according to the section on Graceful Restart in [LMP]." DEFVAL { false } ::= { dcLmpProductEntry 26 } dcLmpProductAdminStatus OBJECT-TYPE SYNTAX DcLmpAdminStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The desired administrative state of the LMP entity." DEFVAL { up } ::= { dcLmpProductEntry 27 } dcLmpProductOperStatus OBJECT-TYPE SYNTAX DcLmpOperStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The current operational state of the LMP entity." ::= { dcLmpProductEntry 28 } dcLmpProductRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Used to create and delete an LMP Product Table entry. Note that when this object is set to 'active', the dcLmpProductSocketBufPoolSize and dcLmpProductDLMIBufPoolSize objects in the row may not be modified." ::= { dcLmpProductEntry 29 } dcLmpProductWdmMode OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This field is now deprecated. WDM is now configured on a per TE Link and Control Channel basis. The lmpTeLinkDwdm and lmpCcWdmMode fields should be used instead." DEFVAL { false } ::= { dcLmpProductEntry 30 } dcLmpProductWdmRole OBJECT-TYPE SYNTAX INTEGER { peer(1), ols(2), none(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates whether this LMP entity can operate in an WDM role and if so whether it should take the role of a peer or optical line system (OLS)." DEFVAL { none } ::= { dcLmpProductEntry 31 } dcLmpSrcIpAddrNodeID OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Some LMP implementations use the Node ID as the source IP address in LMP messages. In UNI scenarios this is safe, because the Node ID is drawn from the same address space as the interface addresses, and so unambiguously identifies a neighbor. DC-LMP accepts messages with the source IP address set to the remote Node ID if UNI addressing is enabled (dcLmpDestIpAddrAsUni is true). If UNI addressing is not enabled, set this dcLmpSrcIpAddrNodeID flag to true to enable the equivalent behavior. This is not safe if the Node ID can overlap with IP addresses in use in the system. Neighbor discovery is not supported with this option. Multiple parallel CCs to a given neighbor through one local interface are not supported with this option. This value can be changed while DC-LMP is active, and will affect all messages received from that point." DEFVAL { false } ::= { dcLmpProductEntry 32 } dcLmpProductExtendedHelloDeadIvl OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "When set to a non-zero value greater than lmpCcHelloDeadIntervalNegotiated, the object overrides the value of lmpCcHelloDeadIntervalNegotiated for a control channel to indicate how long the device should wait (in milliseconds) before declaring that control channel dead. When set to a non-zero value less than or equal to lmpCcHelloDeadIntervalNegotiated for a control channel, this field has no effect for that control channel. When set to zero (the default value), this field is not used by LMP. Use of this object is strongly discouraged because not detecting control channel failure in a timely manner can cause negative effects. For example, as follows. - BeginVerify messages will continue to be retried after lmpCcHelloDeadIntervalNegotiated has expired, which will block anonymous verification of TELs with other neighbors. On hardware with limited termination capability for sending Test messages, this behaviour might block all link verification to all neighbors, not just anonymous verification. - If there are multiple control channels to a neighbor and the primary control channel fails, DC-LMP will continue using the failed control channel to send all message types that are not control channel specific, rather than another control channel becoming the primary control channel. Hence the neighbor will not receive any of these messages. - Hello messages, and message types that are not control channel specific, continue to be sent over the control channel after the lmpCcHelloDeadIntervalNegotiated has expired. This behavior does not conform to RFC 4204. However, this object can be set to a non-zero value when - the local node wishes to support LMP Graceful Restart procedures for neighbors that restart and - LMP neighbors may take longer to restart than the maximum possible value for the lmpCcHelloDeadIntervalNegotiated. The object should be set to a value that is as small as possible because of the negative effects listed above. This field may be changed at any time. The new value is used the next time that the HelloDead timer is started for each Control Channel." DEFVAL { 0 } ::= { dcLmpProductEntry 33 } mrvLmpProductTestPort OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "The if_index of test port for LMP correlation procedure. The test port used as LMP TEST signal injection origin." DEFVAL { 0 } ::= { dcLmpProductEntry 34 } mrvLmpProductTestWavelength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The wavelength of test signal for LMP correlation procedure." DEFVAL { 0 } ::= { dcLmpProductEntry 35 } mrvLmpProductLinkVerifyDeadInterval OBJECT-TYPE SYNTAX Unsigned32 (0..2147483647) UNITS "milliseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the VerifyDeadInterval parameter used in the verification of the physical connectivity of data-bearing links. It specifies the observation period used to detect a Test message at the remote node." DEFVAL { 100000 } ::= { dcLmpProductEntry 36 } mrvLmpProductAttenWithEdfa OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The default attenuation level for GMPLS tunnels when programming ROADM channel map for the case when EDFA amplifier is used at the common ROADM port." DEFVAL { 8000 } ::= { dcLmpProductEntry 37 } mrvLmpProductAttenWithoutEdfa OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The default attenuation level for GMPLS tunnels when programming ROADM channel map for the case when EDFA amplifier isn't used at the common ROADM port." DEFVAL { 0 } ::= { dcLmpProductEntry 38 } -- end of LMP entity table -- Module compliance dcLmpGroups OBJECT IDENTIFIER ::= { dcLmpConformance 1 } dcLmpCompliances OBJECT IDENTIFIER ::= { dcLmpConformance 2 } dcLmpFullModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the configuration and monitoring of DC-LMP." MODULE -- this module MANDATORY-GROUPS { dcLmpProductGroup } ::= { dcLmpCompliances 1 } -- Units of conformance dcLmpProductGroup OBJECT-GROUP OBJECTS { dcLmpProductNodeId, dcLmpProductSocketIfIndex, dcLmpProductSocketBufPoolSize, dcLmpProductDLMIBufPoolSize, dcLmpProductResendInterval, dcLmpProductResendDelta, dcLmpProductHelloIntvalDflt, dcLmpProductHelloIntvalDfltMin, dcLmpProductHelloIntvalDfltMax, dcLmpProductHelloDeadIvlDflt, dcLmpProductHelloDeadIvlDfltMin, dcLmpProductHelloDeadIvlDfltMax, dcLmpProductLinkVerifyInterval, dcLmpProductLnkMismatchNotifEnbl, dcLmpProductUnprotNotifEnable, dcLmpProductCcUpDownNotifEnable, dcLmpProductTeLinkNotifEnable, dcLmpProductTelCorrNotifEnable, dcLmpProductDataLinkNotifEnable, dcLmpProductNeighborAutoGen, dcLmpProductTeLinkAutoLink, dcLmpProductUniRepeatInterval, dcLmpProductUniCompletionIntval, dcLmpDestIpAddrAsUni, dcLmpProductRestarted, dcLmpProductAdminStatus, dcLmpProductOperStatus, dcLmpProductRowStatus, dcLmpProductWdmMode, dcLmpProductWdmRole, dcLmpSrcIpAddrNodeID, dcLmpProductExtendedHelloDeadIvl, mrvLmpProductTestPort, mrvLmpProductTestWavelength, mrvLmpProductLinkVerifyDeadInterval, mrvLmpProductAttenWithEdfa, mrvLmpProductAttenWithoutEdfa } STATUS current DESCRIPTION "Collection of objects needed for DC-LMP node configuration." ::= { dcLmpGroups 1 } -- End Units of Conformance -- End Module Compliance END