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
