1DOCS-CABLE-DEVICE-MIB DEFINITIONS ::= BEGIN
2
3IMPORTS
4        MODULE-IDENTITY,
5        OBJECT-TYPE,
6        IpAddress,
7        Unsigned32,
8        Counter32,
9        Integer32,
10        zeroDotZero,
11        mib-2
12                FROM SNMPv2-SMI           -- RFC 2578
13        RowStatus,
14        RowPointer,
15        DateAndTime,
16        TruthValue,
17        StorageType
18                FROM SNMPv2-TC            -- RFC 2579
19        InetAddressType,
20        InetAddress
21                FROM INET-ADDRESS-MIB     -- RFC 4001
22        OBJECT-GROUP,
23        MODULE-COMPLIANCE
24                FROM SNMPv2-CONF          -- RFC 2580
25        SnmpAdminString
26                FROM SNMP-FRAMEWORK-MIB   -- RFC 3411
27        InterfaceIndexOrZero
28                FROM IF-MIB               -- RFC 2863
29        ZeroBasedCounter32
30                FROM RMON2-MIB            -- RFC 4502
31        diffServMIBDataPathGroup,
32        diffServMIBClfrGroup,
33        diffServMIBClfrElementGroup,
34        diffServMIBMultiFieldClfrGroup,
35        diffServMIBActionGroup,
36        diffServMIBDscpMarkActGroup,
37        diffServMIBCounterGroup,
38        diffServMIBAlgDropGroup,
39
40
41
42        diffServDataPathStatus,
43        diffServClfrStatus,
44        diffServClfrElementStatus,
45        diffServMultiFieldClfrAddrType,
46        diffServMultiFieldClfrSrcAddr,
47        diffServMultiFieldClfrDstAddr,
48        diffServAlgDropStatus,
49        diffServDataPathStorage,
50        diffServClfrStorage,
51        diffServClfrElementStorage,
52        diffServMultiFieldClfrStorage,
53        diffServActionStorage,
54        diffServCountActStorage,
55        diffServAlgDropStorage,
56        diffServAlgDropType
57                FROM DIFFSERV-MIB;        -- RFC 3289
58
59
60docsDev MODULE-IDENTITY
61        LAST-UPDATED    "200612200000Z" -- December 20, 2006
62        ORGANIZATION    "IETF IP over Cable Data Network
63                         Working Group"
64        CONTACT-INFO
65            "        Rich Woundy
66             Postal: Comcast Cable
67                     27 Industrial Avenue
68                     Chelmsford, MA 01824 U.S.A.
69             Phone:  +1 978 244 4010
70             E-mail: richard_woundy@cable.comcast.com
71
72                     Kevin Marez
73             Postal: Motorola Corporation
74                     6450 Sequence Drive
75                     San Diego, CA 92121 U.S.A.
76             Phone:  +1 858 404 3785
77             E-mail: kevin.marez@motorola.com
78
79             IETF IPCDN Working Group
80             General Discussion: ipcdn@ietf.org
81             Subscribe: http://www.ietf.org/mailman/listinfo/ipcdn
82             Archive: ftp://ftp.ietf.org/ietf-mail-archive/ipcdn
83             Co-chairs: Richard Woundy,
84                        richard_woundy@cable.comcast.com
85                        Jean-Francois Mule,
86                        jf.mule@cablelabs.com"
87
88        DESCRIPTION
89            "This is the MIB Module for DOCSIS-compliant cable modems
90
91
92
93             and cable-modem termination systems.
94
95             Copyright (C) The IETF Trust (2006).  This version
96             of this MIB module was published in RFC 4639; for full
97             legal notices see the RFC itself."
98
99        REVISION "200612200000Z" -- December 20, 2006
100        DESCRIPTION
101            "Second version, published as RFC 4639.
102
103             Modifications to this MIB module since RFC 2669 include:
104             - Deprecation of the docsDevFilter group in favor of the
105               DiffServ MIB groups, to enable support for IPv6
106               filtering and DiffServ Code Point (DSCP) marking.
107             - Deprecation of the docsDevCpeGroup in favor of the
108               docsDevCpeInetGroup, to enable support of IPv6.
109             - Addition of various InetAddress objects to enable
110               support of IPv6.
111             - Deprecation of docsDevNmAccessTable in favor of SNMP
112               Coexistence and SNMPv3 -- yet adding
113               docsDevNmAccessTrapVersion and clarifying
114               docsDevNmAccessIp for current use of this table,
115             - Addition of docsDevIgmpModeControl for management and
116               control of the IGMP mode of operation,
117             - Addition of docsDevMaxCpe for management of the
118               maxmium number of CPEs permitted access through a
119               cable modem,
120             - Addition of docsDevSwServerTransportProtocol, and
121               modifications to docsDevSoftware object DESCRIPTIONS,
122               to enable software downloads via either TFTP or HTTP,
123             - Replacement of docsDevEvThrottleInhibited with
124               docsDevEvThrottleThresholdExceeded to simplify
125               event threshold management,
126             - Modification of docsDevEvReporting to enable local
127               logging to the internal volatile log, and not to the
128               internal non-volatile log,
129             - Modification of the compliance statement to make the
130               docsDevCpe objects optional
131             - Created placeholders for two OIDs in the
132               docsDevFilterPolicyTable that were never used
133             - Modified the DESCRIPTION of
134               docsDevSwServerTransportProtocol and
135               docsDevSwServerAddressType to address the
136               dependence between each object
137             - Added a reference to docsDevServerConfigTftpAddress
138             - Clarified the scope of notifications that are covered
139               by docsDevEvThrottleThreshold
140             - Clarified an error condition that could occur when
141
142
143
144               doing a SET to docsDevEvReporting
145             - Defined each of the enumerated types for both
146               docsDevEvLevel and docsDevEvPriority
147             - Added UNITS clause to docsDevFilterLLCMatches,
148               docsDevFilterIpMatches, docsDevMaxCpe,
149               docsDevEvThrottleThreshold and docsDevEvCounts.
150             - Added REFERENCE clause to docsDevFilterIpProtocol
151             - Modified DESCRIPTION of docsDevCpeInetAddr to be
152               more protocol-neutral
153             - Removed the enumerated value (1) from both
154               docsDevCpeInetSource and docsDevCpeSource
155             - Covered additional read-write and read-create objects
156               in the Security Considerations section
157             - Modified the default value of docsDevNmAccessIpMask
158               to be consistent with OSSI specification
159             - Modified the SYNTAX of docsDevNmAccessCommunity and
160               docsDevNmAccessInterfaces in the Conformance
161               Statement section
162             - Added SYNTAX clause to docsDevEvReporting in the
163               Conformance Statement section
164             - Modified SYNTAX clause of docsDevEvReporting to
165               move new enumerated type to byte boundary
166             - Added references to DOCSIS 2.0 specifications to
167               multiple objects
168             - Clarified non-persistency across reboots for
169               all tables
170             - Clarified functionality of docsDevSw objects as
171               they relate to docsDevSwOperStatus
172             - Clarified enumerated types (9) and (10) for
173               docsDevServerBootState
174             - Defined the state of unknown(0) for the following
175               objects:  docsDevServerDhcpAddressType,
176               docsDevServerTimeAddressType,
177               docsDevServerConfigTftpAddressType and
178               docsDevServerConfigTftpAddressType
179             - Modified the value in docsDevFilterIpDaddr to be
180               consistent with the SYNTAX
181             - Specified which rows could be modified in an
182               active row for docsDevFilterPolicyStatus
183             - Defined the term 'manually' in docsDevCpeEnroll
184             - Clarified the description for
185               docsDevFilterTosOrMask
186             - Covered the case of a non-existent row for
187               docsDevFilterPolicyPtr
188             - Added DEFVAL clauses for multiple objects
189             - Replaced docsDevNotification OBJECT IDENTIFIER
190               with docsDevNotifications to address possible
191               compatibility issues
192
193
194
195             - Added support for the usage of RFC 3413 and RFC 3014
196               as event notification mechanisms
197             - Removed docsDevFilterPolicyObsoleteGroup
198             - Added stdInterface(9) type to docsDevEvReporting to
199               support the usage of RFC3413 and RFC3014
200             - Modified DESCRIPTION for docsDevMaxCpe"
201
202        REVISION "199908190000Z"
203        DESCRIPTION
204            "Initial version, published as RFC 2669."
205
206        ::= { mib-2 69 }
207
208docsDevMIBObjects  OBJECT IDENTIFIER ::= { docsDev 1 }
209
210docsDevBase OBJECT IDENTIFIER ::= { docsDevMIBObjects 1 }
211
212--
213-- For the following object, there is no concept in the
214-- RFI specification corresponding to a backup CMTS.  The
215-- enumeration is provided here in case someone is able
216-- to define such a role or device.
217--
218
219docsDevRole OBJECT-TYPE
220        SYNTAX INTEGER {
221            cm(1),
222            cmtsActive(2),
223            cmtsBackup(3)
224        }
225        MAX-ACCESS  read-only
226        STATUS      current
227        DESCRIPTION
228            "Defines the current role of this device.  cm(1) is a
229             Cable Modem, cmtsActive(2) is a Cable Modem Termination
230             System that is controlling the system of cable modems,
231             and cmtsBackup(3) is a CMTS that is currently connected
232             but is not controlling the system (not currently used).
233
234             In general, if this device is a 'cm', its role will not
235             change during operation or between reboots.  If the
236             device is a 'cmts' it may change between cmtsActive and
237             cmtsBackup and back again during normal operation.  NB:
238             At this time, the DOCSIS standards do not support the
239             concept of a backup CMTS, but cmtsBackup is included for
240             completeness."
241        ::= { docsDevBase 1 }
242
243
244
245
246docsDevDateTime OBJECT-TYPE
247        SYNTAX      DateAndTime
248        MAX-ACCESS  read-write
249        STATUS      current
250        DESCRIPTION
251            "The current date and time, with time zone information
252             (if known).
253
254             If the real data and time cannot be determined, this
255             shall represent elapsed time from boot relative to
256             the standard epoch '1970-1-1,0:0:0.0'.  In other
257             words, if this agent has been up for 3 minutes and
258             not been able to determine what the actual date and
259             time are, this object will return the value
260             '1970-1-1,0:03:0.0'."
261        ::= { docsDevBase 2 }
262
263docsDevResetNow OBJECT-TYPE
264        SYNTAX      TruthValue
265        MAX-ACCESS  read-write
266        STATUS      current
267        DESCRIPTION
268            "Setting this object to true(1) causes the device to
269             reset.  Reading this object always returns false(2)."
270        ::= { docsDevBase 3 }
271
272docsDevSerialNumber OBJECT-TYPE
273        SYNTAX      SnmpAdminString
274        MAX-ACCESS  read-only
275        STATUS      current
276        DESCRIPTION
277            "The manufacturer's serial number for this device."
278        ::= { docsDevBase 4 }
279
280docsDevSTPControl OBJECT-TYPE
281        SYNTAX INTEGER {
282            stEnabled(1),
283            noStFilterBpdu(2),
284            noStPassBpdu(3)
285        }
286        MAX-ACCESS  read-write
287        STATUS      current
288        DESCRIPTION
289            "This object controls operation of the spanning tree
290             protocol (as distinguished from transparent bridging).
291
292             If set to stEnabled(1), then the spanning tree protocol
293             is enabled, subject to bridging constraints.
294
295
296
297             If noStFilterBpdu(2), then spanning tree is not active,
298             and Bridge PDUs received are discarded.
299
300             If noStPassBpdu(3), then spanning tree is not active,
301             and Bridge PDUs are transparently forwarded.
302
303             Note that a device need not implement all of these
304             options, but that noStFilterBpdu(2) is required."
305        DEFVAL { noStFilterBpdu }
306        ::= { docsDevBase 5 }
307
308docsDevIgmpModeControl OBJECT-TYPE
309        SYNTAX INTEGER {
310            passive(1),
311            active(2)
312        }
313        MAX-ACCESS  read-write
314        STATUS      current
315        DESCRIPTION
316            "This object controls the IGMP mode of operation for
317             the CM or CMTS.  In passive mode, the device forwards
318             IGMP between interfaces as based on knowledge of
319             Multicast Session activity on the subscriber side
320             interface and the rules defined in the DOCSIS RFI
321             specification.  In active mode, the device terminates
322             at and initiates IGMP through its interfaces as based
323             on the knowledge of Multicast Session activity on the
324             subscriber side interface."
325        REFERENCE
326            "DOCSIS RFI 1.1 Specification, Section 3.3.1. and
327             DOCSIS RFI 2.0 Specification, Section 5.3.1."
328        DEFVAL { passive }
329        ::= { docsDevBase 6 }
330
331docsDevMaxCpe OBJECT-TYPE
332        SYNTAX      Unsigned32 (0..255)
333        UNITS       "CPEs"
334        MAX-ACCESS  read-only
335        STATUS      current
336        DESCRIPTION
337            "The maximum number of CPEs that can be granted access
338             through a CM during a CM epoch.  This value can be
339             obtained from the CM configuration file; however,
340             it may be adjusted by the CM according to hardware or
341             software limitations that have been imposed on the
342             implementation."
343        REFERENCE
344            "DOCSIS RFI 1.0 Specification, Appendix C.7.20., and
345
346
347
348             DOCSIS RFI 1.1 Specification, Appendix C.1.1.7. and
349             DOCSIS RFI 2.0 Specification, Appendix C.1.1.7."
350        ::= { docsDevBase 7 }
351
352
353--
354-- The following table provides one level of security for access
355-- to the device by network management stations.
356-- Note that access is also constrained by the
357-- community strings and any vendor-specific security.
358--
359
360docsDevNmAccessTable OBJECT-TYPE
361        SYNTAX      SEQUENCE OF DocsDevNmAccessEntry
362        MAX-ACCESS  not-accessible
363        STATUS      deprecated
364        DESCRIPTION
365            "This table controls access to SNMP objects by network
366             management stations.  If the table is empty, access to
367             SNMP objects is unrestricted.  The objects in this table
368             MUST NOT persist across reboots.  The objects in this
369             table are only accessible from cable devices that are
370             not capable of operating in SNMP Coexistence mode
371             (RFC 3584) or in SNMPv3 mode (RFC 3410).
372             See the conformance section for
373             details.  Note that some devices are required by other
374             specifications (e.g., the DOCSIS OSSIv1.1 specification)
375             to support the legacy SNMPv1/v2c docsDevNmAccess mode
376             for backward compatibility.
377
378             This table is deprecated.  Instead, use the SNMP
379             coexistence MIBs from RFC 3584, the TARGET and
380             NOTIFICATION MIBs from RFC 3413, and
381             the View-Based Access Control Model (VACM) MIBs for
382             all SNMP protocol versions from RFC 3415."
383        ::= { docsDevMIBObjects 2 }
384
385docsDevNmAccessEntry OBJECT-TYPE
386        SYNTAX      DocsDevNmAccessEntry
387        MAX-ACCESS  not-accessible
388        STATUS      deprecated
389        DESCRIPTION
390            "An entry describing access to SNMP objects by a
391             particular network management station.  An entry in
392             this table is not readable unless the management station
393             has read-write permission (either implicit if the table
394             is empty, or explicit through an entry in this table).
395             Entries are ordered by docsDevNmAccessIndex.  The first
396
397
398
399             matching entry (e.g., matching IP address and community
400             string) is used to derive access."
401        INDEX { docsDevNmAccessIndex }
402        ::= {  docsDevNmAccessTable 1 }
403
404DocsDevNmAccessEntry ::= SEQUENCE {
405            docsDevNmAccessIndex         Integer32,
406            docsDevNmAccessIp            IpAddress,
407            docsDevNmAccessIpMask        IpAddress,
408            docsDevNmAccessCommunity     OCTET STRING,
409            docsDevNmAccessControl       INTEGER,
410            docsDevNmAccessInterfaces    OCTET STRING,
411            docsDevNmAccessStatus        RowStatus,
412            docsDevNmAccessTrapVersion   INTEGER
413        }
414
415docsDevNmAccessIndex OBJECT-TYPE
416        SYNTAX      Integer32 (1..2147483647)
417        MAX-ACCESS  not-accessible
418        STATUS      deprecated
419        DESCRIPTION
420            "Index used to order the application of access
421             entries."
422        ::= { docsDevNmAccessEntry 1 }
423
424docsDevNmAccessIp OBJECT-TYPE
425        SYNTAX      IpAddress
426        MAX-ACCESS  read-create
427        STATUS      deprecated
428        DESCRIPTION
429            "The IP address (or subnet) of the network management
430             station.  The address 0.0.0.0 is defined to mean
431             any Network Management Station (NMS).  If traps are
432             enabled for this entry, then the value must be the
433             address of a specific device.  Implementations MAY
434             recognize 255.255.255.255 as equivalent to 0.0.0.0."
435        DEFVAL { '00000000'h }
436        ::= { docsDevNmAccessEntry 2 }
437
438docsDevNmAccessIpMask OBJECT-TYPE
439        SYNTAX      IpAddress
440        MAX-ACCESS  read-create
441        STATUS      deprecated
442        DESCRIPTION
443            "The IP subnet mask of the network management stations.
444             If traps are enabled for this entry, then the value must
445             be 0.0.0.0.  Implementations MAY recognize
446             255.255.255.255 as equivalent to 0.0.0.0."
447
448
449
450        DEFVAL { '00000000'h }
451        ::= { docsDevNmAccessEntry 3 }
452
453docsDevNmAccessCommunity OBJECT-TYPE
454        SYNTAX      OCTET STRING
455        MAX-ACCESS  read-create
456        STATUS      deprecated
457        DESCRIPTION
458            "The community string to be matched for access by this
459             entry.  If set to a zero-length string, then any
460             community string will match.  When read, this object
461             SHOULD return a zero-length string."
462        DEFVAL { "public" }
463        ::= { docsDevNmAccessEntry 4 }
464
465docsDevNmAccessControl OBJECT-TYPE
466        SYNTAX         INTEGER {
467            none(1),
468            read(2),
469            readWrite(3),
470            roWithTraps(4),
471            rwWithTraps(5),
472            trapsOnly(6)
473        }
474        MAX-ACCESS  read-create
475        STATUS      deprecated
476        DESCRIPTION
477            "Specifies the type of access allowed to this NMS.
478             Setting this object to none(1) causes the table entry
479             to be destroyed.  Read(2) allows access by 'get' and
480             'get-next' PDUs.  ReadWrite(3) allows access by 'set' as
481             well.  RoWithtraps(4), rwWithTraps(5), and trapsOnly(6)
482             control distribution of Trap PDUs transmitted by this
483             device."
484        DEFVAL { read }
485        ::= { docsDevNmAccessEntry 5 }
486
487-- The syntax of the following object was copied from RFC 1493,
488-- dot1dStaticAllowedToGoTo.
489
490docsDevNmAccessInterfaces OBJECT-TYPE
491        SYNTAX      OCTET STRING (SIZE (1..32))
492        MAX-ACCESS  read-create
493        STATUS      deprecated
494        DESCRIPTION
495            "Specifies the set of interfaces from which requests from
496             this NMS will be accepted.  Each octet within
497             the value of this object specifies a set of eight
498
499
500
501             interfaces, the first octet specifying ports 1
502             through 8, the second octet specifying interfaces 9
503             through 16, etc.  Within each octet, the most
504             significant bit represents the lowest numbered
505             interface, and the least significant bit represents the
506             highest numbered interface.  Thus, each interface is
507             represented by a single bit within the value of this
508             object.  If that bit has a value of '1' then that
509             interface is included in the set.
510
511             Note that entries in this table apply only to link-layer
512             interfaces (e.g., Ethernet and CATV MAC).  Bits
513             representing upstream and downstream channel interfaces
514             MUST NOT be set to '1'.
515
516             Note that if bits corresponding to non-existing
517             interfaces are set, the result is implementation
518             specific.
519
520             Note that according to the DOCSIS OSSIv1.1
521             specification, when ifIndex '1' is included in the
522             set, then this row applies to all CPE
523             (customer-facing) interfaces.
524
525             The size of this object is the minimum required to
526             represent all configured interfaces for this device."
527        ::= { docsDevNmAccessEntry 6 }
528
529docsDevNmAccessStatus OBJECT-TYPE
530        SYNTAX      RowStatus
531        MAX-ACCESS  read-create
532        STATUS      deprecated
533        DESCRIPTION
534            "Controls and reflects the status of rows in this
535             table.  Rows in this table may be created by either the
536             create-and-go or create-and-wait paradigm.  There is no
537             restriction on changing values in a row of this table
538             while the row is active.
539
540             The following objects MUST have valid values before this
541             object can be set to active: docsDevNmAccessIp,
542             docsDevNmAccessStatus, docsDevNmAccessIpMask,
543             docsDevNmAccessCommunity, docsDevNmAccessControl, and
544             docsDevNmAccessInterfaces."
545        ::= { docsDevNmAccessEntry 7 }
546
547docsDevNmAccessTrapVersion OBJECT-TYPE
548        SYNTAX      INTEGER {
549
550
551
552            disableSNMPv2trap(1),
553            enableSNMPv2trap(2)
554        }
555        MAX-ACCESS  read-create
556        STATUS      deprecated
557        DESCRIPTION
558            "Specifies the TRAP version that is sent to this NMS.
559             Setting this object to disableSNMPv2trap (1) causes the
560             trap in SNMPv1 format to be sent to a particular NMS.
561             Setting this object to enableSNMPv2trap (2) causes the
562             trap in SNMPv2 format be sent to a particular NMS."
563        DEFVAL { disableSNMPv2trap }
564        ::= { docsDevNmAccessEntry 8 }
565
566--
567-- The following group describes control objects used for downloading
568-- firmware to a cable device.  Procedures for software download are
569-- described in Section 3.2.1 of the RFC containing this MIB module.
570--
571
572docsDevSoftware OBJECT IDENTIFIER ::= { docsDevMIBObjects 3 }
573
574docsDevSwServer OBJECT-TYPE
575        SYNTAX      IpAddress
576        MAX-ACCESS  read-write
577        STATUS      deprecated
578        DESCRIPTION
579            "The address of the TFTP server used for software
580             upgrades.  If the TFTP server is unknown or is a
581             non-IPv4 address, return 0.0.0.0.
582
583             This object is deprecated.  See docsDevSwServerAddress
584             for its replacement.  This object will have its value
585             modified, given a valid SET to docsDevSwServerAddress."
586        ::= { docsDevSoftware 1 }
587
588docsDevSwFilename OBJECT-TYPE
589        SYNTAX      SnmpAdminString (SIZE (0..64))
590        MAX-ACCESS  read-write
591        STATUS      current
592        DESCRIPTION
593            "The filename of the software image to be downloaded via
594             TFTP, or the abs_path (as defined in RFC 2616) of the
595             software image to be downloaded via HTTP.
596
597             Unless set via SNMP, this is the filename or abs_path
598             specified by the provisioning server during the boot
599             process that corresponds to the software version that
600
601
602
603             is desired for this device.
604
605             If unknown, the value of this object is the zero-length
606             string."
607        ::= { docsDevSoftware 2 }
608
609docsDevSwAdminStatus OBJECT-TYPE
610        SYNTAX INTEGER {
611            upgradeFromMgt(1),
612            allowProvisioningUpgrade(2),
613            ignoreProvisioningUpgrade(3)
614        }
615        MAX-ACCESS  read-write
616        STATUS      current
617        DESCRIPTION
618            "If set to upgradeFromMgt(1), the device will initiate a
619             TFTP or HTTP software image download.  After
620             successfully receiving an image, the device will set
621             its state to ignoreProvisioningUpgrade(3) and reboot.
622             If the download process is interrupted (e.g., by a reset
623             or power failure), the device will load the previous
624             image and, after re-initialization, continue to attempt
625             loading the image specified in docsDevSwFilename.
626
627             If set to allowProvisioningUpgrade(2), the device will
628             use the software version information supplied by the
629             provisioning server when next rebooting (this does not
630             cause a reboot).
631
632             When set to ignoreProvisioningUpgrade(3), the device
633             will disregard software image upgrade information
634             from the provisioning server.
635
636             Note that reading this object can return
637             upgradeFromMgt(1).  This indicates that a software
638             download is currently in progress, and that the device
639             will reboot after successfully receiving an image."
640        DEFVAL { allowProvisioningUpgrade }
641        ::= { docsDevSoftware 3 }
642
643docsDevSwOperStatus OBJECT-TYPE
644        SYNTAX INTEGER {
645            inProgress(1),
646            completeFromProvisioning(2),
647            completeFromMgt(3),
648            failed(4),
649            other(5)
650        }
651
652
653
654        MAX-ACCESS  read-only
655        STATUS      current
656        DESCRIPTION
657            "InProgress(1) indicates that a TFTP or HTTP download is
658             underway, either as a result of a version mismatch at
659             provisioning or as a result of a upgradeFromMgt request.
660             No other docsDevSw* objects can be modified in
661             this state.
662
663             CompleteFromProvisioning(2) indicates that the last
664             software upgrade was a result of version mismatch at
665             provisioning.
666
667             CompleteFromMgt(3) indicates that the last software
668             upgrade was a result of setting docsDevSwAdminStatus to
669             upgradeFromMgt.
670
671             Failed(4) indicates that the last attempted download
672             failed, ordinarily due to TFTP or HTTP timeout."
673        REFERENCE
674            "DOCSIS RFI 1.0 Specification, Section 8.2., and
675             DOCSIS RFI 1.1 Specification, Section 10.1. and
676             DOCSIS RFI 2.0 Specification, Section 12.1."
677        ::= { docsDevSoftware 4 }
678
679docsDevSwCurrentVers OBJECT-TYPE
680        SYNTAX      SnmpAdminString
681        MAX-ACCESS  read-only
682        STATUS      current
683        DESCRIPTION
684            "The software version currently operating in this device.
685             This string's syntax is that used by the
686             individual vendor to identify software versions.
687             For a CM, this string will describe the current
688             software load.  For a CMTS, this object SHOULD contain
689             a human-readable representation either of the vendor
690             specific designation of the software for the chassis,
691             or of the software for the control processor.  If
692             neither of these is applicable, the value MUST be a
693             zero-length string."
694        ::= { docsDevSoftware 5 }
695
696docsDevSwServerAddressType OBJECT-TYPE
697        SYNTAX      InetAddressType
698        MAX-ACCESS  read-write
699        STATUS      current
700        DESCRIPTION
701            "The type of address of the TFTP or HTTP server used for
702
703
704
705             software upgrades.
706
707             If docsDevSwServerTransportProtocol is currently set to
708             tftp(1), attempting to set this object to dns(16) MUST
709             result in an error."
710        ::= { docsDevSoftware 6 }
711
712docsDevSwServerAddress OBJECT-TYPE
713        SYNTAX      InetAddress
714        MAX-ACCESS  read-write
715        STATUS      current
716        DESCRIPTION
717            "The address of the TFTP or HTTP server used for software
718             upgrades.
719
720             If the TFTP/HTTP server is unknown, return the zero-
721             length address string (see the TextualConvention).
722
723             If docsDevSwServer is also implemented in this agent,
724             this object is tied to it.  A set of this object to an
725             IPv4 address will result in also setting the value of
726             docsDevSwServer to that address.  If this object is set
727             to an IPv6 address, docsDevSwServer is set to 0.0.0.0.
728             If docsDevSwServer is set, this object is also set to
729             that value.  Note that if both are set in the same
730             action, the order of which one sets the other is
731             undefined."
732        ::= { docsDevSoftware 7 }
733
734docsDevSwServerTransportProtocol OBJECT-TYPE
735        SYNTAX INTEGER {
736            tftp(1),
737            http(2)
738        }
739        MAX-ACCESS  read-write
740        STATUS      current
741        DESCRIPTION
742            "This object specifies the transport protocol (TFTP or
743             HTTP) to be used for software upgrades.
744
745             If the value of this object is tftp(1), then the cable
746             device uses TFTP (RFC 1350) read request packets to
747             download the docsDevSwFilename from the
748             docsDevSwServerAddress in octet mode.
749
750             If the value of this object is http(2), then the cable
751             device uses HTTP 1.0 (RFC 1945) or HTTP 1.1 (RFC 2616)
752             GET requests sent to host docsDevSwServerAddress to
753
754
755
756             download the software image from path docsDevSwFilename.
757
758             If docsDevSwServerAddressType is currently set to
759             dns(16), attempting to set this object to tftp(1) MUST
760             result in an error."
761        DEFVAL { tftp }
762        ::= { docsDevSoftware 8 }
763
764--
765-- The following group describes server access and parameters used
766-- for initial provisioning and bootstrapping.
767--
768
769docsDevServer OBJECT IDENTIFIER ::= { docsDevMIBObjects 4 }
770
771docsDevServerBootState OBJECT-TYPE
772        SYNTAX INTEGER {
773            operational(1),
774            disabled(2),
775            waitingForDhcpOffer(3),
776            waitingForDhcpResponse(4),
777            waitingForTimeServer(5),
778            waitingForTftp(6),
779            refusedByCmts(7),
780            forwardingDenied(8),
781            other(9),
782            unknown(10)
783        }
784        MAX-ACCESS  read-only
785        STATUS      current
786        DESCRIPTION
787            "If operational(1), the device has completed loading and
788             processing of configuration parameters, and the CMTS has
789             completed the Registration exchange.
790
791             If disabled(2), then the device was administratively
792             disabled, possibly by being refused network access in
793             the configuration file.
794
795             If waitingForDhcpOffer(3), then a Dynamic Host
796             Configuration Protocol (DHCP) Discover has been
797             transmitted, and no offer has yet been received.
798
799             If waitingForDhcpResponse(4), then a DHCP Request has
800             been transmitted, and no response has yet been received.
801
802             If waitingForTimeServer(5), then a Time Request has been
803             transmitted, and no response has yet been received.
804
805
806
807             If waitingForTftp(6), then a request to the TFTP
808             parameter server has been made, and no response
809             received.
810
811             If refusedByCmts(7), then the Registration
812             Request/Response exchange with the CMTS failed.
813
814             If forwardingDenied(8), then the registration process
815             was completed, but the network access option in the
816             received configuration file prohibits forwarding.
817
818             If other(9), then the registration process reached a
819             point that does not fall into one of the above
820             categories.
821
822             If unknown(10), then the device has not yet begun the
823             registration process or is in some other indeterminate
824             state."
825        REFERENCE
826            "DOCSIS RFI 1.0 Specification, Figure 7-1, and
827             DOCSIS RFI 1.1 Specification, Figure 9-1 and
828             DOCSIS RFI 2.0 Specification, Figure 11-1."
829        ::= { docsDevServer 1 }
830
831docsDevServerDhcp OBJECT-TYPE
832        SYNTAX      IpAddress
833        MAX-ACCESS  read-only
834        STATUS      deprecated
835        DESCRIPTION
836            "The IP address of the DHCP server that assigned an IP
837             address to this device.  Returns 0.0.0.0 if DHCP is not
838             used for IP address assignment, or if this agent is
839             not assigned an IPv4 address.
840
841             This object is deprecated and is replaced by
842             docsDevServerDhcpAddress."
843        ::= { docsDevServer 2 }
844
845docsDevServerTime OBJECT-TYPE
846        SYNTAX      IpAddress
847        MAX-ACCESS  read-only
848        STATUS      deprecated
849        DESCRIPTION
850            "The IP address of the Time server (RFC 0868).  Returns
851             0.0.0.0 if the time server IP address is unknown, or if
852             the time server is not an IPv4 server.
853
854             This object is deprecated and is replaced by
855
856
857
858             docsDevServerTimeAddress."
859        ::= { docsDevServer 3 }
860
861docsDevServerTftp OBJECT-TYPE
862        SYNTAX      IpAddress
863        MAX-ACCESS  read-only
864        STATUS      deprecated
865        DESCRIPTION
866            "The IP address of the TFTP server responsible for
867             downloading provisioning and configuration parameters
868             to this device.  Returns 0.0.0.0 if the TFTP server
869             address is unknown or is not an IPv4 address.
870
871             This object is deprecated and is replaced by
872             docsDevServerConfigTftpAddress."
873        ::= { docsDevServer 4 }
874
875docsDevServerConfigFile OBJECT-TYPE
876        SYNTAX      SnmpAdminString
877        MAX-ACCESS  read-only
878        STATUS      current
879        DESCRIPTION
880            "The name of the device configuration file read from
881             the TFTP server.  Returns a zero-length string if
882             the configuration file name is unknown."
883        ::= { docsDevServer 5 }
884
885docsDevServerDhcpAddressType OBJECT-TYPE
886        SYNTAX      InetAddressType
887        MAX-ACCESS  read-only
888        STATUS      current
889        DESCRIPTION
890            "The type of address of docsDevServerDhcpAddress.  If
891             DHCP was not used, this value should return
892             unknown(0)."
893        ::= { docsDevServer 6 }
894
895docsDevServerDhcpAddress OBJECT-TYPE
896        SYNTAX      InetAddress
897        MAX-ACCESS  read-only
898        STATUS      current
899        DESCRIPTION
900            "The internet address of the DHCP server that assigned
901             an IP address to this device.  Returns the zero length
902             octet string if DHCP was not used for IP address
903             assignment."
904        ::= { docsDevServer 7 }
905
906
907
908
909docsDevServerTimeAddressType OBJECT-TYPE
910        SYNTAX      InetAddressType
911        MAX-ACCESS  read-only
912        STATUS      current
913        DESCRIPTION
914            "The type of address of docsDevServerTimeAddress.  If
915             no time server exists, this value should return
916             unknown(0)."
917        ::= { docsDevServer 8 }
918
919docsDevServerTimeAddress OBJECT-TYPE
920        SYNTAX      InetAddress
921        MAX-ACCESS  read-only
922        STATUS      current
923        DESCRIPTION
924            "The Internet address of the RFC 868 Time server,
925             as provided by DHCP option 4.
926
927             Note that if multiple values are provided to the
928             CM in DHCP option 4, the value of this MIB object
929             MUST be the Time server address from which the Time
930             of Day reference was acquired as based on the DOCSIS
931             RFI specification.  During the period of time where
932             the Time of Day have not been acquired, the Time
933             server address reported by the CM may report the
934             first address value in the DHCP option value or the
935             last server address the CM attempted to get the Time
936             of day value.
937
938             Returns the zero-length octet string if the time server
939             IP address is not provisioned."
940        REFERENCE
941            "DOCSIS RFI 1.1 Specification, Section 9.2.7. and
942             DOCSIS RFI 2.0 Specification, Section 11.2.7."
943        ::= { docsDevServer 9 }
944
945docsDevServerConfigTftpAddressType OBJECT-TYPE
946        SYNTAX      InetAddressType
947        MAX-ACCESS  read-only
948        STATUS      current
949        DESCRIPTION
950            "The type of address of docsDevServerConfigTftpAddress.
951             If no TFTP server exists, this value should return
952             unknown(0)."
953        ::= { docsDevServer 10 }
954
955docsDevServerConfigTftpAddress OBJECT-TYPE
956        SYNTAX      InetAddress
957
958
959
960        MAX-ACCESS  read-only
961        STATUS      current
962        DESCRIPTION
963            "The internet address of the TFTP server responsible for
964             downloading provisioning and configuration parameters
965             to this device.  Returns the zero-length octet string if
966             the config server address is unknown.  There are certain
967             security risks that are involved with using TFTP."
968        REFERENCE
969            "RFC 3617, Section 5"
970        ::= { docsDevServer 11 }
971
972
973--
974-- Event Reporting
975--
976
977docsDevEvent OBJECT IDENTIFIER ::= { docsDevMIBObjects 5 }
978
979docsDevEvControl OBJECT-TYPE
980        SYNTAX INTEGER {
981            resetLog(1),
982            useDefaultReporting(2)
983        }
984        MAX-ACCESS  read-write
985        STATUS      current
986        DESCRIPTION
987            "Setting this object to resetLog(1) empties the event
988             log.  All data is deleted.  Setting it to
989             useDefaultReporting(2) returns all event priorities to
990             their factory-default reporting.  Reading this object
991             always returns useDefaultReporting(2)."
992        ::= { docsDevEvent 1 }
993
994docsDevEvSyslog OBJECT-TYPE
995        SYNTAX      IpAddress
996        MAX-ACCESS  read-write
997        STATUS      deprecated
998        DESCRIPTION
999            "The IP address of the Syslog server.  If 0.0.0.0, either
1000             syslog transmission is inhibited, or the Syslog server
1001             address is not an IPv4 address.
1002
1003             This object is deprecated and is replaced by
1004             docsDevEvSyslogAddress."
1005        ::= { docsDevEvent 2 }
1006
1007docsDevEvThrottleAdminStatus OBJECT-TYPE
1008
1009
1010
1011        SYNTAX INTEGER {
1012            unconstrained(1),
1013            maintainBelowThreshold(2),
1014            stopAtThreshold(3),
1015            inhibited(4)
1016        }
1017        MAX-ACCESS  read-write
1018        STATUS      current
1019        DESCRIPTION
1020            "Controls the transmission of traps and syslog messages
1021             with respect to the trap pacing threshold.
1022
1023             unconstrained(1) causes traps and syslog messages to be
1024             transmitted without regard to the threshold settings.
1025
1026             maintainBelowThreshold(2) causes trap transmission and
1027             syslog messages to be suppressed if the number of traps
1028             would otherwise exceed the threshold.
1029
1030             stopAtThreshold(3) causes trap transmission to cease at
1031             the threshold and not to resume until directed to do so.
1032
1033             inhibited(4) causes all trap transmission and syslog
1034             messages to be suppressed.
1035
1036             A single event is always treated as a single event for
1037             threshold counting.  That is, an event causing both a
1038             trap and a syslog message is still treated as a single
1039             event.
1040
1041             Writing to this object resets the thresholding state."
1042        DEFVAL { unconstrained }
1043        ::= { docsDevEvent 3 }
1044
1045docsDevEvThrottleInhibited OBJECT-TYPE
1046        SYNTAX      TruthValue
1047        MAX-ACCESS  read-only
1048        STATUS      deprecated
1049        DESCRIPTION
1050            "If true(1), trap and syslog transmission is currently
1051             inhibited due to thresholds and/or the current setting
1052             of docsDevEvThrottleAdminStatus.  In addition, this is
1053             true(1) when transmission is inhibited because no
1054             syslog (docsDevEvSyslog) or trap (docsDevNmAccessEntry)
1055             destinations have been set.
1056
1057             This object is deprecated and is replaced by
1058             docsDevEvThrottleThresholdExceeded."
1059
1060
1061
1062        ::= { docsDevEvent 4 }
1063
1064docsDevEvThrottleThreshold OBJECT-TYPE
1065        SYNTAX      Unsigned32
1066        UNITS       "events"
1067        MAX-ACCESS  read-write
1068        STATUS      current
1069        DESCRIPTION
1070            "Number of events per docsDevEvThrottleInterval permitted
1071             before throttling is to occur.
1072
1073             A single event, whether the notification could result in
1074             messages transmitted using syslog, SNMP, or both
1075             protocols, and regardless of the number of destinations,
1076             (including zero) is always treated as a single event for
1077             threshold counting.  For example, an event causing both
1078             a trap and a syslog message is still treated as a single
1079             event.
1080
1081             All system notifications that occur within the device
1082             should be taken into consideration when calculating
1083             and monitoring the threshold."
1084        DEFVAL { 0 }
1085        ::= { docsDevEvent 5 }
1086
1087docsDevEvThrottleInterval OBJECT-TYPE
1088        SYNTAX      Integer32 (1..2147483647)
1089        UNITS       "seconds"
1090        MAX-ACCESS  read-write
1091        STATUS      current
1092        DESCRIPTION
1093            "The interval over which docsDevEvThrottleThreshold
1094             applies."
1095        DEFVAL { 1 }
1096        ::= { docsDevEvent 6 }
1097
1098--
1099-- The following table controls the reporting of the various classes
1100-- of events.
1101--
1102
1103docsDevEvControlTable OBJECT-TYPE
1104        SYNTAX      SEQUENCE OF DocsDevEvControlEntry
1105        MAX-ACCESS  not-accessible
1106        STATUS      current
1107        DESCRIPTION
1108            "This table allows control of the reporting of event
1109             classes.  For each event priority, a combination of
1110
1111
1112
1113             logging and reporting mechanisms may be chosen.  The
1114             mapping of event types to priorities is
1115             vendor dependent.  Vendors may also choose to allow
1116             the user to control that mapping through proprietary
1117             means.  Table entries MUST persist across reboots for
1118             CMTS devices and MUST NOT persist across reboots for CM
1119             devices."
1120        ::= {  docsDevEvent 7 }
1121
1122docsDevEvControlEntry OBJECT-TYPE
1123        SYNTAX      DocsDevEvControlEntry
1124        MAX-ACCESS  not-accessible
1125        STATUS      current
1126        DESCRIPTION
1127            "Allows configuration of the reporting mechanisms for a
1128             particular event priority."
1129        INDEX { docsDevEvPriority }
1130        ::= { docsDevEvControlTable 1 }
1131
1132DocsDevEvControlEntry ::= SEQUENCE {
1133            docsDevEvPriority        INTEGER,
1134            docsDevEvReporting       BITS
1135        }
1136
1137docsDevEvPriority OBJECT-TYPE
1138        SYNTAX INTEGER {
1139            emergency(1),
1140            alert(2),
1141            critical(3),
1142            error(4),
1143            warning(5),
1144            notice(6),
1145            information(7),
1146            debug(8)
1147        }
1148        MAX-ACCESS  not-accessible
1149        STATUS      current
1150        DESCRIPTION
1151            "The priority level that is controlled by this
1152             entry.  These are ordered from most (emergency) to least
1153             (debug) critical.  Each event with a CM or CMTS has a
1154             particular priority level associated with it (as defined
1155             by the vendor).
1156
1157             emergency(1) events indicate vendor-specific fatal
1158             hardware or software errors that prevent normal system
1159             operation.
1160
1161
1162
1163
1164             alert(2) events indicate a serious failure that causes
1165             the reporting system to reboot but is not caused by
1166             hardware or software malfunctioning.
1167
1168             critical(3) events indicate a serious failure that
1169             requires attention and prevents the device from
1170             transmitting data but that could be recovered without
1171             rebooting the system.
1172
1173             error(4) and warning(5) events indicate that a failure
1174             occurred that could interrupt the normal data flow but
1175             that does not cause the device to re-register.
1176
1177             notice(6) and information(7) events indicate a
1178             milestone or checkpoint in normal operation that could
1179             be of particular importance for troubleshooting.
1180
1181             debug(8) events are reserved for vendor-specific
1182             events.
1183
1184             During normal operation, no event more
1185             critical than notice(6) should be generated.  Events
1186             between warning and emergency should be generated at
1187             appropriate levels of problems (e.g., emergency when the
1188             box is about to crash)."
1189        ::= { docsDevEvControlEntry 1 }
1190
1191docsDevEvReporting OBJECT-TYPE
1192        SYNTAX BITS {
1193            local(0),
1194            traps(1),
1195            syslog(2),
1196            -- The following are extensions to the original set of
1197            -- labels.  The extensions start at an octet boundary.
1198            -- So for bits 3 - 7, one MUST set them to zero on send
1199            -- and one MUST ignore them on receipt.
1200            localVolatile(8),
1201            stdInterface(9)
1202        }
1203        MAX-ACCESS  read-write
1204        STATUS      current
1205        DESCRIPTION
1206            "Defines the action to be taken on occurrence of this
1207             event class.  Implementations may not necessarily
1208             support all options for all event classes but at
1209             minimum must allow traps and syslogging to be
1210             disabled.
1211
1212
1213
1214
1215             If the local(0) bit is set, then log to the internal
1216             log and update non-volatile store, for backward
1217             compatibility with the original RFC 2669 definition.
1218             If the traps(1) bit is set, then generate
1219             an SNMP trap; if the syslog(2) bit is set, then
1220             send a syslog message (assuming that the syslog address
1221             is set).  If the localVolatile(8) bit is set, then
1222             log to the internal log without updating non-volatile
1223             store.  If the stdInterface(9) bit is set, then the
1224             agent ignores all other bits except the local(0),
1225             syslog(2), and localVolatile(8) bits.  Setting the
1226             stdInterface(9) bit indicates that RFC3413 and
1227             RFC3014 are being used to control event reporting
1228             mechanisms."
1229        ::= { docsDevEvControlEntry 2 }
1230
1231docsDevEventTable OBJECT-TYPE
1232        SYNTAX      SEQUENCE OF DocsDevEventEntry
1233        MAX-ACCESS  not-accessible
1234        STATUS      current
1235        DESCRIPTION
1236            "Contains a log of network and device events that may be
1237             of interest in fault isolation and troubleshooting.
1238             If the local(0) bit is set in docsDevEvReporting,
1239             entries in this table MUST persist across reboots."
1240        ::= {  docsDevEvent 8 }
1241
1242docsDevEventEntry OBJECT-TYPE
1243        SYNTAX      DocsDevEventEntry
1244        MAX-ACCESS  not-accessible
1245        STATUS      current
1246        DESCRIPTION
1247            "Describes a network or device event that may be of
1248             interest in fault isolation and troubleshooting.
1249             Multiple sequential identical events are represented by
1250             incrementing docsDevEvCounts and setting
1251             docsDevEvLastTime to the current time rather than
1252             creating multiple rows.
1253
1254             Entries are created with the first occurrence of an
1255             event.  docsDevEvControl can be used to clear the
1256             table.  Individual events cannot be deleted."
1257        INDEX { docsDevEvIndex }
1258        ::= { docsDevEventTable 1 }
1259
1260DocsDevEventEntry ::= SEQUENCE {
1261            docsDevEvIndex           Integer32,
1262            docsDevEvFirstTime       DateAndTime,
1263
1264
1265
1266            docsDevEvLastTime        DateAndTime,
1267            docsDevEvCounts          Counter32,
1268            docsDevEvLevel           INTEGER,
1269            docsDevEvId              Unsigned32,
1270            docsDevEvText            SnmpAdminString
1271        }
1272
1273docsDevEvIndex OBJECT-TYPE
1274        SYNTAX      Integer32 (1..2147483647)
1275        MAX-ACCESS  not-accessible
1276        STATUS      current
1277        DESCRIPTION
1278            "Provides relative ordering of the objects in the event
1279             log.  This object will always increase except when
1280             (a) the log is reset via docsDevEvControl,
1281             (b) the device reboots and does not implement
1282             non-volatile storage for this log, or (c) it reaches
1283             the value 2^31.  The next entry for all the above
1284             cases is 1."
1285        ::= { docsDevEventEntry 1 }
1286
1287docsDevEvFirstTime OBJECT-TYPE
1288        SYNTAX      DateAndTime
1289        MAX-ACCESS  read-only
1290        STATUS      current
1291        DESCRIPTION
1292            "The value of docsDevDateTime at the time this entry was
1293             created."
1294        ::= { docsDevEventEntry 2 }
1295
1296docsDevEvLastTime OBJECT-TYPE
1297        SYNTAX      DateAndTime
1298        MAX-ACCESS  read-only
1299        STATUS      current
1300        DESCRIPTION
1301            "When an entry reports only one event, this object will
1302             have the same value as the corresponding instance of
1303             docsDevEvFirstTime.  When an entry reports multiple
1304             events, this object will record the value that
1305             docsDevDateTime had when the most recent event for this
1306             entry occurred."
1307        ::= { docsDevEventEntry 3 }
1308
1309-- This object was renamed from docsDevEvCount to meet naming
1310-- requirements for Counter32
1311docsDevEvCounts OBJECT-TYPE
1312        SYNTAX      Counter32
1313        UNITS       "events"
1314
1315
1316
1317        MAX-ACCESS  read-only
1318        STATUS      current
1319        DESCRIPTION
1320            "The number of consecutive event instances reported by
1321             this entry.  This starts at 1 with the creation of this
1322             row and increments by 1 for each subsequent duplicate
1323             event."
1324        ::= { docsDevEventEntry 4 }
1325docsDevEvLevel OBJECT-TYPE
1326        SYNTAX INTEGER {
1327            emergency(1),
1328            alert(2),
1329            critical(3),
1330            error(4),
1331            warning(5),
1332            notice(6),
1333            information(7),
1334            debug(8)
1335        }
1336        MAX-ACCESS  read-only
1337        STATUS      current
1338        DESCRIPTION
1339            "The priority level of this event, as defined by the
1340             vendor.  These are ordered from most serious (emergency)
1341             to least serious (debug).
1342
1343             emergency(1) events indicate vendor-specific fatal
1344             hardware or software errors that prevent normal system
1345             operation.
1346
1347             alert(2) events indicate a serious failure that causes
1348             the reporting system to reboot but that is not caused by
1349             hardware or software malfunctioning.
1350
1351             critical(3) events indicate a serious failure that
1352             requires attention and prevents the device from
1353             transmitting data but that could be recovered without
1354             rebooting the system.
1355
1356             error(4) and warning(5) events indicate that a failure
1357             occurred that could interrupt the normal data flow but
1358             that does not cause the device to re-register.
1359
1360             notice(6) and information(7) events indicate a
1361             milestone or checkpoint in normal operation that could
1362             be of particular importance for troubleshooting.
1363
1364             debug(8) events are reserved for vendor-specific
1365
1366
1367
1368             events.
1369
1370             During normal operation, no event more
1371             critical than notice(6) should be generated.  Events
1372             between warning and emergency should be generated at
1373             appropriate levels of problems (e.g., emergency when the
1374             box is about to crash)."
1375        ::= { docsDevEventEntry 5 }
1376
1377--
1378-- It is strongly recommended that implementors follow the CableLabs
1379-- enumerations for docsDevEvId, per the DOCSIS OSSIv1.1 spec
1380-- and follow-on specifications.
1381--
1382
1383docsDevEvId OBJECT-TYPE
1384        SYNTAX      Unsigned32
1385        MAX-ACCESS  read-only
1386        STATUS      current
1387        DESCRIPTION
1388            "For this product, uniquely identifies the type of event
1389             that is reported by this entry."
1390        REFERENCE
1391            "DOCSIS OSSI 1.1 Specification, Appendix H and
1392             DOCSIS OSSI 2.0 Specification, Annex D."
1393        ::= { docsDevEventEntry 6 }
1394
1395docsDevEvText OBJECT-TYPE
1396        SYNTAX      SnmpAdminString
1397        MAX-ACCESS  read-only
1398        STATUS      current
1399        DESCRIPTION
1400            "Provides a human-readable description of the event,
1401             including all relevant context (interface numbers,
1402             etc.)."
1403        ::= { docsDevEventEntry 7 }
1404
1405docsDevEvSyslogAddressType OBJECT-TYPE
1406        SYNTAX      InetAddressType
1407        MAX-ACCESS  read-write
1408        STATUS      current
1409        DESCRIPTION
1410            "The type of address of docsDevEvSyslogAddress.  If
1411             no syslog server exists, this value should return
1412             unknown(0)."
1413        DEFVAL { unknown }
1414        ::= { docsDevEvent 9 }
1415
1416
1417
1418
1419docsDevEvSyslogAddress OBJECT-TYPE
1420        SYNTAX      InetAddress
1421        MAX-ACCESS  read-write
1422        STATUS      current
1423        DESCRIPTION
1424            "The Internet address of the Syslog server, as provided
1425             by DHCP option 7 or set via SNMP management.  If the
1426             address of the server is set to the zero-length
1427             string, the 0.0.0.0 IPv4 address, or the 0: IPv6
1428             address, Syslog transmission is inhibited.
1429
1430             Note that if multiple values are provided to the CM in
1431             DHCP option 7, the value of this MIB object MUST be the
1432             first Syslog server address received.
1433
1434             By default at agent boot, this object returns the zero
1435             length string."
1436        ::= { docsDevEvent 10 }
1437
1438docsDevEvThrottleThresholdExceeded OBJECT-TYPE
1439        SYNTAX TruthValue
1440        MAX-ACCESS read-only
1441        STATUS current
1442        DESCRIPTION
1443            "If true(1), trap and syslog transmission is currently
1444             inhibited due to exceeding the trap/syslog event
1445             threshold in the current interval."
1446        ::= { docsDevEvent 11 }
1447
1448--
1449-- Link Level Control Filtering
1450--
1451
1452docsDevFilter OBJECT IDENTIFIER ::= { docsDevMIBObjects 6 }
1453
1454docsDevFilterLLCUnmatchedAction OBJECT-TYPE
1455        SYNTAX INTEGER {
1456            discard(1),
1457            accept(2)
1458        }
1459        MAX-ACCESS  read-write
1460        STATUS      current
1461        DESCRIPTION
1462            "LLC (Link Level Control) filters can be defined on an
1463             inclusive or exclusive basis: CMs can be configured to
1464             forward only packets matching a set of layer three
1465             protocols, or to drop packets matching a set of layer
1466             three protocols.  Typical use of these filters is to
1467
1468
1469
1470             filter out possibly harmful (given the context of a
1471             large metropolitan LAN) protocols.
1472
1473             If set to discard(1), any L2 packet that does not match
1474             at least one filter in the docsDevFilterLLCTable will be
1475             discarded.  If set to accept(2), any L2 packet that
1476             does not match at least one filter in the
1477             docsDevFilterLLCTable will be accepted for further
1478             processing (e.g., bridging).  In other words, if the
1479             packet does not match an entry in the table, it takes
1480             this action; if it does match an entry in the table, it
1481             takes the opposite of this action."
1482        DEFVAL { accept }
1483        ::= { docsDevFilter 1 }
1484
1485docsDevFilterLLCTable OBJECT-TYPE
1486        SYNTAX      SEQUENCE OF DocsDevFilterLLCEntry
1487        MAX-ACCESS  not-accessible
1488        STATUS      current
1489        DESCRIPTION
1490            "A list of filters to apply to (bridged) LLC
1491             traffic.  The filters in this table are applied to
1492             incoming traffic on the appropriate interface(s)  prior
1493             to any further processing (e.g., before the packet
1494             is handed off for level 3 processing, or for bridging).
1495             The specific action taken when no filter is matched is
1496             controlled by docsDevFilterLLCUnmatchedAction.  Table
1497             entries MUST NOT persist across reboots for any device."
1498        ::= { docsDevFilter 2 }
1499
1500docsDevFilterLLCEntry OBJECT-TYPE
1501        SYNTAX      DocsDevFilterLLCEntry
1502        MAX-ACCESS  not-accessible
1503        STATUS      current
1504        DESCRIPTION
1505            "Describes a single filter to apply to (bridged) LLC
1506             traffic received on a specified interface. "
1507        INDEX { docsDevFilterLLCIndex }
1508        ::= { docsDevFilterLLCTable 1 }
1509
1510DocsDevFilterLLCEntry ::= SEQUENCE {
1511            docsDevFilterLLCIndex               Integer32,
1512            docsDevFilterLLCStatus              RowStatus,
1513            docsDevFilterLLCIfIndex             InterfaceIndexOrZero,
1514            docsDevFilterLLCProtocolType        INTEGER,
1515            docsDevFilterLLCProtocol            Integer32,
1516            docsDevFilterLLCMatches             Counter32
1517        }
1518
1519
1520
1521docsDevFilterLLCIndex OBJECT-TYPE
1522        SYNTAX      Integer32 (1..2147483647)
1523        MAX-ACCESS  not-accessible
1524        STATUS      current
1525        DESCRIPTION
1526            "Index used for the identification of filters (note that
1527             LLC filter order is irrelevant)."
1528        ::= { docsDevFilterLLCEntry 1 }
1529docsDevFilterLLCStatus OBJECT-TYPE
1530        SYNTAX      RowStatus
1531        MAX-ACCESS  read-create
1532        STATUS      current
1533        DESCRIPTION
1534            "Controls and reflects the status of rows in this
1535             table.  There is no restriction on changing any of the
1536             associated columns for this row while this object is set
1537             to active.
1538
1539             Specifying only this object (with the
1540             appropriate index) on a CM is sufficient to create a
1541             filter row that matches all inbound packets on the
1542             ethernet interface and results in the packets being
1543             discarded.  docsDevFilterLLCIfIndex (at least) must be
1544             specified on a CMTS to create a row."
1545        ::= { docsDevFilterLLCEntry 2}
1546
1547docsDevFilterLLCIfIndex OBJECT-TYPE
1548        SYNTAX      InterfaceIndexOrZero
1549        MAX-ACCESS  read-create
1550        STATUS      current
1551        DESCRIPTION
1552            "The entry interface to which this filter applies.  The
1553             value corresponds to ifIndex for either a CATV MAC or
1554             another network interface.  If the value is zero, the
1555             filter applies to all interfaces.  In Cable Modems, the
1556             default value is the customer side interface(s).  In
1557             CMTSs, this object has to be specified to
1558             create a row in this table.
1559
1560             Note that according to the DOCSIS OSSIv1.1
1561             specification, ifIndex '1' in the CM means that this
1562             row applies to all Cable Modem-to-CPE Interfaces
1563             (CMCI)."
1564        REFERENCE
1565            "DOCSIS OSSI 1.1 Specification, Section 3.3.4.1. and
1566             DOCSIS OSSI 2.0 Specification, Section 6.3.4.1."
1567        ::= { docsDevFilterLLCEntry 3 }
1568
1569
1570
1571
1572docsDevFilterLLCProtocolType OBJECT-TYPE
1573        SYNTAX INTEGER {
1574            ethertype(1),
1575            dsap(2)
1576        }
1577        MAX-ACCESS  read-create
1578        STATUS      current
1579        DESCRIPTION
1580            "The format of the value in docsDevFilterLLCProtocol:
1581             either a two-byte Ethernet Ethertype, or a one-byte
1582             802.2 Service Access Point (SAP) value.  ethertype(1)
1583             also applies to Standard Network Access Protocol
1584             (SNAP) encapsulated frames."
1585        DEFVAL { ethertype }
1586        ::= { docsDevFilterLLCEntry 4 }
1587
1588docsDevFilterLLCProtocol OBJECT-TYPE
1589        SYNTAX      Integer32 (0..65535)
1590        MAX-ACCESS  read-create
1591        STATUS      current
1592        DESCRIPTION
1593            "The layer-three protocol for which this filter applies.
1594             The protocol value format depends on
1595             docsDevFilterLLCProtocolType.  Note that for SNAP
1596             frames, ethertype filtering is performed rather than
1597             Destination Service Access Point (DSAP) =0xAA."
1598        DEFVAL { 0 }
1599        ::= { docsDevFilterLLCEntry 5 }
1600
1601docsDevFilterLLCMatches OBJECT-TYPE
1602        SYNTAX      Counter32
1603        UNITS       "matches"
1604        MAX-ACCESS  read-only
1605        STATUS      current
1606        DESCRIPTION
1607            "Counts the number of times this filter was matched."
1608        ::= { docsDevFilterLLCEntry 6 }
1609
1610--
1611-- IPv4 Filtering
1612--
1613
1614docsDevFilterIpDefault OBJECT-TYPE
1615        SYNTAX INTEGER {
1616            discard(1),
1617            accept(2)
1618        }
1619        MAX-ACCESS  read-write
1620
1621
1622
1623        STATUS      deprecated
1624        DESCRIPTION
1625            "The default behavior for (bridged) packets that do not
1626             match IP filters (or Internet filters, if implemented)
1627             is defined by docsDevFilterIpDefault.
1628
1629             If set to discard(1), all packets not matching an IP
1630             filter in docsDevFilterIpTable will be discarded.  If
1631             set to accept(2), all packets not matching an IP filter
1632             or an Internet filter will be accepted for further
1633             processing (e.g., bridging)."
1634        DEFVAL { accept }
1635        ::= { docsDevFilter 3 }
1636
1637docsDevFilterIpTable OBJECT-TYPE
1638        SYNTAX      SEQUENCE OF DocsDevFilterIpEntry
1639        MAX-ACCESS  not-accessible
1640        STATUS      deprecated
1641        DESCRIPTION
1642            "An ordered list of filters or classifiers to apply to
1643             IP traffic.  Filter application is ordered by the filter
1644             index, rather than by a best match algorithm (note that
1645             this implies that the filter table may have gaps in the
1646             index values).  Packets that match no filters will have
1647             policy 0 in the docsDevFilterPolicyTable applied to
1648             them, if it exists.  Otherwise, Packets that match no
1649             filters are discarded or forwarded according to the
1650             setting of docsDevFilterIpDefault.
1651
1652             Any IP packet can theoretically match multiple rows of
1653             this table.  When considering a packet, the table is
1654             scanned in row index order (e.g., filter 10 is checked
1655             before filter 20).  If the packet matches that filter
1656             (which means that it matches ALL criteria for that row),
1657             actions appropriate to docsDevFilterIpControl and
1658             docsDevFilterPolicyId are taken.  If the packet was
1659             discarded processing is complete.  If
1660             docsDevFilterIpContinue is set to true, the filter
1661             comparison continues with the next row in the table,
1662             looking for additional matches.
1663
1664             If the packet matches no filter in the table, the packet
1665             is accepted or dropped for further processing
1666             according to the setting of docsDevFilterIpDefault.
1667             If the packet is accepted, the actions specified by
1668             policy group 0 (e.g., the rows in
1669             docsDevFilterPolicyTable that have a value of 0 for
1670             docsDevFilterPolicyId) are taken, if that policy
1671
1672
1673
1674             group exists.
1675
1676             Logically, this table is consulted twice during the
1677             processing of any IP packet: once upon its acceptance
1678             from the L2 entity, and once upon its transmission to
1679             the L2 entity.  In actuality, for cable modems, IP
1680             filtering is generally the only IP processing done for
1681             transit traffic.  This means that inbound and outbound
1682             filtering can generally be done at the same time with
1683             one pass through the filter table.
1684
1685             The objects in this table are only accessible from cable
1686             devices that are not operating in DiffServ MIB mode
1687             (RFC 3289).  See the conformance section for details.
1688
1689             Note that some devices are required by other
1690             specifications (e.g., the DOCSIS OSSIv1.1 specification)
1691             to support the legacy SNMPv1/v2c docsDevFilter mode
1692             for backward compatibility.
1693
1694             Table entries MUST NOT persist across reboots for any
1695             device.
1696
1697             This table is deprecated.  Instead, use the DiffServ MIB
1698             from RFC 3289."
1699        ::= { docsDevFilter 4 }
1700
1701docsDevFilterIpEntry OBJECT-TYPE
1702        SYNTAX      DocsDevFilterIpEntry
1703        MAX-ACCESS  not-accessible
1704        STATUS      deprecated
1705        DESCRIPTION
1706            "Describes a filter to apply to IP traffic received on a
1707             specified interface.  All identity objects in this table
1708             (e.g., source and destination address/mask, protocol,
1709             source/dest port, TOS/mask, interface and direction)
1710             must match their respective fields in the packet for
1711             any given filter to match.
1712
1713             To create an entry in this table, docsDevFilterIpIfIndex
1714             must be specified."
1715        INDEX { docsDevFilterIpIndex }
1716        ::= { docsDevFilterIpTable 1 }
1717
1718DocsDevFilterIpEntry ::= SEQUENCE {
1719            docsDevFilterIpIndex             Integer32,
1720            docsDevFilterIpStatus            RowStatus,
1721            docsDevFilterIpControl           INTEGER,
1722
1723
1724
1725            docsDevFilterIpIfIndex           InterfaceIndexOrZero,
1726            docsDevFilterIpDirection         INTEGER,
1727            docsDevFilterIpBroadcast         TruthValue,
1728            docsDevFilterIpSaddr             IpAddress,
1729            docsDevFilterIpSmask             IpAddress,
1730            docsDevFilterIpDaddr             IpAddress,
1731            docsDevFilterIpDmask             IpAddress,
1732            docsDevFilterIpProtocol          Integer32,
1733            docsDevFilterIpSourcePortLow     Integer32,
1734            docsDevFilterIpSourcePortHigh    Integer32,
1735            docsDevFilterIpDestPortLow       Integer32,
1736            docsDevFilterIpDestPortHigh      Integer32,
1737            docsDevFilterIpMatches           ZeroBasedCounter32,
1738            docsDevFilterIpTos               OCTET STRING,
1739            docsDevFilterIpTosMask           OCTET STRING,
1740            docsDevFilterIpContinue          TruthValue,
1741            docsDevFilterIpPolicyId          Integer32
1742        }
1743
1744docsDevFilterIpIndex OBJECT-TYPE
1745        SYNTAX      Integer32 (1..2147483647)
1746        MAX-ACCESS  not-accessible
1747        STATUS      deprecated
1748        DESCRIPTION
1749            "Index used to order the application of filters.
1750             The filter with the lowest index is always applied
1751             first."
1752        ::= { docsDevFilterIpEntry 1 }
1753
1754docsDevFilterIpStatus OBJECT-TYPE
1755        SYNTAX      RowStatus
1756        MAX-ACCESS  read-create
1757        STATUS      deprecated
1758        DESCRIPTION
1759            "Controls and reflects the status of rows in this
1760             table.  Specifying only this object (with the
1761             appropriate index) on a CM is sufficient to create a
1762             filter row that matches all inbound packets on the
1763             ethernet interface and results in the packets being
1764             discarded.  docsDevFilterIpIfIndex (at least) must be
1765             specified on a CMTS to create a row.  Creation of the
1766             rows may be done via either create-and-wait or
1767             create-and-go, but the filter is not applied until this
1768             object is set to (or changes to) active.  There is no
1769             restriction in changing any object in a row while this
1770             object is set to active."
1771        ::= { docsDevFilterIpEntry 2 }
1772
1773
1774
1775
1776docsDevFilterIpControl OBJECT-TYPE
1777        SYNTAX INTEGER {
1778            discard(1),
1779            accept(2),
1780            policy(3)
1781        }
1782        MAX-ACCESS  read-create
1783        STATUS      deprecated
1784        DESCRIPTION
1785            "If set to discard(1), all packets matching this filter
1786             will be discarded, and scanning of the remainder of the
1787             filter list will be aborted.  If set to accept(2), all
1788             packets matching this filter will be accepted for
1789             further processing (e.g., bridging).  If
1790             docsDevFilterIpContinue is set to true, see if there
1791             are other matches; otherwise, done.  If set to
1792             policy (3), execute the policy entries
1793             matched by docsDevFilterIpPolicyId in
1794             docsDevFilterPolicyTable.
1795
1796             If docsDevFilterIpContinue is set to true, continue
1797             scanning the table for other matches; otherwise, done."
1798        DEFVAL { discard }
1799        ::= { docsDevFilterIpEntry 3 }
1800
1801docsDevFilterIpIfIndex OBJECT-TYPE
1802        SYNTAX      InterfaceIndexOrZero
1803        MAX-ACCESS  read-create
1804        STATUS      deprecated
1805        DESCRIPTION
1806            "The entry interface to which this filter applies.  The
1807             value corresponds to ifIndex for either a CATV MAC or
1808             another interface.  If the value is zero, the
1809             filter applies to all interfaces.  Default value in CMs
1810             is the index of the customer-side (e.g., ethernet)
1811             interface(s).  In CMTSes, this object MUST be
1812             specified to create a row in this table.
1813
1814             Note that according to the DOCSIS OSSIv1.1
1815             specification, ifIndex '1' in the Cable Modem means
1816             that this row applies to all CMCI (customer-facing)
1817             interfaces."
1818        REFERENCE
1819            "DOCSIS OSSI 1.1 Specification, Section 3.3.4.1. and
1820             DOCSIS OSSI 2.0 Specification, Section 6.3.4.1."
1821        ::= { docsDevFilterIpEntry 4 }
1822
1823docsDevFilterIpDirection OBJECT-TYPE
1824
1825
1826
1827        SYNTAX INTEGER {
1828            inbound(1),
1829            outbound(2),
1830            both(3)
1831        }
1832        MAX-ACCESS  read-create
1833        STATUS      deprecated
1834        DESCRIPTION
1835            "Determines whether the filter is applied to inbound(1)
1836             traffic, outbound(2) traffic, or traffic in both(3)
1837             directions."
1838        DEFVAL { inbound }
1839        ::= { docsDevFilterIpEntry 5 }
1840
1841docsDevFilterIpBroadcast OBJECT-TYPE
1842        SYNTAX      TruthValue
1843        MAX-ACCESS  read-create
1844        STATUS      deprecated
1845        DESCRIPTION
1846            "If set to true(1), the filter only applies to multicast
1847             and broadcast traffic.  If set to false(2), the filter
1848             applies to all traffic."
1849        DEFVAL { false }
1850        ::= { docsDevFilterIpEntry 6 }
1851
1852docsDevFilterIpSaddr OBJECT-TYPE
1853        SYNTAX      IpAddress
1854        MAX-ACCESS  read-create
1855        STATUS      deprecated
1856        DESCRIPTION
1857            "The source IP address, or portion thereof, that is to be
1858             matched for this filter.  The source address is first
1859             masked (ANDed) against docsDevFilterIpSmask before
1860             being compared to this value.  A value of 0 for this
1861             object and 0 for the mask matches all IP addresses."
1862        DEFVAL { '00000000'h }
1863        ::= { docsDevFilterIpEntry 7 }
1864
1865docsDevFilterIpSmask OBJECT-TYPE
1866        SYNTAX      IpAddress
1867        MAX-ACCESS  read-create
1868        STATUS      deprecated
1869        DESCRIPTION
1870            "A bit mask that is to be applied to the source address
1871             prior to matching.  This mask is not necessarily the
1872             same as a subnet mask, but 1s bits must be leftmost and
1873             contiguous."
1874        DEFVAL { '00000000'h }
1875
1876
1877
1878        ::= { docsDevFilterIpEntry 8 }
1879
1880docsDevFilterIpDaddr OBJECT-TYPE
1881        SYNTAX      IpAddress
1882        MAX-ACCESS  read-create
1883        STATUS      deprecated
1884        DESCRIPTION
1885            "The destination IP address, or portion thereof, that is
1886             to be matched for this filter.  The destination address
1887             is first masked (ANDed) against docsDevFilterIpDmask
1888             before being compared to this value.  A value of
1889             00000000 for this object and 00000000 for the mask
1890             matches all IP addresses."
1891        DEFVAL { '00000000'h }
1892        ::= { docsDevFilterIpEntry 9 }
1893
1894docsDevFilterIpDmask OBJECT-TYPE
1895        SYNTAX      IpAddress
1896        MAX-ACCESS  read-create
1897        STATUS      deprecated
1898        DESCRIPTION
1899            "A bit mask that is to be applied to the destination
1900             address prior to matching.  This mask is not necessarily
1901             the same as a subnet mask, but 1s bits MUST be leftmost
1902             and contiguous."
1903        DEFVAL { '00000000'h }
1904        ::= { docsDevFilterIpEntry 10 }
1905
1906docsDevFilterIpProtocol OBJECT-TYPE
1907        SYNTAX Integer32 (0..256)
1908        MAX-ACCESS  read-create
1909        STATUS      deprecated
1910        DESCRIPTION
1911            "The IP protocol value that is to be matched.  For
1912             example, icmp is 1, tcp is 6, and udp is 17.  A value of
1913             256 matches ANY protocol."
1914        REFERENCE "www.iana.org/assignments/protocol-numbers"
1915        DEFVAL { 256 }
1916        ::= { docsDevFilterIpEntry 11 }
1917
1918docsDevFilterIpSourcePortLow OBJECT-TYPE
1919        SYNTAX      Integer32 (0..65535)
1920        MAX-ACCESS  read-create
1921        STATUS      deprecated
1922        DESCRIPTION
1923            "This is the inclusive lower bound of the transport-layer
1924             source port range that is to be matched.  If the IP
1925             protocol of the packet is neither UDP nor TCP, this
1926
1927
1928
1929             object is ignored during matching."
1930        REFERENCE "www.iana.org/assignments/port-numbers"
1931        DEFVAL { 0 }
1932        ::= { docsDevFilterIpEntry 12 }
1933
1934docsDevFilterIpSourcePortHigh OBJECT-TYPE
1935        SYNTAX      Integer32 (0..65535)
1936        MAX-ACCESS  read-create
1937        STATUS      deprecated
1938        DESCRIPTION
1939            "This is the inclusive upper bound of the transport-layer
1940             source port range that is to be matched.  If the IP
1941             protocol of the packet is neither UDP nor TCP, this
1942             object is ignored during matching."
1943        REFERENCE "www.iana.org/assignments/port-numbers"
1944        DEFVAL { 65535 }
1945        ::= { docsDevFilterIpEntry 13 }
1946
1947docsDevFilterIpDestPortLow OBJECT-TYPE
1948        SYNTAX      Integer32 (0..65535)
1949        MAX-ACCESS  read-create
1950        STATUS      deprecated
1951        DESCRIPTION
1952            "This is the inclusive lower bound of the transport-layer
1953             destination port range that is to be matched.  If the IP
1954             protocol of the packet is neither UDP nor TCP, this
1955             object is ignored during matching."
1956        REFERENCE "www.iana.org/assignments/port-numbers"
1957        DEFVAL { 0 }
1958        ::= { docsDevFilterIpEntry 14 }
1959
1960docsDevFilterIpDestPortHigh OBJECT-TYPE
1961        SYNTAX      Integer32 (0..65535)
1962        MAX-ACCESS  read-create
1963        STATUS      deprecated
1964        DESCRIPTION
1965            "This is the inclusive upper bound of the transport-layer
1966             destination port range that is to be matched.  If the IP
1967             protocol of the packet is neither UDP nor TCP, this
1968             object is ignored during matching."
1969        REFERENCE "www.iana.org/assignments/port-numbers"
1970        DEFVAL { 65535 }
1971        ::= { docsDevFilterIpEntry 15 }
1972
1973docsDevFilterIpMatches OBJECT-TYPE
1974        SYNTAX      ZeroBasedCounter32
1975        UNITS       "matches"
1976        MAX-ACCESS  read-only
1977
1978
1979
1980        STATUS      deprecated
1981        DESCRIPTION
1982            "Counts the number of times this filter was matched.
1983             This object is initialized to 0 at boot, or at row
1984             creation, and is reset only upon reboot."
1985        ::= { docsDevFilterIpEntry 16 }
1986
1987docsDevFilterIpTos  OBJECT-TYPE
1988        SYNTAX      OCTET STRING (SIZE (1))
1989        MAX-ACCESS  read-create
1990        STATUS      deprecated
1991        DESCRIPTION
1992            "This is the value to be matched to the packet's
1993             TOS (Type of Service) value (after the TOS value
1994             is ANDed with docsDevFilterIpTosMask).  A value for this
1995             object of 0 and a mask of 0 matches all TOS values."
1996        DEFVAL { '00'h }
1997        ::= { docsDevFilterIpEntry 17 }
1998
1999docsDevFilterIpTosMask OBJECT-TYPE
2000        SYNTAX      OCTET STRING (SIZE (1))
2001        MAX-ACCESS  read-create
2002        STATUS      deprecated
2003        DESCRIPTION
2004            "The mask to be applied to the packet's TOS value before
2005             matching."
2006        DEFVAL { '00'h }
2007        ::= { docsDevFilterIpEntry 18 }
2008
2009docsDevFilterIpContinue OBJECT-TYPE
2010        SYNTAX      TruthValue
2011        MAX-ACCESS  read-create
2012        STATUS      deprecated
2013        DESCRIPTION
2014            "If this value is set to true and docsDevFilterIpControl
2015             is anything but discard (1), continue scanning and
2016             applying policies.  See Section 3.3.3 for more
2017             details."
2018        DEFVAL { false }
2019        ::= { docsDevFilterIpEntry 19 }
2020
2021docsDevFilterIpPolicyId OBJECT-TYPE
2022        SYNTAX      Integer32 (0..2147483647)
2023        MAX-ACCESS  read-create
2024        STATUS      deprecated
2025        DESCRIPTION
2026            "This object points to an entry in
2027             docsDevFilterPolicyTable.  If docsDevFilterIpControl
2028
2029
2030
2031             is set to policy (3), execute all matching policies
2032             in docsDevFilterPolicyTable.  If no matching policy
2033             exists, treat as if docsDevFilterIpControl were set
2034             to accept (1).  If this object is set to the value of
2035             0, there is no matching policy, and
2036             docsDevFilterPolicyTable MUST NOT be consulted."
2037        DEFVAL { 0 }
2038        ::= { docsDevFilterIpEntry 20 }
2039
2040--
2041-- Policy Mapping Table
2042--
2043
2044docsDevFilterPolicyTable OBJECT-TYPE
2045        SYNTAX      SEQUENCE OF DocsDevFilterPolicyEntry
2046        MAX-ACCESS  not-accessible
2047        STATUS      deprecated
2048        DESCRIPTION
2049            "A Table that maps between a policy group ID and a set
2050             of pointers to policies to be applied.  All rows with
2051             the same docsDevFilterPolicyId are part of the same
2052             group of policy pointers and are applied in the order
2053             in this table.  docsDevFilterPolicyTable exists to
2054             allow multiple policy actions (referenced by policy
2055             pointers) to be applied to any given classified packet.
2056             The policy actions are applied in index order.
2057             For example:
2058
2059             Index   ID    Type    Action
2060              1      1      TOS     1
2061              9      5      TOS     1
2062              12     1      IPSEC   3
2063
2064             This says that a packet that matches a filter with
2065             policy id 1 first has TOS policy 1 applied (which might
2066             set the TOS bits to enable a higher priority) and next
2067             has the IPSEC policy 3 applied (which may result in the
2068             packets being dumped into a secure VPN to a remote
2069             encryptor).
2070
2071             Policy ID 0 is reserved for default actions and is
2072             applied only to packets that match no filters in
2073             docsDevFilterIpTable.
2074
2075             Table entries MUST NOT persist across reboots for any
2076             device.
2077
2078             This table is deprecated.  Instead, use the DiffServ MIB
2079
2080
2081
2082             from RFC 3289."
2083        ::= { docsDevFilter 5 }
2084
2085docsDevFilterPolicyEntry OBJECT-TYPE
2086        SYNTAX      DocsDevFilterPolicyEntry
2087        MAX-ACCESS  not-accessible
2088        STATUS      deprecated
2089        DESCRIPTION
2090            "An entry in the docsDevFilterPolicyTable.  Entries are
2091             created by Network Management.  To create an entry,
2092             docsDevFilterPolicyId MUST be specified."
2093        INDEX { docsDevFilterPolicyIndex }
2094        ::= { docsDevFilterPolicyTable 1 }
2095
2096DocsDevFilterPolicyEntry ::= SEQUENCE {
2097            docsDevFilterPolicyIndex   Integer32,
2098            docsDevFilterPolicyId      Integer32,
2099--          docsDevFilterPolicyType    INTEGER,
2100--          docsDevFilterPolicyAction  Integer32,
2101            docsDevFilterPolicyStatus  RowStatus,
2102            docsDevFilterPolicyPtr     RowPointer
2103        }
2104
2105docsDevFilterPolicyIndex OBJECT-TYPE
2106        SYNTAX      Integer32 (1..2147483647)
2107        MAX-ACCESS  not-accessible
2108        STATUS      deprecated
2109        DESCRIPTION "Index value for the table."
2110        ::= { docsDevFilterPolicyEntry 1 }
2111
2112docsDevFilterPolicyId OBJECT-TYPE
2113        SYNTAX      Integer32 (0..2147483647)
2114        MAX-ACCESS  read-create
2115        STATUS      deprecated
2116        DESCRIPTION
2117            "Policy ID for this entry.  If a policy ID can apply to
2118             multiple rows of this table, all relevant policies are
2119             executed.  Policy 0 (if populated) is applied to all
2120             packets that do not match any of the filters.  N.B. If
2121             docsDevFilterIpPolicyId is set to 0, it DOES NOT match
2122             policy 0 of this table."
2123        ::= { docsDevFilterPolicyEntry 2 }
2124
2125-- The following two objects were removed and never used; however,
2126-- to preserve OID numbering, they are simply commented out to
2127-- to ensure that they are not used again.
2128-- docsDevFilterPolicyType ::= { docsDevFilterPolicyEntry 3 }
2129-- docsDevFilterPolicyAction ::= { docsDevFilterPolicyEntry 4 }
2130
2131
2132
2133docsDevFilterPolicyStatus OBJECT-TYPE
2134        SYNTAX      RowStatus
2135        MAX-ACCESS  read-create
2136        STATUS      deprecated
2137        DESCRIPTION
2138            "Object used to create an entry in this table.  There is
2139             no restriction in changing any object in a row while
2140             this object is set to active.
2141             The following object MUST have a valid value before this
2142             object can be set to active:  docsDevFilterPolicyPtr."
2143        ::= { docsDevFilterPolicyEntry 5 }
2144
2145docsDevFilterPolicyPtr OBJECT-TYPE
2146        SYNTAX      RowPointer
2147        MAX-ACCESS  read-create
2148        STATUS      deprecated
2149        DESCRIPTION
2150            "This object points to a row in an applicable filter
2151             policy table.  Currently, the only standard policy
2152             table is docsDevFilterTosTable.
2153
2154             Per the textual convention, this object points to the
2155             first accessible object in the row; e.g., to point to a
2156             row in docsDevFilterTosTable with an index of 21, the
2157             value of this object would be the object identifier
2158             docsDevTosStatus.21.
2159
2160             Vendors are recommended to adhere to the same convention
2161             when adding vendor-specific policy table extensions.
2162
2163             If this pointer references an empty or non-existent
2164             row, then no policy action is taken.
2165
2166             The default upon row creation is a null pointer that
2167             results in no policy action being taken."
2168        DEFVAL { zeroDotZero }
2169        ::= { docsDevFilterPolicyEntry 6 }
2170
2171--
2172-- TOS Policy action table
2173--
2174
2175docsDevFilterTosTable OBJECT-TYPE
2176        SYNTAX      SEQUENCE OF DocsDevFilterTosEntry
2177        MAX-ACCESS  not-accessible
2178        STATUS      deprecated
2179        DESCRIPTION
2180            "Table used to describe Type of Service (TOS) bits
2181
2182
2183
2184             processing.
2185
2186             This table is an adjunct to the docsDevFilterIpTable
2187             and the docsDevFilterPolicy table.  Entries in the
2188             latter table can point to specific rows in this (and
2189             other) tables and cause specific actions to be taken.
2190             This table permits the manipulation of the value of the
2191             Type of Service bits in the IP header of the matched
2192             packet as follows:
2193
2194             Set the tosBits of the packet to
2195                (tosBits & docsDevFilterTosAndMask) |
2196                docsDevFilterTosOrMask
2197
2198             This construct allows you to do a clear and set of all
2199             the TOS bits in a flexible manner.
2200
2201             Table entries MUST NOT persist across reboots for any
2202             device.
2203
2204             This table is deprecated.  Instead, use the DiffServ MIB
2205             from RFC 3289."
2206        ::= { docsDevFilter 6 }
2207
2208docsDevFilterTosEntry OBJECT-TYPE
2209        SYNTAX      DocsDevFilterTosEntry
2210        MAX-ACCESS  not-accessible
2211        STATUS      deprecated
2212        DESCRIPTION
2213            "A TOS policy entry."
2214        INDEX { docsDevFilterTosIndex }
2215        ::= { docsDevFilterTosTable 1 }
2216
2217DocsDevFilterTosEntry ::= SEQUENCE {
2218            docsDevFilterTosIndex   Integer32,
2219            docsDevFilterTosStatus  RowStatus,
2220            docsDevFilterTosAndMask OCTET STRING,
2221            docsDevFilterTosOrMask  OCTET STRING
2222        }
2223
2224docsDevFilterTosIndex OBJECT-TYPE
2225        SYNTAX      Integer32 (1..2147483647)
2226        MAX-ACCESS  not-accessible
2227        STATUS      deprecated
2228        DESCRIPTION
2229            "The unique index for this row.  There are no ordering
2230             requirements for this table, and any valid index may be
2231             specified."
2232
2233
2234
2235        ::= { docsDevFilterTosEntry 1 }
2236
2237docsDevFilterTosStatus OBJECT-TYPE
2238        SYNTAX      RowStatus
2239        MAX-ACCESS  read-create
2240        STATUS      deprecated
2241        DESCRIPTION
2242            "The object used to create and delete entries in this
2243             table.  A row created by specifying just this object
2244             results in a row that specifies no change to the TOS
2245             bits.  A row may be created using either the
2246             create-and-go or create-and-wait paradigms.  There is
2247             no restriction on the ability to change values in this
2248             row while the row is active."
2249        ::= { docsDevFilterTosEntry 2 }
2250
2251docsDevFilterTosAndMask OBJECT-TYPE
2252        SYNTAX      OCTET STRING (SIZE (1))
2253        MAX-ACCESS  read-create
2254        STATUS      deprecated
2255        DESCRIPTION
2256            "This value is bitwise ANDed with the matched packet's
2257             TOS bits."
2258        DEFVAL { 'ff'h }
2259        ::= { docsDevFilterTosEntry 3 }
2260
2261docsDevFilterTosOrMask OBJECT-TYPE
2262        SYNTAX      OCTET STRING (SIZE (1))
2263        MAX-ACCESS  read-create
2264        STATUS      deprecated
2265        DESCRIPTION
2266            "This value is bitwise ORed with the result from the
2267             AND procedure (tosBits & docsDevFilterTosAndMask).
2268             The result then replaces the packet's TOS bits."
2269        DEFVAL { '00'h }
2270        ::= { docsDevFilterTosEntry 4 }
2271
2272--
2273-- CPE IP Management and anti-spoofing group.  Only implemented on
2274-- Cable Modems.
2275--
2276
2277docsDevCpe OBJECT IDENTIFIER ::= { docsDevMIBObjects 7 }
2278
2279docsDevCpeEnroll OBJECT-TYPE
2280        SYNTAX      INTEGER {
2281            none(1),
2282            any(2)
2283
2284
2285
2286        }
2287        MAX-ACCESS  read-write
2288        STATUS      current
2289        DESCRIPTION
2290            "This object controls the population of
2291             docsDevFilterCpeTable.
2292             If set to none, the filters must be set manually
2293             by a network management action (either configuration
2294             or SNMP set).
2295             If set to any, the CM wiretaps the packets originating
2296             from the ethernet and enrolls up to docsDevCpeIpMax
2297             addresses as based on the source IPv4 or v6 addresses of
2298             those packets."
2299        DEFVAL { any }
2300        ::= { docsDevCpe 1 }
2301
2302docsDevCpeIpMax OBJECT-TYPE
2303        SYNTAX      Integer32 (-1..2147483647)
2304        MAX-ACCESS  read-write
2305        STATUS      current
2306        DESCRIPTION
2307            "This object controls the maximum number of CPEs allowed
2308             to be learned behind this device.  If set to zero, any
2309             number of CPEs may connect up to the maximum permitted
2310             for the device.
2311             If set to -1, no filtering is done on CPE source
2312             addresses, and no entries are made in the
2313             docsDevFilterCpeTable via learning.  If an attempt is
2314             made to set this to a number greater than that
2315             permitted for the device, it is set to that maximum."
2316        DEFVAL { -1 }
2317        ::= { docsDevCpe 2 }
2318
2319docsDevCpeTable OBJECT-TYPE
2320        SYNTAX      SEQUENCE OF DocsDevCpeEntry
2321        MAX-ACCESS  not-accessible
2322        STATUS      deprecated
2323        DESCRIPTION
2324            "This table lists the IPv4 addresses seen (or permitted)
2325             as source addresses in packets originating from the
2326             customer interface on this device.  In addition, this
2327             table can be provisioned with the specific addresses
2328             permitted for the CPEs via the normal row creation
2329             mechanisms.  Table entries MUST NOT persist across
2330             reboots for any device.
2331
2332             N.B.  Management action can add entries in this table
2333             and in docsDevCpeIpTable past the value of
2334
2335
2336
2337             docsDevCpeIpMax.  docsDevCpeIpMax ONLY restricts the
2338             ability of the CM to add learned addresses
2339             automatically.
2340
2341             This table is deprecated and is replaced by
2342             docsDevCpeInetTable."
2343        ::= { docsDevCpe 3 }
2344
2345docsDevCpeEntry OBJECT-TYPE
2346        SYNTAX      DocsDevCpeEntry
2347        MAX-ACCESS  not-accessible
2348        STATUS      deprecated
2349        DESCRIPTION
2350            "An entry in the docsDevFilterCpeTable.  There is one
2351             entry for each IPv4 CPE seen or provisioned.  If
2352             docsDevCpeIpMax is set to -1, this table is ignored;
2353             otherwise, upon receipt of an IP packet from the
2354             customer interface of the CM, the source IP address is
2355             checked against this table.  If the address is in the
2356             table, packet processing continues.  If the address is
2357             not in the table but docsDevCpeEnroll is set to any
2358             and the sum of the table sizes of docsDevCpeTable and
2359             docsDevCpeInetTable is less than docsDevCpeIpMax, the
2360             address is added to the table, and packet processing
2361             continues.  Otherwise, the packet is dropped.
2362
2363             The filtering actions specified by this table occur
2364             after any LLC filtering (docsDevFilterLLCTable), but
2365             prior to any IP filtering (docsDevFilterIpTable,
2366             docsDevNmAccessTable)."
2367        INDEX   { docsDevCpeIp }
2368        ::= {docsDevCpeTable 1 }
2369
2370DocsDevCpeEntry ::= SEQUENCE {
2371            docsDevCpeIp      IpAddress,
2372            docsDevCpeSource  INTEGER,
2373            docsDevCpeStatus  RowStatus
2374        }
2375
2376docsDevCpeIp OBJECT-TYPE
2377        SYNTAX      IpAddress
2378        MAX-ACCESS  not-accessible
2379        STATUS      deprecated
2380        DESCRIPTION
2381            "The IPv4 address to which this entry applies.
2382
2383             N.B.  Attempts to set all zeros or all ones address
2384             values MUST be rejected."
2385
2386
2387
2388        ::= { docsDevCpeEntry 1 }
2389
2390docsDevCpeSource OBJECT-TYPE
2391        SYNTAX      INTEGER {
2392            other(1),
2393            manual(2),
2394            learned(3)
2395        }
2396
2397        MAX-ACCESS  read-only
2398        STATUS      deprecated
2399        DESCRIPTION
2400            "This object describes how this entry was created.  If
2401             the value is manual(2), this row was created by a
2402             network management action (either configuration or
2403             SNMP set).  If set to learned(3), then it was found via
2404             looking at the source IPv4 address of a received packet.
2405             The value other(1) is used for any entries that do not
2406             meet manual(2) or learned(3) criteria."
2407        ::= { docsDevCpeEntry 2 }
2408
2409docsDevCpeStatus OBJECT-TYPE
2410        SYNTAX  RowStatus
2411        MAX-ACCESS  read-create
2412        STATUS  deprecated
2413        DESCRIPTION
2414            "Standard object to manipulate rows.  To create a row in
2415             this table, one only needs to specify this object.
2416             Management stations SHOULD use the create-and-go
2417             mechanism for creating rows in this table."
2418        ::= { docsDevCpeEntry 3 }
2419
2420--
2421-- Internet CPE Management and anti spoofing group, for support of
2422-- non-IPv4 CPEs.
2423--
2424
2425docsDevCpeInetTable OBJECT-TYPE
2426        SYNTAX      SEQUENCE OF DocsDevCpeInetEntry
2427        MAX-ACCESS  not-accessible
2428        STATUS      current
2429        DESCRIPTION
2430            "This table lists the IP addresses seen (or permitted) as
2431             source addresses in packets originating from the
2432             customer interface on this device.  In addition, this
2433             table can be provisioned with the specific addresses
2434             permitted for the CPEs via the normal row creation
2435             mechanisms.
2436
2437
2438
2439             N.B.  Management action can add entries in this table
2440             and in docsDevCpeIpTable past the value of
2441             docsDevCpeIpMax.  docsDevCpeIpMax ONLY restricts the
2442             ability of the CM to add learned addresses
2443             automatically.
2444
2445             Table entries MUST NOT persist across reboots for any
2446             device.
2447
2448             This table exactly mirrors docsDevCpeTable and applies
2449             to IPv4 and IPv6 addresses."
2450        ::= { docsDevCpe 4 }
2451
2452docsDevCpeInetEntry OBJECT-TYPE
2453        SYNTAX      DocsDevCpeInetEntry
2454        MAX-ACCESS  not-accessible
2455        STATUS      current
2456        DESCRIPTION
2457            "An entry in the docsDevFilterCpeInetTable.  There is one
2458             entry for each IP CPE seen or provisioned.  If
2459             docsDevCpeIpMax is set to -1, this table is ignored;
2460             otherwise, upon receipt of an IP packet from the
2461             customer interface of the CM, the source IP address is
2462             checked against this table.  If the address is in the
2463             table, packet processing continues.  If the address is
2464             not in the table but docsDevCpeEnroll is set to any and
2465             the sum of the table sizes for docsDevCpeTable and
2466             docsDevCpeInetTable is less than docsDevCpeIpMax, the
2467             address is added to the table, and packet processing
2468             continues.  Otherwise, the packet is dropped.
2469
2470             The filtering actions specified by this table occur
2471             after any LLC filtering (docsDevFilterLLCTable), but
2472             prior to any IP filtering (docsDevFilterIpTable,
2473             docsDevNmAccessTable).
2474
2475             When an agent (cable modem) restarts, then all
2476             dynamically created rows are lost."
2477        INDEX   { docsDevCpeInetType, docsDevCpeInetAddr }
2478        ::= { docsDevCpeInetTable 1 }
2479
2480DocsDevCpeInetEntry ::= SEQUENCE {
2481            docsDevCpeInetType      InetAddressType,
2482            docsDevCpeInetAddr      InetAddress,
2483            docsDevCpeInetSource    INTEGER,
2484            docsDevCpeInetRowStatus RowStatus
2485        }
2486
2487
2488
2489
2490docsDevCpeInetType OBJECT-TYPE
2491        SYNTAX      InetAddressType
2492        MAX-ACCESS  not-accessible
2493        STATUS      current
2494        DESCRIPTION
2495            "The type of internet address of docsDevCpeInetAddr."
2496         ::= { docsDevCpeInetEntry 1 }
2497
2498docsDevCpeInetAddr OBJECT-TYPE
2499        SYNTAX      InetAddress
2500        MAX-ACCESS  not-accessible
2501        STATUS      current
2502        DESCRIPTION
2503            "The Internet address to which this entry applies.
2504
2505             Implementors need to be aware that if the size of
2506             docsDevCpeInetAddr exceeds 114 octets OIDs of
2507             instances of columns in this row will have more
2508             than 128 sub-identifiers and cannot be accessed
2509             using SNMPv1, SNMPv2c, or SNMPv3.  Only unicast
2510             address are allowed for this object."
2511        ::= { docsDevCpeInetEntry 2 }
2512
2513docsDevCpeInetSource OBJECT-TYPE
2514        SYNTAX      INTEGER {
2515            manual(2),
2516            learned(3)
2517        }
2518        MAX-ACCESS  read-only
2519        STATUS      current
2520        DESCRIPTION
2521            "This object describes how this entry was created.  If
2522             the value is manual(2), this row was created by a
2523             network management action (either configuration or
2524             SNMP set).  If set to learned(3), then it was found
2525             via looking at the source IP address of a received
2526             packet."
2527        ::= { docsDevCpeInetEntry 3 }
2528
2529docsDevCpeInetRowStatus OBJECT-TYPE
2530        SYNTAX  RowStatus
2531        MAX-ACCESS  read-create
2532        STATUS  current
2533        DESCRIPTION
2534            "Standard object to manipulate rows.  To create a row in
2535             this table, one only needs to specify this object.
2536             Management stations SHOULD use the create-and-go
2537             mechanism for creating rows in this table."
2538
2539
2540
2541        ::= { docsDevCpeInetEntry 4 }
2542
2543
2544--
2545-- Placeholder for notifications/traps.
2546--
2547
2548-- erroneous, DO NOT USE docsDevNotification
2549docsDevNotification OBJECT IDENTIFIER   ::= { docsDev 2 }
2550-- erroneous, DO NOT USE docsDevNotification
2551
2552docsDevNotifications OBJECT IDENTIFIER   ::= { docsDev 0 }
2553
2554
2555--
2556-- RFC 2669 Conformance definitions
2557--
2558
2559docsDevConformance  OBJECT IDENTIFIER   ::= { docsDev 3 }
2560docsDevGroups       OBJECT IDENTIFIER   ::= { docsDevConformance 1 }
2561docsDevCompliances  OBJECT IDENTIFIER   ::= { docsDevConformance 2 }
2562
2563docsDevBasicCompliance MODULE-COMPLIANCE
2564        STATUS  deprecated
2565        DESCRIPTION
2566            "The RFC 2669 compliance statement for MCNS/DOCSIS
2567             Cable Modems and Cable Modem Termination Systems."
2568
2569MODULE  -- docsDev
2570
2571-- conditionally mandatory groups
2572
2573GROUP docsDevBaseGroup
2574        DESCRIPTION
2575            "Mandatory in Cable Modems, optional in Cable Modem
2576             Termination Systems."
2577
2578GROUP docsDevEventGroup
2579        DESCRIPTION
2580            "Mandatory in Cable Modems, optional in Cable Modem
2581             Termination Systems."
2582
2583GROUP docsDevFilterGroup
2584        DESCRIPTION
2585            "Mandatory in Cable Modems, optional in Cable Modem
2586             Termination Systems."
2587
2588GROUP docsDevNmAccessGroup
2589
2590
2591
2592        DESCRIPTION
2593            "This group is only implemented in devices that do not
2594             implement the SNMPv3 User Security Model.  It SHOULD NOT
2595             be implemented by devices that conform to SNMPv3.
2596
2597             For devices that do not implement SNMPv3 or later, this
2598             group is Mandatory in Cable Modems and is optional
2599             in Cable Modem Termination Systems."
2600
2601GROUP docsDevServerGroup
2602        DESCRIPTION
2603            "This group is implemented only in Cable Modems, and is
2604             not implemented in Cable Modem Termination Systems."
2605
2606GROUP docsDevSoftwareGroup
2607        DESCRIPTION
2608            "This group is Mandatory in Cable Modems and optional in
2609             Cable Modem Termination Systems."
2610
2611GROUP docsDevCpeGroup
2612        DESCRIPTION
2613            "This group is Mandatory in Cable Modems, and is
2614             not implemented in Cable Modem Termination Systems."
2615
2616OBJECT docsDevSTPControl
2617        MIN-ACCESS read-only
2618        DESCRIPTION
2619            "It is compliant to implement this object as read-only.
2620             Devices need only support noStFilterBpdu(2)."
2621
2622OBJECT docsDevNmAccessIp
2623        DESCRIPTION
2624            "It is compliant to recognize the IP address
2625             255.255.255.255 as referring to any NMS."
2626
2627OBJECT docsDevEvReporting
2628         MIN-ACCESS read-only
2629         DESCRIPTION
2630             "It is compliant to implement this object as read-only.
2631              Devices need only support local(0).  An agent need not
2632              enforce that trap or syslog logging be accompanied
2633              by local(0) or localVolatile(3) logging."
2634         ::= { docsDevCompliances 1 }
2635
2636docsDevBaseGroup OBJECT-GROUP
2637        OBJECTS {
2638             docsDevRole,
2639             docsDevDateTime,
2640
2641
2642
2643             docsDevResetNow,
2644             docsDevSerialNumber,
2645             docsDevSTPControl
2646        }
2647        STATUS      current
2648        DESCRIPTION
2649            "A collection of objects providing device status and
2650             control."
2651        ::= { docsDevGroups 1 }
2652
2653docsDevNmAccessGroup OBJECT-GROUP
2654        OBJECTS {
2655             docsDevNmAccessIp,
2656             docsDevNmAccessIpMask,
2657             docsDevNmAccessCommunity,
2658             docsDevNmAccessControl,
2659             docsDevNmAccessInterfaces,
2660             docsDevNmAccessStatus
2661        }
2662        STATUS      deprecated
2663        DESCRIPTION
2664            "A collection of objects for controlling access to SNMP
2665             objects on cable devices.
2666
2667             This group has been deprecated because all the
2668             objects have been deprecated in favor of SNMPv3 and
2669             Coexistence MIBs."
2670        ::= { docsDevGroups 2 }
2671
2672docsDevSoftwareGroup OBJECT-GROUP
2673        OBJECTS {
2674            docsDevSwServer,
2675            docsDevSwFilename,
2676            docsDevSwAdminStatus,
2677            docsDevSwOperStatus,
2678            docsDevSwCurrentVers
2679        }
2680        STATUS      deprecated
2681        DESCRIPTION
2682            "A collection of objects for controlling software
2683             downloads.
2684
2685             This group has been deprecated and replaced by
2686             docsDevSoftwareGroupV2.  Object docsDevSwServer
2687             has been replaced by docsDevSwServerAddressType
2688             and docsDevSwServerAddress, and
2689             docsDevSwServerTransportProtocol has been added to
2690             support TFTP and HTTP firmware downloads."
2691
2692
2693
2694        ::= { docsDevGroups 3 }
2695
2696docsDevServerGroup OBJECT-GROUP
2697        OBJECTS {
2698            docsDevServerBootState,
2699            docsDevServerDhcp,
2700            docsDevServerTime,
2701            docsDevServerTftp,
2702            docsDevServerConfigFile
2703        }
2704        STATUS      deprecated
2705        DESCRIPTION
2706            "A collection of objects providing status about server
2707             provisioning.
2708
2709             This group has been deprecated and replaced by
2710             docsDevServerGroupV2.  The objects docsDevServerDhcp,
2711             docsDevServerTime, and docsDevServerTftp have
2712             been replaced by docsDevServerDhcpAddressType,
2713             docsDevServerDhcpAddress, docsDevServerTimeAddressType,
2714             docsDevServerTimeAddress,
2715             docsDevServerConfigTftpAddressType, and
2716             docsDevServerConfigTftpAddress."
2717        ::= { docsDevGroups 4 }
2718
2719docsDevEventGroup OBJECT-GROUP
2720        OBJECTS {
2721            docsDevEvControl,
2722            docsDevEvSyslog,
2723            docsDevEvThrottleAdminStatus,
2724            docsDevEvThrottleInhibited,
2725            docsDevEvThrottleThreshold,
2726            docsDevEvThrottleInterval,
2727            docsDevEvReporting,
2728            docsDevEvFirstTime,
2729            docsDevEvLastTime,
2730            docsDevEvCounts,
2731            docsDevEvLevel,
2732            docsDevEvId,
2733            docsDevEvText
2734        }
2735        STATUS      deprecated
2736        DESCRIPTION
2737            "A collection of objects used to control and monitor
2738             events.
2739
2740             This group has been deprecated and replaced by
2741             docsDevEventGroupV2.  The object docsDevEvSyslog has
2742
2743
2744
2745             been replaced by docsDevEvSyslogAddressType and
2746             docsDevEvSyslogAddress, and docsDevEvThrottleInhibited
2747             has been replaced by
2748             docsDevEvThrottleThresholdExceeded."
2749        ::= { docsDevGroups 5 }
2750
2751docsDevFilterGroup OBJECT-GROUP
2752        OBJECTS {
2753            docsDevFilterLLCUnmatchedAction,
2754            docsDevFilterIpDefault,
2755            docsDevFilterLLCStatus,
2756            docsDevFilterLLCIfIndex,
2757            docsDevFilterLLCProtocolType,
2758            docsDevFilterLLCProtocol,
2759            docsDevFilterLLCMatches,
2760            docsDevFilterIpControl,
2761            docsDevFilterIpIfIndex,
2762            docsDevFilterIpStatus,
2763            docsDevFilterIpDirection,
2764            docsDevFilterIpBroadcast,
2765            docsDevFilterIpSaddr,
2766            docsDevFilterIpSmask,
2767            docsDevFilterIpDaddr,
2768            docsDevFilterIpDmask,
2769            docsDevFilterIpProtocol,
2770            docsDevFilterIpSourcePortLow,
2771            docsDevFilterIpSourcePortHigh,
2772            docsDevFilterIpDestPortLow,
2773            docsDevFilterIpDestPortHigh,
2774            docsDevFilterIpMatches,
2775            docsDevFilterIpTos,
2776            docsDevFilterIpTosMask,
2777            docsDevFilterIpContinue,
2778            docsDevFilterIpPolicyId,
2779            docsDevFilterPolicyId,
2780            docsDevFilterPolicyStatus,
2781            docsDevFilterPolicyPtr,
2782            docsDevFilterTosStatus,
2783            docsDevFilterTosAndMask,
2784            docsDevFilterTosOrMask
2785        }
2786        STATUS      deprecated
2787        DESCRIPTION
2788            "A collection of objects to specify filters at the link
2789             layer and IPv4 layer.
2790
2791             This group has been deprecated and replaced by various
2792             groups from the DiffServ MIB."
2793
2794
2795
2796        ::= { docsDevGroups 6 }
2797
2798docsDevCpeGroup OBJECT-GROUP
2799        OBJECTS {
2800           docsDevCpeEnroll,
2801           docsDevCpeIpMax,
2802           docsDevCpeSource,
2803           docsDevCpeStatus
2804        }
2805        STATUS      deprecated
2806        DESCRIPTION
2807            "A collection of objects used to control the number
2808             and specific values of IPv4 addresses allowed for
2809             associated Customer Premises Equipment (CPE).
2810
2811             This group has been deprecated and replaced by
2812             docsDevInetCpeGroup.  The object docsDevCpeSource has
2813             been replaced by docsDevCpeInetSource, and
2814             docsDevCpeStatus has been replaced by
2815             docsDevCpeInetRowStatus."
2816        ::= { docsDevGroups 7 }
2817
2818--
2819-- RFC 4639 Conformance definitions
2820--
2821
2822docsDevGroupsV2       OBJECT IDENTIFIER  ::= { docsDevConformance 3 }
2823docsDevCompliancesV2  OBJECT IDENTIFIER  ::= { docsDevConformance 4 }
2824
2825docsDevCmCompliance MODULE-COMPLIANCE
2826         STATUS  current
2827         DESCRIPTION
2828             "The compliance statement for DOCSIS Cable Modems.
2829
2830              This compliance statement applies to implementations
2831              of DOCSIS versions that are not IPv6 capable."
2832
2833MODULE DIFFSERV-MIB -- RFC 3289
2834
2835MANDATORY-GROUPS {
2836           diffServMIBDataPathGroup,
2837           diffServMIBClfrGroup,
2838           diffServMIBClfrElementGroup,
2839           diffServMIBMultiFieldClfrGroup,
2840           diffServMIBActionGroup,
2841           diffServMIBDscpMarkActGroup,
2842           diffServMIBCounterGroup,
2843           diffServMIBAlgDropGroup
2844
2845
2846
2847           }
2848
2849OBJECT diffServDataPathStatus  -- same as RFC 3289
2850         SYNTAX RowStatus { active(1) }
2851         WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2852         DESCRIPTION
2853             "Support for createAndWait and notInService is not
2854              required."
2855
2856OBJECT diffServClfrStatus  -- same as RFC 3289
2857         SYNTAX RowStatus { active(1) }
2858         WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2859         DESCRIPTION
2860             "Support for createAndWait and notInService is not
2861              required."
2862
2863OBJECT diffServClfrElementStatus  -- same as RFC 3289
2864         SYNTAX RowStatus { active(1) }
2865         WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2866         DESCRIPTION
2867             "Support for createAndWait and notInService is not
2868              required."
2869
2870OBJECT diffServMultiFieldClfrAddrType
2871         SYNTAX  InetAddressType { ipv4(1) }
2872         DESCRIPTION
2873             "An implementation is only required to support IPv4
2874              addresses."
2875
2876OBJECT diffServMultiFieldClfrSrcAddr
2877         SYNTAX  InetAddress (SIZE(4))
2878         DESCRIPTION
2879             "An implementation is only required to support IPv4
2880              addresses."
2881
2882OBJECT diffServMultiFieldClfrDstAddr
2883         SYNTAX  InetAddress (SIZE(4))
2884         DESCRIPTION
2885             "An implementation is only required to support IPv4
2886              addresses."
2887
2888OBJECT diffServAlgDropStatus  -- same as RFC 3289
2889         SYNTAX RowStatus { active(1) }
2890         WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2891         DESCRIPTION
2892             "Support for createAndWait and notInService is not
2893              required."
2894
2895
2896
2897
2898OBJECT diffServDataPathStorage
2899         SYNTAX StorageType { volatile(2) }
2900         DESCRIPTION
2901             "An implementation is only required to support
2902              volatile storage."
2903
2904OBJECT diffServClfrStorage
2905         SYNTAX StorageType { volatile(2) }
2906         DESCRIPTION
2907             "An implementation is only required to support
2908              volatile storage."
2909
2910OBJECT diffServClfrElementStorage
2911         SYNTAX StorageType { volatile(2) }
2912         DESCRIPTION
2913             "An implementation is only required to support
2914              volatile storage."
2915
2916OBJECT diffServMultiFieldClfrStorage
2917         SYNTAX StorageType { volatile(2) }
2918         DESCRIPTION
2919             "An implementation is only required to support
2920              volatile storage."
2921
2922OBJECT diffServActionStorage
2923         SYNTAX StorageType { volatile(2) }
2924         DESCRIPTION
2925             "An implementation is only required to support
2926              volatile storage."
2927
2928OBJECT diffServCountActStorage
2929         SYNTAX StorageType { volatile(2) }
2930         DESCRIPTION
2931             "An implementation is only required to support
2932              volatile storage."
2933
2934OBJECT diffServAlgDropStorage
2935         SYNTAX StorageType { volatile(2) }
2936         DESCRIPTION
2937             "An implementation is only required to support
2938              volatile storage."
2939
2940OBJECT diffServAlgDropType
2941         SYNTAX  INTEGER { alwaysDrop(5) }
2942         DESCRIPTION
2943             "This object is only used to provide packet
2944              filtering.  Implementations need not support other
2945              values of this enumeration."
2946
2947
2948
2949MODULE  -- docsDev
2950
2951MANDATORY-GROUPS {
2952           docsDevBaseGroup,
2953           docsDevBaseIgmpGroup,
2954           docsDevBaseMaxCpeGroup,
2955           docsDevSoftwareGroupV2,
2956           docsDevServerGroupV2,
2957           docsDevEventGroupV2,
2958           docsDevFilterLLCGroup
2959           }
2960
2961-- conditionally mandatory groups
2962
2963GROUP docsDevInetCpeGroup
2964        DESCRIPTION
2965            "This group is optional in Cable Modems."
2966
2967OBJECT docsDevDateTime
2968         MIN-ACCESS read-only
2969         DESCRIPTION
2970             "It is compliant to implement this object as read-only."
2971
2972OBJECT docsDevSTPControl
2973         SYNTAX INTEGER { noStFilterBpdu(2) }
2974         MIN-ACCESS read-only
2975         DESCRIPTION
2976             "It is compliant to implement this object as read-only.
2977              Devices need only support noStFilterBpdu(2)."
2978
2979OBJECT docsDevIgmpModeControl
2980         SYNTAX INTEGER { passive(1) }
2981         MIN-ACCESS read-only
2982         DESCRIPTION
2983             "It is compliant to implement this object as read-only.
2984              Devices need only support passive(1)."
2985
2986OBJECT docsDevSwServerAddressType
2987         SYNTAX InetAddressType { ipv4(1) }
2988         DESCRIPTION
2989             "An implementation is only required to support IPv4
2990              addresses."
2991
2992OBJECT docsDevSwServerAddress
2993         SYNTAX  InetAddress (SIZE(4))
2994         DESCRIPTION
2995             "An implementation is only required to support IPv4
2996              addresses."
2997
2998
2999
3000OBJECT docsDevServerDhcpAddressType
3001         SYNTAX InetAddressType { ipv4(1) }
3002         DESCRIPTION
3003             "An implementation is only required to support IPv4
3004              addresses."
3005
3006OBJECT docsDevServerDhcpAddress
3007         SYNTAX  InetAddress (SIZE(4))
3008         DESCRIPTION
3009             "An implementation is only required to support IPv4
3010              addresses."
3011
3012OBJECT docsDevServerTimeAddressType
3013         SYNTAX InetAddressType { ipv4(1) }
3014         DESCRIPTION
3015             "An implementation is only required to support IPv4
3016              addresses."
3017
3018OBJECT docsDevServerTimeAddress
3019         SYNTAX  InetAddress (SIZE(4))
3020         DESCRIPTION
3021             "An implementation is only required to support IPv4
3022              addresses."
3023
3024OBJECT docsDevServerConfigTftpAddressType
3025         SYNTAX InetAddressType { ipv4(1) }
3026         DESCRIPTION
3027             "An implementation is only required to support IPv4
3028              addresses."
3029
3030OBJECT docsDevServerConfigTftpAddress
3031         SYNTAX  InetAddress (SIZE(4))
3032         DESCRIPTION
3033             "An implementation is only required to support IPv4
3034              addresses."
3035
3036OBJECT docsDevEvReporting
3037         MIN-ACCESS read-only
3038         DESCRIPTION
3039             "It is compliant to implement this object as read-only.
3040              Devices need only support local(0)."
3041
3042OBJECT docsDevEvSyslogAddressType
3043         SYNTAX InetAddressType { ipv4(1) }
3044         DESCRIPTION
3045             "An implementation is only required to support IPv4
3046              addresses."
3047
3048
3049
3050
3051OBJECT docsDevEvSyslogAddress
3052         SYNTAX  InetAddress (SIZE(4))
3053         DESCRIPTION
3054             "An implementation is only required to support IPv4
3055              addresses."
3056
3057OBJECT docsDevSwServerTransportProtocol
3058         SYNTAX INTEGER { tftp(1) }
3059         DESCRIPTION
3060             "An implementation is only required to support TFTP
3061              software image downloads."
3062
3063         ::= { docsDevCompliancesV2 1 }
3064
3065docsDevCmtsCompliance MODULE-COMPLIANCE
3066         STATUS  current
3067         DESCRIPTION
3068             "The compliance statement for DOCSIS Cable Modem
3069              Termination Systems.
3070
3071              This compliance statement applies to implementations
3072              of DOCSIS versions that are not IPv6 capable."
3073
3074MODULE  -- docsDev
3075
3076-- conditionally mandatory groups
3077
3078GROUP docsDevBaseGroup
3079        DESCRIPTION
3080            "Optional in Cable Modem Termination Systems."
3081
3082GROUP docsDevBaseIgmpGroup
3083        DESCRIPTION
3084            "Optional in Cable Modem Termination Systems."
3085
3086GROUP docsDevBaseMaxCpeGroup
3087        DESCRIPTION
3088            "This group MUST NOT be implemented in Cable Modem
3089             Termination Systems."
3090
3091GROUP docsDevSoftwareGroupV2
3092        DESCRIPTION
3093            "Optional in Cable Modem Termination Systems."
3094
3095GROUP docsDevServerGroupV2
3096        DESCRIPTION
3097            "This group MUST NOT be implemented in Cable Modem
3098             Termination Systems."
3099
3100
3101
3102GROUP docsDevEventGroupV2
3103        DESCRIPTION
3104            "Optional in Cable Modem Termination Systems."
3105
3106GROUP docsDevFilterLLCGroup
3107        DESCRIPTION
3108            "This group MUST NOT be implemented in Cable Modem
3109             Termination Systems.  See the Subscriber Management
3110             MIB for similar CMTS capability."
3111
3112GROUP docsDevInetCpeGroup
3113        DESCRIPTION
3114            "This group MUST NOT be implemented in Cable Modem
3115             Termination Systems.  See the Subscriber Management
3116             MIB for similar CMTS capability."
3117
3118OBJECT docsDevDateTime
3119         MIN-ACCESS read-only
3120         DESCRIPTION
3121             "It is compliant to implement this object as read-only."
3122
3123OBJECT docsDevSTPControl
3124         SYNTAX INTEGER { noStFilterBpdu(2) }
3125         MIN-ACCESS read-only
3126         DESCRIPTION
3127             "It is compliant to implement this object as read-only.
3128              Devices need only support noStFilterBpdu(2)."
3129
3130OBJECT docsDevIgmpModeControl
3131         SYNTAX INTEGER { passive(1) }
3132         MIN-ACCESS read-only
3133         DESCRIPTION
3134             "It is compliant to implement this object as read-only.
3135              Devices need only support passive(1)."
3136
3137OBJECT docsDevSwServerAddressType
3138         SYNTAX InetAddressType { ipv4(1) }
3139         DESCRIPTION
3140             "An implementation is only required to support IPv4
3141              addresses."
3142
3143OBJECT docsDevSwServerAddress
3144         SYNTAX  InetAddress (SIZE(4))
3145         DESCRIPTION
3146             "An implementation is only required to support IPv4
3147              addresses."
3148
3149OBJECT docsDevEvReporting
3150
3151
3152
3153         MIN-ACCESS read-only
3154         DESCRIPTION
3155             "It is compliant to implement this object as read-only.
3156              Devices need only support local(0)."
3157
3158OBJECT docsDevEvSyslogAddressType
3159         SYNTAX InetAddressType { ipv4(1) }
3160         DESCRIPTION
3161             "An implementation is only required to support IPv4
3162              addresses."
3163
3164OBJECT docsDevEvSyslogAddress
3165         SYNTAX  InetAddress (SIZE(4))
3166         DESCRIPTION
3167             "An implementation is only required to support IPv4
3168              addresses."
3169
3170OBJECT docsDevSwServerTransportProtocol
3171         SYNTAX INTEGER { tftp(1) }
3172         DESCRIPTION
3173             "An implementation is only required to support TFTP
3174              software image downloads."
3175
3176         ::= { docsDevCompliancesV2 2 }
3177
3178docsDevBaseIgmpGroup OBJECT-GROUP
3179        OBJECTS {
3180             docsDevIgmpModeControl
3181        }
3182        STATUS      current
3183        DESCRIPTION
3184            "An object providing cable device IGMP status and
3185             control."
3186        ::= { docsDevGroupsV2 1 }
3187
3188docsDevBaseMaxCpeGroup OBJECT-GROUP
3189        OBJECTS {
3190             docsDevMaxCpe
3191        }
3192        STATUS      current
3193        DESCRIPTION
3194            "An object providing management of the maximum number of
3195             CPEs permitted access through a cable modem."
3196        ::= { docsDevGroupsV2 2 }
3197
3198docsDevNmAccessExtGroup OBJECT-GROUP
3199        OBJECTS {
3200             docsDevNmAccessTrapVersion
3201
3202
3203
3204        }
3205        STATUS      deprecated
3206        DESCRIPTION
3207            "An object, in addition to the objects in
3208             docsDevNmAccessGroup, for controlling access to
3209             SNMP objects on cable devices.
3210
3211             This group is included in this MIB due to existing
3212             implementations of docsDevNmAccessTrapVersion in
3213             DOCSIS cable modems.
3214
3215             This group has been deprecated because the object has
3216             been deprecated in favor of SNMPv3 and Coexistence
3217             MIBs."
3218        ::= { docsDevGroupsV2 3 }
3219
3220docsDevSoftwareGroupV2 OBJECT-GROUP
3221        OBJECTS {
3222            docsDevSwFilename,
3223            docsDevSwAdminStatus,
3224            docsDevSwOperStatus,
3225            docsDevSwCurrentVers,
3226            docsDevSwServerAddressType,
3227            docsDevSwServerAddress,
3228            docsDevSwServerTransportProtocol
3229        }
3230        STATUS      current
3231        DESCRIPTION
3232            "A collection of objects for controlling software
3233             downloads.  This group replaces docsDevSoftwareGroup."
3234        ::= { docsDevGroupsV2 4 }
3235
3236docsDevServerGroupV2 OBJECT-GROUP
3237        OBJECTS {
3238            docsDevServerBootState,
3239            docsDevServerDhcpAddressType,
3240            docsDevServerDhcpAddress,
3241            docsDevServerTimeAddressType,
3242            docsDevServerTimeAddress,
3243            docsDevServerConfigTftpAddressType,
3244            docsDevServerConfigTftpAddress,
3245            docsDevServerConfigFile
3246        }
3247        STATUS      current
3248        DESCRIPTION
3249            "A collection of objects providing status about server
3250             provisioning.  This group replaces docsDevServerGroup."
3251        ::= { docsDevGroupsV2 5 }
3252
3253
3254
3255docsDevEventGroupV2 OBJECT-GROUP
3256        OBJECTS {
3257            docsDevEvControl,
3258            docsDevEvThrottleAdminStatus,
3259            docsDevEvThrottleThreshold,
3260            docsDevEvThrottleInterval,
3261            docsDevEvReporting,
3262            docsDevEvFirstTime,
3263            docsDevEvLastTime,
3264            docsDevEvCounts,
3265            docsDevEvLevel,
3266            docsDevEvId,
3267            docsDevEvText,
3268            docsDevEvSyslogAddressType,
3269            docsDevEvSyslogAddress,
3270            docsDevEvThrottleThresholdExceeded
3271        }
3272        STATUS      current
3273        DESCRIPTION
3274            "A collection of objects used to control and monitor
3275             events.  This group replaces docsDevEventGroup.
3276             The event reporting mechanism, and more specifically
3277             docsDevEvReporting, can be used to take advantage of
3278             the event reporting features of RFC3413 and RFC3014."
3279        ::= { docsDevGroupsV2 6 }
3280
3281docsDevFilterLLCGroup OBJECT-GROUP
3282        OBJECTS {
3283            docsDevFilterLLCUnmatchedAction,
3284            docsDevFilterLLCStatus,
3285            docsDevFilterLLCIfIndex,
3286            docsDevFilterLLCProtocolType,
3287            docsDevFilterLLCProtocol,
3288            docsDevFilterLLCMatches
3289        }
3290        STATUS      current
3291        DESCRIPTION
3292            "A collection of objects to specify link layer filters."
3293        ::= { docsDevGroupsV2 7 }
3294
3295docsDevInetCpeGroup OBJECT-GROUP
3296        OBJECTS {
3297           docsDevCpeEnroll,
3298           docsDevCpeIpMax,
3299           docsDevCpeInetSource,
3300           docsDevCpeInetRowStatus
3301        }
3302        STATUS     current
3303
3304
3305
3306        DESCRIPTION
3307            "A collection of objects used to control the number
3308             and specific values of Internet (e.g., IPv4 and IPv6)
3309             addresses allowed for associated Customer Premises
3310             Equipment (CPE)."
3311        ::= { docsDevGroupsV2 8 }
3312
3313END
3314