ESAFE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Unsigned32, OBJECT-TYPE FROM SNMPv2-SMI --RFC 2578 OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF -- RFC 2580 TruthValue, DateAndTime, PhysAddress FROM SNMPv2-TC -- RFC 2579 SnmpAdminString FROM SNMP-FRAMEWORK-MIB --RFC 3411 ifIndex FROM IF-MIB --RFC 2863 clabProjDocsis FROM CLAB-DEF-MIB ; esafeMib MODULE-IDENTITY LAST-UPDATED "201706150000Z" -- June 15, 2017 ORGANIZATION "Cable Television Laboratories, Inc." CONTACT-INFO "Postal: Cable Television Laboratories, Inc. 858 Coal Creek Circle Louisville, CO 80027 U.S.A. Phone: +1 303-661-9100 Fax: +1 303-661-9199 E-mail: mibs@cablelabs.com" DESCRIPTION "Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This MIB module provides the management objects necessary to configure functionality of eSAFE components of a device implementing an eDOCSIS compliant cable modem and one or more eSAFE elements. Copyright 1999-2017 Cable Television Laboratories, Inc. All rights reserved." REVISION "201706150000Z" -- June 15, 2017 DESCRIPTION "Revised per eDOCSIS-N-17.1744-1 to add Apache License information." REVISION "201404030000Z" -- April 3, 2014 DESCRIPTION "Revised version includes ECN eDOCSIS-N-13.1128 and published as I27." REVISION "201308080000Z" -- August 8, 2013 DESCRIPTION "Revised version includes ECN eDOCSIS-N-13.1107 and published as I26." REVISION "201304040000Z" -- April 4, 2013 DESCRIPTION "Revised version includes ECN eDOCSIS-N-13.1092 and published as I25." REVISION "200708030000Z" -- August 3, 2007 DESCRIPTION "This revision published as CM-SP-eDOCSIS-I13." REVISION "200607280000Z" -- July 28, 2006 DESCRIPTION "This revision published as CM-SP-eDOCSIS-I09." ::= { clabProjDocsis 14 } -- Administrative assignments -- esafeNotifications OBJECT IDENTIFIER ::= { esafeMib 0 } esafeMibObjects OBJECT IDENTIFIER ::= { esafeMib 1 } esafeBase OBJECT IDENTIFIER ::= { esafeMibObjects 1 } esafePsMibObjects OBJECT IDENTIFIER ::= { esafeMibObjects 2 } esafeMtaMibObjects OBJECT IDENTIFIER ::= { esafeMibObjects 3 } esafeStbMibObjects OBJECT IDENTIFIER ::= { esafeMibObjects 4 } esafeErouterMibObjects OBJECT IDENTIFIER ::= { esafeMibObjects 5 } -- Object Groups -- -- eSAFE Base Objects -- esafeProvisioningStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF EsafeProvisioningStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the current provisioning status of each implemented eSAFE, and information about the last failure or exception condition in the eSAFE provisioning process, if applicable." ::= { esafeBase 1 } esafeProvisioningStatusEntry OBJECT-TYPE SYNTAX EsafeProvisioningStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created for each eSAFE implemented in the eDOCSIS compliant device." INDEX { ifIndex } ::= { esafeProvisioningStatusTable 1 } EsafeProvisioningStatusEntry ::=SEQUENCE { esafeProvisioningStatusProgress INTEGER, esafeProvisioningStatusFailureFound TruthValue, esafeProvisioningStatusFailureFlow SnmpAdminString, esafeProvisioningStatusFailureEventID Unsigned32, esafeProvisioningStatusFailureErrorText SnmpAdminString, esafeProvisioningStatusLastUpdate DateAndTime } esafeProvisioningStatusProgress OBJECT-TYPE SYNTAX INTEGER { notInitiated(1), inProgress(2), finished(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the eSAFE provisioning process. notInitiated(1) indicates that the eSAFE has not yet begun its provisioning process. inProgress(2) indicates that the eSAFE is in the process of provisioning. finished(3) indicates that the eSAFE completed its provisioning process. Provisioning success or failure information is provided by esafeProvisioningStatusFailureFound and may also be extended by specific eSAFE MIB objects." REFERENCE "CableHome PSDEV MIB Specification CH-SP-MIB-PSDEV-C01-060728, Section 4, cabhPsDevProvState object." ::={ esafeProvisioningStatusEntry 1 } esafeProvisioningStatusFailureFound OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "true(1) indicates that the eSAFE encountered an error condition during the provisioning process. An eSAFE could start a looping process from a previous flow step after a failure, therefore this value is retained until the flow step that initially failed eventually passes or is updated with another error condition. The eSAFE device needs to reflect in the value of 'esafePsProvisioningStatusFailureFound' any recognized errors even if it is still in the process of provisioning, i.e., when esafeProvisioningStatusProgress has a value of inProgress(2). Other eSAFE specifications provide the requirements for those eSAFE devices with respect to this object." REFERENCE "PacketCable Provisioning specification, Provisioning Overview section; CableHome specification, Provisioning Processes section." ::={ esafeProvisioningStatusEntry 2 } esafeProvisioningStatusFailureFlow OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "If esafeProvisioningStatusFailureFound is true(1) this object contains the label for the provisioning flow step in which the error condition was encountered, otherwise an empty value is reported. The value of this object corresponds to the provisioning sequence 'Flow Step' designator for the associated eSAFE, as defined in the eSAFE specification. For example, an ePS will report a value such as CHPSWMD-1, and an eMTA will report a value such as MTA-1. Other eSAFE specifications provide the requirements for those eSAFE devices with respect to this object." REFERENCE "PacketCable Provisioning specification, Provisioning Overview section; CableHome specification, Provisioning Processes section." ::={ esafeProvisioningStatusEntry 3 } esafeProvisioningStatusFailureEventID OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "If esafeProvisioningStatusFailureFound is true(1) this object contains the eSAFE log error Event Identifier defined in the eSAFE specification, otherwise it returns a value '0'. For an eMTA type eSAFE, this object reports the PacketCable EventID value from the Provisioning Events table, e.g., 65535. For an ePS type eSAFE, this object reports the EventID value from the Defined Events for CableHome table, e.g., 68000100. Other eSAFE specifications provide the requirements for those eSAFE devices with respect to this object." REFERENCE "PacketCable Provisioning specification, Appendix I Provisioning Events; CableHome specification, Appendix II Format and Content for Event, SYSLOG, and SNMP Trap." ::={ esafeProvisioningStatusEntry 4 } esafeProvisioningStatusFailureErrorText OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "If esafeProvisioningStatusFailureFound is true(1) this object contains the eSAFE log error messages based on the eSAFE specification, otherwise it returns an empty string. For an eMTA type eSAFE, this object reports the value from the 'Comments' column of the Provisioning Events table, e.g., 'The DNS Response from the DNS server did not resolve the TFTP FQDN.' For an ePS type eSAFE this object reports the value from the 'Event Text' column of the Defined Events for CableHome table, e.g., 'DHCP Failed - Discover sent, no offer received'. Other eSAFE specifications provide the requirements for those eSAFE devices with respect to this object." REFERENCE "PacketCable Provisioning specification, PacketCable Management Event Mechanism specification; CableHome specification, Appendix II Format and Content for Event, SYSLOG, and SNMP Trap." ::={ esafeProvisioningStatusEntry 5 } esafeProvisioningStatusLastUpdate OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the eCM docsDevDateTime when this row entry was last updated." ::={ esafeProvisioningStatusEntry 6 } esafeDevStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF EsafeDevStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries that provide the SNMP manager with status information pertaining to each implemented eSAFE device. While this table MUST be implemented by all eDOCSIS devices, the support for reporting such information and the status conditions supported will be determined by the corresponding eSAFE specifications. It is highly recommended that the eSAFE MIBs themselves have objects to specify more detailed information." ::= { esafeBase 2 } esafeDevStatusEntry OBJECT-TYPE SYNTAX EsafeDevStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table MUST be created for each eSAFE device behind the eCM. The index needs to be the corresponding index in the ifTable for the associated eSAFE device." INDEX { ifIndex } ::= { esafeDevStatusTable 1 } EsafeDevStatusEntry ::=SEQUENCE { esafeDevServiceIntImpact INTEGER, esafeDevServiceIntImpactInfo SnmpAdminString } esafeDevServiceIntImpact OBJECT-TYPE SYNTAX INTEGER { significant(1), none(2), unsupported(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this MIB object indicates the service interruption impact assessment of the corresponding eSAFE device as determined by the current status of the eSAFE device, in accordance with the directives provided in the eSAFE specification. If esafeDevServiceIntImpact is set to significant (1), it indicates that the corresponding eSAFE device (as per the eSAFE specification) identifies a significant impact on the active services at the given point in time. This impact level is highly recommended for critical or real-time services, though the impact assessment is left to the directives provided by the associated eSAFE specification. If esafeDevServiceIntImpact is set to none (2), it indicates that the corresponding eSAFE device (as per the eSAFE specification) identifies no significant impact on the services offered at the given point in time. If esafeDevServiceIntImpact is unsupported(3), it indicates that the corresponding eSAFE device has no known interfaces to support this feature or the eSAFE specification does not recommend this feature. If the eSAFE specification specifies the use of this mechanism then it MUST define definitive states for the impacts (significant or none) and the value of unsupported(3) MUST not be used by the eDOCSIS device for that eSAFE interface. However, if the corresponding eSAFE specification does not provide any directives then the value MUST be set to unsupported(3). If there exists multiple services being offered by an eSAFE device (Either multiple services or multiple instances of the same service), this MIB MUST indicate the highest possible impact and other impact information SHOULD be populated in the associated esafeDevServiceIntImpactInfo table." ::={ esafeDevStatusEntry 1 } esafeDevServiceIntImpactInfo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides more information to the SNMP Managers regarding the condition reported in esafeDevServiceIntImpact. The eSAFE device vendor could use this to fill in specific vendor strings or values that could add value or provide more information related to the status. Examples: For eMTA devices: Lines 1 and 3 have active connections, Line 2 is not provisioned. For other eSAFE devices: Critical video streaming in progress, please wait for 5.30 minutes . The device MUST report 'No Additional Information' in case the associated eSAFE vendor cannot obtain information from the eSAFE device." ::={ esafeDevStatusEntry 2 } -- -- Objects that apply to an eCM with an ePS type eSAFE. -- esafePsCableHomeModeControl OBJECT-TYPE SYNTAX INTEGER { disabledMode(1), provSystem(2), dormantCHMode(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides control over the mode of operation of the CableHome ePS eSAFE element of the eDOCSIS compliant device. When this object is set to disabledMode(1), the ePS eSAFE element is instructed to switch to CableHome Disabled Mode operation. When this object is set to provSystem(2), the ePS eSAFE element restarts its provisioning process. When this object is set to dormantCHMode(3), the ePS eSAFE element is instructed to switch to CableHome Dormant Mode operation. In this mode the ePS restarts its provisioning process omitting CableHome-specific DHCP Options 60 and 43 in the DHCP DISCOVER and DHCP REQUEST messages, acquires an IP address lease from the cable operator's DHCP server, and operates in unmanaged Dormant CableHome Mode regardless of the values of the file and siaddr fields or of the values of DHCP options that might otherwise configure the ePS to operate in DHCP Provisioning Mode or in SNMP Provisioning Mode. The value of this object MUST persist across cable modem resets." REFERENCE "CableHome specifications, CableHome Operational Modes section." DEFVAL { dormantCHMode } ::= { esafePsMibObjects 1 } esafePsCableHomeModeStatus OBJECT-TYPE SYNTAX INTEGER { disabledMode(1), dormantCHMode(2), cableHomeMode(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides visibility to the current mode of operation of the CableHome ePS eSAFE element of the eDOCSIS compliant device. If the value of this object is disabledMode(1), the ePS eSAFE element is currently operating in CableHome Disabled Mode. If the value of this object is dormantCHMode(2), the ePS is currently operating in Dormant CableHome Mode. If the value of this object is cableHomeMode(3), the ePS is currently operating in CableHome mode." REFERENCE "CableHome specification, CableHome Operational Models section." ::= { esafePsMibObjects 2 } -- -- Objects that apply to an eCM with an eRouter type eSAFE. -- esafeErouterAdminMode OBJECT-TYPE SYNTAX INTEGER { disabled(1), ipv4Only(2), ipv6Only(3), ipv4AndIpv6(4), noTLV202dot1Present(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides visibility to the eRouter mode of operation as specified by TLV 202.1. If the value of this object is disabled(1), the eRouter was configured via TLV 202.1 in the cable modem configuration file to not initialize as described in the eRouter Initialization section of the CableLabs IPv4 and IPv6 eRouter Specification. If the value of this object is ipv4Only(2), the eRouter was configured via TLV 202.1 in the cable modem configuration file to operate with an IPv4 network address and with the IPv4 stack operational and to operate without an IPv6 network address and to not run an IPv6 protocol stack. If the value of this object is ipv6Only(3), the eRouter was configured via TLV 202.1 in the cable modem configuration file to operate with an IPv6 network address and with the IPv6 stack operational and to operate without an IPv4 network address and to not run an IPv4 protocol stack. If the value of this object is ipv4AndIpv6(4), the eRouter was configured via TLV 202.1 in the cable modem configuration file to operate with an IPv4 network address and an IPv6 network address and to run both IPv4 and IPv6 protocol stacks. If the value of the object is noTLV202dot1Present(5), the eRouter was not configured via TLV 202.1 in the cable modem configuration file." REFERENCE "DOCSIS IPv4 and IPv6 eRouter Specification, CM-SP-eRouter-I02-070223." ::= { esafeErouterMibObjects 1 } esafeErouterOperMode OBJECT-TYPE SYNTAX INTEGER { disabled(1), ipv4OnlyFwding(2), ipv6OnlyFwding(3), ipv4AndIpv6Fwding(4), noIpv4AndNoIpv6Fwding(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object provides visibility to the current mode of operation of the DOCSIS eRouter eSAFE element of the eDOCSIS compliant device. If the value of this object is disabled(1), the eRouter eSAFE element has been administratively Disabled. The eDOCSIS device will bridge traffic according to the configuration of the DOCSIS embedded cable modem (eCM) If the value of this object is ipv4OnlyFwding(2), the eRouter eSAFE element is currently operating with the IPv4 protocol stack operational, is forwarding IPv4 traffic, and is not running an IPv6 protocol stack and not forwarding IPv6 traffic. If the value of this object is ipv6OnlyFwding(3), the eRouter eSAFE element is currently operating with the IPv6 protocol stack operational, is forwarding IPv6 traffic, and is not running an IPv4 protocol stack and not forwarding IPv4 traffic. If the value of this object is ipv4AndIpv6Fwding(4), the eRouter eSAFE element is currently operating with both the IPv4 protocol stack and IPv6 protocol stack operational, and is forwarding IPv4 and IPv6 traffic. If the value of this object is noIpv4AndNoIpv6Fwding(5), the eRouter is currently operating with neither the IPv4 nor IPv6 protocol stack running. The eRouter is unable to pass traffic between the Operator-Facing Interface and the Customer-Facing Interface. " REFERENCE "DOCSIS IPv4 and IPv6 eRouter Specification, CM-SP-eRouter-I02-070223." ::= { esafeErouterMibObjects 2 } esafeErouterPhysAddress OBJECT-TYPE SYNTAX PhysAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The physical address of the operator-facing interface of the DOCSIS eRouter eSAFE element." ::= { esafeErouterMibObjects 3 } esafeErouterInitModeControl OBJECT-TYPE SYNTAX INTEGER { ipDisabled(1), ipv4Only(2), ipv6Only(3), ipv4AndIpv6(4), honoreRouterInitMode(5) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides control over the initialization mode of the DOCSIS eRouter eSAFE element. Except when set to honoreRouterInitMode(5), the value of this object MUST override all Initialization Mode and Operation Mode encodings encapsulated in the eCM configuration file, e.g. TLV 202.1. This object can only be set via an SNMP management Station. This object cannot be included in the eCM configuration file. When this object is set to ipDisabled(1), the eRouter is instructed to switch to IP Protocol Disabled Mode and transparently bridge all traffic as described in the eRouter Initialization section of the CableLabs IPv4 and IPv6 eRouter Specification. When this object is set to ipv4Only(2), the eRouter is instructed to switch to IPv4 Protocol Enabled Mode. When this object is set to ipv6Only(3), the eRouter is instructed to switch to IPv6 Protocol Enabled Mode. When this object is set to ipv4AndIpv6(4), the eRouter is instructed to switch to Dual IP Protocol Enabled Mode. When this object is set to honoreRouterInitMode(5), the eRouter is instructed to honor the eRouter Initialization Mode Encoding encapsulated in the eCM Config File under TLV 202 as described in the Configuration of eRouter Operational Parameters section of the CableLabs eRouter Specification. The value of this object MUST persist across cable modem resets." REFERENCE "DOCSIS IPv4 and IPv6 eRouter Specification, CM-SP-eRouter-I09-130404 Annex B.3." DEFVAL { honoreRouterInitMode } ::= { esafeErouterMibObjects 4 } esafeErouterSoftReset OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object provides a mechanism to soft reset the DOCSIS eRouter eSAFE element. This object can only be set via an SNMP management Station. This object cannot be included in the eCM configuration file. Setting this object to true(1) causes the DOCSIS eRouter eSAFE element to perform a soft reset, without resetting the eCM. Reading this object always returns false(2). When esafeErouterSoftReset is set to true(1), the eRouter performs a Soft Reset as described in Annex B.5 of [eRouter]. The value of esafeErouterSoftReset object MUST NOT persist across cable modem reinitialization." REFERENCE "DOCSIS IPv4 and IPv6 eRouter Specification, CM-SP-eRouter-I10-130808 Annex B.5." ::= { esafeErouterMibObjects 5 } -- Conformance information esafeMibConformance OBJECT IDENTIFIER ::= { esafeMib 2 } esafeMibCompliances OBJECT IDENTIFIER ::= { esafeMibConformance 1 } esafeMibGroups OBJECT IDENTIFIER ::= { esafeMibConformance 2 } -- Compliance statements esafeMibBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for eSAFE MIB objects." MODULE -- eSAFE-MIB -- unconditionally mandatory groups MANDATORY-GROUPS { esafeBaseGroup } -- conditionally mandatory groups GROUP esafePsMibGroup DESCRIPTION "This group is implemented only by eDOCSIS devices that implement an embedded Portal Services logical element (ePS) compliant with CableLabs CableHome specifications." GROUP esafeErouterMibGroup DESCRIPTION "This group is implemented only by eDOCSIS devices that implement a DOCSIS embedded router (eRouter) element compliant with CableLabs DOCSIS eRouter specifications." ::= { esafeMibCompliances 1 } -- eSAFE Base Group Declarations esafeBaseGroup OBJECT-GROUP OBJECTS { esafeProvisioningStatusProgress, esafeProvisioningStatusFailureFound, esafeProvisioningStatusFailureFlow, esafeProvisioningStatusFailureEventID, esafeProvisioningStatusFailureErrorText, esafeProvisioningStatusLastUpdate, esafeDevServiceIntImpact, esafeDevServiceIntImpactInfo } STATUS current DESCRIPTION "Group of eSAFE Base objects in the eSAFE MIB." ::= { esafeMibGroups 1 } -- PS MIB Group esafePsMibGroup OBJECT-GROUP OBJECTS { esafePsCableHomeModeControl, esafePsCableHomeModeStatus } STATUS current DESCRIPTION "Group of embedded PS-specific objects in the eSAFE MIB." ::= { esafeMibGroups 2 } -- eRouter MIB Group esafeErouterMibGroup OBJECT-GROUP OBJECTS { esafeErouterAdminMode, esafeErouterOperMode, esafeErouterPhysAddress, esafeErouterInitModeControl, esafeErouterSoftReset } STATUS current DESCRIPTION "Group of embedded Router-specific objects in the eSAFE MIB." ::= { esafeMibGroups 3 } END