-- extracted from draft-ietf-ipcdn-subscriber-mib-14.txt -- at Tue Feb 17 06:17:15 2004 DOCS-IETF-SUBMGT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2 FROM SNMPv2-SMI RowStatus, TruthValue, TimeStamp, StorageType FROM SNMPv2-TC OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InetAddressType, InetAddress FROM INET-ADDRESS-MIB docsIfCmtsCmStatusIndex, docsIfCmtsCmStatusEntry FROM DOCS-IF-MIB -- RFC2670 ; docsSubMgt MODULE-IDENTITY LAST-UPDATED "200402140000Z" -- February 14, 2004 ORGANIZATION "IETF IPCDN Working Group" CONTACT-INFO " Wilson Sawyer Postal: ARRIS 50 Kelly Brook Lane East Hampstead, NH 03826 U.S.A. Phone: +1 603 382 7080 E-mail: wsawyer@ieee.org 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, Richard_Woundy@cable.comcast.com Jean-Francois Mule, jf.mule@cablelabs.com" DESCRIPTION "This is the CMTS centric subscriber management MIB for DOCSIS compliant CMTS. It provides the objects to allow a Cable Modem Termination operator to control the IP addresses and protocols associated with subscribers' cable modems. 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 "200402140000Z" -- February 14, 2004 DESCRIPTION "Initial version, published as RFC xxxx. Note that the compliance statements in this version apply only to implementations that support DOCSIS 1.0/1.1/2.0, which are not IPv6-capable." -- RFC editor to assign xxxx ::= { mib-2 xx } -- xx to be assigned by IANA docsSubMgtObjects OBJECT IDENTIFIER ::= { docsSubMgt 1 } docsSubMgtCpeControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtCpeControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table AUGMENTs the docsIfCmtsCmStatusTable, adding four WRITEable objects, as well as a read-only object, which reflect the state of subscriber management on a particular CM." ::= { docsSubMgtObjects 1 } docsSubMgtCpeControlEntry OBJECT-TYPE SYNTAX DocsSubMgtCpeControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in the docsSubMgtCpeControlTable. All values are set at successful modem registration, either from the system default, or from objects included in the DOCSIS registration request sent upstream to the CMTS from the CM. The contents of this entry are meaningless unless the corresponding docsIfCmtsCmStatusValue (see reference) is registrationComplete(6). The persistence of this row is determined solely by the lifespan of the corresponding docsIfCmtsCmStatusEntry (normally StorageType=volatile)." REFERENCE "RFC 2670" -- *********************************************************** -- * Note to RFC Editor (to be removed) -- * See note in References section about possible replacement -- * of RFC 2670. -- *********************************************************** AUGMENTS { docsIfCmtsCmStatusEntry } ::= {docsSubMgtCpeControlTable 1 } DocsSubMgtCpeControlEntry ::= SEQUENCE { docsSubMgtCpeControlMaxCpeIp Integer32, docsSubMgtCpeControlActive TruthValue, docsSubMgtCpeControlLearnable TruthValue, docsSubMgtCpeControlReset TruthValue, docsSubMgtCpeControlLastReset TimeStamp } docsSubMgtCpeControlMaxCpeIp OBJECT-TYPE SYNTAX Integer32(0..2147483647) MAX-ACCESS read-write STATUS current DESCRIPTION "The number of simultaneous IP addresses permitted behind the CM. If this is set to zero, all CPE traffic from the CM is dropped. If the provisioning object corresponding to docsSubMgtCpeIpTable includes more CPE IP address entries for this modem than the value of this object, then this object is set to the count of the number of rows in docsSubMgtCpeIpTable that have the same docsIfCmtsCmStatusIndex value. (E.g. if the CM has 5 IP addresses specified for it, this value is 5). This limit applies to learned and docsis-provisioned entries, but does not limit entries added through some administrative process at the CMTS. If not set through DOCSIS provisioning, this object defaults to docsSubMgtCpeMaxIpDefault. Note that this object is only meaningful if docsSubMgtCpeControlActive is true." ::= { docsSubMgtCpeControlEntry 1 } docsSubMgtCpeControlActive OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls the application of subscriber management to this cable modem. If this is set to true, CMTS based CPE control is active and all the actions required by the various filter tables and controls apply at the CMTS. If this is set to false, no subscriber management filtering is done at the CMTS (but other filters may apply). If not set through DOCSIS provisioning, this object defaults to docsSubMgtCpeActiveDefault." ::= { docsSubMgtCpeControlEntry 2 } docsSubMgtCpeControlLearnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Controls whether or not the CMTS may learn (and pass traffic for) CPE IP addresses associated with a cable modem. If this is set to true, the CMTS may learn up to docsSubMgtMaxCpeIp addresses (less any DOCSIS-provisioned entries) related to this CM. Those IP addresses are added (by internal process) to the docsSubMgtCpeIpTable. The nature of the learning mechanism is not specified here. If not set through DOCSIS provisioning, this object defaults to docsSubMgtCpeLearnableDefault. Note that this object is only meaningful if docsSubMgtCpeControlActive is true." ::= { docsSubMgtCpeControlEntry 3 } docsSubMgtCpeControlReset OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object always returns false on read. If this object is set to true, the rows with 'learned' addresses in docsSubMgtCpeIpTable for this CM are deleted from that table." ::= { docsSubMgtCpeControlEntry 4 } docsSubMgtCpeControlLastReset OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when docsSubMgtCpeControlReset was last set true. Zero if never reset." DEFVAL { 0 } ::= { docsSubMgtCpeControlEntry 5 } docsSubMgtCpeMaxIpDefault OBJECT-TYPE SYNTAX Integer32(0..2147483647) MAX-ACCESS read-write STATUS current DESCRIPTION "The default value for docsSubMgtCpeControlMaxCpeIp if not signaled in the DOCSIS Registration request. This value should be treated as nonvolatile; if set, its value should persist across device resets." DEFVAL { 16 } ::= { docsSubMgtObjects 2 } docsSubMgtCpeActiveDefault OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The default value for docsSubMgtCpeControlActive if not signaled in the DOCSIS Registration request. This value should be treated as nonvolatile; if set, its value should persist across device resets." DEFVAL { false } ::= { docsSubMgtObjects 3 } docsSubMgtCpeLearnableDefault OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The default value for docsSubMgtCpeControlLearnable if not signaled in the DOCSIS Registration request. This value should be treated as nonvolatile; if set, its value should persist across device resets." DEFVAL { true } ::= { docsSubMgtObjects 4 } docsSubMgtCpeIpTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtCpeIpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of CPE IP addresses known on a per CM basis." ::= { docsSubMgtObjects 5 } docsSubMgtCpeIpEntry OBJECT-TYPE SYNTAX DocsSubMgtCpeIpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the docsSubMgtCpeIpTable. The first index is the specific modem we're referring to, the second index is the specific CPE IP entry." INDEX { docsIfCmtsCmStatusIndex, docsSubMgtCpeIpIndex } ::= {docsSubMgtCpeIpTable 1 } DocsSubMgtCpeIpEntry ::= SEQUENCE { docsSubMgtCpeIpIndex Integer32, docsSubMgtCpeIpAddressType InetAddressType, docsSubMgtCpeIpAddr InetAddress, docsSubMgtCpeIpLearned TruthValue } docsSubMgtCpeIpIndex OBJECT-TYPE SYNTAX Integer32(1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this CPE IP address relative to the indexed CM. An entry is created either through the included CPE IP addresses in the provisioning object, or via learning. If a CMTS receives an IP packet from a CM that contains a source IP address which does not match one of the docsSubMgtCpeIpAddr entries for this CM, one of two things occurs. If the number of entries is less than docsSubMgtCpeControlMaxCpeIp, the source address is added to the table and the packet is forwarded. If the number of entries equals the docsSubMgtCpeControlMaxCpeIp, AND docsSubMgtCpeControlActive is true, then the packet is dropped. Otherwise the packet is forwarded. " ::= { docsSubMgtCpeIpEntry 1 } docsSubMgtCpeIpAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of internet address of docsSubMgtCpeIpAddr." ::= { docsSubMgtCpeIpEntry 2 } docsSubMgtCpeIpAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address either set from provisioning or learned via address gleaning or other forwarding means. See docsSubMgtCpeIpIndex for the mechanism. The type of this address is determined by the value of docsSubMgtCpeIpAddressType." ::= { docsSubMgtCpeIpEntry 3 } docsSubMgtCpeIpLearned OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "If true, this entry was learned from IP packets sent upstream rather than from the provisioning objects." ::= { docsSubMgtCpeIpEntry 4 } docsSubMgtCmFilterTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtCmFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Binds filter groups to modems, identifying for each modem the upstream and downstream filter groups that apply to packets for that modem. Normally, this table reflects the filter group values signaled by DOCSIS Registration, although values may be overridden by management action. Zero is a distinguished value, indicating that the default filtering action is to be taken, rather than that associated with a filter group number. Zero is used if the filter group is not signaled by DOCSIS registration." ::= { docsSubMgtObjects 6 } docsSubMgtCmFilterEntry OBJECT-TYPE SYNTAX DocsSubMgtCmFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Binds a filter group to each direction of traffic for a modem. The filters in this entry apply if docsSubMgtCpeControlActive is true. The contents of this entry are meaningless unless the corresponding docsIfCmtsCmStatusValue (see reference) is registrationComplete(6). The persistence of this row is determined solely by the lifespan of the corresponding docsIfCmtsCmStatusEntry (normally StorageType=volatile)." REFERENCE "RFC 2670" -- *********************************************************** -- * Note to RFC Editor (to be removed) -- * See note in References section about possible replacement -- * of RFC 2670. -- *********************************************************** AUGMENTS { docsIfCmtsCmStatusEntry } ::= {docsSubMgtCmFilterTable 1 } DocsSubMgtCmFilterEntry ::= SEQUENCE { docsSubMgtSubFilterDownstream Integer32, docsSubMgtSubFilterUpstream Integer32, docsSubMgtCmFilterDownstream Integer32, docsSubMgtCmFilterUpstream Integer32 } docsSubMgtSubFilterDownstream OBJECT-TYPE SYNTAX Integer32(0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The filter group applied to traffic destined for subscribers attached to the referenced CM. This is set upon row creation to either zero (use default classification, the diffServClfrElementSpecific=zeroDotZero row of diffServClfrElementTable) or to the value in the provisioning object sent upstream from the CM to the CMTS during registration. The value of this object is the same as the filter group index appearing as docsSubMgtFilterGroupIndex." ::= { docsSubMgtCmFilterEntry 1 } docsSubMgtSubFilterUpstream OBJECT-TYPE SYNTAX Integer32(0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The filter group applied to traffic originating from subscribers attached to the referenced CM. This is set upon row creation to either zero (use default classification, the diffServClfrElementSpecific=zeroDotZero row of diffServClfrElementTable), or to the value in the provisioning object sent upstream from the CM to the CMTS. The value of this object is the same as the filter group index appearing as docsSubMgtFilterGroupIndex." ::= { docsSubMgtCmFilterEntry 2 } docsSubMgtCmFilterDownstream OBJECT-TYPE SYNTAX Integer32(0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The filter group applied to traffic destined for the referenced CM itself. This is set upon row creation to either zero (use default classification, the diffServClfrElementSpecific=zeroDotZero row of diffServClfrElementTable), or to the value in the provisioning object sent upstream from the CM to the CMTS during registration. The value of this object is the same as the filter group index appearing as docsSubMgtFilterGroupIndex." ::= { docsSubMgtCmFilterEntry 3 } docsSubMgtCmFilterUpstream OBJECT-TYPE SYNTAX Integer32(0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The filter group applied to traffic originating from the referenced CM itself. This is set upon row creation to either zero (use default classification, the diffServClfrElementSpecific=zeroDotZero row of diffServClfrElementTable), or to the value in the provisioning object sent upstream from the CM to the CMTS during registration. The value of this object is the same as the filter group index appearing as docsSubMgtFilterGroupIndex." ::= { docsSubMgtCmFilterEntry 4 } docsSubMgtFilterGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtFilterGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Provides a collection of referenceable entries to which diffServClfrElementSpecific refers. This table provides filter group indices which can be compared with those signaled during Docsis registration. A packet matches an entry from this table if the packet originated from or is destined to a cable modem which registered this index as one of its four filter groups (see docsSubMgtCmFilterTable) and if the packet direction and MAC address select the use of this index among the four." ::= { docsSubMgtObjects 7 } docsSubMgtFilterGroupEntry OBJECT-TYPE SYNTAX DocsSubMgtFilterGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry only exists if needed by the diffServClfrElementEntry. A packet matches this entry if the packet's cable modem registered this index as one of its four filter groups (see docsSubMgtCmFilterTable) and if the packet direction and MAC address select the use of this index among the four." INDEX { docsSubMgtFilterGroupIndex } ::= { docsSubMgtFilterGroupTable 1 } DocsSubMgtFilterGroupEntry ::= SEQUENCE { docsSubMgtFilterGroupIndex Integer32 } docsSubMgtFilterGroupIndex OBJECT-TYPE SYNTAX Integer32(1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The filter group index, from the set signaled at DOCSIS Registration. Provides an referenceable entry to which diffServClfrElementSpecific points. A packet matches this classifier entry if the packet's cable modem registered this index value as one of its four filter groups and if the packet direction and MAC address select the use of this index among the four. Because this is the only field in this table, it is read-only, contrary to the usual SNMP custom of making indices not-accessible. Note that while zero may be signaled (or defaulted) at DOCSIS Registration to indicate a default filtering group, no such entry appears in this table because diffServClfrElementSpecific will use a zeroDotZero pointer for that classification." ::= { docsSubMgtFilterGroupEntry 1 } docsSubMgtConformance OBJECT IDENTIFIER ::= { docsSubMgt 2 } docsSubMgtCompliances OBJECT IDENTIFIER ::= { docsSubMgtConformance 1 } docsSubMgtGroups OBJECT IDENTIFIER ::= { docsSubMgtConformance 2 } docsSubMgtBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for CMTS devices that implement CMTS centric subscriber management. This compliance statement applies to implementations that support DOCSIS 1.0/1.1/2.0, which are not IPv6-capable." MODULE DIFFSERV-MIB -- RFC3289 MANDATORY-GROUPS { diffServMIBDataPathGroup, diffServMIBClfrGroup, diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, diffServMIBActionGroup, diffServMIBAlgDropGroup, diffServMIBCounterGroup } OBJECT diffServDataPathStatus -- same as RFC3289 SYNTAX RowStatus { active(1) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notInService is not required." OBJECT diffServClfrStatus -- same as RFC3289 SYNTAX RowStatus { active(1) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notInService is not required." OBJECT diffServClfrElementStatus -- same as RFC3289 SYNTAX RowStatus { active(1) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notInService is not required." OBJECT diffServMultiFieldClfrAddrType SYNTAX InetAddressType { ipv4(1) } DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT diffServMultiFieldClfrSrcAddr SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT diffServMultiFieldClfrDstAddr SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT diffServAlgDropStatus -- same as RFC3289 SYNTAX RowStatus { active(1) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } DESCRIPTION "Support for createAndWait and notInService is not required." OBJECT diffServDataPathStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServClfrStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServClfrElementStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServMultiFieldClfrStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServActionStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServCountActStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServAlgDropStorage SYNTAX StorageType { nonVolatile(3) } DESCRIPTION "An implementation is only required to support nonvolatile storage." OBJECT diffServAlgDropType SYNTAX INTEGER { alwaysDrop(5) } DESCRIPTION "For DOCSIS subscriber management, this object is only used to provide packet filtering. Implementations need not support other values of this enumeration." MODULE -- This module i.e. DOCS-IETF-SUBMGT-MIB MANDATORY-GROUPS { docsSubMgtGroup } OBJECT docsSubMgtCpeControlMaxCpeIp SYNTAX Integer32(0..16) DESCRIPTION "An implementation is only required to support up to sixteen addresses per modem." OBJECT docsSubMgtCpeMaxIpDefault SYNTAX Integer32(0..16) DESCRIPTION "An implementation is only required to support up to sixteen addresses per modem." OBJECT docsSubMgtCpeIpAddressType SYNTAX InetAddressType { ipv4(1) } DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT docsSubMgtCpeIpAddr SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT docsSubMgtSubFilterDownstream SYNTAX Integer32(0..30) DESCRIPTION "An implementation is only required to support thirty filter groups." OBJECT docsSubMgtSubFilterUpstream SYNTAX Integer32(0..30) DESCRIPTION "An implementation is only required to support thirty filter groups." OBJECT docsSubMgtCmFilterDownstream SYNTAX Integer32(0..30) DESCRIPTION "An implementation is only required to support thirty filter groups." OBJECT docsSubMgtCmFilterUpstream SYNTAX Integer32(0..30) DESCRIPTION "An implementation is only required to support thirty filter groups." ::= { docsSubMgtCompliances 1 } docsSubMgtGroup OBJECT-GROUP OBJECTS { docsSubMgtCpeControlMaxCpeIp, docsSubMgtCpeControlActive, docsSubMgtCpeControlLearnable, docsSubMgtCpeControlReset, docsSubMgtCpeControlLastReset, docsSubMgtCpeMaxIpDefault, docsSubMgtCpeActiveDefault, docsSubMgtCpeLearnableDefault, docsSubMgtCpeIpAddressType, docsSubMgtCpeIpAddr, docsSubMgtCpeIpLearned, docsSubMgtSubFilterDownstream, docsSubMgtSubFilterUpstream, docsSubMgtCmFilterDownstream, docsSubMgtCmFilterUpstream, docsSubMgtFilterGroupIndex } STATUS current DESCRIPTION "The objects use to managed host-based cable modems via a set of CMTS enforced controls." ::= { docsSubMgtGroups 1 } END -- -- Copyright (C) The Internet Society (2004). All Rights Reserved. -- -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it -- or assist in its implementation may be prepared, copied, published -- and distributed, in whole or in part, without restriction of any -- kind, provided that the above copyright notice and this paragraph are -- included on all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by removing -- the copyright notice or references to the Internet Society or other -- Internet organizations, except as needed for the purpose of -- developing Internet standards in which case the procedures for -- copyrights defined in the Internet Standards process must be -- followed, or as required to translate it into languages other than -- English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. -- -- -- This document and the information contained herein is provided on an -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. --