INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

                      Management Information Base
      for Data Over Cable Service Interface Specification (DOCSIS)
                    Cable Modem Termination Systems
                       for Subscriber Management
                 draft-ietf-ipcdn-subscriber-mib-09.txt

                      Fri Feb 14 15:00:00 EST 2003


                             Wilson Sawyer
                                 ARRIS
                            wsawyer@ieee.org




                          Status of this Memo

           This document is an Internet-Draft and is subject to
   all provisions of Section 10 of RFC2026.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at:
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at:
   http://www.ietf.org/shadow.html.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it defines a set of managed objects for SNMP-based
   management of Data-over-Cable Service Interface Specification
   (DOCSIS)-compliant Cable Modem Termination Systems. These managed
   objects facilitate protection of the cable network from misuse by
   subscribers.

   This memo is a product of the IPCDN working group within the Internet
   Engineering Task Force.  Comments are solicited and should be
   addressed to the working group's mailing list at ipcdn@ietf.org
   and/or the author.




Expires  August 2003                                           [Page 1]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

Table of Contents

1. The Internet-Standard Management Framework.........................2
2. Overview...........................................................2
2.1. Structure of the MIB.............................................3
2.2. Management requirements..........................................4
2.2.1. Interaction with DOCSIS provisioning for CPE address control...4
2.2.2. Interaction with DOCSIS provisioning for filtering.............5
2.2.3. Distinguishing Modem from Subscriber Traffic...................5
2.2.4. Row Existence of docsSubMgtTcpUdpFilterTable...................6
2.2.5. Filtering and the Tiny Fragment Attack.........................6
3. Definitions........................................................6
4. Acknowledgments...................................................24
5. Normative References..............................................24
6. Informative References............................................25
7. Security Considerations...........................................25
8. Author's Address..................................................27
9. Intellectual Property.............................................27
10. Full Copyright Statement.........................................27

1. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

2. Overview

   This MIB provides a set of objects required for the management of
   DOCSIS Cable Modem Termination Systems (CMTS). The specification is
   derived in part from the operational model described in the DOCSIS
   Radio Frequency Interface Specification [DOCSRFI]. These managed
   objects facilitate protection of the cable network from misuse by
   subscribers.

   The following figure illustrates the operational and physical
   deployment relationships between elements in a cable modem network.
   This MIB resides at the CMTS, which is the first point in the public
   data network at which the cable operator controls physical access.
   The CMTS (possibly assisted by other IP services devices) acts as a
   network edge, separating the physical outside-plant cable television
   network from the operator's IP network.



Expires  August 2003                                           [Page 2]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

                    |              operator's IP network
                 +------+          ---------------------
                 | CMTS |          operator's cable head-end
                 +------+          ---------------------
                    |
           +--------+--------+     CATV physical network
           |        |        |
         +----+   +----+   +----+  ------------------
         | CM |   | CM |   | CM |  subscriber premises
         +----+   +----+   +----+  ------------------
           |        |        |     subscriber host or network


   This MIB controls IP packet forwarding to and from each cable modem,
   at the CMTS. Different modems may be accorded different treatment.

   Much of this MIB duplicates capabilities found in the DOCSIS Cable
   Device MIB [RFC2669]. While it is expected that the Cable Device MIB
   will be used to prevent unwanted traffic from entering the cable
   network, it is also possible that a malicious user might tamper with
   cable modem software, disabling its filtering policies. This MIB
   provides a more secure mechanism, since physical access to the CMTS
   is controlled by the network operator.

   In particular, this MIB provides two capabilities: first, to limit
   the IP addresses behind a modem, and, second, to provide protocol
   filtering to and from a modem. The first duplicates the capabilities
   of the docsDevCpe group [RFC2669]. This provides for either learned
   or provisioned subscriber premises host IP addresses behind a cable
   modem.

   The filtering capability is similar to that provided in docsDevFilter
   [RFC2669]. It differs from docsDevFilter in several respects, since
   it is intended to control subscriber traffic at the CMTS, rather than
   at the individual CM. First, its capabilities are streamlined to
   allow for either fast-software-based or hardware-assisted
   implementations, allowing for the greater number of packets that must
   be processed by the CMTS. Second, the MIB structure itself must add
   indexing at the CMTS to indicate which cable modem subscriber is
   intended. Third, rather than maintaining a separate list of filters
   for each modem at the CMTS, it is assumed that large numbers of
   modems will share filtering characteristics. Therefore, modems are
   grouped so as to share common filter lists.

2.1. Structure of the MIB

   This MIB is structured in five tables:

   o    The docsSubMgtCpeControlTable controls the acceptance of
        subscriber host addresses behind a cable modem.

   o    The docsSubMgtCpeIpTable monitors the subscriber host addresses
        which the CMTS believes to exist behind the cable modem.

Expires  August 2003                                           [Page 3]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   o    The docsSubMgtPktFilterTable specifies filtering criteria which
        can be applied to packets destined to or originating from a
        cable modem.

   o    The docsSubMgtTcpUdpFilterTable augments
        docsSubMgtPktFilterTable with optional TCP or UDP port filtering
        criteria.

   o    The docsSubMgtCmFilterTable binds a cable modem to an ordered
        list of filters from docsSubMgtPktFilterTable.

   The docsSubMgtCpeControlTable and docsSubMgtCmFilterTable AUGMENT the
   docsIfCmtsCmStatusTable from [RFC2670]. Similarly,
   docsSubMgtCpeIpTable expands this table (an additional index is
   used). As such, each entry in these tables is bound to a registered
   cable modem, as perceived by the CMTS.

   The docsSubMgtPktFilterTable uses two indices. The first identifies
   the group to which a cable modem may be bound. The second is the
   ordering of filter criteria within each group. Any number of modems
   may be bound to the same group.

2.2. Management requirements

   The DOCSIS cable modem provisioning model [DOCSRFI] requires that
   cable modems use TFTP to acquire a list of parameters. The modem then
   passes many of these parameters to the CMTS in the DOCSIS
   Registration message. The parameter values are digitally signed by
   the creator of the TFTP contents, and the signature is verified by
   the CMTS. In general, then, the CMTS need not itself be configured
   with the attributes of its cable modems. It will acquire these values
   through the Registration process that is secured by the digital
   signature.

   Cable modem subscriber management, as described here, modifies this
   process slightly for reasons of data reduction and ease of
   administrative control.  In the case of filtering management, for
   example, the tables are maintained through SNMP at the CMTS, and the
   modem registration merely signals the index values for the rows that
   apply to that modem.

