--**************************************************************************
--                                                                          
--    Copyright 2007 Broadcom Corporation                                   
--    All Rights Reserved                                                   
--    No portions of this material may be reproduced in any form without the
--    written permission of:                                                
--             Broadcom Corporation                                         
--             16251 Laguna Canyon Road                                     
--             Irvine, California  92618                                    
--    All information contained in this document is Broadcom Corporation    
--    company private, proprietary, and trade secret.                       
--                                                                          
--                                                                          
--                                                                          
--**************************************************************************
--    Filename: brcm-v2-factory.mib
--    Author:   Kevin O'Neal
--    Creation Date: 12-september-2002
--
--**************************************************************************
--    Description:
--
--		private MIB for V2 factory.  Contains objects that are
--              specific to V2 code structure rather than being more
--              generic for any old device.
--		
--**************************************************************************
--    Revision History:
--
--**************************************************************************

BRCM-V2-FACTORY-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Unsigned32,
    IpAddress
        FROM SNMPv2-SMI
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    TruthValue,
    DisplayString,
    DateAndTime
        FROM SNMPv2-TC
    cableDataFactory
        FROM BRCM-CABLEDATA-FACTORY-MIB;
                
v2Factory MODULE-IDENTITY
    LAST-UPDATED "200702050000Z"
    ORGANIZATION "Broadcom Corporation"
    CONTACT-INFO
        "	BANANA-CABLEDATA
                (cableData branch of the
                Broadcom Assigned Numbers and Naming Authority)
                Broadcom Corporation

        Postal: 4385 River Green Parkway
                Duluth, GA  30096
                USA

           Tel: +1 770 232-0018

        E-mail: banana-cabledata@broadcom.com"
    DESCRIPTION
        "Broadcom proprietary MIB for factory management and configuration
         of objects common to the V2 software architecture."
    REVISION      "200702050000Z"
    DESCRIPTION
        "Module description was updated. 
         Compilability issues were cleaned up: 
         - Chronological order of revision history was corrected.
         - Range restriction was added to objects v2NonVolIndex and v2FwIndex."
    REVISION      "200404090000Z"
    DESCRIPTION
        "Added objects v2NonVolIsManufacturedPermanent, 
         v2NonVolMfgHintPermanent, v2NonVolIsManufacturedDynamic, and 
         v2NonVolMfgHintDynamic."
    REVISION      "200307110000Z"
    DESCRIPTION
        "Eliminate 1024 byte size limit on v2NonVolRawData."
    REVISION      "200304160000Z"
    DESCRIPTION
        "Added cmpLZMA to enumerated BITS list for 
         v2BootloaderCompressionSupport and v2FwControl objects."
    REVISION      "200209120000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { cableDataFactory 4 }

-- v2FactoryNonVol: objects to control V2 specific non-vol storage
v2FactoryNonVol OBJECT IDENTIFIER ::= { v2Factory 1 }

v2FactNonVolTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF V2FactNonVolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of V2 style non-volatile storage groups for this device."
    ::= { v2FactoryNonVol 1 }
    
v2FactNonVolEntry OBJECT-TYPE
    SYNTAX      V2FactNonVolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry defining a single V2 style non-volatile storage group."
    INDEX   { v2NonVolIndex }
    ::= { v2FactNonVolTable 1 }
    
V2FactNonVolEntry ::= 
    SEQUENCE    {
                v2NonVolIndex                       Integer32,
                v2NonVolName                        DisplayString,
                v2NonVolMagicNumber                 OCTET STRING,
                v2NonVolVersionPermanent            DisplayString,
                v2NonVolVersionDynamic              DisplayString,
                v2NonVolIsDefaultPermanent          TruthValue,
                v2NonVolIsDefaultDynamic            TruthValue,
                v2NonVolRawData                     OCTET STRING,
                v2NonVolIsManufacturedPermanent     TruthValue,
                v2NonVolMfgHintPermanent            DisplayString,
                v2NonVolIsManufacturedDynamic       TruthValue,
                v2NonVolMfgHintDynamic              DisplayString
    }
    
v2NonVolIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4096)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Identifies the instance number of this entry."
    ::= { v2FactNonVolEntry 1 }
    
v2NonVolName  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of this non-volatile storage group."
    ::= { v2FactNonVolEntry 2 }
    
v2NonVolMagicNumber  OBJECT-TYPE
    SYNTAX      OCTET STRING  (SIZE (4))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A unique four-byte identifier of this non-volatile storage group."
    ::= { v2FactNonVolEntry 3 }
    
v2NonVolVersionPermanent  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the major and minor version of the permanent section of 
         this non-volatile storage group in the form major.minor"
    ::= { v2FactNonVolEntry 4 }
    
