--
--  (c) 2009 Motorola, Inc.
--

-- **************************************************************************
--    Description:
--
--    MIBs to support downstream FTP speed testing
--		
-- **************************************************************************
--    Revision History:
--
-- **************************************************************************

CM-TEST-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    enterprises,
    Unsigned32,
    Counter32,
    IpAddress
        FROM SNMPv2-SMI
    DisplayString,
    TimeInterval
        FROM SNMPv2-TC
    InetAddressType,
    InetPortNumber
        FROM INET-ADDRESS-MIB;



cmTestMib MODULE-IDENTITY
   LAST-UPDATED "201105201000Z" -- May 20, 2011
   ORGANIZATION 
    "Motorola Inc."
   CONTACT-INFO 
    "Org: Motorola HNM
   Postal: 6450 Sequence Dr.
   San Diego, CA 92121
   Email: hnmmibs@motorola.com
   Phone: +1 858-404-3475" 
   DESCRIPTION
      "Motorola private MIB for runtime management and configuration
      of objects related to miscellaneous testing."

REVISION  "201105201000Z"
DESCRIPTION
"Edited by Kokila.
- Added MIB cqvds00025477
- cmTestFtpUpstreamTransferPayloadBytes  
- cmTestFtpUpstreamTransferTotalBytes  
- cmTestFtpUpstreamTransferElapsedTime  
- cmTestFtpUpstreamTransferThroughput  "

REVISION  "201003261000Z"
DESCRIPTION
"Edited by Venkatesh K S and Mithun.
- Added MIB cqvds00022077
- cmTestFtpUpstreamSpeed  
- cmTestFtpUpstreamServerAddressType  
- cmTestFtpUpstreamServerAddress  
- cmTestFtpUpstreamServerPort 
- cmTestFtpUpstreamUserName 
- cmTestFtpUpstreamPassword 
- cmTestFtpUpstreamFilename 
- cmTestFtpUpstreamFileSize 
- cmTestFtpUpstreamCommand  
- cmTestFtpUpstreamTransferStatus  
- cmTestFtpUpstreamTransferPayloadBytes  
- cmTestFtpUpstreamTransferTotalBytes  
- cmTestFtpUpstreamTransferElapsedTime  
- cmTestFtpUpstreamTransferThroughput  "

REVISION  "200912161000Z"
DESCRIPTION
"Edited by Sravani Kolli and Mithun.
- Modified MIB cqvds00020027
- cmTestFtpTransferThroughput
- cmTestFtpTransferElapsedTime
- cmTestFtpTransferTotalBytes
- cmTestFtpTransferPayloadBytes "

   REVISION      "200905111000Z"
   DESCRIPTION
      "Initial version of this MIB module.
       cmTestFtpDownstreamSpeed MIBS will help the user to check the 
       current Downstream Speed. User has to set cmTestFtpServerAddressType,
       cmTestFtpServerAddress, cmTestFtpServerPort, cmTestFtpUserName, 
       cmTestFtpPassword and cmTestFtpFilename, then has to initiate the 
       Speed Test by setting cmTestFtpCommand to get(1).
       cmTestFtpTransferStatus returns the current status of
       Speed Test and other cmTestFtpTransfer* MIBs return the results of 
       Speed Test.
       Copyright (c) 2000 - 2009 Motorola, Inc. All rights reserved"
::= { cm 61 }


--
-- Path to root
--

gi OBJECT IDENTIFIER ::= {enterprises 1166}
giproducts OBJECT IDENTIFIER ::= {gi 1}
cm OBJECT IDENTIFIER ::= {giproducts 19}


--
-- PRIVATE CM TEST MIB VARIABLES
--

cmTestFtpDownstreamSpeed OBJECT IDENTIFIER ::= { cmTestMib 1 }
              

cmTestFtpServerAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for cmTestFtpServerAddress."
    ::= { cmTestFtpDownstreamSpeed 1 }
    
cmTestFtpServerAddress OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the FTP server used for FTP transfers."
    ::= {  cmTestFtpDownstreamSpeed 2 }
    
cmTestFtpServerPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port on the FTP server to which the client will attempt to 
         connect."
    DEFVAL { 21 }
    ::= { cmTestFtpDownstreamSpeed 3 }
    
cmTestFtpUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The user name to be used when logging in to the FTP server."
    ::= { cmTestFtpDownstreamSpeed 4 }

cmTestFtpPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password to be used when logging in to the FTP server."
    ::= { cmTestFtpDownstreamSpeed 5 }
    
cmTestFtpFilename OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file name of the file to be transferred (include full path)."
    ::= { cmTestFtpDownstreamSpeed 6 }
    