2.2.1. Interaction with DOCSIS provisioning for CPE address control

   Rows in docsSubMgtCpeControlTable are created by the CMTS for each
   modem as a result of the DOCSIS registration process. The DOCSIS
   registration attributes may include items semantically equivalent to
   those in the DocsDevCpe branch of the DOCSIS Cable Device MIB
   [RFC2669]:

   o    docsDevCpeEnroll
   o    docsDevCpeIpMax
   o    docsDevCpeIp


Expires  August 2003                                           [Page 4]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   Successful DOCSIS registration shall have the effect of setting the
   corresponding fields in the docsSubMgtCpeControlTable and the
   docsSubMgtCpeIpTable. If not present, the default at registration
   shall be to set docsSubMgtCpeControlActive to false.

   Rows in docsSubMgtCpeIpTable are created through any of three ways:
   DOCSIS registration (as described above), learning by the CMTS, or
   through some unspecified administrative mechanism on the CMTS. The
   docsDevCpeIpMax table bound applies only to the first two.

   The CMTS may learn addresses by simply snooping source IP addresses
   from each cable modem. Other learning mechanisms (for example, ARP
   snooping) may be used. The learning mechanism is not defined by this
   document.

2.2.2. Interaction with DOCSIS provisioning for filtering

   Rows in docsSubMgtCmFilterTable are created by the CMTS for each
   modem as a result of the DOCSIS registration process. The DOCSIS
   registration attributes may include four indices:

   o   one identifying the upstream filter group for packets
       originating from the cable modem (i.e., those packets whose
       source MAC address matches that of the cable modem).
   o   one identifying the upstream filter group for packets
       originating from subscribers attached to the cable modem (i.e.,
       those packets whose source MAC address does not match that of
       the cable modem).
   o   one identifying the downstream filter group for packets
       destined to the cable modem (i.e., those packets whose
       destination MAC address matches that of the cable modem).
   o   one identifying the downstream filter group for packets
       destined to subscribers attached to the cable modem (i.e.,
       those packets whose destination MAC address does not match
       that of the cable modem).

   Successful registration shall have the effect of setting
   docsSubMgtCmFilterDownstream, docsSubMgtCmFilterUpstream,
   docsSubMgtSubFilterDownstream, and docsSubMgtSubFilterUpstream, for
   that modem (just as if set through the SNMP protocol). If the DOCSIS
   attributes are not present, the effect shall be to set the modem's
   filter groups to the values of docsSubMgtCmFilterUpDefault,
   docsSubMgtCmFilterDownDefault, docsSubMgtSubFilterUpDefault, and
   docsSubMgtSubFilterDownDefault.

2.2.3. Distinguishing Modem from Subscriber Traffic

   All traffic originating from or destined to a subscriber site is
   potentially suspect, and subject to suppression by the network
   operator.  This is true even if the traffic is ostensibly sourced or
   sunk by the cable modem itself, rather than the subscriber hosts
   behind the modem. To provide more nuanced administrative control,
   this document allows separate filter policies for modems and hosts.

Expires  August 2003                                           [Page 5]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   For example, modem policies may limit modems to server-subnet-only
   access, while allowing a different scope to subscribers.

   The CMTS chooses the filter set to apply based solely on the MAC
   address (source MAC upstream, destination MAC downstream). If the MAC
   address matches that of the modem, then the
   docsSubMgtCmFilterUp/Downstream pair is used; otherwise the
   docsSubMgtSubFilterUp/Downstream pair is applied.

   If the CM acts as a router rather than as a DOCSIS bridging
   forwarder, then the network operator will only use the
   docsSubMgtCmFilterUp/Downstream pair.

2.2.4. Row Existence of docsSubMgtTcpUdpFilterTable

   The docsSubMgtTcpUdpFilterTable exists apart from the
   docsSubMgtPktFilterTable because its filtering criteria is expected
   to be applied to a minority of modems relative to
   docsSubMgtPktFilterTable. It is separate in order to emphasize this
   expectation to both CMTS vendors and network operators. The rules for
   row creation are:

   o    Row creation in docsSubMgtTcpUdpFilterTable is disallowed unless
        the corresponding row in docsSubMgtPktFilterTable already
        exists (or that row is being created simultaneously in the same
        SNMP SET message).

   o    Deletion of the row in docsSubMgtPktFilterTable deletes the
        corresponding row in docsSubMgtTcpUdpFilterTable.

   o    Row creation for docsSubMgtPktFilterTable does not create the
        corresponding row in docsSubMgtTcpUdpFilterTable.

   o    Row deletion of docsSubMgtTcpUdpFilterTable does not delete the
        corresponding row in docsSubMgtPktFilterTable.

2.2.5. Filtering and the Tiny Fragment Attack

   It is recommended that the implementers prevent the "tiny fragment"
   and "overlapping fragment" attacks for the TCP filtering tables in
   this MIB, as discussed in RFC 1858 [RFC1858] and RFC 3128 [RFC3128].

   Prevention of these attacks can be implemented with the following
   rules, when filtering is enabled:

   o    admit all packets with fragment offset >= 2

   o    discard all packets with fragment offset = 1, or with fragment
        offset = 0 AND fragment payload length < 16.

   o    apply filtering rules to all packets with fragment offset = 0.

3. Definitions