v2NonVolVersionDynamic  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the major and minor version of the dynamic section of 
         this non-volatile storage group in the form major.minor"
    ::= { v2FactNonVolEntry 5 }
    
v2NonVolIsDefaultPermanent  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reports whether the permanent section of this non-volatile storage
         group has been modified from its default state."
    ::= { v2FactNonVolEntry 6 }
    
v2NonVolIsDefaultDynamic  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reports whether the dynamic section of this non-volatile storage
         group has been modified from its default state."
    ::= { v2FactNonVolEntry 7 }
    
v2NonVolRawData  OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The contents of this non-volatile storage group expressed as raw
         binary data."
    ::= { v2FactNonVolEntry 8 }
    
v2NonVolIsManufacturedPermanent  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reports whether the permanent section of this non-volatile storage 
         group has been sufficiently manufactured.  Criteria for manufacturing 
         are of course specific to a given group.  Software implementations may 
         take some kind of action to limit private MIB access once all nonvol 
         groups report that they are manufactured."
    ::= { v2FactNonVolEntry 9 }
    
v2NonVolMfgHintPermanent  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If v2NonVolIsManufacturedPermanent is false(2), this object reports
         a textual hint as to which settings in the group have not yet been 
         manufactured.  The nature of the hint will of course be specific to 
         the nonvol group."
    ::= { v2FactNonVolEntry 10 }
    
v2NonVolIsManufacturedDynamic  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reports whether the dynamic section of this non-volatile storage 
         group has been sufficiently manufactured.  Criteria for manufacturing 
         are of course specific to a given group.  Software implementations may 
         take some kind of action to limit private MIB access once all nonvol 
         groups report that they are manufactured."
    ::= { v2FactNonVolEntry 11 }
    
v2NonVolMfgHintDynamic  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If v2NonVolIsManufacturedDynamic is false(2), this object reports
         a textual hint as to which settings in the group have not yet been 
         manufactured.  The nature of the hint will of course be specific to 
         the nonvol group."
    ::= { v2FactNonVolEntry 12 }
    

-- v2NonVolControl group.  Used to restore NV defaults, as well as perform 
-- other NV related operations TBD (eg TFTP image).
v2NonVolControl OBJECT IDENTIFIER ::= { v2FactoryNonVol 2 }
    
v2NonVolControlGroup  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies which entry in the v2FactNonVolTable will be affected by
         control operations from this group.  Must be either a value of
         v2NonVolIndex or zero.  If zero is used, the control operation will
         be applied to all groups."
    DEFVAL { 0 }
    ::= { v2NonVolControl 1 }
    