cmTestFtpCommand OBJECT-TYPE
    SYNTAX      INTEGER {
                cancel(0),
                get(1)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Used to invoke an FTP command, or cancel a command which is in 
         progress.  When read, indicates the most recent command.  Note that
         the value of this object does not indicate the current transfer 
         status.  Current status should be read from cmTestFtpTransferStatus."
    ::= { cmTestFtpDownstreamSpeed 7 }
    
cmTestFtpTransferStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                idle(0),
                inProgress(1), 
                transferComplete(226),
                serviceNotAvail(421),
                invalidLogin(530), 
                fileNotFound(550)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the file transfer which is currently in 
         progress, or which most recently completed.  If no file transfer has
         been initiated, this object returns a value of idle(0)."
    ::= { cmTestFtpDownstreamSpeed 8}
    
cmTestFtpTransferPayloadBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of file data payload bytes transferred for the most recently completed file transfer. 
         The value of this object is irrelevant during file transfer. 
         For transfers which complete successfully, the value of this object will be equal to the size of the file transferred." 
    ::= { cmTestFtpDownstreamSpeed 9 }

cmTestFtpTransferTotalBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the approximate total number of bytes transferred for the most recently completed file transfer. 
         The value of this object is irrelevant during file transfer.
         This value includes file data payload as well as FTP framing data and all IP and layer 2 headers. 
         This value is used when calculating transfer throughput."
    ::= { cmTestFtpDownstreamSpeed 10 }
    
cmTestFtpTransferElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total elapsed time of the most recently completed file transfer. 
         The value of this object is irrelevant during file transfer." 
    ::= { cmTestFtpDownstreamSpeed 11 }
    
cmTestFtpTransferThroughput OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "bits per second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the calculated throughput of the most recently completed file transfer. 
         The value of this object is irrelevant during file transfer. 
         This value is calculated by dividing cmTestFtpTransferTotalBytes by cmTestFtpTransferElapsedTime."
    ::= { cmTestFtpDownstreamSpeed 12 }
 
cmTestFtpUpstreamSpeed OBJECT IDENTIFIER ::= { cmTestMib 2 }
              
cmTestFtpUpstreamServerAddressType  OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for cmTestFtpUpstreamServerAddress ."
    ::= { cmTestFtpUpstreamSpeed 1 }
    
cmTestFtpUpstreamServerAddress  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the FTP server used for FTP transfers."
    ::= {  cmTestFtpUpstreamSpeed 2 }
    
cmTestFtpUpstreamServerPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The TCP port on the FTP server to which the client will attempt to 
         connect."
    DEFVAL { 21 }
    ::= { cmTestFtpUpstreamSpeed 3 }
    
cmTestFtpUpstreamUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The user name to be used when logging in to the FTP server."
    ::= { cmTestFtpUpstreamSpeed 4 }

cmTestFtpUpstreamPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The password to be used when logging in to the FTP server."
    ::= { cmTestFtpUpstreamSpeed 5 }
    
cmTestFtpUpstreamFilename OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The file name of the file to be transferred (include full path)."
    ::= { cmTestFtpUpstreamSpeed 6 }
    
cmTestFtpUpstreamFileSize OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The size of the file in MegaBytes (MB), that will be created when transferring the file upstream.
          The file size should be between 1MB and 1024 MB"
    ::= { cmTestFtpUpstreamSpeed 7 }
    
cmTestFtpUpstreamCommand  OBJECT-TYPE
    SYNTAX      INTEGER {
                cancel(0),
                put(1)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Used to invoke an FTP command, or cancel a command which is in 
         progress.  When read, indicates the most recent command.  Note that
         the value of this object does not indicate the current transfer 
         status.  Current status should be read from cmTestFtpUpstreamTransferStatus."
    ::= { cmTestFtpUpstreamSpeed 8 }
    
cmTestFtpUpstreamTransferStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
                idle(0),
                inProgress(1), 
                transferComplete(226),
                serviceNotAvail(421),
                invalidLogin(530)
     }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the file transfer which is currently in 
         progress, or which most recently completed.  If no file transfer has
         been initiated, this object returns a value of idle(0)."
    ::= { cmTestFtpUpstreamSpeed 9}
    
cmTestFtpUpstreamTransferPayloadBytes  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of file data payload bytes transferred for the most recently completed file transfer. 
         The value of this object is 0 during the file transfer. 
         For transfers which complete successfully, the value of this object will be equal to the size of the file transferred." 
    ::= { cmTestFtpUpstreamSpeed 10}

cmTestFtpUpstreamTransferTotalBytes  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the approximate total number of bytes transferred for the most recently completed file transfer. 
         The value of this object is 0 during the file transfer. 
         This value includes file data payload as well as FTP framing data and all IP and layer 2 headers. 
         This value is used when calculating transfer throughput."
    ::= { cmTestFtpUpstreamSpeed 11 }
    
cmTestFtpUpstreamTransferElapsedTime  OBJECT-TYPE
    SYNTAX      TimeInterval
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total elapsed time of the most recently completed file transfer. 
         The value of this object is 0 during the file transfer" 
    ::= { cmTestFtpUpstreamSpeed 12 }
    
cmTestFtpUpstreamTransferThroughput  OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "bits per second"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the calculated throughput of the most recently completed file transfer. 
         The value of this object is 0 during the file transfer. 
         This value is calculated by dividing cmTestFtpUpstreamTransferTotalBytes by cmTestFtpUpstreamTransferElapsedTime."
    ::= { cmTestFtpUpstreamSpeed 13 }
 
END