Expires  August 2003                                           [Page 6]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

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

   IMPORTS
           MODULE-IDENTITY,
           OBJECT-TYPE,
           Counter32,
           Integer32,
           mib-2
           -- , BITS
                   FROM SNMPv2-SMI
           RowStatus,
           TruthValue,
           TimeStamp,
           StorageType
                   FROM SNMPv2-TC
           OBJECT-GROUP,
           MODULE-COMPLIANCE
                   FROM SNMPv2-CONF
           InetAddressType,
           InetAddress,
           InetAddressPrefixLength,
           InetPortNumber
                   FROM INET-ADDRESS-MIB
           docsIfCmtsCmStatusIndex,
           docsIfCmtsCmStatusEntry
                   FROM DOCS-IF-MIB;  -- RFC2670

   docsSubMgt MODULE-IDENTITY
           LAST-UPDATED    "200302140000Z" -- February 14, 2003
           ORGANIZATION    "IETF IPCDN Working Group"
           CONTACT-INFO
               "        Wilson Sawyer
                Postal: ARRIS
                        6 Riverside Drive
                        Andover, MA 01810
                        U.S.A.
                Phone:  +1 978 946 4711
                E-mail: wsawyer@ieee.org

                IETF IPCDN Working Group
                General Discussion: ipcdn@ietf.org
                Subscribe: http://www.ietf.org/mailman/listinfo/ipcdn
                Archive: ftp://ftp.ietf.org/ietf-mail-archive/ipcdn
                Co-chairs: Richard Woundy, rwoundy@broadband.att.com
                           Jean-Francois Mule, jf.mule@cablelabs.com"
           DESCRIPTION
               "This is the CMTS centric subscriber management MIB for
           DOCSIS compliant CMTS. Copyright (C) The Internet Society
           (2003). This version of this MIB module is part of RFC xxxx;
           see the RFC itself for full legal notices."
        REVISION "200302140000Z" -- February 14, 2003
           DESCRIPTION
              "Initial version, published as RFC xxxx."

Expires  August 2003                                           [Page 7]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

              -- RFC editor to assign xxxx
           ::= { mib-2 xx }   -- xx to be assigned by IANA


   docsSubMgtObjects OBJECT IDENTIFIER ::= { docsSubMgt 1 }

   docsSubMgtCpeControlTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF DocsSubMgtCpeControlEntry
       MAX-ACCESS not-accessible
       STATUS  current
       DESCRIPTION
           "This table AUGMENTs the docsIfCmtsCmStatusTable and adds
       four WRITEable objects which reflect the state of subscriber
       management on a particular CM."
       ::= { docsSubMgtObjects 1 }

   docsSubMgtCpeControlEntry OBJECT-TYPE
       SYNTAX  DocsSubMgtCpeControlEntry
       MAX-ACCESS not-accessible
       STATUS  current
       DESCRIPTION
           "A row in the docsSubMgtCpeControlTable.  All values are set
       at successful modem registration, either from the system default,
       or from objects included in the DOCSIS registration request sent
       upstream to the CMTS from the CM. The contents of this entry are
       meaningless unless the corresponding docsIfCmtsCmStatusValue is
       registrationComplete(6). The persistence of this row is
       determined solely by the lifespan of the corresponding
       docsIfCmtsCmStatusEntry (normally StorageType=volatile)."
       AUGMENTS { docsIfCmtsCmStatusEntry }
       ::= {docsSubMgtCpeControlTable 1 }

   DocsSubMgtCpeControlEntry ::= SEQUENCE
       {
       docsSubMgtCpeControlMaxCpeIp        Integer32,
       docsSubMgtCpeControlActive          TruthValue,
       docsSubMgtCpeControlLearnable       TruthValue,
       docsSubMgtCpeControlReset           TruthValue,
       docsSubMgtCpeControlLastReset       TimeStamp
       }

   docsSubMgtCpeControlMaxCpeIp OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The number of simultaneous IP addresses permitted behind
       the CM. If this is set to zero, all CPE traffic from the CM is
       dropped.  If the provisioning object corresponding to
       docsSubMgtCpeIpTable includes more CPE IP address entries for
       this modem than the value of this object, then this object is
       set to the count of the number of rows in docsSubMgtCpeIpTable
       that have the same docsIfCmtsCmStatusIndex value. (E.g. if the

Expires  August 2003                                           [Page 8]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       CM has 5 IP addresses specified for it, this value is 5). This
       limit applies to learned and docsis-provisioned entries, but
       does not limit entries added through some administrative
       process at the CMTS. If not set through DOCSIS provisioning,
       this object defaults to docsSubMgtCpeMaxIpDefault. Note that
       this object is only meaningful if docsSubMgtCpeControlActive
       is true."
       ::= { docsSubMgtCpeControlEntry 1 }

   docsSubMgtCpeControlActive OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "If this is set to true, CMTS based CPE control is active and
       all the actions required by the various filter tables and
       controls apply at the CMTS.  If this is set to false, no
       subscriber management filtering is done at the CMTS (but other
       filters may apply). If not set through DOCSIS provisioning,
       this object defaults to docsSubMgtCpeActiveDefault."
       ::= { docsSubMgtCpeControlEntry 2 }

   docsSubMgtCpeControlLearnable OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "If this is set to true, the CMTS may learn up to
       docsSubMgtMaxCpeIp addresses (less any DOCSIS-provisioned
       entries) related to this CM.  Those IP addresses are added (by
       internal process) to the docsSubMgtCpeIpTable. The nature of the
       learning mechanism is not specified here. If not set through
       DOCSIS provisioning, this object defaults to
       docsSubMgtCpeLearnableDefault. Note that this object is only
       meaningful if docsSubMgtCpeControlActive is true."
       ::= { docsSubMgtCpeControlEntry 3 }

   docsSubMgtCpeControlReset OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "This object always returns false on read.  If this object is
       set to true, the rows with  'learned' addresses in
       docsSubMgtCpeIpTable for this CM are deleted from that table."
       ::= { docsSubMgtCpeControlEntry 4 }

   docsSubMgtCpeControlLastReset OBJECT-TYPE
       SYNTAX  TimeStamp
       MAX-ACCESS read-only
       STATUS  current
       DESCRIPTION
           "The value of sysUpTime when docsSubMgtCpeControlReset was

