-- *****************************************************************
-- DOCS-IETF-BPI2-MIB.my: 
--
-- Mar 2005 Jun Yan 
--
-- Initial Version: Mar 2005: draft-ietf-ipcdn-bpiplus-mib-15.txt 
--
-- Copyright (c) 2005-2008 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

    DOCS-IETF-BPI2-MIB DEFINITIONS ::= BEGIN

    IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE,
            Integer32,
            Unsigned32,
            Counter32,
            mib-2
                 FROM SNMPv2-SMI           -- [RFC2578]
            SnmpAdminString
                 FROM SNMP-FRAMEWORK-MIB   -- [RFC3411]
            TEXTUAL-CONVENTION,
            MacAddress,
            RowStatus,
            TruthValue,
            DateAndTime,
            StorageType
                 FROM SNMPv2-TC            -- [RFC2579]
            OBJECT-GROUP,
            MODULE-COMPLIANCE
                 FROM SNMPv2-CONF          -- [RFC2580]
            ifIndex
                 FROM IF-MIB               -- [RFC2863]
            InetAddressType,
            InetAddress
                 FROM INET-ADDRESS-MIB;     -- [RFC3291]




       docsIetfBpi2MIB    MODULE-IDENTITY
            LAST-UPDATED "200409071700Z" -- September 7th, 2004
            ORGANIZATION "IETF IP over Cable Data Network (IPCDN)
                          Working Group"
            CONTACT-INFO "---------------------------------------
                       Stuart M. Green
                       Postal:
                       ADC Telecommunications, Inc.
                       Mailstop 1641
                       8 Technology Drive
                       Westborough, MA  01581
                       U.S.A.
                       Tel:    +1 508 870 2554
                       E-mail: stuart.green@adc.com
                       ---------------------------------------
                       Kaz Ozawa
                       Cable Modem & Network Dept.
                       Server & Network Div.
                       TOSHIBA CORPORATION
                       Digital Media Network Company
                       1-1, Shibaura 1-Chome
                       Minato-ku, Tokyo 105-8001
                       Japan
                       Phone: +81-3-3457-2726
                       FAX: +81-3-5444-9359
                       Email: Kazuyoshi.Ozawa@toshiba.co.jp
                       ---------------------------------------
                       Alexander Katsnelson
                       Postal:
                       Cable Television Laboratories, Inc.
                       858 Coal Creek Circle
                       Louisville, CO 80027- 9750
                       U.S.A.
                       Tel:    +1 303 661 9100
                       Fax:    +1 303 661 9199
                       E-mail: a.katsnelson@cablelabs.com
                       ---------------------------------------
                       Eduardo Cardona
                       Postal:
                       Cable Television Laboratories, Inc.
                       858 Coal Creek Circle
                       Louisville, CO 80027- 9750
                       U.S.A.
                       Tel:    +1 303 661 9100
                       Fax:    +1 303 661 9199
                       E-mail: e.cardona@cablelabs.com
                       ---------------------------------------

               IETF IPCDN Working Group
               General Discussion: ipcdn@ietf.org
               Subscribe: http://www.ietf.org/mailman/listinfo/ipcdn.
               Archive: ftp://ftp.ietf.org/ietf-mail-archive/ipcdn.
               Co-chairs: Richard Woundy, rwoundy@cisco.com
                          Jean-Francois Mule, jfm@cablelabs.com"
            DESCRIPTION
                "This is the MIB module for the DOCSIS Baseline
                 Privacy Plus Interface (BPI+) at cable modems (CMs)
                 and cable modem termination systems (CMTSs).

                 Copyright (C) The Internet Society (2004). This
                 version of this MIB module is part of RFC XXXX; see
                 the RFC itself for full legal notices."

            REVISION        "200409071700Z"
            DESCRIPTION
                "Initial version of the IETF BPI+ MIB module.
                 This version published as RFC XXXX."
               ::= { mib-2 9999 }


       -- Textual conventions

    DocsX509ASN1DEREncodedCertificate ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                "An X509 digital certificate encoded as an ASN.1 DER
            object."
            SYNTAX    OCTET STRING (SIZE (0..4096))

    DocsSAId ::= TEXTUAL-CONVENTION
            DISPLAY-HINT "d"
            STATUS    current
            DESCRIPTION
                 "Security Association identifier (SAId)"
            REFERENCE
                  " DOCSIS Baseline Privacy Plus Interface
            specification, Section 2.1.3 BPI+ Security
            Associations"
            SYNTAX    Integer32 (1..16383)

    DocsSAIdOrZero ::= TEXTUAL-CONVENTION
            DISPLAY-HINT "d"
            STATUS    current
            DESCRIPTION
                 "Security Association identifier (SAId). The value
            zero indicates the SAId is yet to be determined"
            REFERENCE
                  " DOCSIS Baseline Privacy Plus Interface
            specification, Section 2.1.3 BPI+ Security
                  Associations"
            SYNTAX    Unsigned32 (0 | 1..16383)

    DocsBpkmSAType ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                 "The type of security association (SA).
            The values of the named-numbers are associated
            with the BPKM SA-Type attributes:
            'primary' corresponds to code '1', 'static' to code '2'
            'dynamic' to code '3'.
            'none' value must only be used if the SA type has yet
            to be determined."
            REFERENCE
                  "DOCSIS Baseline Privacy Plus Interface
            specification, Section 4.2.2.24"
            SYNTAX    INTEGER {
                           none(0),
                           primary(1),
                           static(2),
                           dynamic(3)
                      }

    DocsBpkmDataEncryptAlg ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                "The list of data encryption algorithms defined for
            the DOCSIS interface in the BPKM cryptographic-suite
            parameter.  The Value 'none' is indicates that the SAID
            being referenced has no data encryption."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            SYNTAX    INTEGER {
                           none(0),
                           des56CbcMode(1),
                           des40CbcMode(2),
                           t3Des128CbcMode(3),
                           aes128CbcMode(4),
                           aes256CbcMode(5)
                      }

    DocsBpkmDataAuthentAlg ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                "The list of data integrity algorithms defined for the
            DOCSIS interface in the BPKM cryptographic-suite parameter.
            The value 'none' indicates no data integrity is used for
            the SAID being referenced."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            SYNTAX    INTEGER {
                           none(0),
                           hmacSha196(1)
                      }

       docsIetfBpi2MIBObjects  OBJECT IDENTIFIER ::= { docsIetfBpi2MIB 1 }

       -- Cable Modem Group

       docsIetfBpi2CmObjects OBJECT IDENTIFIER ::= { docsIetfBpi2MIBObjects 1 }

       --
       -- The BPI+ base and authorization table for CMs,
       -- indexed by ifIndex
       --

       docsIetfBpi2CmBaseTable OBJECT-TYPE
            SYNTAX              SEQUENCE OF    DocsBpi2CmBaseEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                 "This table describes the basic and authorization
            related Baseline Privacy Plus attributes of each CM MAC
            interface."
            ::= { docsIetfBpi2CmObjects 1 }

       docsIetfBpi2CmBaseEntry OBJECT-TYPE
            SYNTAX              DocsBpi2CmBaseEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                 "Each entry contains objects describing attributes of
            one CM MAC interface. An entry in this table exists for
            each ifEntry with an ifType of docsCableMaclayer(127)."
            INDEX               { ifIndex }
            ::= { docsIetfBpi2CmBaseTable 1 }

       DocsBpi2CmBaseEntry ::= SEQUENCE {
            docsIetfBpi2CmPrivacyEnable             TruthValue,
            docsIetfBpi2CmPublicKey                 OCTET STRING,
            docsIetfBpi2CmAuthState                 INTEGER,
            docsIetfBpi2CmAuthKeySequenceNumber     Integer32,
            docsIetfBpi2CmAuthExpiresOld            DateAndTime,
            docsIetfBpi2CmAuthExpiresNew            DateAndTime,
            docsIetfBpi2CmAuthReset                 TruthValue,
            docsIetfBpi2CmAuthGraceTime             Integer32,
            docsIetfBpi2CmTEKGraceTime              Integer32,
            docsIetfBpi2CmAuthWaitTimeout           Integer32,
            docsIetfBpi2CmReauthWaitTimeout         Integer32,
            docsIetfBpi2CmOpWaitTimeout             Integer32,
            docsIetfBpi2CmRekeyWaitTimeout          Integer32,
            docsIetfBpi2CmAuthRejectWaitTimeout     Integer32,
            docsIetfBpi2CmSAMapWaitTimeout          Integer32,
            docsIetfBpi2CmSAMapMaxRetries           Integer32,
            docsIetfBpi2CmAuthentInfos              Counter32,
            docsIetfBpi2CmAuthRequests              Counter32,
            docsIetfBpi2CmAuthReplies               Counter32,
            docsIetfBpi2CmAuthRejects               Counter32,
            docsIetfBpi2CmAuthInvalids              Counter32,
            docsIetfBpi2CmAuthRejectErrorCode       INTEGER,
            docsIetfBpi2CmAuthRejectErrorString     SnmpAdminString,
            docsIetfBpi2CmAuthInvalidErrorCode      INTEGER,
            docsIetfBpi2CmAuthInvalidErrorString    SnmpAdminString
            }

       docsIetfBpi2CmPrivacyEnable  OBJECT-TYPE
            SYNTAX              TruthValue
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "This object identifies whether this CM is
            provisioned to run Baseline Privacy Plus."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1."
            ::= { docsIetfBpi2CmBaseEntry 1 }

       docsIetfBpi2CmPublicKey     OBJECT-TYPE
            SYNTAX             OCTET STRING (SIZE (0..524))
            MAX-ACCESS         read-only
            STATUS             current
            DESCRIPTION
                 "The value of this object is a DER-encoded
            RSAPublicKey ASN.1 type string, as defined in the RSA
            Encryption Standard (PKCS #1), corresponding to the
            public key of the CM."

            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.4."
            ::= { docsIetfBpi2CmBaseEntry 2 }

       docsIetfBpi2CmAuthState OBJECT-TYPE
            SYNTAX         INTEGER   {
                           start(1),
                           authWait(2),
                           authorized(3),
                           reauthWait(4),
                           authRejectWait(5),
                           silent(6)
                      }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the state of the CM
            authorization FSM.  The start state indicates that FSM is
            in its initial state."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.1.2.1."
            ::= { docsIetfBpi2CmBaseEntry 3 }

       docsIetfBpi2CmAuthKeySequenceNumber    OBJECT-TYPE
            SYNTAX              Integer32 (0..15)
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "The value of this object is the most recent
            authorization key sequence number for this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.2 and 4.2.2.10."
            ::= { docsIetfBpi2CmBaseEntry 4 }

       docsIetfBpi2CmAuthExpiresOld OBJECT-TYPE
            SYNTAX              DateAndTime
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "The value of this object is the actual clock time for
            expiration of the immediate predecessor of the most recent
            authorization key for this FSM.  If this FSM has only one
            authorization key, then the value is the time of activation
            of this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.2 and 4.2.2.9."
            ::= { docsIetfBpi2CmBaseEntry 5 }

       docsIetfBpi2CmAuthExpiresNew OBJECT-TYPE
            SYNTAX              DateAndTime
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "The value of this object is the actual clock time for
            expiration of the most recent authorization key for this
            FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.2 and 4.2.2.9."
            ::= { docsIetfBpi2CmBaseEntry 6 }

       docsIetfBpi2CmAuthReset OBJECT-TYPE
            SYNTAX         TruthValue
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "Setting this object to 'true' generates a Reauthorize
            event in the authorization FSM. Reading this object always
            returns FALSE.
            This object is for testing purposes only and therefore it
            does not require to be associated with a last reset
            object."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.1.2.3.4."
            ::= { docsIetfBpi2CmBaseEntry 7 }

       docsIetfBpi2CmAuthGraceTime  OBJECT-TYPE
            SYNTAX         Integer32 (1..6047999)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the grace time for an
            authorization key in seconds.  A CM is expected to start
            trying to get a new authorization key beginning
            AuthGraceTime seconds before the most recent authorization
            key actually expires."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.3."
            ::= { docsIetfBpi2CmBaseEntry 8 }

       docsIetfBpi2CmTEKGraceTime   OBJECT-TYPE
            SYNTAX         Integer32 (1..302399)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the grace time for
            the TEK in seconds.  The CM is expected to start trying to
            acquire a new TEK beginning TEK GraceTime seconds before
            the expiration of the most recent TEK."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.6."
            ::= { docsIetfBpi2CmBaseEntry 9 }

       docsIetfBpi2CmAuthWaitTimeout     OBJECT-TYPE
            SYNTAX         Integer32 (1..30)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the Authorize Wait
            Timeout in second."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.1."
            ::= { docsIetfBpi2CmBaseEntry 10 }

       docsIetfBpi2CmReauthWaitTimeout   OBJECT-TYPE
            SYNTAX         Integer32 (1..30)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the Reauthorize Wait
            Timeout in seconds."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.2."
            ::= { docsIetfBpi2CmBaseEntry 11 }

       docsIetfBpi2CmOpWaitTimeout  OBJECT-TYPE
            SYNTAX         Integer32 (1..10)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the Operational Wait
            Timeout in seconds."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.4."
            ::= { docsIetfBpi2CmBaseEntry 12 }

       docsIetfBpi2CmRekeyWaitTimeout    OBJECT-TYPE
            SYNTAX         Integer32 (1..10)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the Rekey Wait Timeout
            in seconds."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.5."
            ::= { docsIetfBpi2CmBaseEntry 13 }

       docsIetfBpi2CmAuthRejectWaitTimeout    OBJECT-TYPE
            SYNTAX         Integer32 (1..600)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the Authorization Reject
            Wait Timeout in seconds."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.7."
            ::= { docsIetfBpi2CmBaseEntry 14 }

       docsIetfBpi2CmSAMapWaitTimeout    OBJECT-TYPE
            SYNTAX         Integer32 (1..10)
            UNITS          "seconds"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the retransmission
            interval, in seconds, of SA Map Requests from the MAP Wait
            state."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.8."
            ::= { docsIetfBpi2CmBaseEntry 15 }

       docsIetfBpi2CmSAMapMaxRetries     OBJECT-TYPE
            SYNTAX         Integer32 (0..10)
            UNITS          "count"
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the maximum number of
            Map Request retries allowed."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.1.1.1.9."
            ::= { docsIetfBpi2CmBaseEntry 16 }

       docsIetfBpi2CmAuthentInfos   OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has transmitted an Authentication Information message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.9."
            ::= { docsIetfBpi2CmBaseEntry 17 }

       docsIetfBpi2CmAuthRequests   OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has transmitted an Authorization Request message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.1."
            ::= { docsIetfBpi2CmBaseEntry 18 }

       docsIetfBpi2CmAuthReplies    OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has received an Authorization Reply message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."

            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.2."
            ::= { docsIetfBpi2CmBaseEntry 19 }

       docsIetfBpi2CmAuthRejects    OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has received an Authorization Reject message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.3."
            ::= { docsIetfBpi2CmBaseEntry 20 }

       docsIetfBpi2CmAuthInvalids   OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has received an Authorization Invalid message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.7."
            ::= { docsIetfBpi2CmBaseEntry 21 }

       docsIetfBpi2CmAuthRejectErrorCode OBJECT-TYPE
            SYNTAX         INTEGER {
                                  none(1),
                                  unknown(2),
                                  unauthorizedCm(3),
                                  unauthorizedSaid(4),
                                  permanentAuthorizationFailure(8),
                                  timeOfDayNotAcquired(11)
                                  }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in most recent Authorization
            Reject message received by the CM.  This has value
            unknown(2) if the last Error-Code value was 0, and none(1)
            if no Authorization Reject message has been received since
            reboot."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.3 and 4.2.2.15."
            ::= { docsIetfBpi2CmBaseEntry 22 }

       docsIetfBpi2CmAuthRejectErrorString    OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            most recent Authorization Reject message received by the
            CM.  This is a zero length string if no Authorization
            Reject message has been received since reboot."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.3 and 4.2.2.6."
            ::= { docsIetfBpi2CmBaseEntry 23 }

       docsIetfBpi2CmAuthInvalidErrorCode     OBJECT-TYPE
            SYNTAX         INTEGER {
                                  none(1),
                                  unknown(2),
                                  unauthorizedCm(3),
                                  unsolicited(5),
                                  invalidKeySequence(6),
                                  keyRequestAuthenticationFailure(7)
                                  }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in most recent Authorization
            Invalid message received by the CM.  This has value
            unknown(2) if the last Error-Code value was 0, and none(1)
            if no Authorization Invalid message has been received since
            reboot."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.7 and 4.2.2.15."
            ::= { docsIetfBpi2CmBaseEntry 24 }

       docsIetfBpi2CmAuthInvalidErrorString   OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            most recent Authorization Invalid message received by the
            CM. This is a zero length string if no Authorization
            Invalid message has been received since reboot."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.7 and 4.2.2.6."
            ::= { docsIetfBpi2CmBaseEntry 25 }




       --
       -- The CM TEK Table, indexed by ifIndex and SAID
       --

       docsIetfBpi2CmTEKTable  OBJECT-TYPE
            SYNTAX         SEQUENCE OF    DocsBpi2CmTEKEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table describes the attributes of each CM
            Traffic Encryption Key (TEK) association. The CM maintains
            (no more than) one TEK association per SAID per CM MAC
            interface."
            ::= { docsIetfBpi2CmObjects 2 }

       docsIetfBpi2CmTEKEntry  OBJECT-TYPE
            SYNTAX         DocsBpi2CmTEKEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "Each entry contains objects describing the TEK
            association attributes of one SAID. The CM MUST create one
            entry per SAID, regardless of whether the SAID was obtained
            from a Registration Response message, from an Authorization
            Reply message, or from any dynamic SAID establishment
            mechanisms."
            INDEX     { ifIndex, docsIetfBpi2CmTEKSAId }
            ::= { docsIetfBpi2CmTEKTable 1 }

       DocsBpi2CmTEKEntry ::= SEQUENCE {
            docsIetfBpi2CmTEKSAId                  DocsSAId,
            docsIetfBpi2CmTEKSAType                DocsBpkmSAType,
            docsIetfBpi2CmTEKDataEncryptAlg        DocsBpkmDataEncryptAlg,
            docsIetfBpi2CmTEKDataAuthentAlg        DocsBpkmDataAuthentAlg,
            docsIetfBpi2CmTEKState                 INTEGER,
            docsIetfBpi2CmTEKKeySequenceNumber     Integer32,
            docsIetfBpi2CmTEKExpiresOld            DateAndTime,
            docsIetfBpi2CmTEKExpiresNew            DateAndTime,
            docsIetfBpi2CmTEKKeyRequests           Counter32,
            docsIetfBpi2CmTEKKeyReplies            Counter32,
            docsIetfBpi2CmTEKKeyRejects            Counter32,
            docsIetfBpi2CmTEKInvalids              Counter32,
            docsIetfBpi2CmTEKAuthPends             Counter32,
            docsIetfBpi2CmTEKKeyRejectErrorCode    INTEGER,
            docsIetfBpi2CmTEKKeyRejectErrorString  SnmpAdminString,
            docsIetfBpi2CmTEKInvalidErrorCode      INTEGER,
            docsIetfBpi2CmTEKInvalidErrorString    SnmpAdminString
            }

       docsIetfBpi2CmTEKSAId   OBJECT-TYPE
            SYNTAX         DocsSAId
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The value of this object is the DOCSIS Security
            Association ID (SAID)."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.12."
            ::= { docsIetfBpi2CmTEKEntry 1 }

       docsIetfBpi2CmTEKSAType OBJECT-TYPE
            SYNTAX         DocsBpkmSAType
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the type of security
            association."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 2.1.3."
            ::= { docsIetfBpi2CmTEKEntry 2 }

       docsIetfBpi2CmTEKDataEncryptAlg   OBJECT-TYPE
            SYNTAX    DocsBpkmDataEncryptAlg
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data encryption
            algorithm for this SAID."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            ::= { docsIetfBpi2CmTEKEntry 3 }

       docsIetfBpi2CmTEKDataAuthentAlg   OBJECT-TYPE
            SYNTAX    DocsBpkmDataAuthentAlg
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data authentication
            algorithm for this SAID."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            ::= { docsIetfBpi2CmTEKEntry 4 }

       docsIetfBpi2CmTEKState  OBJECT-TYPE
            SYNTAX         INTEGER {
                                   start(1),
                                   opWait(2),
                                   opReauthWait(3),
                                   operational(4),
                                   rekeyWait(5),
                                   rekeyReauthWait(6)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the state of the
            indicated TEK FSM.  The start(1) state indicates that FSM
            is in its initial state."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.1.3.1."
            ::= { docsIetfBpi2CmTEKEntry 5 }

       docsIetfBpi2CmTEKKeySequenceNumber     OBJECT-TYPE
            SYNTAX              Integer32 (0..15)
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "The value of this object is the most recent TEK
            key sequence number for this TEK FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.2.10 and 4.2.2.13."
            ::= { docsIetfBpi2CmTEKEntry 6 }

       docsIetfBpi2CmTEKExpiresOld  OBJECT-TYPE
            SYNTAX         DateAndTime
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the actual clock time for
            expiration of the immediate predecessor of the most recent
            TEK for this FSM.  If this FSM has only one TEK, then the
            value is the time of activation of this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.5 and 4.2.2.9."
            ::= { docsIetfBpi2CmTEKEntry 7 }

       docsIetfBpi2CmTEKExpiresNew  OBJECT-TYPE
            SYNTAX         DateAndTime
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the actual clock time for
            expiration of the most recent TEK for this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.5 and 4.2.2.9."
            ::= { docsIetfBpi2CmTEKEntry 8 }

       docsIetfBpi2CmTEKKeyRequests OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has transmitted a Key Request message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."

            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.4."
            ::= { docsIetfBpi2CmTEKEntry 9 }

       docsIetfBpi2CmTEKKeyReplies  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has received a Key Reply message, including a message whose
            authentication failed.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.5."
            ::= { docsIetfBpi2CmTEKEntry 10 }

       docsIetfBpi2CmTEKKeyRejects  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has received a Key Reject message, including a message
            whose authentication failed.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.6."
            ::= { docsIetfBpi2CmTEKEntry 11 }

       docsIetfBpi2CmTEKInvalids    OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the CM
            has received a TEK Invalid message, including a message
            whose authentication failed.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.8."
            ::= { docsIetfBpi2CmTEKEntry 12 }

       docsIetfBpi2CmTEKAuthPends   OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times an
            Authorization Pending (Auth Pend) event occurred in this
            FSM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.1.3.3.3."
            ::= { docsIetfBpi2CmTEKEntry 13 }

       docsIetfBpi2CmTEKKeyRejectErrorCode    OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedSaid(4)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in most recent Key Reject
            message received by the CM. This has value unknown(2) if
            the last Error-Code value was 0, and none(1) if no Key
            Reject message has been received since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.1.2.6 and 4.2.2.15."
            ::= { docsIetfBpi2CmTEKEntry 14 }

       docsIetfBpi2CmTEKKeyRejectErrorString  OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            most recent Key Reject message received by the CM. This is
            a zero length string if no Key Reject message has been
            received since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.1.2.6 and 4.2.2.6."
            ::= { docsIetfBpi2CmTEKEntry 15 }

       docsIetfBpi2CmTEKInvalidErrorCode OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   invalidKeySequence(6)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in most recent TEK Invalid
            message received by the CM.  This has value unknown(2) if
            the last Error-Code value was 0, and none(1) if no TEK
            Invalid message has been received since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.1.2.8 and 4.2.2.15."
            ::= { docsIetfBpi2CmTEKEntry 16 }

       docsIetfBpi2CmTEKInvalidErrorString    OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            most recent TEK Invalid message received by the CM. This is
            a zero length string if no TEK Invalid message has been
            received since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.1.2.8 and 4.2.2.6."
            ::= { docsIetfBpi2CmTEKEntry 17 }


       --
       -- The CM Multicast Objects Group
       --

       docsIetfBpi2CmMulticastObjects OBJECT IDENTIFIER
            ::= { docsIetfBpi2CmObjects 3 }

       --
       -- The CM Dynamic IP Multicast Mapping Table, indexed by
       -- docsIetfBpi2CmIpMulticastIndex and by ifIndex
       --

       docsIetfBpi2CmIpMulticastMapTable OBJECT-TYPE
            SYNTAX         SEQUENCE OF DocsBpi2CmIpMulticastMapEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table maps multicast IP addresses to SAIDs per
            CM MAC Interface.
            It is intended to map multicast IP addresses associated
            with SA MAP Request messages."
            ::= { docsIetfBpi2CmMulticastObjects 1 }

       docsIetfBpi2CmIpMulticastMapEntry OBJECT-TYPE
            SYNTAX         DocsBpi2CmIpMulticastMapEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "Each entry contains objects describing the mapping of
            one multicast IP address to one SAID, as well as
            associated state, message counters, and error information.

            An entry may be removed from this table upon the reception
            of an SA Map Reject."
            INDEX     { ifIndex, docsIetfBpi2CmIpMulticastIndex }
            ::= { docsIetfBpi2CmIpMulticastMapTable 1 }

       DocsBpi2CmIpMulticastMapEntry ::= SEQUENCE {
            docsIetfBpi2CmIpMulticastIndex               Unsigned32,
            docsIetfBpi2CmIpMulticastAddressType         InetAddressType,
            docsIetfBpi2CmIpMulticastAddress             InetAddress,
            docsIetfBpi2CmIpMulticastSAId                DocsSAIdOrZero,
            docsIetfBpi2CmIpMulticastSAMapState          INTEGER,
            docsIetfBpi2CmIpMulticastSAMapRequests       Counter32,
            docsIetfBpi2CmIpMulticastSAMapReplies        Counter32,
            docsIetfBpi2CmIpMulticastSAMapRejects        Counter32,
            docsIetfBpi2CmIpMulticastSAMapRejectErrorCode INTEGER,
            docsIetfBpi2CmIpMulticastSAMapRejectErrorString SnmpAdminString
            }

       docsIetfBpi2CmIpMulticastIndex         OBJECT-TYPE
            SYNTAX         Unsigned32 (1..4294967295)
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The index of this row."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 1 }

       docsIetfBpi2CmIpMulticastAddressType   OBJECT-TYPE
            SYNTAX         InetAddressType
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The type of internet address for
            docsIetfBpi2CmIpMulticastAddress."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 2 }

       docsIetfBpi2CmIpMulticastAddress  OBJECT-TYPE
            SYNTAX         InetAddress
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "This object represents the IP multicast address
            to be mapped. The type of this address is determined by
            the value of the docsIetfBpi2CmIpMulticastAddressType object."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 5.4."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 3 }

       docsIetfBpi2CmIpMulticastSAId          OBJECT-TYPE
            SYNTAX         DocsSAIdOrZero
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "This object represents the SAID to which the IP
            multicast address has been mapped.  If no SA Map Reply has
            been received for the IP address, this object should have
            the value 0."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.12."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 4 }

       docsIetfBpi2CmIpMulticastSAMapState         OBJECT-TYPE
            SYNTAX         INTEGER {
                                  start(1),
                                  mapWait(2),
                                  mapped(3)

                           }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the state of the SA
            Mapping FSM for this IP."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 5.3.1."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 5 }

       docsIetfBpi2CmIpMulticastSAMapRequests OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CM has transmitted an SA Map Request message for this IP.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.10."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 6 }

       docsIetfBpi2CmIpMulticastSAMapReplies  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CM has received an SA Map Reply message for this IP.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.11."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 7 }

       docsIetfBpi2CmIpMulticastSAMapRejects  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CM has received an SA MAP Reject message for this IP.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.12."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 8 }

       docsIetfBpi2CmIpMulticastSAMapRejectErrorCode    OBJECT-TYPE
            SYNTAX         INTEGER {
                           none(1),
                           unknown(2),
                           noAuthForRequestedDSFlow(9),
                           dsFlowNotMappedToSA(10)
                           }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in the most recent SA Map
            Reject message sent in response to an SA Map Request for
            This IP.  It has the value none(1) if no SA MAP Reject
            message has been received since entry creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.12 and 4.2.2.15."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 9 }

       docsIetfBpi2CmIpMulticastSAMapRejectErrorString  OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            the most recent SA Map Reject message sent in response to
            an SA Map Request for this IP.  It is a zero length string
            if no SA Map Reject message has been received since entry
            creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.12 and 4.2.2.6."
            ::= { docsIetfBpi2CmIpMulticastMapEntry 10 }


       --
       -- CM Cert Objects
       --

       docsIetfBpi2CmCertObjects OBJECT IDENTIFIER
            ::= { docsIetfBpi2CmObjects 4 }

       --
       -- CM Device Cert Table
       --

       docsIetfBpi2CmDeviceCertTable  OBJECT-TYPE
            SYNTAX                SEQUENCE OF DocsBpi2CmDeviceCertEntry
            MAX-ACCESS            not-accessible
            STATUS                current
            DESCRIPTION
                 "This table describes the Baseline Privacy Plus
            device certificates for each CM MAC interface."
            ::= { docsIetfBpi2CmCertObjects 1 }

       docsIetfBpi2CmDeviceCertEntry  OBJECT-TYPE
            SYNTAX              DocsBpi2CmDeviceCertEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                 "Each entry contains the device certificates of
            one CM MAC interface.  An entry in this table exists for
            each ifEntry with an ifType of docsCableMaclayer(127)."
            INDEX               { ifIndex }
            ::= { docsIetfBpi2CmDeviceCertTable 1 }


       DocsBpi2CmDeviceCertEntry ::= SEQUENCE {
            docsIetfBpi2CmDeviceCmCert
                                  DocsX509ASN1DEREncodedCertificate,
            docsIetfBpi2CmDeviceManufCert
                                  DocsX509ASN1DEREncodedCertificate
            }

       docsIetfBpi2CmDeviceCmCert   OBJECT-TYPE
            SYNTAX        DocsX509ASN1DEREncodedCertificate
            MAX-ACCESS         read-write
            STATUS              current
            DESCRIPTION
                 "The X509 DER-encoded cable modem certificate.
            Note:  This object can be set only when the value is the
            zero-length OCTET STRING, otherwise an error
            'inconsistentValue' is returned.  Once the object
            contains  the certificate, its access MUST be read-only
            and persists after re-initialization of the
            managed system."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.1."
            ::= { docsIetfBpi2CmDeviceCertEntry 1 }

       docsIetfBpi2CmDeviceManufCert     OBJECT-TYPE
            SYNTAX         DocsX509ASN1DEREncodedCertificate
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The X509 DER-encoded manufacturer certificate which
            signed the cable modem certificate."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.1."
            ::= { docsIetfBpi2CmDeviceCertEntry 2 }


       --
       -- CM Crypto Suite Table
       --

       docsIetfBpi2CmCryptoSuiteTable    OBJECT-TYPE
            SYNTAX         SEQUENCE OF    DocsBpi2CmCryptoSuiteEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table describes the Baseline Privacy Plus
            cryptographic suite capabilities for each CM MAC
            interface."
            ::= { docsIetfBpi2CmObjects 5 }

       docsIetfBpi2CmCryptoSuiteEntry    OBJECT-TYPE
            SYNTAX         DocsBpi2CmCryptoSuiteEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "Each entry contains a cryptographic suite pair
            which this CM MAC supports."
            INDEX     { ifIndex, docsIetfBpi2CmCryptoSuiteIndex }
            ::= { docsIetfBpi2CmCryptoSuiteTable 1 }

       DocsBpi2CmCryptoSuiteEntry ::= SEQUENCE {
            docsIetfBpi2CmCryptoSuiteIndex              Unsigned32,
            docsIetfBpi2CmCryptoSuiteDataEncryptAlg
                                        DocsBpkmDataEncryptAlg,
            docsIetfBpi2CmCryptoSuiteDataAuthentAlg
                                        DocsBpkmDataAuthentAlg
            }

       docsIetfBpi2CmCryptoSuiteIndex OBJECT-TYPE
            SYNTAX         Unsigned32 (1..1000)
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The index for a cryptographic suite row."
            ::= { docsIetfBpi2CmCryptoSuiteEntry 1 }

       docsIetfBpi2CmCryptoSuiteDataEncryptAlg     OBJECT-TYPE
            SYNTAX    DocsBpkmDataEncryptAlg
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data encryption
            algorithm for this cryptographic suite capability."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            ::= { docsIetfBpi2CmCryptoSuiteEntry 2 }

       docsIetfBpi2CmCryptoSuiteDataAuthentAlg     OBJECT-TYPE
            SYNTAX    DocsBpkmDataAuthentAlg
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data authentication
            algorithm for this cryptographic suite capability."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            ::= { docsIetfBpi2CmCryptoSuiteEntry 3 }




       -- Cable Modem Termination System Group

     docsIetfBpi2CmtsObjects OBJECT IDENTIFIER ::= { docsIetfBpi2MIBObjects 2 }


       --
       -- SPECIAL NOTE:  For the following CMTS tables, when a CM is
       -- running
       -- in BPI mode, replace SAID (Security Association ID)
       -- with SID (Service ID).  The CMTS is required to map SAIDs and
       -- SIDs to one contiguous space.
       --


       --
       -- The BPI+ base table for CMTSs, indexed by ifIndex
       --

       docsIetfBpi2CmtsBaseTable    OBJECT-TYPE
            SYNTAX              SEQUENCE OF    DocsBpi2CmtsBaseEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                 "This table describes the basic Baseline Privacy
            attributes of each CMTS MAC interface."
            ::= { docsIetfBpi2CmtsObjects 1 }

       docsIetfBpi2CmtsBaseEntry    OBJECT-TYPE
            SYNTAX              DocsBpi2CmtsBaseEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                 "Each entry contains objects describing attributes of
            one CMTS MAC interface.  An entry in this table exists for
            each ifEntry with an ifType of docsCableMaclayer(127)."
            INDEX     { ifIndex }
            ::= { docsIetfBpi2CmtsBaseTable 1 }

       DocsBpi2CmtsBaseEntry ::= SEQUENCE {
            docsIetfBpi2CmtsDefaultAuthLifetime              Integer32,
            docsIetfBpi2CmtsDefaultTEKLifetime               Integer32,
            docsIetfBpi2CmtsDefaultSelfSignedManufCertTrust  INTEGER,
            docsIetfBpi2CmtsCheckCertValidityPeriods         TruthValue,
            docsIetfBpi2CmtsAuthentInfos                     Counter32,
            docsIetfBpi2CmtsAuthRequests                     Counter32,
            docsIetfBpi2CmtsAuthReplies                      Counter32,
            docsIetfBpi2CmtsAuthRejects                      Counter32,
            docsIetfBpi2CmtsAuthInvalids                     Counter32,
            docsIetfBpi2CmtsSAMapRequests                    Counter32,
            docsIetfBpi2CmtsSAMapReplies                     Counter32,
            docsIetfBpi2CmtsSAMapRejects                     Counter32
            }

       docsIetfBpi2CmtsDefaultAuthLifetime    OBJECT-TYPE
            SYNTAX         Integer32 (1..6048000)
            UNITS          "seconds"
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "The value of this object is the default lifetime, in
            seconds, the CMTS assigns to a new authorization key.
            This object value persist after re-initialization of the
            managed system."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.2."
            DEFVAL { 604800 }
            ::= { docsIetfBpi2CmtsBaseEntry 1 }

       docsIetfBpi2CmtsDefaultTEKLifetime     OBJECT-TYPE
            SYNTAX         Integer32 (1..604800)
            UNITS          "seconds"
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "The value of this object is the default lifetime, in
            seconds, the CMTS assigns to a new Traffic Encryption Key
            (TEK).
            This object value persist after re-initialization of the
            managed system."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Appendix A.2."
            DEFVAL { 43200 }
            ::= { docsIetfBpi2CmtsBaseEntry 2 }

       docsIetfBpi2CmtsDefaultSelfSignedManufCertTrust  OBJECT-TYPE
            SYNTAX    INTEGER {
                      trusted (1),
                      untrusted (2)
                      }
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "This object determines the default trust of
            self-signed  manufacturer certificate entries, contained
            in docsIetfBpi2CmtsCACertTable, created after setting this
            object.
            This object needs not to persist after re-initialization
             of the managed system."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.1"
            ::= { docsIetfBpi2CmtsBaseEntry 3 }

       docsIetfBpi2CmtsCheckCertValidityPeriods    OBJECT-TYPE
            SYNTAX         TruthValue
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "Setting this object to 'true' causes all chained and
            root certificates in the chain to have their validity
            periods checked against the current time of day, when
            the CMTS receives an Authorization Request from the
            CM.
            A 'false' setting causes all certificates in the chain
            not to have their validity periods checked against the
            current time of day.
            This object needs not to persist after re-initialization
             of the managed system."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.2"
            ::= { docsIetfBpi2CmtsBaseEntry 4 }

       docsIetfBpi2CmtsAuthentInfos OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has received an Authentication Information message
            from any CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.9."
            ::= { docsIetfBpi2CmtsBaseEntry 5 }

       docsIetfBpi2CmtsAuthRequests OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                    "The value of this object is the count of times the
            CMTS has received an Authorization Request message from any
            CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.1."
            ::= { docsIetfBpi2CmtsBaseEntry 6 }

       docsIetfBpi2CmtsAuthReplies  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                   "The value of this object is the count of times the
            CMTS has transmitted an Authorization Reply message to any
            CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.2."
            ::= { docsIetfBpi2CmtsBaseEntry 7 }

       docsIetfBpi2CmtsAuthRejects  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                    "The value of this object is the count of times the
            CMTS has transmitted an Authorization Reject message to any
            CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.3."
            ::= { docsIetfBpi2CmtsBaseEntry 8 }

       docsIetfBpi2CmtsAuthInvalids OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                     "The value of this object is the count of times
            the CMTS has transmitted an Authorization Invalid message
            to any CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.7."
            ::= { docsIetfBpi2CmtsBaseEntry 9 }

       docsIetfBpi2CmtsSAMapRequests     OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has received an SA Map Request message from any CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.10."
            ::= { docsIetfBpi2CmtsBaseEntry 10 }

       docsIetfBpi2CmtsSAMapReplies OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an SA Map Reply message to any CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.11."
            ::= { docsIetfBpi2CmtsBaseEntry 11 }

       docsIetfBpi2CmtsSAMapRejects OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an SA Map Reject message to any CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.12."
            ::= { docsIetfBpi2CmtsBaseEntry 12 }

       --
       -- The CMTS Authorization Table, indexed by ifIndex and CM MAC
       -- address
       --

       docsIetfBpi2CmtsAuthTable    OBJECT-TYPE
            SYNTAX         SEQUENCE OF    DocsBpi2CmtsAuthEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table describes the attributes of each CM
            authorization association. The CMTS maintains one
            authorization association with each Baseline Privacy-
            enabled CM, registered on each CMTS MAC interface,
            regardless of whether the CM is authorized or rejected."
            ::= { docsIetfBpi2CmtsObjects 2 }

       docsIetfBpi2CmtsAuthEntry    OBJECT-TYPE
            SYNTAX              DocsBpi2CmtsAuthEntry
            MAX-ACCESS          not-accessible
            STATUS              current
            DESCRIPTION
                 "Each entry contains objects describing attributes of
            one authorization association. The CMTS MUST create one
            entry per CM per MAC interface, based on the receipt of an
            Authorization Request message, and MUST not delete the
            entry until the CM loses registration."
            INDEX     { ifIndex, docsIetfBpi2CmtsAuthCmMacAddress }
            ::= { docsIetfBpi2CmtsAuthTable 1 }

       DocsBpi2CmtsAuthEntry ::= SEQUENCE {
            docsIetfBpi2CmtsAuthCmMacAddress        MacAddress,
            docsIetfBpi2CmtsAuthCmBpiVersion        INTEGER,
            docsIetfBpi2CmtsAuthCmPublicKey         OCTET STRING,
            docsIetfBpi2CmtsAuthCmKeySequenceNumber Integer32,
            docsIetfBpi2CmtsAuthCmExpiresOld        DateAndTime,
            docsIetfBpi2CmtsAuthCmExpiresNew        DateAndTime,
            docsIetfBpi2CmtsAuthCmLifetime          Integer32,
            docsIetfBpi2CmtsAuthCmReset             INTEGER,
            docsIetfBpi2CmtsAuthCmInfos             Counter32,
            docsIetfBpi2CmtsAuthCmRequests          Counter32,
            docsIetfBpi2CmtsAuthCmReplies           Counter32,
            docsIetfBpi2CmtsAuthCmRejects           Counter32,
            docsIetfBpi2CmtsAuthCmInvalids          Counter32,
            docsIetfBpi2CmtsAuthRejectErrorCode     INTEGER,
            docsIetfBpi2CmtsAuthRejectErrorString   SnmpAdminString,
            docsIetfBpi2CmtsAuthInvalidErrorCode    INTEGER,
            docsIetfBpi2CmtsAuthInvalidErrorString  SnmpAdminString,
            docsIetfBpi2CmtsAuthPrimarySAId         DocsSAIdOrZero,
            docsIetfBpi2CmtsAuthBpkmCmCertValid     INTEGER,
            docsIetfBpi2CmtsAuthBpkmCmCert
                                 DocsX509ASN1DEREncodedCertificate,
            docsIetfBpi2CmtsAuthCACertIndexPtr      Unsigned32
            }

       docsIetfBpi2CmtsAuthCmMacAddress  OBJECT-TYPE
            SYNTAX         MacAddress
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The value of this object is the physical address of
            the CM to which the authorization association applies."
            ::= { docsIetfBpi2CmtsAuthEntry 1 }

       docsIetfBpi2CmtsAuthCmBpiVersion  OBJECT-TYPE
            SYNTAX         INTEGER {
                             bpi (0),
                             bpiPlus (1)
                              }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the version of Baseline
            Privacy for which this CM has registered. The value
            'bpiplus' represents the value of BPI-Version Attribute of
            the Baseline Privacy Key Management BPKM attribute
            BPI-Version (1). The value 'bpi' is used to represent the
            CM registered using DOCSIS 1.0 Baseline Privacy."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification
            Section 4.2.2.22; ANSI/SCTE 22-2 2002(formerly DSS 02-03)
            Data-Over-Cable Service Interface Specification DOCSIS 1.0
            Baseline Privacy Interface (BPI)"

            ::= { docsIetfBpi2CmtsAuthEntry 2 }

       docsIetfBpi2CmtsAuthCmPublicKey   OBJECT-TYPE
            SYNTAX         OCTET STRING (SIZE (0..524))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is a DER-encoded
            RSAPublicKey ASN.1 type string, as defined in the RSA
            Encryption Standard (PKCS #1), corresponding to the
            public key of the CM.  This is the zero-length OCTET
            STRING if the CMTS does not retain the public key."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.4."
            ::= { docsIetfBpi2CmtsAuthEntry 3 }

       docsIetfBpi2CmtsAuthCmKeySequenceNumber     OBJECT-TYPE
            SYNTAX         Integer32 (0..15)
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the most recent
            authorization key sequence number for this CM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.2 and 4.2.2.10."
            ::= { docsIetfBpi2CmtsAuthEntry 4 }

       docsIetfBpi2CmtsAuthCmExpiresOld  OBJECT-TYPE
            SYNTAX         DateAndTime
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the actual clock time
            for expiration of the immediate predecessor of the most
            recent authorization key for this FSM. If this FSM has only
            one authorization key, then the value is the time of
            activation of this FSM.
            Note: This object has no meaning for CMs running in BPI
            mode, therefore this object is not instantiated for entries
            associated to those CMs."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.2 and 4.2.2.9."
            ::= { docsIetfBpi2CmtsAuthEntry 5 }

       docsIetfBpi2CmtsAuthCmExpiresNew  OBJECT-TYPE
            SYNTAX         DateAndTime
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                      "The value of this object is the actual clock
            time for expiration of the most recent authorization key
            for this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.2 and 4.2.2.9."
            ::= { docsIetfBpi2CmtsAuthEntry 6 }

       docsIetfBpi2CmtsAuthCmLifetime    OBJECT-TYPE
            SYNTAX         Integer32 (1..6048000)
            UNITS          "seconds"
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "The value of this object is the lifetime, in seconds,
            the CMTS assigns to an authorization key for this CM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.2 and Appendix A.2."
            ::= { docsIetfBpi2CmtsAuthEntry 7 }

       docsIetfBpi2CmtsAuthCmReset  OBJECT-TYPE
            SYNTAX    INTEGER   {
                                noResetRequested(1),
                                invalidateAuth(2),
                                sendAuthInvalid(3),
                                invalidateTeks(4)
                                }
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "Setting this object to invalidateAuth(2) causes the
            CMTS to invalidate the current CM authorization key(s), but
            not to transmit an Authorization Invalid message nor to
            invalidate the primary SAID's TEKs.  Setting this object to
            sendAuthInvalid(3) causes the CMTS to invalidate the
            current CM authorization key(s), and to transmit an
            Authorization Invalid message to the CM, but not to
            invalidate the primary SAID's TEKs.  Setting this object to
            invalidateTeks(4) causes the CMTS to invalidate the current
            CM authorization key(s), to transmit an Authorization
            Invalid message to the CM, and to invalidate the TEKs
            associated with this CM's primary SAID.
            For BPI mode, substitute all of the CM's unicast
            TEK(s) for the primary SAID's TEKs in the previous
            paragraph.
            Reading this object returns the most recently set
            value of this object, or returns noResetRequested(1) if the
            object has not been set since entry creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.1.2.3.4, 4.1.2.3.5, and 4.1.3.3.5."
            ::= { docsIetfBpi2CmtsAuthEntry 8 }

       docsIetfBpi2CmtsAuthCmInfos       OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has received an Authentication Information message
            from this CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.9."
            ::= { docsIetfBpi2CmtsAuthEntry 9 }

       docsIetfBpi2CmtsAuthCmRequests    OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has received an Authorization Request message from
            this CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.1."
            ::= { docsIetfBpi2CmtsAuthEntry 10 }

       docsIetfBpi2CmtsAuthCmReplies     OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an Authorization Reply message to this
            CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.2."
            ::= { docsIetfBpi2CmtsAuthEntry 11 }

       docsIetfBpi2CmtsAuthCmRejects     OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an Authorization Reject message to
            this CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.3."
            ::= { docsIetfBpi2CmtsAuthEntry 12 }

       docsIetfBpi2CmtsAuthCmInvalids    OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an Authorization Invalid message to
            this CM.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.7."
            ::= { docsIetfBpi2CmtsAuthEntry 13 }

       docsIetfBpi2CmtsAuthRejectErrorCode    OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedCm(3),
                                   unauthorizedSaid(4),
                                   permanentAuthorizationFailure(8),
                                   timeOfDayNotAcquired(11)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in most recent Authorization
            Reject message transmitted to the CM.  This has value
            unknown(2) if the last Error-Code value was 0, and none(1)
            if no Authorization Reject message has been transmitted to
            the CM, since entry creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.3 and 4.2.2.15."
            ::= { docsIetfBpi2CmtsAuthEntry 14 }

       docsIetfBpi2CmtsAuthRejectErrorString  OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            most recent Authorization Reject message transmitted to the
            CM.  This is a zero length string if no Authorization
            Reject message has been transmitted to the CM, since entry
            creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.3 and 4.2.2.6."
            ::= { docsIetfBpi2CmtsAuthEntry 15 }

       docsIetfBpi2CmtsAuthInvalidErrorCode   OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedCm(3),
                                   unsolicited(5),
                                   invalidKeySequence(6),
                                   keyRequestAuthenticationFailure(7)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in most recent Authorization
            Invalid message transmitted to the CM.  This has value
            unknown(2) if the last Error-Code value was 0, and none(1)
            if no Authorization Invalid message has been transmitted to
            the CM since entry creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.7 and 4.2.2.15."
            ::= { docsIetfBpi2CmtsAuthEntry 16 }

       docsIetfBpi2CmtsAuthInvalidErrorString OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            most recent Authorization Invalid message transmitted to
            the CM.  This is a zero length string if no Authorization
            Invalid message has been transmitted to the CM since entry
            creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.7 and 4.2.2.6."
            ::= { docsIetfBpi2CmtsAuthEntry 17 }

       docsIetfBpi2CmtsAuthPrimarySAId   OBJECT-TYPE
            SYNTAX         DocsSAIdOrZero
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the Primary Security
            Association identifier.  For BPI mode, the value must be
            any unicast SID."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 2.1.3."
            ::= { docsIetfBpi2CmtsAuthEntry 18 }

       docsIetfBpi2CmtsAuthBpkmCmCertValid         OBJECT-TYPE
            SYNTAX    INTEGER {
                              unknown (0),
                              validCmChained (1),
                              validCmTrusted (2),
                              invalidCmUntrusted (3),
                              invalidCAUntrusted (4),
                              invalidCmOther (5),
                              invalidCAOther (6),
                              invalidCmRevoked (7),
                              invalidCARevoked (8)         
                              }
            MAX-ACCESS     read-only
            STATUS    current
            DESCRIPTION
                 "Contains the reason why a CM's certificate is deemed
            valid or invalid.
            Return unknown(0) if the CM is running BPI mode.
            ValidCmChained(1) means the certificate is valid
               because it chains to a valid certificate.
            ValidCmTrusted(2) means the certificate is valid
               because it has been provisioned (in the
               docsIetfBpi2CmtsProvisionedCmCert table) to be trusted.
            InvalidCmUntrusted(3) means the certificate is invalid
                 because it has been provisioned (in the
                 docsIetfBpi2CmtsProvisionedCmCert table) to be untrusted.
            InvalidCAUntrusted(4) means the certificate is invalid
                 because it chains to an untrusted certificate.
            InvalidCmOther(5) and InvalidCAOther(6) refer to
                 errors in parsing, validity periods, etc, which are
                 attributable to the CM certificate or its chain
                 respectively; additional information may be found
                 in docsIetfBpi2AuthRejectErrorString for these types
                 of errors.
            InvalidCmRevoked(7) means the certificate is
               invalid as it was marked as revoked. 
            InvalidCARevoked(8) means the CA certificate is
               invalid as it was marked as revoked."
            REFERENCE
                 "DOCSIS Security Specification CM-SP-SECv3.0-I08-080522,
               Certificate Revocation section."
            ::= { docsIetfBpi2CmtsAuthEntry 19 }

       docsIetfBpi2CmtsAuthBpkmCmCert    OBJECT-TYPE
            SYNTAX         DocsX509ASN1DEREncodedCertificate
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The X509 CM Certificate sent as part of a BPKM
            Authorization Request.
            Note: The zero-length OCTET STRING must be returned if the
            Entire certificate is not retained in the CMTS."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2."
            ::= { docsIetfBpi2CmtsAuthEntry 20 }

       docsIetfBpi2CmtsAuthCACertIndexPtr    OBJECT-TYPE
            SYNTAX         Unsigned32 (0..4294967295)
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "A row index into docsIetfBpi2CmtsCACertTable.
                  Returns the index in docsIetfBpi2CmtsCACertTable which
                  CA certificate this CM is chained to.  A value of
                  0 means it could not be found or not applicable."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2."
            ::= { docsIetfBpi2CmtsAuthEntry 21 }


       --
       -- The CMTS TEK Table, indexed by ifIndex and SAID
       --

       docsIetfBpi2CmtsTEKTable     OBJECT-TYPE
            SYNTAX         SEQUENCE OF    DocsBpi2CmtsTEKEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table describes the attributes of each
            Traffic Encryption Key (TEK) association. The CMTS
            Maintains one TEK association per SAID on each CMTS MAC
            interface."
            ::= { docsIetfBpi2CmtsObjects 3 }

       docsIetfBpi2CmtsTEKEntry     OBJECT-TYPE
            SYNTAX         DocsBpi2CmtsTEKEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "Each entry contains objects describing attributes of
            one TEK association on a particular CMTS MAC interface. The
            CMTS MUST create one entry per SAID per MAC interface,
            based on the receipt of a Key Request message, and MUST not
            delete the entry before the CM authorization for the SAID
            permanently expires."
            INDEX     { ifIndex, docsIetfBpi2CmtsTEKSAId }
            ::= { docsIetfBpi2CmtsTEKTable 1 }

       DocsBpi2CmtsTEKEntry ::= SEQUENCE {
            docsIetfBpi2CmtsTEKSAId                DocsSAId,
            docsIetfBpi2CmtsTEKSAType              DocsBpkmSAType,
            docsIetfBpi2CmtsTEKDataEncryptAlg      DocsBpkmDataEncryptAlg,
            docsIetfBpi2CmtsTEKDataAuthentAlg      DocsBpkmDataAuthentAlg,
            docsIetfBpi2CmtsTEKLifetime            Integer32,
            docsIetfBpi2CmtsTEKKeySequenceNumber   Integer32,
            docsIetfBpi2CmtsTEKExpiresOld          DateAndTime,
            docsIetfBpi2CmtsTEKExpiresNew          DateAndTime,
            docsIetfBpi2CmtsTEKReset               TruthValue,
            docsIetfBpi2CmtsKeyRequests            Counter32,
            docsIetfBpi2CmtsKeyReplies             Counter32,
            docsIetfBpi2CmtsKeyRejects             Counter32,
            docsIetfBpi2CmtsTEKInvalids            Counter32,
            docsIetfBpi2CmtsKeyRejectErrorCode     INTEGER,
            docsIetfBpi2CmtsKeyRejectErrorString   SnmpAdminString,
            docsIetfBpi2CmtsTEKInvalidErrorCode    INTEGER,
            docsIetfBpi2CmtsTEKInvalidErrorString  SnmpAdminString
       }

       docsIetfBpi2CmtsTEKSAId OBJECT-TYPE
            SYNTAX         DocsSAId
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The value of this object is the DOCSIS Security
            Association ID (SAID)."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.12."
            ::= { docsIetfBpi2CmtsTEKEntry 1 }

       docsIetfBpi2CmtsTEKSAType    OBJECT-TYPE
            SYNTAX         DocsBpkmSAType
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the type of security
            association.  'dynamic' does not apply to CMs running in
            BPI mode.  Unicast BPI TEKs must utilize the 'primary'
            encoding and multicast BPI TEKs must utilize the 'static'
            encoding."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 2.1.3."
            ::= { docsIetfBpi2CmtsTEKEntry 2 }

       docsIetfBpi2CmtsTEKDataEncryptAlg OBJECT-TYPE
            SYNTAX    DocsBpkmDataEncryptAlg
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data encryption
            algorithm for this SAID."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            ::= { docsIetfBpi2CmtsTEKEntry 3 }

       docsIetfBpi2CmtsTEKDataAuthentAlg OBJECT-TYPE
            SYNTAX    DocsBpkmDataAuthentAlg
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data authentication
            algorithm for this SAID."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            ::= { docsIetfBpi2CmtsTEKEntry 4 }

       docsIetfBpi2CmtsTEKLifetime  OBJECT-TYPE
            SYNTAX         Integer32 (1..604800)
            UNITS          "seconds"
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "The value of this object is the lifetime, in
            seconds, the CMTS assigns to keys for this TEK
            association."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.5 and Appendix A.2."
            ::= { docsIetfBpi2CmtsTEKEntry 5 }


       docsIetfBpi2CmtsTEKKeySequenceNumber   OBJECT-TYPE
            SYNTAX              Integer32 (0..15)
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "The value of this object is the most recent TEK
            key sequence number for this SAID."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.2.10 and 4.2.2.13."
            ::= { docsIetfBpi2CmtsTEKEntry 6 }

       docsIetfBpi2CmtsTEKExpiresOld     OBJECT-TYPE
            SYNTAX         DateAndTime
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the actual clock time
            for expiration of the immediate predecessor of the most
            recent TEK for this FSM. If this FSM has only one TEK, then
            the value is the time of activation of this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.5 and 4.2.2.9."
            ::= { docsIetfBpi2CmtsTEKEntry 7 }

       docsIetfBpi2CmtsTEKExpiresNew     OBJECT-TYPE
            SYNTAX         DateAndTime
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the actual clock time
            for expiration of the most recent TEK for this FSM."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.5 and 4.2.2.9."
            ::= { docsIetfBpi2CmtsTEKEntry 8 }

       docsIetfBpi2CmtsTEKReset     OBJECT-TYPE
            SYNTAX         TruthValue
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                 "Setting this object to 'true' causes the CMTS to
            invalidate all currently active TEK(s) and to generate new
            TEK(s) for the associated SAID; the CMTS MAY also generate
            unsolicited TEK Invalid message(s), to optimize the TEK
            synchronization between the CMTS and the CM(s). Reading
            this object always returns FALSE."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.1.3.3.5."
            ::= { docsIetfBpi2CmtsTEKEntry 9 }

       docsIetfBpi2CmtsKeyRequests  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has received a Key Request message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.4."
            ::= { docsIetfBpi2CmtsTEKEntry 10 }

       docsIetfBpi2CmtsKeyReplies   OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted a Key Reply message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.5."
            ::= { docsIetfBpi2CmtsTEKEntry 11 }

       docsIetfBpi2CmtsKeyRejects   OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted a Key Reject message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.6."
            ::= { docsIetfBpi2CmtsTEKEntry 12 }

       docsIetfBpi2CmtsTEKInvalids  OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted a TEK Invalid message.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.8."
            ::= { docsIetfBpi2CmtsTEKEntry 13 }

       docsIetfBpi2CmtsKeyRejectErrorCode     OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   unauthorizedSaid(4)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in the most recent Key Reject
            message sent in response to a Key Request for this SAID.
            This has value unknown(2) if the last Error-Code value
            was 0, and none(1) if no Key Reject message has been
            received since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.6 and 4.2.2.15."
            ::= { docsIetfBpi2CmtsTEKEntry 14 }

       docsIetfBpi2CmtsKeyRejectErrorString   OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            the most recent Key Reject message sent in response to a
            Key Request for this SAID. This is a zero length string if
            no Key Reject message has been received since
            registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.6 and 4.2.2.6."
            ::= { docsIetfBpi2CmtsTEKEntry 15 }

       docsIetfBpi2CmtsTEKInvalidErrorCode    OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   invalidKeySequence(6)
                                   }
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in the most recent TEK
            Invalid message sent in association with this SAID.  This
            has value unknown(2) if the last Error-Code value was 0,
            and none(1) if no TEK Invalid message has been received
            since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.8 and 4.2.2.15."
            ::= { docsIetfBpi2CmtsTEKEntry 16 }

       docsIetfBpi2CmtsTEKInvalidErrorString  OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            the most recent TEK Invalid message sent in association
            with this SAID.  This is a zero length string if no TEK
            Invalid message has been received since registration."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.8 and 4.2.2.6."
            ::= { docsIetfBpi2CmtsTEKEntry 17 }



       --
       -- The CMTS Multicast Objects Group
       --

       docsIetfBpi2CmtsMulticastObjects OBJECT IDENTIFIER
            ::= { docsIetfBpi2CmtsObjects 4 }

       --
       -- The CMTS IP Multicast Mapping Table, indexed by
       -- docsIetfBpi2CmtsIpMulticastIndex, and by ifIndex
       --

       docsIetfBpi2CmtsIpMulticastMapTable         OBJECT-TYPE
            SYNTAX         SEQUENCE OF DocsBpi2CmtsIpMulticastMapEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table maps multicast IP addresses to SAIDs.
            If a multicast IP address is mapped by multiple rows
            in the table, the row with the lowest
            docsIetfBpi2CmtsIpMulticastIndex must be utilized for the
            mapping."
            ::= { docsIetfBpi2CmtsMulticastObjects 1 }

       docsIetfBpi2CmtsIpMulticastMapEntry         OBJECT-TYPE
            SYNTAX         DocsBpi2CmtsIpMulticastMapEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "Each entry contains objects describing the mapping of
            a set of multicast IP address and mask to one SAID
            associated to a CMTS MAC Interface, as well as associated
            message
            counters and error information."
            INDEX     { ifIndex, docsIetfBpi2CmtsIpMulticastIndex }
            ::= { docsIetfBpi2CmtsIpMulticastMapTable 1 }

       DocsBpi2CmtsIpMulticastMapEntry ::= SEQUENCE {
            docsIetfBpi2CmtsIpMulticastIndex            Unsigned32,
            docsIetfBpi2CmtsIpMulticastAddressType      InetAddressType,
            docsIetfBpi2CmtsIpMulticastAddress          InetAddress,
            docsIetfBpi2CmtsIpMulticastMask             InetAddress,
            docsIetfBpi2CmtsIpMulticastSAId             DocsSAIdOrZero,
            docsIetfBpi2CmtsIpMulticastSAType           DocsBpkmSAType,
            docsIetfBpi2CmtsIpMulticastDataEncryptAlg
                                            DocsBpkmDataEncryptAlg,
            docsIetfBpi2CmtsIpMulticastDataAuthentAlg
                                            DocsBpkmDataAuthentAlg,
            docsIetfBpi2CmtsIpMulticastSAMapRequests    Counter32,
            docsIetfBpi2CmtsIpMulticastSAMapReplies     Counter32,
            docsIetfBpi2CmtsIpMulticastSAMapRejects     Counter32,
            docsIetfBpi2CmtsIpMulticastSAMapRejectErrorCode
                                                       INTEGER,
            docsIetfBpi2CmtsIpMulticastSAMapRejectErrorString
                                                       SnmpAdminString,
            docsIetfBpi2CmtsIpMulticastMapControl          RowStatus,
            docsIetfBpi2CmtsIpMulticastMapStorageType      StorageType
            }

       docsIetfBpi2CmtsIpMulticastIndex       OBJECT-TYPE
            SYNTAX         Unsigned32 (1..4294967295)
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The index of this row.
            Conceptual rows having the value 'permanent' need not allow
            write-access to any columnar objects in the row."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 1 }

       docsIetfBpi2CmtsIpMulticastAddressType OBJECT-TYPE
            SYNTAX         InetAddressType
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "The type of internet address for
            docsIetfBpi2CmtsIpMulticastAddress
            and docsIetfBpi2CmtsIpMulticastMask."
            DEFVAL { ipv4 }
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 2 }

       docsIetfBpi2CmtsIpMulticastAddress          OBJECT-TYPE
            SYNTAX         InetAddress
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "This object represents the IP multicast address
            to be mapped, in conjunction with
            docsIetfBpi2CmtsIpMulticastMask. The type of this address is
            determined by the value of the object
            docsIetfBpi2CmtsIpMulticastAddressType."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 3 }


       docsIetfBpi2CmtsIpMulticastMask        OBJECT-TYPE
            SYNTAX         InetAddress
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "This object represents the IP multicast address mask
            for this row.
            An IP multicast address matches this row if the logical
            AND of the address with docsIetfBpi2CmtsIpMulticastMask is
            identical to the logical AND of
            docsIetfBpi2CmtsIpMulticastAddr with
            docsIetfBpi2CmtsIpMulticastMask. The type of this address is
            determined by the value of the object
            docsIetfBpi2CmtsIpMulticastAddressType.
             Note: For IPv6 this object needs not to represent a
             contiguous netmask, e.g. to associate an SAID to a
             multicast group matching 'any' multicast scope. The TC
             InetAddressPrefixLength is not used because it only
             represents contiguous netmask."
             ::= { docsIetfBpi2CmtsIpMulticastMapEntry 4 }


       docsIetfBpi2CmtsIpMulticastSAId        OBJECT-TYPE
            SYNTAX         DocsSAIdOrZero
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "This object represents the multicast SAID to be
            used in this IP multicast address mapping entry."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 5 }

       docsIetfBpi2CmtsIpMulticastSAType OBJECT-TYPE
            SYNTAX         DocsBpkmSAType
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "The value of this object is the type of security
            association.  'dynamic' does not apply to CMs running in
            BPI mode.  Unicast BPI TEKs must utilize the 'primary'
            encoding and multicast BPI TEKs must utilize the 'static'
            encoding.  SNMP created entries set this object by default
            to 'static' if not set at row creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 2.1.3."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 6 }

       docsIetfBpi2CmtsIpMulticastDataEncryptAlg   OBJECT-TYPE
            SYNTAX    DocsBpkmDataEncryptAlg
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data encryption
            algorithm for this IP."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            DEFVAL { des56CbcMode }
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 7 }

       docsIetfBpi2CmtsIpMulticastDataAuthentAlg   OBJECT-TYPE
            SYNTAX    DocsBpkmDataAuthentAlg
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "The value of this object is the data authentication
            algorithm for this IP."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.2.20."
            DEFVAL { none }
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 8 }

       docsIetfBpi2CmtsIpMulticastSAMapRequests    OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has received an SA Map Request message for this IP.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.10."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 9 }

       docsIetfBpi2CmtsIpMulticastSAMapReplies     OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an SA Map Reply message for this IP.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.11."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 10 }

       docsIetfBpi2CmtsIpMulticastSAMapRejects     OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the count of times the
            CMTS has transmitted an SA Map Reject message for this IP.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 4.2.1.12."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 11 }

       docsIetfBpi2CmtsIpMulticastSAMapRejectErrorCode  OBJECT-TYPE
            SYNTAX         INTEGER {
                                   none(1),
                                   unknown(2),
                                   noAuthForRequestedDSFlow(9),
                                   dsFlowNotMappedToSA(10)
                                   }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the enumerated
            description of the Error-Code in the most recent SA Map
            Reject message sent in response to a SA Map Request for
            This IP.  It has value unknown(2) if the last Error-Code
            Value was 0, and none(1) if no SA MAP Reject message has
            been received since entry creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.12 and 4.2.2.15."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 12 }

       docsIetfBpi2CmtsIpMulticastSAMapRejectErrorString     OBJECT-TYPE
            SYNTAX         SnmpAdminString (SIZE (0..128))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The value of this object is the text string in
            the most recent SA Map Reject message sent in response to
            an SA Map Request for this IP.  It is a zero length string
            if no SA Map Reject message has been received since entry
            creation."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Sections 4.2.1.12 and 4.2.2.6."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 13 }

       docsIetfBpi2CmtsIpMulticastMapControl  OBJECT-TYPE
            SYNTAX         RowStatus
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "This object controls and reflects the IP multicast
            address mapping entry.  There is no restriction on the
            ability to change values in this row while the row is
            active.
            A created row can be set to active only after the
            Corresponding instances of docsIetfBpi2CmtsIpMulticastAddress,
            docsIetfBpi2CmtsIpMulticastMask, docsIetfBpi2CmtsIpMulticastSAId
            and docsIetfBpi2CmtsIpMulticastSAType have all been set."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 14 }

       docsIetfBpi2CmtsIpMulticastMapStorageType     OBJECT-TYPE
            SYNTAX         StorageType
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not allow
            write-access to any columnar objects in the row."
            ::= { docsIetfBpi2CmtsIpMulticastMapEntry 15 }

       --
       -- The CMTS Multicast SAID Authorization Table,
       -- indexed by ifIndex by
       -- multicast SAID by CM MAC address
       --

       docsIetfBpi2CmtsMulticastAuthTable          OBJECT-TYPE
            SYNTAX         SEQUENCE OF DocsBpi2CmtsMulticastAuthEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This table describes the multicast SAID
            authorization for each CM on each CMTS MAC interface."
            ::= { docsIetfBpi2CmtsMulticastObjects 2 }

       docsIetfBpi2CmtsMulticastAuthEntry          OBJECT-TYPE
            SYNTAX         DocsBpi2CmtsMulticastAuthEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "Each entry contains objects describing the key
            authorization of one cable modem for one multicast SAID
            for one CMTS MAC interface.
            Row entries persist after re-initialization of
            the managed system."
            INDEX     { ifIndex, docsIetfBpi2CmtsMulticastAuthSAId,
                   docsIetfBpi2CmtsMulticastAuthCmMacAddress }
            ::= { docsIetfBpi2CmtsMulticastAuthTable 1 }

       DocsBpi2CmtsMulticastAuthEntry ::= SEQUENCE
            {
            docsIetfBpi2CmtsMulticastAuthSAId                DocsSAId,
            docsIetfBpi2CmtsMulticastAuthCmMacAddress        MacAddress,
            docsIetfBpi2CmtsMulticastAuthControl             RowStatus
            }

       docsIetfBpi2CmtsMulticastAuthSAId OBJECT-TYPE
            SYNTAX         DocsSAId
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This object represents the multicast SAID for
            authorization."
            ::= { docsIetfBpi2CmtsMulticastAuthEntry 1 }

       docsIetfBpi2CmtsMulticastAuthCmMacAddress   OBJECT-TYPE
            SYNTAX         MacAddress
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "This object represents the MAC address of the CM
            to which the multicast SAID authorization applies."
            ::= { docsIetfBpi2CmtsMulticastAuthEntry 2 }

       docsIetfBpi2CmtsMulticastAuthControl   OBJECT-TYPE
            SYNTAX         RowStatus
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "The status of this conceptual row for the
            authorization of  multicast SAIDs to CMs. "
            ::= { docsIetfBpi2CmtsMulticastAuthEntry 3 }


       --
       -- CMTS Cert Objects
       --

       docsIetfBpi2CmtsCertObjects OBJECT IDENTIFIER
            ::= { docsIetfBpi2CmtsObjects 5 }

       --
       -- CMTS Provisioned CM Cert Table
       --

       docsIetfBpi2CmtsProvisionedCmCertTable OBJECT-TYPE
            SYNTAX         SEQUENCE OF
                            DocsBpi2CmtsProvisionedCmCertEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "A table of CM certificate trust entries provisioned
            to the CMTS.  The trust object for a certificate in this
            table has an overriding effect on the validity object of a
            certificate in the authorization table, as long as the
            entire contents of the two certificates are identical."
            ::= { docsIetfBpi2CmtsCertObjects 1 }

       docsIetfBpi2CmtsProvisionedCmCertEntry OBJECT-TYPE
            SYNTAX         DocsBpi2CmtsProvisionedCmCertEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "An entry in the CMTS's provisioned CM certificate
            table.  Row entries persist after re-initialization of
            the managed system."
            REFERENCE
                 "Data-Over-Cable Service Interface Specifications:
            Operations Support System Interface Specification
            SP-OSSIv2.0-I05-040407, Section 6.2.14"
            INDEX { docsIetfBpi2CmtsProvisionedCmCertMacAddress }
            ::= { docsIetfBpi2CmtsProvisionedCmCertTable 1 }

       DocsBpi2CmtsProvisionedCmCertEntry ::= SEQUENCE
            {
            docsIetfBpi2CmtsProvisionedCmCertMacAddress MacAddress,
            docsIetfBpi2CmtsProvisionedCmCertTrust      INTEGER,
            docsIetfBpi2CmtsProvisionedCmCertSource     INTEGER,
            docsIetfBpi2CmtsProvisionedCmCertStatus     RowStatus,
            docsIetfBpi2CmtsProvisionedCmCert
                                      DocsX509ASN1DEREncodedCertificate
            }

       docsIetfBpi2CmtsProvisionedCmCertMacAddress OBJECT-TYPE
            SYNTAX         MacAddress
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The index of this row."
            ::= { docsIetfBpi2CmtsProvisionedCmCertEntry 1 }

       docsIetfBpi2CmtsProvisionedCmCertTrust      OBJECT-TYPE
            SYNTAX    INTEGER {
                              trusted(1),
                              untrusted(2)
                              }
            MAX-ACCESS     read-create
            STATUS    current
            DESCRIPTION
                 "Trust state for the provisioned CM certificate entry.
            Note: Setting this object need only override the validity
            of CM certificates sent in future authorization requests;
            instantaneous effect need not occur."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.1."
            DEFVAL { untrusted }
            ::= { docsIetfBpi2CmtsProvisionedCmCertEntry 2 }

       docsIetfBpi2CmtsProvisionedCmCertSource     OBJECT-TYPE
            SYNTAX    INTEGER {
                              snmp(1),
                              configurationFile(2),
                              externalDatabase(3),
                              other(4)
                              }
            MAX-ACCESS read-only
            STATUS  current
            DESCRIPTION
                 "This object indicates how the certificate reached the
            CMTS.  Other(4) means is originated from a source not
            identified above."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.1."
            ::= { docsIetfBpi2CmtsProvisionedCmCertEntry 3 }

       docsIetfBpi2CmtsProvisionedCmCertStatus OBJECT-TYPE
            SYNTAX  RowStatus
            MAX-ACCESS read-create
            STATUS  current
            DESCRIPTION
                 "The status of this conceptual row. Values in this row
            cannot be changed while the row is 'active'."
            ::= { docsIetfBpi2CmtsProvisionedCmCertEntry 4 }

       docsIetfBpi2CmtsProvisionedCmCert OBJECT-TYPE
            SYNTAX         DocsX509ASN1DEREncodedCertificate
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "An X509 DER-encoded Certificate Authority
            certificate.
            Note: The zero-length OCTET STRING must be returned, on
            reads, if the entire certificate is not retained in the
            CMTS."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2."
            ::= { docsIetfBpi2CmtsProvisionedCmCertEntry 5 }


       --
       -- CMTS CA Cert Table
       --

       docsIetfBpi2CmtsCACertTable OBJECT-TYPE
            SYNTAX         SEQUENCE OF DocsBpi2CmtsCACertEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The table of known Certificate Authority certificates
            acquired by this device."
            ::= { docsIetfBpi2CmtsCertObjects 2 }

       docsIetfBpi2CmtsCACertEntry OBJECT-TYPE
            SYNTAX         DocsBpi2CmtsCACertEntry
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "A row in the Certificate Authority certificate
            table.  Row entries with trust status 'trusted',
            'untrusted', or 'root' persist after re-initialization
             of the managed system."
            REFERENCE
                 "Data-Over-Cable Service Interface Specifications:
            Operations Support System Interface Specification
            SP-OSSIv2.0-I05-040407, Section 6.2.14"
            INDEX   { docsIetfBpi2CmtsCACertIndex }
            ::= {docsIetfBpi2CmtsCACertTable 1 }

       DocsBpi2CmtsCACertEntry ::= SEQUENCE {
            docsIetfBpi2CmtsCACertIndex            Unsigned32,
            docsIetfBpi2CmtsCACertSubject          SnmpAdminString,
            docsIetfBpi2CmtsCACertIssuer           SnmpAdminString,
            docsIetfBpi2CmtsCACertSerialNumber     OCTET STRING,
            docsIetfBpi2CmtsCACertTrust            INTEGER,
            docsIetfBpi2CmtsCACertSource           INTEGER,
            docsIetfBpi2CmtsCACertStatus           RowStatus,
            docsIetfBpi2CmtsCACert
                                  DocsX509ASN1DEREncodedCertificate,
            docsIetfBpi2CmtsCACertThumbprint       OCTET STRING
       }

       docsIetfBpi2CmtsCACertIndex OBJECT-TYPE
            SYNTAX         Unsigned32 (1.. 4294967295)
            MAX-ACCESS     not-accessible
            STATUS         current
            DESCRIPTION
                 "The index for this row."
            ::= { docsIetfBpi2CmtsCACertEntry 1 }

       docsIetfBpi2CmtsCACertSubject OBJECT-TYPE
            SYNTAX         SnmpAdminString
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The subject name exactly as it is encoded in the
            X509 certificate.
            The organizationName portion of the certificate's subject
            name must be present.  All other fields are optional.  Any
            optional field present must be pre pended with <CR>
            (carriage return, U+000D) <LF> (line feed, U+000A).
            Ordering of fields present must conform to:
            organizationName <CR> <LF>
            countryName <CR> <LF>
            stateOrProvinceName <CR> <LF>
            localityName <CR> <LF>
            organizationalUnitName <CR> <LF>
            organizationalUnitName=<Manufacturing Location> <CR> <LF>
            commonName"
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2.4"
            ::= { docsIetfBpi2CmtsCACertEntry 2 }

       docsIetfBpi2CmtsCACertIssuer OBJECT-TYPE
            SYNTAX         SnmpAdminString
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The issuer name exactly as it is encoded in the
            X509 certificate.
            The commonName portion of the certificate's issuer
            name must be present.  All other fields are optional.  Any
            optional field present must be pre pended with <CR>
            (carriage return, U+000D) <LF> (line feed, U+000A).
            Ordering of fields present must conform to:

            CommonName <CR><LF>
            countryName <CR><LF>
            stateOrProvinceName <CR><LF>
            localityName <CR><LF>
            organizationName <CR><LF>
            organizationalUnitName <CR><LF>
            organizationalUnitName=<Manufacturing Location>"
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2.4"
            ::= { docsIetfBpi2CmtsCACertEntry 3 }

       docsIetfBpi2CmtsCACertSerialNumber OBJECT-TYPE
            SYNTAX         OCTET STRING (SIZE (1..32))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "This CA certificate's serial number represented as
            an octet string."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2.2"
            ::= { docsIetfBpi2CmtsCACertEntry 4 }

       docsIetfBpi2CmtsCACertTrust OBJECT-TYPE
            SYNTAX    INTEGER {
                              trusted (1),
                              untrusted (2),
                              chained (3),
                              root (4)
                              }
            MAX-ACCESS     read-create
            STATUS    current
            DESCRIPTION
                 "This object controls the trust status of this
            certificate.  Root certificates must be given root(4)
            trust; manufacturer certificates must not be given root(4)
            trust.  Trust on root certificates must not change.
            Note: Setting this object need only affect the validity of
            CM certificates sent in future authorization requests;
            instantaneous effect need not occur."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.1"
            DEFVAL { chained }
            ::= { docsIetfBpi2CmtsCACertEntry 5 }

       docsIetfBpi2CmtsCACertSource OBJECT-TYPE
            SYNTAX    INTEGER {
                      snmp (1),
                      configurationFile (2),
                      externalDatabase (3),
                      other (4),
                      authentInfo (5),
                      compiledIntoCode (6)
                      }
            MAX-ACCESS     read-only
            STATUS    current
            DESCRIPTION
                 "This object indicates how the certificate reached
            the CMTS.  Other(4) means it originated from a source not
            identified above."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.1"
            ::= { docsIetfBpi2CmtsCACertEntry 6 }

       docsIetfBpi2CmtsCACertStatus OBJECT-TYPE
            SYNTAX         RowStatus
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "The status of this conceptual row. An attempt
            to set writable columnar values while this row is active
            behaves as follows:
            - Sets to the object docsIetfBpi2CmtsCACertTrust are allowed.
            - Sets to the object docsIetfBpi2CmtsCACert will return an
              error inconsistentValue'.
            A newly create entry cannot be set to active until the
            value of docsIetfBpi2CmtsCACert is being set."
            ::= { docsIetfBpi2CmtsCACertEntry 7 }

       docsIetfBpi2CmtsCACert  OBJECT-TYPE
            SYNTAX         DocsX509ASN1DEREncodedCertificate
            MAX-ACCESS     read-create
            STATUS         current
            DESCRIPTION
                 "An X509 DER-encoded Certificate Authority
            certificate.
            To help identify certificates, either this object or
            docsIetfBpi2CmtsCACertThumbprint must be returned by a CMTS for
            self-signed CA certificates.

            Note: The zero-length OCTET STRING must be returned, on
            reads, if the entire certificate is not retained in the
            CMTS."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.2."
            ::= { docsIetfBpi2CmtsCACertEntry 8 }

       docsIetfBpi2CmtsCACertThumbprint OBJECT-TYPE
            SYNTAX         OCTET STRING (SIZE (20))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                 "The SHA-1 hash of a CA certificate.
            To help identify certificates, either this object or
            docsIetfBpi2CmtsCACert must be returned by a CMTS for
            self-signed CA certificates.

            Note: The zero-length OCTET STRING must be returned, on
            reads, if the CA certificate thumb print is not retained
            in the CMTS."
            REFERENCE
                 "DOCSIS Baseline Privacy Plus Interface Specification,
            Section 9.4.3"
            ::= { docsIetfBpi2CmtsCACertEntry 9 }


       --
       -- Authenticated Software Download Objects
       --

       --
       -- Note: the authenticated software download objects are a
       -- CM requirement only.
       --

       docsIetfBpi2CodeDownloadControl OBJECT IDENTIFIER
            ::= { docsIetfBpi2MIBObjects 4 }

       docsIetfBpi2CodeDownloadStatusCode     OBJECT-TYPE
            SYNTAX    INTEGER {
                              configFileCvcVerified (1),
                              configFileCvcRejected (2),
                              snmpCvcVerified (3),
                              snmpCvcRejected (4),
                              codeFileVerified (5),
                              codeFileRejected (6),
                              other (7)
                              }
            MAX-ACCESS     read-only
            STATUS    current
            DESCRIPTION
                "The value indicates the result of the latest config
            file CVC verification, SNMP CVC verification, or code file
            verification."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.3.2 & D.3.5.1."
            ::= { docsIetfBpi2CodeDownloadControl 1 }

       docsIetfBpi2CodeDownloadStatusString   OBJECT-TYPE
            SYNTAX         SnmpAdminString
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object indicates the additional
            information to the status code.  The value will include
            the error code and error description which will be defined
            separately."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section TBD (see D.3.7)"
            ::= { docsIetfBpi2CodeDownloadControl 2 }

       docsIetfBpi2CodeMfgOrgName   OBJECT-TYPE
            SYNTAX         SnmpAdminString
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object is the device manufacturer's
            organizationName."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 3 }

       docsIetfBpi2CodeMfgCodeAccessStart     OBJECT-TYPE
            SYNTAX         DateAndTime  (SIZE(11))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object is the device manufacturer's
            current codeAccessStart value. This value always be
            referenced to Greenwich Mean Time (GMT) and the value
            format must contain TimeZone information (fields 8-10)."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 4 }

       docsIetfBpi2CodeMfgCvcAccessStart OBJECT-TYPE
            SYNTAX         DateAndTime (SIZE(11))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object is the device manufacturer's
            current cvcAccessStart value. This value always be
            referenced to Greenwich Mean Time (GMT) and the value
            format must contain TimeZone information (fields 8-10)."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 5 }

       docsIetfBpi2CodeCoSignerOrgName   OBJECT-TYPE
            SYNTAX         SnmpAdminString
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object is the Co-Signer's
            organizationName.  The value is a zero length string if
            the co-signer is not specified."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 6 }

       docsIetfBpi2CodeCoSignerCodeAccessStart     OBJECT-TYPE
            SYNTAX         DateAndTime (SIZE(11))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object is the Co-Signer's current
            codeAccessStart value. This value always be referenced to
            Greenwich Mean Time (GMT) and the value format must contain
            TimeZone information (fields 8-10).
            If docsIetfBpi2CodeCoSignerOrgName is a zero
            length string, the value of this object is meaningless."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 7 }

       docsIetfBpi2CodeCoSignerCvcAccessStart OBJECT-TYPE
            SYNTAX         DateAndTime (SIZE(11))
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
                "The value of this object is the Co-Signer's current
            cvcAccessStart value. This value always be referenced to
            Greenwich Mean Time (GMT) and the value format must contain
            TimeZone information (fields 8-10).
            If docsIetfBpi2CodeCoSignerOrgName is a zero
            length string, the value of this object is meaningless."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 8 }

       docsIetfBpi2CodeCvcUpdate    OBJECT-TYPE
            SYNTAX         DocsX509ASN1DEREncodedCertificate
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION
                "Setting a CVC to this object triggers the device
            to verify the CVC and update the cvcAccessStart values,
            then the content of this object is discarded..
            If the device is not enabled to upgrade codefiles, or
            the CVC verification fails, the CVC will be rejected.
            Reading this object always returns the zero-length OCTET
            STRING."
            REFERENCE
                "DOCSIS Baseline Privacy Plus Interface Specification,
            Section D.3.3.2.2."
            ::= { docsIetfBpi2CodeDownloadControl 9 }


       --
       -- The BPI+ MIB Conformance Statements (with a placeholder for
       -- notifications)
       --

       docsIetfBpi2Notification     OBJECT IDENTIFIER
            ::= { docsIetfBpi2MIB 0 }
       docsIetfBpi2Conformance OBJECT IDENTIFIER
            ::= { docsIetfBpi2MIB 2 }
       docsIetfBpi2Compliances OBJECT IDENTIFIER
            ::= { docsIetfBpi2Conformance 1 }
       docsIetfBpi2Groups      OBJECT IDENTIFIER
            ::= { docsIetfBpi2Conformance 2 }


       docsIetfBpi2CmCompliance MODULE-COMPLIANCE
            STATUS         current
            DESCRIPTION
                 "This is the compliance statement for CMs which
            implement the DOCSIS Baseline Privacy Interface Plus."

            MODULE  -- docsIetfBpi2MIB

            -- unconditionally mandatory group
            MANDATORY-GROUPS {
                   docsIetfBpi2CmGroup,
                   docsIetfBpi2CodeDownloadGroup
            }


       -- constrain on Encryption algorithms
       --OBJECT docsIetfBpi2CmTEKDataEncryptAlg
       --     SYNTAX    DocsBpkmDataEncryptAlg {
       --                            none(0),
       --                            des56CbcMode(1),
       --                            des40CbcMode(2)
       --               }
       --     DESCRIPTION
       --          "It is compliant to support des56CbcMode(1) and
       --     des40CbcMode(2) for data encryption algorithms."

       -- constrain on Integrity algorithms
       --OBJECT docsIetfBpi2CmTEKDataAuthentAlg
       --     SYNTAX    DocsBpkmDataAuthentAlg {
       --                            none(0)
       --               }
       --     DESCRIPTION
       --          "It is compliant to not support data message
       --     authentication algorithms."

       -- constrain on IP addressing
       --OBJECT    docsIetfBpi2CmIpMulticastAddressType
       --     SYNTAX InetAddressType { ipv4(1) }
       --     DESCRIPTION
       --          "An implementation is only required to support IPv4
       --     addresses. Other address types support may be defined in
       --     future versions of this MIB module."

       -- constrain on IP addressing
       OBJECT    docsIetfBpi2CmIpMulticastAddress
            SYNTAX  InetAddress (SIZE(4))
            DESCRIPTION
                 "An implementation is only required to support IPv4
            addresses Other address types support may be defined in
            future versions of this MIB module."

       -- constrain on Encryption algorithms
       --OBJECT docsIetfBpi2CmCryptoSuiteDataEncryptAlg
       --     SYNTAX    DocsBpkmDataEncryptAlg {
       --                            none(0),
       --                            des56CbcMode(1),
       --                            des40CbcMode(2)
       --               }
       --     DESCRIPTION
       --          "It is compliant to only support des56CbcMode(1)
       --     and des40CbcMode(2) for data encryption algorithms."

       -- constrain on Integrity algorithms
       OBJECT docsIetfBpi2CmCryptoSuiteDataAuthentAlg
       --     SYNTAX    DocsBpkmDataAuthentAlg {
       --                            none(0)
       --               }
              DESCRIPTION
                   "It is compliant to not support data message
              authentication algorithms."

       ::= { docsIetfBpi2Compliances 1 }


       docsIetfBpi2CmtsCompliance MODULE-COMPLIANCE
            STATUS         current
            DESCRIPTION
                 "This is the compliance statement for CMTSs which
            implement the DOCSIS Baseline Privacy Interface Plus."
            MODULE  -- docsIetfBpi2MIB
            -- unconditionally mandatory group
            MANDATORY-GROUPS {
                   docsIetfBpi2CmtsGroup
            }


       -- unconditionally optional group
       GROUP     docsIetfBpi2CodeDownloadGroup
            DESCRIPTION
                 "This group is optional for CMTSs. The implementation
            decision of this group is left to the vendor"



       -- constrain on mandatory range
       OBJECT    docsIetfBpi2CmtsDefaultAuthLifetime
            SYNTAX    Integer32 (86400..6048000)
            DESCRIPTION
                 "The refined range corresponds to the minimum and
            maximum values in operational networks."

       -- constrain on mandatory range
       OBJECT    docsIetfBpi2CmtsDefaultTEKLifetime
            SYNTAX    Integer32 (1800..604800)
            DESCRIPTION
                "The refined range corresponds to the minimum and
            maximum values in operational networks."

       -- constrain on mandatory range
       OBJECT    docsIetfBpi2CmtsAuthCmLifetime
            SYNTAX    Integer32 (86400..6048000)
            DESCRIPTION
                "The refined range corresponds to the minimum and
            maximum values in operational networks."


       -- commented out due to mib compile problem with syntax
       -- can't use enum in TC
       -- constrain on Encryption algorithms
       -- OBJECT   docsIetfBpi2CmtsTEKDataEncryptAlg
       --     SYNTAX    DocsBpkmDataEncryptAlg {
       --                            none(0),
       --                            des56CbcMode(1),
       --                            des40CbcMode(2)
       --               }
       --     DESCRIPTION
       --          "It is compliant to only support des56CbcMode(1)
       --     and des40CbcMode(2) for data encryption."

       -- constrain on Integrity algorithms

       --OBJECT docsIetfBpi2CmtsTEKDataAuthentAlg
       --     SYNTAX    DocsBpkmDataAuthentAlg {
       --                            none(0)
       --               }
       --     DESCRIPTION
       --          "It is compliant to not support data message
       --     authentication algorithms."

       -- constrain on mandatory range
       OBJECT    docsIetfBpi2CmtsTEKLifetime
            SYNTAX    Integer32 (1800..604800)
            DESCRIPTION
                "The refined range corresponds to the minimum and
            maximum values in operational networks."

       -- constrain on access
       -- constrain on IP Addressing

       --OBJECT    docsIetfBpi2CmtsIpMulticastAddressType
       --     SYNTAX      InetAddressType { ipv4(1) }
       --     MIN-ACCESS  read-only
       --     DESCRIPTION
       --         "Write access is not required.
       --     An implementation is only required to support IPv4
       --     addresses. Other address types support may be defined in
       --     future versions of this MIB module."

       OBJECT    docsIetfBpi2CmtsIpMulticastAddress
            SYNTAX  InetAddress (SIZE(4))
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required.
            An implementation is only required to support IPv4
            addresses. Other address types support may be defined in
            future versions of this MIB module."

       OBJECT    docsIetfBpi2CmtsIpMulticastMask
            SYNTAX  InetAddress (SIZE(4))
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required.
            An implementation is only required to support  IPv4
            addresses. Other address types support may be defined in
            future versions of this MIB module."

       -- constrain on access

       OBJECT    docsIetfBpi2CmtsIpMulticastSAId
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

       OBJECT    docsIetfBpi2CmtsIpMulticastSAType
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

       -- constrain on access
       -- constrain on Encryption algorithms

       --OBJECT    docsIetfBpi2CmtsIpMulticastDataEncryptAlg
       --     SYNTAX    DocsBpkmDataEncryptAlg {
       --                            none(0),
       --                            des56CbcMode(1),
       --                            des40CbcMode(2)
       --               }
       --     MIN-ACCESS  read-only
       --     DESCRIPTION
       --         "Write access is not required.
       --     It is compliant to only support des56CbcMode(1)
       --     and des40CbcMode(2) for data encryption"


       -- constrain on access
       -- constrain on Integrity algorithms
       --OBJECT    docsIetfBpi2CmtsIpMulticastDataAuthentAlg
       --     SYNTAX    DocsBpkmDataAuthentAlg {
       --                            none(0)
       --               }
       --     MIN-ACCESS  read-only
       --     DESCRIPTION
       --         "Write access is not required.
       --     It is compliant to not support data message
       --     authentication algorithms."

       -- constrain on access
       OBJECT    docsIetfBpi2CmtsMulticastAuthControl
            MIN-ACCESS  read-only
            DESCRIPTION
           "Write access is not required."

            ::= { docsIetfBpi2Compliances 2 }


       docsIetfBpi2CmGroup     OBJECT-GROUP
            OBJECTS   {
                 docsIetfBpi2CmPrivacyEnable,
                 docsIetfBpi2CmPublicKey,
                 docsIetfBpi2CmAuthState,
                 docsIetfBpi2CmAuthKeySequenceNumber,
                 docsIetfBpi2CmAuthExpiresOld,
                 docsIetfBpi2CmAuthExpiresNew,
                 docsIetfBpi2CmAuthReset,
                 docsIetfBpi2CmAuthGraceTime,
                 docsIetfBpi2CmTEKGraceTime,
                 docsIetfBpi2CmAuthWaitTimeout,
                 docsIetfBpi2CmReauthWaitTimeout,
                 docsIetfBpi2CmOpWaitTimeout,
                 docsIetfBpi2CmRekeyWaitTimeout,
                 docsIetfBpi2CmAuthRejectWaitTimeout,
                 docsIetfBpi2CmSAMapWaitTimeout,
                 docsIetfBpi2CmSAMapMaxRetries,
                 docsIetfBpi2CmAuthentInfos,
                 docsIetfBpi2CmAuthRequests,
                 docsIetfBpi2CmAuthReplies,
                 docsIetfBpi2CmAuthRejects,
                 docsIetfBpi2CmAuthInvalids,
                 docsIetfBpi2CmAuthRejectErrorCode,
                 docsIetfBpi2CmAuthRejectErrorString,
                 docsIetfBpi2CmAuthInvalidErrorCode,
                 docsIetfBpi2CmAuthInvalidErrorString,
                 docsIetfBpi2CmTEKSAType,
                 docsIetfBpi2CmTEKDataEncryptAlg,
                 docsIetfBpi2CmTEKDataAuthentAlg,
                 docsIetfBpi2CmTEKState,
                 docsIetfBpi2CmTEKKeySequenceNumber,
                 docsIetfBpi2CmTEKExpiresOld,
                 docsIetfBpi2CmTEKExpiresNew,
                 docsIetfBpi2CmTEKKeyRequests,
                 docsIetfBpi2CmTEKKeyReplies,
                 docsIetfBpi2CmTEKKeyRejects,
                 docsIetfBpi2CmTEKInvalids,
                 docsIetfBpi2CmTEKAuthPends,
                 docsIetfBpi2CmTEKKeyRejectErrorCode,
                 docsIetfBpi2CmTEKKeyRejectErrorString,
                 docsIetfBpi2CmTEKInvalidErrorCode,
                 docsIetfBpi2CmTEKInvalidErrorString,
                 docsIetfBpi2CmIpMulticastAddressType,
                 docsIetfBpi2CmIpMulticastAddress,
                 docsIetfBpi2CmIpMulticastSAId,
                 docsIetfBpi2CmIpMulticastSAMapState,
                 docsIetfBpi2CmIpMulticastSAMapRequests,
                 docsIetfBpi2CmIpMulticastSAMapReplies,
                 docsIetfBpi2CmIpMulticastSAMapRejects,
                 docsIetfBpi2CmIpMulticastSAMapRejectErrorCode,
                 docsIetfBpi2CmIpMulticastSAMapRejectErrorString,
                 docsIetfBpi2CmDeviceCmCert,
                 docsIetfBpi2CmDeviceManufCert,
                 docsIetfBpi2CmCryptoSuiteDataEncryptAlg,
                 docsIetfBpi2CmCryptoSuiteDataAuthentAlg
                 }
            STATUS         current
            DESCRIPTION
                 "This collection of objects provides CM BPI+ status
            and control."
       ::= { docsIetfBpi2Groups 1 }

       docsIetfBpi2CmtsGroup   OBJECT-GROUP
            OBJECTS {
                 docsIetfBpi2CmtsDefaultAuthLifetime,
                 docsIetfBpi2CmtsDefaultTEKLifetime,
                 docsIetfBpi2CmtsDefaultSelfSignedManufCertTrust,
                 docsIetfBpi2CmtsCheckCertValidityPeriods,
                 docsIetfBpi2CmtsAuthentInfos,
                 docsIetfBpi2CmtsAuthRequests,
                 docsIetfBpi2CmtsAuthReplies,
                 docsIetfBpi2CmtsAuthRejects,
                 docsIetfBpi2CmtsAuthInvalids,
                 docsIetfBpi2CmtsSAMapRequests,
                 docsIetfBpi2CmtsSAMapReplies,
                 docsIetfBpi2CmtsSAMapRejects,
                 docsIetfBpi2CmtsAuthCmBpiVersion,
                 docsIetfBpi2CmtsAuthCmPublicKey,
                 docsIetfBpi2CmtsAuthCmKeySequenceNumber,
                 docsIetfBpi2CmtsAuthCmExpiresOld,
                 docsIetfBpi2CmtsAuthCmExpiresNew,
                 docsIetfBpi2CmtsAuthCmLifetime,
                 docsIetfBpi2CmtsAuthCmReset,
                 docsIetfBpi2CmtsAuthCmInfos,
                 docsIetfBpi2CmtsAuthCmRequests,
                 docsIetfBpi2CmtsAuthCmReplies,
                 docsIetfBpi2CmtsAuthCmRejects,
                 docsIetfBpi2CmtsAuthCmInvalids,
                 docsIetfBpi2CmtsAuthRejectErrorCode,
                 docsIetfBpi2CmtsAuthRejectErrorString,
                 docsIetfBpi2CmtsAuthInvalidErrorCode,
                 docsIetfBpi2CmtsAuthInvalidErrorString,
                 docsIetfBpi2CmtsAuthPrimarySAId,
                 docsIetfBpi2CmtsAuthBpkmCmCertValid,
                 docsIetfBpi2CmtsAuthBpkmCmCert,
                 docsIetfBpi2CmtsAuthCACertIndexPtr,
                 docsIetfBpi2CmtsTEKSAType,
                 docsIetfBpi2CmtsTEKDataEncryptAlg,
                 docsIetfBpi2CmtsTEKDataAuthentAlg,
                 docsIetfBpi2CmtsTEKLifetime,
                 docsIetfBpi2CmtsTEKKeySequenceNumber,
                 docsIetfBpi2CmtsTEKExpiresOld,
                 docsIetfBpi2CmtsTEKExpiresNew,
                 docsIetfBpi2CmtsTEKReset,
                 docsIetfBpi2CmtsKeyRequests,
                 docsIetfBpi2CmtsKeyReplies,
                 docsIetfBpi2CmtsKeyRejects,
                 docsIetfBpi2CmtsTEKInvalids,
                 docsIetfBpi2CmtsKeyRejectErrorCode,
                 docsIetfBpi2CmtsKeyRejectErrorString,
                 docsIetfBpi2CmtsTEKInvalidErrorCode,
                 docsIetfBpi2CmtsTEKInvalidErrorString,
                 docsIetfBpi2CmtsIpMulticastAddressType,
                 docsIetfBpi2CmtsIpMulticastAddress,
                 docsIetfBpi2CmtsIpMulticastMask,
                 docsIetfBpi2CmtsIpMulticastSAId,
                 docsIetfBpi2CmtsIpMulticastSAType,
                 docsIetfBpi2CmtsIpMulticastDataEncryptAlg,
                 docsIetfBpi2CmtsIpMulticastDataAuthentAlg,
                 docsIetfBpi2CmtsIpMulticastSAMapRequests,
                 docsIetfBpi2CmtsIpMulticastSAMapReplies,
                 docsIetfBpi2CmtsIpMulticastSAMapRejects,
                 docsIetfBpi2CmtsIpMulticastSAMapRejectErrorCode,
                 docsIetfBpi2CmtsIpMulticastSAMapRejectErrorString,
                 docsIetfBpi2CmtsIpMulticastMapControl,
                 docsIetfBpi2CmtsIpMulticastMapStorageType,
                 docsIetfBpi2CmtsMulticastAuthControl,
                 docsIetfBpi2CmtsProvisionedCmCertTrust,
                 docsIetfBpi2CmtsProvisionedCmCertSource,
                 docsIetfBpi2CmtsProvisionedCmCertStatus,
                 docsIetfBpi2CmtsProvisionedCmCert,
                 docsIetfBpi2CmtsCACertSubject,
                 docsIetfBpi2CmtsCACertIssuer,
                 docsIetfBpi2CmtsCACertSerialNumber,
                 docsIetfBpi2CmtsCACertTrust,
                 docsIetfBpi2CmtsCACertSource,
                 docsIetfBpi2CmtsCACertStatus,
                 docsIetfBpi2CmtsCACert,
                 docsIetfBpi2CmtsCACertThumbprint
                 }
            STATUS         current
            DESCRIPTION
                 "This collection of objects provides CMTS BPI+ status
            and control."
       ::= { docsIetfBpi2Groups 2 }

       docsIetfBpi2CodeDownloadGroup OBJECT-GROUP
               OBJECTS {
                 docsIetfBpi2CodeDownloadStatusCode,
                 docsIetfBpi2CodeDownloadStatusString,
                 docsIetfBpi2CodeMfgOrgName,
                 docsIetfBpi2CodeMfgCodeAccessStart,
                 docsIetfBpi2CodeMfgCvcAccessStart,
                 docsIetfBpi2CodeCoSignerOrgName,
                 docsIetfBpi2CodeCoSignerCodeAccessStart,
                 docsIetfBpi2CodeCoSignerCvcAccessStart,
                 docsIetfBpi2CodeCvcUpdate
                 }
            STATUS         current
            DESCRIPTION
                 "This collection of objects provide authenticated
            software
            download support."
       ::= { docsIetfBpi2Groups 3 }


       END