v2NonVolControlSection  OBJECT-TYPE
    SYNTAX      INTEGER {
                permanent(1),
                dynamic(2),
                both(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Identifies which section of the group identified by 
         v2NonVolControlGroup will be affected by control operations from this
         group."
    DEFVAL { both }
    ::= { v2NonVolControl 2 }
    
v2NonVolRestoreDefaults  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When set to true(1), causes the group identified by 
         v2NonVolControlGroup to have its values restored to factory defaults.
         Always returns false(2) when read.  Setting to false(2) has no
         effect."
    ::= { v2NonVolControl 3 }
    
v2NonVolTftpServer  OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the IP address of a TFTP server from which 
         non-vol settings will be downloaded if v2NonVolDloadNow is set to
         true(1), into the group specified in v2NonVolControlGroup."
    ::= { v2NonVolControl 4 }
    
v2NonVolTftpPath  OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the path of a file on a TFTP server from which a
         non-vol settings will be downloaded if v2NonVolDloadNow is set to
         true(1), into the group specified in v2NonVolControlGroup."
    ::= { v2NonVolControl 5 }

v2NonVolDloadNow  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true(1), a new non vol image will be downloaded from the IP
         address specified by v2NonVolDloadTftpServer, the file to download
         having been specified by v2NonVolDloadTftpPath."
    ::= { v2NonVolControl 6 }
    
v2NonVolDloadStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
                failure(0),
                success(1),
                inProgress(2),
                other(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the last non-vol download attempt."
    ::= { v2NonVolControl 7 }
    
v2NonVolDelExtraData  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true(1) will get rid of any extra data that is 
         assiociated with the settings group specified by v2NonVolControlGroup
         and the section specified by v2NonVolControlSection.  The extra data 
         is usually caused by a downgrade, where settings written by a newer 
         version are not understood by the older version, but are stored so that 
         they will still exist when the new code is run.  However, in some 
         cases, it is desirable to get rid of them if they are not going to be 
         used.  Always returns false(2) when read."
    ::= { v2NonVolControl 8 }
    
v2NonVolFlush  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true(1) will flush out any unrecognized groups 
         that were read from the device.  This is useful in cases where the 
         settings group isn't needed by another application, and would just 
         waste space.  Note that this operation occurs over all groups and 
         sections, so the values of v2NonVolControlGroup and 
         v2NonVolControlSection are ignored when this operation is invoked.
         Always returns false(2) when read."
    ::= { v2NonVolControl 9 }
    
v2NonVolClearDevice  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true(1) will tell the nonvol device to wipe out 
         the section specified in v2NonVolControlSection.  All data will be 
         lost; the device should be restored to its 'virgin' state.  For flash
         devices, the flash block is erased; for disk devices, the file is 
         erased.  Note that this operation occurs over all groups, so the value
         of v2NonVolControlGroup is ignored by this operation.  Always returns
         false(2) when read."
    ::= { v2NonVolControl 10 }

-- v2FactoryImages: objects to control V2 specific image information
v2FactoryImages OBJECT IDENTIFIER ::= { v2Factory 2 }

-- v2FactoryBootloader: bootloader information and control objects
v2ImagesBootloader OBJECT IDENTIFIER ::= { v2FactoryImages 1 }

v2BootloaderVersion  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the version of the bootloader."
    ::= { v2ImagesBootloader 1 }

v2BootloaderSignature  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the signature that the bootloader uses to validate
         downloaded firmware images.  The signature in the image must match
         this signature or the image will not be run.  Note that if a bootloader
         is not built with an image signature, then it will return the board's
         chip ID."
    ::= { v2ImagesBootloader 2 }

v2BootloaderBoardInfo  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the board information for this board."
    ::= { v2ImagesBootloader 3 }

v2BootloaderCompressionSupport  OBJECT-TYPE
    SYNTAX      BITS {
                cmpLZRLE(0),
                cmpMiniLZ(1),
                cmpReserved(2), -- skipped
                cmpNRV2D99(3),
                cmpLZMA(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies which compression schemes this bootloader supports.  Older
         bootloader versions may not support all compression schemes."
    ::= { v2ImagesBootloader 4 }

v2BootloaderIncompatibleImageCheckEnabled  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects whether the bootloader will perform a compatible
         image check prior to executing an image.  If set to true(1), an image
         will not be executed if its compression type and signature are deemed
         to be incompatible with the system.  If set to false(2), these checks
         are not performed and only CRC and HCS checks are done."
    DEFVAL { true }
    ::= { v2ImagesBootloader 5 }
    
v2BootloaderDloadTftpServer  OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the IP address of a TFTP server from which a
         new bootloader will be downloaded if v2BootloaderDloadNow is set to
         true(1)"
    ::= { v2ImagesBootloader 6 }
    
v2BootloaderDloadTftpPath  OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the path of a file on a TFTP server from which a
         new bootloader will be downloaded if v2BootloaderDloadNow is set to
         true(1)"
    ::= { v2ImagesBootloader 7 }

v2BootloaderDloadNow  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true(1), a new bootloader will be downloaded from the IP
         address specified by v2BootloaderDloadTftpServer, the file to download
         having been specified by v2BootloaderDloadTftpPath."
    ::= { v2ImagesBootloader 8 }
    
v2BootloaderDloadStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
                failure(0),
                success(1),
                inProgress(2),
                other(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the last bootloader download attempt."
    ::= { v2ImagesBootloader 9 }

-- v2FactoryFirmware: firmware information and control objects
v2ImagesFirmware OBJECT IDENTIFIER ::= { v2FactoryImages 2 }

v2FirmwareTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF V2FirmwareEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of firmware images on this device."
    ::= { v2ImagesFirmware 1 }
    
v2FirmwareEntry OBJECT-TYPE
    SYNTAX      V2FirmwareEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry describing the characteristics of a single firmware image."
    INDEX   { v2FwIndex }
    ::= { v2FirmwareTable 1 }
    
V2FirmwareEntry ::= 
    SEQUENCE    {
                v2FwIndex           Integer32,
                v2FwSignature       Unsigned32,
                v2FwControl         BITS,
                v2FwRevision        DisplayString,
                v2FwBuildTime       DateAndTime,
                v2FwFileSize        Unsigned32,
                v2FwMaxImageSize    Unsigned32,
                v2FwFileName        DisplayString,
                v2FwHCS             Unsigned32,
                v2FwCRC             Unsigned32
    }

v2FwIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Identifies the instance number of this entry."
    ::= { v2FirmwareEntry 1 }
    
v2FwSignature OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the firmware signature with which this image was built.
         If compatible image checking is enabled on the bootloader via
         v2BootloaderIncompatibleImageCheckEnabled being set to true(1), then
         this signature must match that of the bootloader in order for the
         image to be executed."
    ::= { v2FirmwareEntry 2 }
    
-- v2FwControl: R/O UINT16
v2FwControl OBJECT-TYPE
    SYNTAX      BITS {
                cmpLZRLE(0),
                cmpMiniLZ(1),
                cmpReserved(2), -- skipped
                cmpNRV2D99(3),
                cmpLZMA(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A mask of flags indicating control parameters for this image.  Bits
         0-7 are used to indicate compression type, and higer order bits
         are reserved."
    ::= { v2FirmwareEntry 3 }
    
v2FwRevision OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the version of this software in the format major.minor."
    ::= { v2FirmwareEntry 4 }
    
v2FwBuildTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time that this image was built."
    ::= { v2FirmwareEntry 5 }
    
v2FwFileSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The size of this image.  Note that if an image is compressed, this
         value indicates the compressed size."
    ::= { v2FirmwareEntry 6 }
    
v2FwMaxImageSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum size image that may be stored to this image location.  
         Note that if an image is compressed, this value indicates the 
         compressed size."
    ::= { v2FirmwareEntry 7 }

v2FwFileName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the file from which this image was produced.  Note that the
         file name is extracted from the program store header, so it is possible
         that this object will not match the actual filename of a downloaded
         file if the file is renamed prior to the download."
    ::= { v2FirmwareEntry 8 }
    
v2FwHCS OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The header checksum used by the bootloader when validating this image."
    ::= { v2FirmwareEntry 9 }
    
v2FwCRC OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cyclic redundancy code used by the bootloader when validating this 
         image."
    ::= { v2FirmwareEntry 10 }

-- v2FirmwareControl group contains objects for downloading, copying, or
-- deleting an image.
v2FirmwareControl OBJECT IDENTIFIER ::= { v2ImagesFirmware 2 }

v2FwControlImageNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates the image from the v2ImageTable which will be controlled by
         operations from this group.  Must be set to a valid value of 
         v2FwIndex."
    ::= { v2FirmwareControl 1 }
    
v2FwDloadTftpServer OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the IP address of a TFTP server from which the
         image specified in v2FwControlImageNumber will be downloaded if 
         v2FwDloadNow is set to true(1).  Equivalent to the IpAddress argument
         in the Docsis/dload command from the V2 CLI."
    ::= { v2FirmwareControl 2 }
    
v2FwDloadTftpPath OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the path to a file on the server specified by
         v2FwDloadTftpServer which will be downloaded to the image specified
         by v2FwControlImageNumber if v2FwDloadNow is set to true(1).  
         Equivalent to the Filename argument in the Docsis/dload command from
         the V2 CLI."
    ::= { v2FirmwareControl 3 }
    
v2FwDloadLarge OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true, a large image may be downloaded into image 1 such that
         it spans into image 2.  This allows a 'fat' image to be downloaded
         onto a 'slim' board, but it will destroy an existing image in image2.
         Equivalent to the -l argument in the Docsis/dload command from the
         V2 CLI."
    DEFVAL { false }
    ::= { v2FirmwareControl 4 }
    
v2FwDloadForce OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true, the application will not perform any image validation
         on the image program header prior to loading an image.  This would
         mainly be used to allow an image with an unmatching signature to be
         downloaded, but use caution because this will also allow images for
         the wrong chip type, or completely invalid files to be downloaded.
         Equivalent to the -f argument in the Docsis/dload command from the
         V2 CLI."
    DEFVAL { false }
    ::= { v2FirmwareControl 5 }
    
v2FwDloadNow OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true, a TFTP download will begin which will load the image
         from the TFTP server specified in v2FwDloadTftpServer using the file
         specified in v2FwDloadTftpPath to the image specified in 
         v2FwControlImageNumber.  When read, always returns false(2)."
    ::= { v2FirmwareControl 6 }
    
v2FwDloadStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                failure(0),
                success(1),
                inProgress(2),
                other(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the last (or current) firmware image download 
         attempt."
    ::= { v2FirmwareControl 7 }

v2FwDeleteImage OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true(1), the image indicated by v2FwControlImageNumber will
         be deleted.  Equivalent to the Docsis/clear_image command from the
         V2 CLI."
    ::= { v2FirmwareControl 8 }
    
v2FwCopyImageFrom OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If this object is set, the image specified by v2FwControlImageNumber
         will be overwritten by the image specified by this object.  Equivalent
         to the Docsis/copy_image command from the CLI as if it is issued as
         copy_image v2FwCopyImageFrom v2FwControlImageNumber."
    ::= { v2FirmwareControl 9 }
    
v2FwCopyStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
                failure(0),
                success(1),
                inProgress(2),
                other(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the status of the last firmware copy attempt."
    ::= { v2FirmwareControl 10 }

END