Expires  August 2003                                           [Page 9]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       last set true. Zero if never reset."
       ::= { docsSubMgtCpeControlEntry 5 }

   docsSubMgtCpeMaxIpDefault OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The default value for docsSubMgtCpeControlMaxCpeIp if not
       signaled in the DOCSIS Registration request. Upon initial CMTS
       initialization, this defaults to 16."
       ::= { docsSubMgtObjects 2 }

   docsSubMgtCpeActiveDefault OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The default value for docsSubMgtCpeControlActive if not
       signaled in the DOCSIS Registration request. Upon initial CMTS
       initialization, this defaults to false."
       ::= { docsSubMgtObjects 3 }

   docsSubMgtCpeLearnableDefault OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The default value for docsSubMgtCpeControlLearnable if not
       signaled in the DOCSIS Registration request. Upon initial CMTS
       initialization, this defaults to true."
       ::= { docsSubMgtObjects 4 }

   docsSubMgtCpeIpTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DocsSubMgtCpeIpEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of CPE IP addresses known on a per CM basis."
       ::= { docsSubMgtObjects 5 }

   docsSubMgtCpeIpEntry OBJECT-TYPE
       SYNTAX      DocsSubMgtCpeIpEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in the docsSubMgtCpeIpTable.  The first index is
       the specific modem we're referring to, the second index is the
       specific CPE IP entry."
       INDEX   { docsIfCmtsCmStatusIndex,
                 docsSubMgtCpeIpIndex }
       ::= {docsSubMgtCpeIpTable 1 }


Expires  August 2003                                          [Page 10]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   DocsSubMgtCpeIpEntry ::= SEQUENCE
       {
       docsSubMgtCpeIpIndex        Integer32,
       docsSubMgtCpeIpAddressType  InetAddressType,
       docsSubMgtCpeIpAddr         InetAddress,
       docsSubMgtCpeIpLearned      TruthValue
       }


   docsSubMgtCpeIpIndex OBJECT-TYPE
       SYNTAX      Integer32(1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index of this CPE IP address relative to the indexed CM.
       An entry is created either through the included CPE IP addresses
       in the provisioning object, or via learning.  If a CMTS receives
       an IP packet from a CM that contains a source IP address which
       does not match one of the docsSubMgtCpeIpAddr entries for this
       CM, one of two things occurs.  If the number of entries is less
       than docsSubMgtCpeControlMaxCpeIp, the source address is added to
       the table and the packet is forwarded.  If the number of entries
       equals the docsSubMgtCpeControlMaxCpeIp, AND
       docsSubMgtCpeControlActive is true, then the packet is dropped.
       Otherwise the packet is forwarded. "
       ::= { docsSubMgtCpeIpEntry 1 }

   docsSubMgtCpeIpAddressType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The type of internet address of docsSubMgtCpeIpAddr."
       ::= { docsSubMgtCpeIpEntry 2 }

   docsSubMgtCpeIpAddr OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The IP address either set from provisioning or learned via
       address gleaning or other forwarding means. See
       docsSubMgtCpeIpIndex for the mechanism."
       ::= { docsSubMgtCpeIpEntry 3 }

   docsSubMgtCpeIpLearned OBJECT-TYPE
       SYNTAX  TruthValue
       MAX-ACCESS read-only
       STATUS  current
       DESCRIPTION
           "If true, this entry was learned from IP packets sent
       upstream rather than from the provisioning objects."
       ::= { docsSubMgtCpeIpEntry 4 }

Expires  August 2003                                          [Page 11]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   -- The generic packet filter table.  Note that this just defines the
   -- match criteria.  The docsSubMgtCmFilterTable links this table to
   -- the specific modems.

   docsSubMgtPktFilterTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF DocsSubMgtPktFilterEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of filter or classifier criteria. Classifiers are
       assigned by group to the individual CMs.  That assignment is made
       via the configuration objects sent upstream from the CM to the
       CMTS during registration. Each filter in the group is applied
       in index order to each packet. If the filter matches, then the
       indicated action is taken. If no filter matches then the packet
       is accepted for further processing."
       ::= { docsSubMgtObjects 6 }

   docsSubMgtPktFilterEntry OBJECT-TYPE
       SYNTAX      DocsSubMgtPktFilterEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in the docsSubMgtPktFilterTable."
       INDEX   { docsSubMgtPktFilterGroup,
                 docsSubMgtPktFilterIndex }
       ::= {docsSubMgtPktFilterTable 1 }

   DocsSubMgtPktFilterEntry ::= SEQUENCE
       {
       docsSubMgtPktFilterGroup        Integer32,
       docsSubMgtPktFilterIndex        Integer32,
       docsSubMgtPktFilterAddrType     InetAddressType,
       docsSubMgtPktFilterSrcAddr      InetAddress,
       docsSubMgtPktFilterSrcMask      InetAddressPrefixLength,
       docsSubMgtPktFilterDstAddr      InetAddress,
       docsSubMgtPktFilterDstMask      InetAddressPrefixLength,
       docsSubMgtPktFilterUlp          Integer32,
       docsSubMgtPktFilterTosValue     OCTET STRING,
       docsSubMgtPktFilterTosMask      OCTET STRING,
       docsSubMgtPktFilterAction       INTEGER,
       docsSubMgtPktFilterMatches      Counter32,
       docsSubMgtPktFilterStatus       RowStatus,
       docsSubMgtPktFilterStorageType  StorageType
       }

   docsSubMgtPktFilterGroup OBJECT-TYPE
       SYNTAX      Integer32(1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Identifies an ordered group of filters. Each modem may be
       associated with a filter group for its upstream traffic

Expires  August 2003                                          [Page 12]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       (docsSubMgtCmFilterUpstream) and a filter group for its
       downstream traffic (docsSubMgtCmFilterDownstream). Typically,
       many modems will use the same filter group."
       ::= { docsSubMgtPktFilterEntry 1 }

   docsSubMgtPktFilterIndex OBJECT-TYPE
       SYNTAX      Integer32(1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An index which describes the ordering of a set of filter
       specifications within the group.  Filters are applied in index
       order."
       ::= { docsSubMgtPktFilterEntry 2 }

   docsSubMgtPktFilterAddrType OBJECT-TYPE
       SYNTAX      InetAddressType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of internet address of docsSubMgtPktFilterSrcAddr,
       docsSubMgtPktFilterSrcMask, docsSubMgtPktFilterDstAddr, and
       docsSubMgtPktFilterDstMask."
       DEFVAL { ipv4 }
       ::= { docsSubMgtPktFilterEntry 3 }

   docsSubMgtPktFilterSrcAddr OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The source IP address to match in the packet to be
       classified.  By default, this is the all-zero's IP v4 and v6
       address. A packet matches the SrcAddr filter if the following is
       true:
            AND (FilterSrcAddr, maskFrom(FilterSrcMask)) ==
            AND (Packet SrcAddr, maskFrom(FilterSrcMask))
       where maskFrom(N) is a bitmask constructed with N leftmost 1's
       bits. The mask value is applied to both the match value in this
       table and to the packet IP address. The address type of this
       object is specified by docsSubMgtPktFilterAddrType."
       DEFVAL { '00000000'H }    -- 0.0.0.0
       ::= { docsSubMgtPktFilterEntry 4 }

   docsSubMgtPktFilterSrcMask OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Specifies the number of leftmost 1's bits in an address
       bit mask. The bit mask that is applied to the source address
       prior to matching. This, taken with the SrcAddr specifies a
       matching criteria.  By default, the pair specifies a filter

Expires  August 2003                                          [Page 13]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       which matches all source addresses. The address type of this
       object is specified by docsSubMgtPktFilterAddrType."
       DEFVAL { 0  }
       ::= { docsSubMgtPktFilterEntry 5 }

   docsSubMgtPktFilterDstAddr OBJECT-TYPE
       SYNTAX      InetAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The destination IP address to match in the packet to be
       classified.  By default, this is the all-zero's IP v4 and v6
       address. A packet matches the DstAddr filter if the following is
       true:
            AND (FilterDstAddr, maskFrom(FilterDstMask)) ==
            AND (Packet DstAddr, maskFrom(FilterDstMask))
       where maskFrom(N) is a bitmask constructed with N leftmost 1's
       bits. The mask value is applied to both the match value in this
       table and to the packet IP address. The address type of this
       object is specified by docsSubMgtPktFilterAddrType."
       DEFVAL { '00000000'H }    -- 0.0.0.0
       ::= { docsSubMgtPktFilterEntry 6 }

   docsSubMgtPktFilterDstMask OBJECT-TYPE
       SYNTAX      InetAddressPrefixLength
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Specifies the number of leftmost 1's bits in an address
       bit mask. The bit mask that is applied to the destination
       address prior to matching. This, taken with the DstAddr specifies
       a matching criteria.  By default, the pair specifies a filter
       which matches all destination addresses. The address type of this
       object is specified by docsSubMgtPktFilterAddrType."
       DEFVAL { 0  }
       ::= { docsSubMgtPktFilterEntry 7 }

   docsSubMgtPktFilterUlp OBJECT-TYPE
       SYNTAX      Integer32 (0..256)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "Upper level protocol to match.  If this value is 256,
       matches ALL ULP values.  Otherwise, this matches the specific
       protocol value.  Note that if the packet ULP is either 6 (tcp) or
       17 (udp), then docsSubMgtPktTcpUdpFilterTable must also be
       consulted (if its entry exists) to see if this entry matches.
       If this value is neither tcp(6) nor udp(17), then that
       table is not consulted."
       DEFVAL { 256 }
       ::= { docsSubMgtPktFilterEntry 8 }

   docsSubMgtPktFilterTosValue OBJECT-TYPE

Expires  August 2003                                          [Page 14]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       SYNTAX      OCTET STRING (SIZE(1))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The TOS value to match in the IP packet."
       DEFVAL { '00'h }
       ::= { docsSubMgtPktFilterEntry 9 }

   docsSubMgtPktFilterTosMask OBJECT-TYPE
       SYNTAX      OCTET STRING(SIZE(1))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The mask to apply against the TOS value to be matched in the
       IP packet.  The default for both these objects taken together
       matches all TOS values. A packet matches this filter if the
       following is true:
           AND (FilterTosValue, FilterTosMask) ==
           AND (Packet TOS Value, FilterTosMask)."
       DEFVAL { '00'h }
       ::= { docsSubMgtPktFilterEntry 10 }

   docsSubMgtPktFilterAction OBJECT-TYPE
       SYNTAX      INTEGER
                      {
                      accept(1),
                      drop(2)
                      }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The action to take upon this filter matching.  Accept(1)
       means to end filter matching and to accept the packet for further
       processing. Drop(2) means to drop the packet."
       DEFVAL { accept }
       ::= { docsSubMgtPktFilterEntry 11 }

   docsSubMgtPktFilterMatches OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object counts the number of times this specific rule
       has been matched.  This is incremented any time this rule is
       encountered and all components match. It is only incremented for
       the first (lowest-indexed) filter matching a packet."
       ::= { docsSubMgtPktFilterEntry 12 }

   docsSubMgtPktFilterStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION

Expires  August 2003                                          [Page 15]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

           "Standard rowStatus object for creating this row.  Any object
       in this row which is writable may be changed at any time while
       the row is active. Since all writable objects in the entry have
       DEFVALs, a row may be made active without specifying any other
       values."
       ::= { docsSubMgtPktFilterEntry 13 }

   docsSubMgtPktFilterStorageType OBJECT-TYPE
       SYNTAX     StorageType
       MAX-ACCESS read-create
       STATUS     current
       DESCRIPTION
           "This object defines whether this filter is kept in volatile
       storage and lost upon reboot or if this row is backed up by
       non-volatile or permanent storage. 'permanent' entries need not
       allow writable access to any object."
       DEFVAL { nonVolatile }
       ::= { docsSubMgtPktFilterEntry 14 }

   docsSubMgtTcpUdpFilterTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF DocsSubMgtTcpUdpFilterEntry
       MAX-ACCESS not-accessible
       STATUS  current
       DESCRIPTION
           "This is an adjunct to docsSubMgtPktFilterTable. It provides
            optional filtering based on elements in TCP or UDP headers.
            This table is separate from docsSubMgtPktFilterTable only
            because it is expected to be used more rarely. This table
            is not consulted unless the upper-layer protocol is TCP or
            UDP."
       ::= { docsSubMgtObjects 7 }

   docsSubMgtTcpUdpFilterEntry OBJECT-TYPE
       SYNTAX  DocsSubMgtTcpUdpFilterEntry
       MAX-ACCESS not-accessible
       STATUS  current
       DESCRIPTION
           "Defines filtering criteria for TCP and UDP headers.
        Persistence of this row is controlled by
        docsSubMgtPktFilterStorageType."
       INDEX   { docsSubMgtPktFilterGroup, docsSubMgtPktFilterIndex }
       ::= {docsSubMgtTcpUdpFilterTable 1 }

   DocsSubMgtTcpUdpFilterEntry ::= SEQUENCE
       {
       docsSubMgtTcpUdpSrcPort     InetPortNumber,
       docsSubMgtTcpUdpDstPort     InetPortNumber,
       docsSubMgtTcpFlagValues     BITS,
       docsSubMgtTcpFlagMask       BITS,
       docsSubMgtTcpUdpStatus      RowStatus
       }

   docsSubMgtTcpUdpSrcPort OBJECT-TYPE

Expires  August 2003                                          [Page 16]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       SYNTAX  InetPortNumber
       MAX-ACCESS read-create
       STATUS  current
       DESCRIPTION
           "The source port to match.  Zero matches any value in the
       TCP or UDP source port field."
       DEFVAL { 0 }
       ::= { docsSubMgtTcpUdpFilterEntry 1 }

   docsSubMgtTcpUdpDstPort OBJECT-TYPE
       SYNTAX  InetPortNumber
       MAX-ACCESS read-create
       STATUS  current
       DESCRIPTION
           "The destination port to match.  Zero matches any value in
       the TCP or UDP destination port field."
       DEFVAL { 0 }
       ::= { docsSubMgtTcpUdpFilterEntry 2 }

   docsSubMgtTcpFlagValues OBJECT-TYPE
       SYNTAX  BITS
                   {
                   urgent(0),
                   ack(1),
                   push(2),
                   reset(3),
                   syn(4),
                   fin(5)
                   }
       MAX-ACCESS read-create
       STATUS  current
       DESCRIPTION
           "The value of the flags of interest.  The value of this
       object MUST always be a subset (proper or otherwise) of
       docsSubMgtTcpFlagMask.  An attempt to violate this constraint
       returns an inconsistentValue."
       DEFVAL { {} }
       ::= { docsSubMgtTcpUdpFilterEntry 3 }

   docsSubMgtTcpFlagMask OBJECT-TYPE
       SYNTAX  BITS
                   {
                   urgent(0),
                   ack(1),
                   push(2),
                   reset(3),
                   syn(4),
                   fin(5)
                   }
       MAX-ACCESS read-create
       STATUS  current
       DESCRIPTION
           "This bit set indicates the flags of interest in the TCP

Expires  August 2003                                          [Page 17]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       header for the packet to be matched.  For example to match all
       packets where the urgent bit is set, but that are not either syn
       or fin, the value of docsSubMgtTcpFlagValues would be { urgent },
       and the value of this object would be { urgent, syn, fin }"
       DEFVAL { {} }
       ::= { docsSubMgtTcpUdpFilterEntry 4 }

   docsSubMgtTcpUdpStatus OBJECT-TYPE
       SYNTAX  RowStatus
       MAX-ACCESS read-create
       STATUS  current
       DESCRIPTION
           "Standard row object for this table.  Any object in the
       conceptual row may be modified regardless of whether this row is
       active or not. Since all writable objects in the entry have
       DEFVALs, a row may be made active without specifying any other
       values."
       ::= { docsSubMgtTcpUdpFilterEntry 5 }

   docsSubMgtCmFilterTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF DocsSubMgtCmFilterEntry
       MAX-ACCESS not-accessible
       STATUS  current
       DESCRIPTION
           "Binds filter groups to modems. This table identifies for
       each modem the upstream and downstream filter groups that apply
       to packets for that modem. Zero is used as a distinguished value
       to mean no filter group."
       ::= { docsSubMgtObjects 8 }

   docsSubMgtCmFilterEntry OBJECT-TYPE
       SYNTAX  DocsSubMgtCmFilterEntry
       MAX-ACCESS not-accessible
       STATUS  current
       DESCRIPTION
           "Binds a filter group to each direction of traffic for a
       modem. The filters in this entry apply if
       docsSubMgtCpeControlActive is true. The contents of this entry
       are meaningless unless the corresponding docsIfCmtsCmStatusValue
       is registrationComplete(6). The persistence of this row is
       determined solely by the lifespan of the corresponding
       docsIfCmtsCmStatusEntry (normally StorageType=volatile)."
       AUGMENTS { docsIfCmtsCmStatusEntry }
       ::= {docsSubMgtCmFilterTable 1 }

   DocsSubMgtCmFilterEntry ::= SEQUENCE
       {
       docsSubMgtSubFilterDownstream        Integer32,
       docsSubMgtSubFilterUpstream          Integer32,
       docsSubMgtCmFilterDownstream         Integer32,
       docsSubMgtCmFilterUpstream           Integer32
   }


Expires  August 2003                                          [Page 18]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   docsSubMgtSubFilterDownstream OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The filter group applied to traffic destined for subscribers
       attached to the referenced CM.  This is set upon row creation to
       either the default (docsSubMgtSubFilterDownDefault), or to the
       value in the provisioning object sent upstream from the CM to the
       CMTS during registration. The value of this object is a pointer
       into the docsSubMgtPktFilterTable and refers to all filter rows
       with matching docsSubMgtPktFilterGroup indices. If there are no
       matching filter rows in that table, or if this object is set to
       zero, no filtering is applied to traffic destined to hosts
       attached to this CM."
       ::= { docsSubMgtCmFilterEntry 1 }

   docsSubMgtSubFilterUpstream OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The filter group applied to traffic originating from
       subscribers attached to the referenced CM.  This is set upon row
       creation to either the default (docsSubMgtSubFilterUpDefault), or
       to the value in the provisioning object sent upstream from the CM
       to the CMTS. The value of this object is a pointer into the
       docsSubMgtPktFilterTable and refers to all filter rows with
       matching docsSubMgtPktFilterGroup indices. If there are no
       matching filter rows in that table, or if this object is set to
       zero, no filtering is applied to traffic originating from
       hosts attached to this CM."
       ::= { docsSubMgtCmFilterEntry 2 }

   docsSubMgtCmFilterDownstream OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "The filter group applied to traffic destined for the
       referenced CM itself.  This is set upon row creation to either
       the default (docsSubMgtCmFilterDownDefault), or to the value in
       the provisioning object sent upstream from the CM to the CMTS
       during registration. The value of this object is a pointer into
       the docsSubMgtPktFilterTable and refers to all filter rows with
       matching docsSubMgtPktFilterGroup indices. If there are no
       matching filter rows in that table, or if this object is set to
       zero, no filtering is applied to traffic destined to this CM."
       ::= { docsSubMgtCmFilterEntry 3 }

   docsSubMgtCmFilterUpstream OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write

Expires  August 2003                                          [Page 19]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       STATUS  current
       DESCRIPTION
           "The filter group applied to traffic originating from the
       referenced CM itself.  This is set upon row creation to either
       the default (docsSubMgtCmFilterUpDefault), or to the value in
       the provisioning object sent upstream from the CM to the CMTS.
       The value of this object is a pointer into the
       docsSubMgtPktFilterTable and refers to all filter rows with
       matching docsSubMgtPktFilterGroup indices. If there are no
       matching filter rows in that table, or if this object is set
       to zero, no filtering is applied to traffic originating from
       this CM."
       ::= { docsSubMgtCmFilterEntry 4 }

   docsSubMgtSubFilterDownDefault OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "Upon a row creation in docsSubMgtCmFilterTable,
       docsSubMgtSubFilterDownstream is set to this value if no
       provisioning object is present to override it.  This object is
       persistent across CMTS reboots.  Upon initial CMTS
       initialization, this defaults to 0."
       ::= { docsSubMgtObjects 9 }

   docsSubMgtSubFilterUpDefault OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "Upon a row creation in docsSubMgtCmFilterTable,
       docsSubMgtSubFilterUpstream is set to this value if no
       provisioning object is present to override it.  This object is
       persistent across CMTS reboots.  Upon initial CMTS
       initialization, this defaults to 0."
       ::= { docsSubMgtObjects 10 }

   docsSubMgtCmFilterDownDefault OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write
       STATUS  current
       DESCRIPTION
           "Upon a row creation in docsSubMgtCmFilterTable,
       docsSubMgtCmFilterDownstream is set to this value if no
       provisioning object is present to override it.  This object is
       persistent across CMTS reboots.  Upon initial CMTS
       initialization, this defaults to 0."
       ::= { docsSubMgtObjects 11 }

   docsSubMgtCmFilterUpDefault OBJECT-TYPE
       SYNTAX  Integer32(0..2147483647)
       MAX-ACCESS read-write

Expires  August 2003                                          [Page 20]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       STATUS  current
       DESCRIPTION
           "Upon a row creation in docsSubMgtCmFilterTable,
       docsSubMgtCmFilterUpstream is set to this value if no
       provisioning object is present to override it.  This object is
       persistent across CMTS reboots.  Upon initial CMTS
       initialization, this defaults to 0."
       ::= { docsSubMgtObjects 12 }


   docsSubMgtConformance OBJECT IDENTIFIER ::= { docsSubMgt 2 }
   docsSubMgtCompliances OBJECT IDENTIFIER ::=
                                           { docsSubMgtConformance 1 }
   docsSubMgtGroups OBJECT IDENTIFIER      ::=
                                           { docsSubMgtConformance 2 }

   docsSubMgtBasicCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for CMTS devices that implement
       CMTS centric subscriber management."

   MODULE

   MANDATORY-GROUPS {
           docsSubMgtGroup
           }

   OBJECT docsSubMgtCpeControlMaxCpeIp
       SYNTAX Integer32(0..16)
       DESCRIPTION
           "An implementation is only required to support up to
            sixteen addresses per modem."

   OBJECT docsSubMgtCpeMaxIpDefault
       SYNTAX Integer32(0..16)
       DESCRIPTION
           "An implementation is only required to support up to
            sixteen addresses per modem."

   OBJECT docsSubMgtCpeIpAddressType
       SYNTAX InetAddressType { ipv4(1) }
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtCpeIpAddr
       SYNTAX  InetAddress (SIZE(4))
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtPktFilterAddrType

Expires  August 2003                                          [Page 21]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

       SYNTAX InetAddressType { ipv4(1) }
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtPktFilterSrcAddr
       SYNTAX InetAddress (SIZE(4))
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtPktFilterSrcMask
       SYNTAX InetAddressPrefixLength(0..32)
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtPktFilterDstAddr
       SYNTAX InetAddress (SIZE(4))
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtPktFilterDstMask
       SYNTAX InetAddressPrefixLength(0..32)
       DESCRIPTION
           "An implementation is only required to support IPv4
            addresses."

   OBJECT docsSubMgtPktFilterStorageType
       SYNTAX StorageType { nonVolatile(3) }
       DESCRIPTION
           "An implementation is only required to support nonvolatile
            storage of filter entries."

   OBJECT docsSubMgtSubFilterDownstream
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

   OBJECT docsSubMgtSubFilterUpstream
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

   OBJECT docsSubMgtCmFilterDownstream
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."


Expires  August 2003                                          [Page 22]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   OBJECT docsSubMgtCmFilterUpstream
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

   OBJECT docsSubMgtSubFilterDownDefault
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

   OBJECT docsSubMgtSubFilterUpDefault
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

   OBJECT docsSubMgtCmFilterDownDefault
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

   OBJECT docsSubMgtCmFilterUpDefault
       SYNTAX  Integer32(0..30)
       DESCRIPTION
           "An implementation is only required to support thirty
       filter groups."

           ::= { docsSubMgtCompliances 1 }

   docsSubMgtGroup OBJECT-GROUP
           OBJECTS {
               docsSubMgtCpeControlMaxCpeIp,
               docsSubMgtCpeControlActive,
               docsSubMgtCpeControlLearnable,
               docsSubMgtCpeControlReset,
               docsSubMgtCpeControlLastReset,
               docsSubMgtCpeMaxIpDefault,
               docsSubMgtCpeActiveDefault,
               docsSubMgtCpeLearnableDefault,
               docsSubMgtCpeIpAddressType,
               docsSubMgtCpeIpAddr,
               docsSubMgtCpeIpLearned,
               docsSubMgtPktFilterAddrType,
               docsSubMgtPktFilterSrcAddr,
               docsSubMgtPktFilterSrcMask,
               docsSubMgtPktFilterDstAddr,
               docsSubMgtPktFilterDstMask,
               docsSubMgtPktFilterUlp,
               docsSubMgtPktFilterTosValue,
               docsSubMgtPktFilterTosMask,

Expires  August 2003                                          [Page 23]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

               docsSubMgtPktFilterAction,
               docsSubMgtPktFilterMatches,
               docsSubMgtPktFilterStatus,
               docsSubMgtPktFilterStorageType,
               docsSubMgtTcpUdpSrcPort,
               docsSubMgtTcpUdpDstPort,
               docsSubMgtTcpFlagValues,
               docsSubMgtTcpFlagMask,
               docsSubMgtTcpUdpStatus,
               docsSubMgtSubFilterDownstream,
               docsSubMgtSubFilterUpstream,
               docsSubMgtCmFilterDownstream,
               docsSubMgtCmFilterUpstream,
               docsSubMgtSubFilterDownDefault,
               docsSubMgtSubFilterUpDefault,
               docsSubMgtCmFilterDownDefault,
               docsSubMgtCmFilterUpDefault
               }
               STATUS      current
               DESCRIPTION
                   "The objects use to managed host-based cable modems
                   via a set of CMTS enforced controls."
               ::= {  docsSubMgtGroups 1 }

   END

4. Acknowledgments

   This document is based on work by Michael St.Johns, then at
   Excite@Home.  Thanks to Guenter Roeck and Julie McGray for reviewing
   early drafts.  This draft benefitted from extensive review by Bert
   Wijnen.

5. Normative References

   [RFC2578]
        McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of
        Management Information for Version 2 (SMIv2)", STD 58, RFC 2578,
        April 1999.

   [RFC2579]
        McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual
        Conventions for SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580]
        McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance
        Statements for SMIv2", STD 58, RFC 2580, April 1999.

   [DOCSRFI]
        "Data-Over-Cable Service Interface Specifications: Cable Modem
        Radio Frequency Interface Specification SP-RFIv2.0-I02-020617",
        DOCSIS, June 2002, available at http://www.cablemodem.com/.


Expires  August 2003                                          [Page 24]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   [RFC2669]
        StJohns, M. , "Cable Device Management Information Base for
        DOCSIS Compliant Cable Modems and Cable Modem Termination
        Systems", RFC2669, August 1999.

   [RFC2670]
        StJohns, M. , "Radio Frequency (RF) Interface Management
        Information Base for MCNS/DOCSIS compliant RF interfaces",
        RFC2670, August 1999.

6. Informative References

   [RFC1858]
        Ziemba, G., Reed, D., and P. Traina, "Security Considerations
        for IP Fragment Filtering", RFC1858, October 1995.

   [RFC3128]
        Miller, I., "Protection against a Variant of the Tiny Fragment
        Attack". RFC3128, June 2001.

   [RFC3410]
        Case, J., Mundy, R., Partain, D. and B. Stewart,
        "Introduction and Applicability Statements for Internet-
        Standard Management Framework", RFC 3410, December 2002.

   [DOCSBPI]
        "Data-Over-Cable Service Interface Specifications: Baseline
        Privacy Plus Interface Specification SP-BPI+-I09-020830",
        DOCSIS, August 2002, available at http://www.cablemodem.com/.

7. Security Considerations

   This MIB is intended to limit certain kinds of network behavior by
   subscriber hosts attached to cable modems, including, for example, IP
   spoofing. These limitations may be compromised, however, if the cable
   modem's identity or registration process is spoofed. The DOCSIS RFI
   and privacy specifications [DOCSRFI] and [DOCSBPI] define a number of
   mechanisms for assuring modem identity.

   The filtering mechanism defined here can be defeated through the
   "tiny fragment" and "overlapping fragment" attacks if the
   recommendations in section 2.2.6 are omitted. See [RFC1858] and
   [RFC3128] for discussion of these attacks.

   There are a number of management objects defined in this MIB that
   have a MAX-ACCESS clause of read-write and/or read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations.

   Unauthorized SETs to this MIB can permit two major security problems
   with public cable network operation: IP address spoofing, and defeat

Expires  August 2003                                          [Page 25]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   of operator-defined packet filtering.

   The following objects, if SET maliciously, would evade controls on
   address spoofing:

       docsSubMgtCpeControlMaxCpeIp
       docsSubMgtCpeControlActive
       docsSubMgtCpeControlLearnable
       docsSubMgtCpeControlReset
       docsSubMgtCpeMaxIpDefault
       docsSubMgtCpeActiveDefault
       docsSubMgtCpeLearnableDefault

   All writable objects in docsSubMgtPktFilterTable and
   docsSubMgtTcpUdpFilterTable share the potential, if SET maliciously,
   to permit unwanted and disruptive traffic to enter the public data
   network, as well as to be transmitted to subscribers. The following
   objects could also permit packet filtering to be defeated:

       docsSubMgtSubFilterDownstream
       docsSubMgtSubFilterUpstream
       docsSubMgtCmFilterDownstream
       docsSubMgtCmFilterUpstream
       docsSubMgtSubFilterDownDefault
       docsSubMgtSubFilterUpDefault
       docsSubMgtCmFilterDownDefault
       docsSubMgtCmFilterUpDefault

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET access to these objects and possibly to even encrypt
   the values of these objects when sending them over the network via
   SNMP. The most sensitive is docsSubMgtCpeIpAddr within
   docsSubMgtCpeIpTable. While docsSubMgtCpeIpTable is intended to
   control address spoofing, it includes information about the current
   subscriber address pool. This information may itself be valuable to
   would-be spoofers.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator

Expires  August 2003                                          [Page 26]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module, is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

8. Author's Address

        Wilson Sawyer
        ARRIS
        6 Riverside Drive
        Andover, MA 01810
        USA

        Phone: +1 978 946 4711
        Email: wsawyer@ieee.org

9. Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementers or users of this specification can
   be obtained from the IETF Secretariat.


   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.




10. Full Copyright Statement

   Copyright (C) The Internet Society (2003). All Rights Reserved.


   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this

Expires  August 2003                                          [Page 27]


INTERNET-DRAFT      DOCSIS Subscriber Management MIB       February 2003

   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the  purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.


   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

   Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.































Expires  August 2003                                          [Page 28]