Product
Search Results

CDRouter DOCSIS User Guide

Introduction

CDRouter DOCSIS adds provisioning and additional testing capabilities to CDRouter. CDRouter DOCSIS is designed to support and test DOCSIS compliant devices that include cable modem (CM) and optionally embedded router (eRouter) interfaces.

CDRouter DOCSIS includes a number of additional protocol test modules that target the CM interface of the DUT. The DOCSIS test modules can be run either individually or as part of a larger test run that includes test cases from CDRouter and other CDRouter expansions such as:

  • CDRouter Multiport
  • CDRouter Performance
  • CDRouter IPv6
  • CDRouter TR-069
  • CDRouter IKE
  • CDRouter SNMP
  • CDRouter Storage
  • CDRouter BBF.069

Terminology

CDRouter DOCSIS introduces a few new terms which are defined here:

Term Definition
APM Alternate Provisioning Mode
CM Cable Modem
CMTS Cable Modem Termination System
DOCSIS Data Over Cable Service Interface Specification
DPM Dual-Stack Provisioning Mode
eMTA Embedded Multimedia Terminal Adapter
eRouter Embedded Router
MDD MAC Domain Descriptor
NMS Network Management System
TLV Type Length Value

Requirements and License

CDRouter DOCSIS is available for CDRouter 10.3 and newer releases only.

Licensing

CDRouter DOCSIS is a licensed expansion that must be purchased from QA Cafe. For information on upgrading a license to include CDRouter DOCSIS or any other expansions, please contact sales@qacafe.com.

CDRouter will report the status of all available expansions during the installation process and during start-up. To verify that CDRouter DOCSIS is enabled on a system, run the command cdrouter-cli -info as root and look for the line DOCSIS is enabled, as shown below. If this line is present, CDRouter DOCSIS is enabled and ready to use.

$ cdrouter-cli -info

Starting cdrouter-cli Mon Feb 20 15:51:38 EST 2017
Copyright (c) 2001-2017 by QA Cafe
Version 10.3 build 1 (23677 trunk), built 2017-02-19 17:36:43 by nightly@cdr-forge6.lan (x86_64)
OS is CentOS 6.8 (3.10.103-1.el6.elrepo.x86_64)
CPU is Intel(R) Core(TM)2 CPU E8400 @ 3.00GHz
Trying to load modules from '.'
Trying to load modules from '/usr/cdrouter/tests'
Start command: /usr/cdrouter/bin/cdrouter-cli -info
Test Suite cdrouter 10.3.1
The system ID is b24fa0b6bc7e4558a1584f6bcdc30d5e
Using license installed at: /etc/cdrouter.lic
Serial number: NTA1000-10093
Registered to: qacafe
Maintenance, Support and Upgrades until: 2018-02-01
Licensed to run: cdrouter
    Multiport   is enabled
    IPv6        is enabled
    Storage     is enabled
    IKE         is enabled
    TR69        is enabled
    TR69-EDM    is enabled
    Nmap        is enabled
    BBF.069     is disabled
    SNMP        is enabled
    Performance is enabled
    ICS         is enabled
    DOCSIS      is enabled
NTA platform 1, image 4.3, serial number NTA1000-10093
BBF.069 is not installed

Alternatively, the Admin > System menu within the web interface can also be used to see a full list of all expansions installed and available on a system.

Additional Expansions

Some CDRouter DOCSIS test modules require the IPv6, SNMP, and Nmap expansions. If these expansions are not licensed and installed any DOCSIS specific tests that require them will be automatically skipped by CDRouter.

Please contact sales@qacafe.com for more information on the IPv6, SNMP, and Nmap expansions for CDRouter.

Test Methodology

DOCSIS Overview

Within a DOCSIS network the cable modem (CM) resides within the customer premises and acts as a bridge between the subscriber’s home network and the ISP’s network. Multiple CPE devices, such as computers, wireless routers, VoIP adapters, and set-top boxes can be connected to the LAN port of the CM and gain access to the WAN. CPE functionality can also be embedded into a single device along with the CM. An embedded wireless router is referred to as an eRouter; likewise, an embedded VoIP adapter is referred to as an eMTA.

To test DOCSIS devices with CDRouter, a cable modem termination system (CMTS) is required. A CMTS is the head-end of a DOCSIS network that resides within, and connects multiple CMs to, the ISP’s network. A CM must establish a physical layer connection with the CMTS and be properly provisioned before any attached or embedded CPE devices can forward traffic.

In a test environment, a CMTS is typically installed in a lab and shared among many different users and devices, as shown in the following network diagram:

Typical DOCSIS lab testing environment

In these environments CDRouter has historically required that the CM be fully provisioned by existing systems prior to running any tests. Once provisioned, CDRouter can then be used to test the CM (as a simple bridge), the eRouter (if present), or other CPE devices connected to the CM.

CDRouter DOCSIS adds a provisioning system to CDRouter. All of the services required to fully provision a CM over IPv4 or IPv6 are provided, including:

  • DHCP/DHCPv6 server
  • TFTP server
  • RFC 868 Time server
  • Log server

These servers reside within a new, independent, DOCSIS network that is logically attached to CDRouter’s main WAN interface. In addition, all existing WAN servers and services, such as the remote host, the free network range, the DNS servers, the SNMP network management server, etc. are accessible to both the DOCSIS and WAN networks.

In addition, the DOCSIS configuration file used by CDRouter is user-defined and can either be specified as:

  1. The path to an existing properly formatted and encoded DOCSIS configuration file on disk, OR
  2. A list of DOCSIS TLVs which are embedded directly within CDRouter’s configuration file and encoded by CDRouter automatically at run time

This makes it possible to fully provision and test DOCSIS devices in a closed loop setup with a dedicated CMTS or in an environment utilizing a shared CMTS without requiring external provisioning servers or services. With the DOCSIS expansion, provisioning and testing of DOCSIS devices is easier and provides a more flexible configuration and testing possibilities.

CMTS Support

CDRouter DOCSIS has no specific requirements on the CMTS and is compatible with most commercially available CMTS equipment. When possible, the preferred setup involves using a dedicated CMTS in a bridge configuration with CDRouter’s WAN interface connected directly to the CMTS uplink. This is the least complex setup and requires minimal configuration.

CDRouter DOCSIS can also be used in larger lab environments where one CMTS is shared among different people and devices. Typically in these environments the CMTS or an intermediate router will implement DHCP relay to forward DHCP packets from CMs to specific DHCP servers. CDRouter DOCSIS is compatible with DHCP relay and can be configured as the DHCP server for specific devices when used in a shared environment.

Users that do not currently have a CMTS can contact support@qacafe.com for equipment recommendations and test setup guidance.

Blonder Tongue offers a variety of CMTS that can be purchased and used in conjunction with CDRouter DOCSIS to create a small, self-contained, and simple DOCSIS test environment.

Please see this Knowledge Base article for more information on setting up and configuring a Blonder Tongue CMTS for use with CDRouter.

CM Provisioning Modes

The DOCSIS 3.0 specification defines four different IP provisioning modes for the CM:

  • IPv4 only
  • IPv6 only
  • Alternate provisioning mode (APM): IPv6 first with failover to IPv4
  • Dual-stack provisioning mode (DPM): IPv4 and IPv6 simultaneously

The IP provisioning mode is a CMTS configuration option that is transmitted periodically by the CMTS to all attached CM via MAC Domain Descriptor (MDD) messages.

CDRouter DOCSIS currently supports provisioning of the CM via IPv4 or IPv6. APM and DPM modes within the CMTS can also be tested and will ensure that the CM fails over properly when IPv4 or IPv6 provisioning is not available.

Support for full dual-stack provisioning of the CM may be added to a future release.

Initial Setup

There are two basic test setups for CDRouter DOCSIS:

  • Dedicated CMTS forming a flexible, closed loop topology
  • Shared CMTS topology in an existing lab network

Dedicated CMTS Closed Loop

The best setup for testing DOCSIS devices requires a dedicated CMTS that is connected directly to CDRouter’s WAN interface. CDRouter then connects via Ethernet or wireless to the LAN side of the DUT which connects via coax to the CMTS, as shown in this diagram:

In this setup, CDRouter has full control over the entire network configuration and the CMTS forwards all traffic from the DUT directly to CDRouter.

For the quickest setup, the CMTS should be configured to bridge all traffic from the DUT to its uplink port, making the DUT’s CM and eRouter visible to CDRouter.

Alternatively, the CMTS can be configured to route traffic from the DUT to CDRouter’s WAN interface. In this configuration, the CMTS must be configured as a DHCP Relay Agent to forward requests from the CM and eRouter to CDRouter’s DHCP servers.

Shared CMTS in Existing Lab Network

CDRouter DOCSIS can also be used in environments where a single CMTS is shared by many users, as shown in this diagram:

In these environments, CDRouter’s connections and configuration must be integrated with the existing network, and the CMTS and network routing infrastructure must be updated to ensure that test traffic is forwarded properly between CDRouter’s LAN and WAN interfaces. These updates include the following requirements:

  • Allocate addresses for CDRouter’s emulated servers. Some of these servers are on the same IP subnet and share CDRouter’s WAN interface link, while others must be on a separate subnet that does not overlap with the WAN interface.

  • Add static routes to your existing infrastructure to make sure the CMTS (and any intermediate routers) will properly forward CDRouter test traffic between the DUT and the emulated servers, using CDRouter’s WAN interface as a next-hop.

  • Configure the DHCP Relay Agent settings of the CMTS to forward DHCP requests from the DUT to CDRouter’s DHCP server (this is sometimes called the “IP helper-address”). The CMTS must be configured to relay DHCP request from both the Cable Modem (CM) and the eRouter gateway of the DUT. (CDRouter does not support provisioning of the Multimedia Terminal Adapter (MTA) for voice traffic).

Detailed configuration examples for both test setups are provided in the configuration section below.

Cable Modem Provisioning

CDRouter DOCSIS adds an additional step of CM provisioning to the normal CDRouter start-up procedure performed at the beginning of every test run.

  • DHCP Servers: When the CDRouter DOCSIS expansion is enabled, CDRouter will start and manage two separate DHCP servers on the WAN. The WAN DHCP server resides within CDRouter’s WAN ISP network and is designed to service the DHCP client within the eRouter or CPE. The second DHCP server is located within the new DOCSIS network and is designed to service the CMs DHCP client.

    The two DHCP servers have unique addresses and reside within different networks that are attached to the WAN interface. The two DHCP servers use the contents of the Vendor Class Identifier option (DHCP option 60, or DHCPv6 option 16) to determine if a received request is from a CM or an eRouter / CPE.

    A Vendor Class Identifier option that begins with the string docsis, indicates that the requesting client is a CM and the request will be answered by the DOCSIS DHCP server. The DOCSIS DHCP server will provide an address and gateway information to the CM as well as addresses for all other servers required to provision the CM, including:

  • TFTP Server: for IPv4, the TFTP server information is provided via the DHCP TFTP Server option (option 66) and the Next server IP address field. For IPv6, the TFTP server information is provided via the TFTP Server Addresses suboption (32) of the DHCPv6 Vendor-specific Information option (option 17).

  • Time Server: for IPv4, the RFC 868 Time server information is provided via the DHCP Time Server option (DHCP option 2). CDRouter’s DOCSIS DHCP server will also include the DHCP Time Offset option (option 4) with a value of 0 in all DHCP messages sent to the CM. For IPv6, the RFC 868 Time server information is provided via the Time Protocol Servers suboption (37) of the DHCPv6 Vendor-specific Information option (option 17). The Time Offset suboption (38) of the DHCPv6 Vendor-specific Information option (option 17) will also be set to a value of 0.

  • Log Server: for IPv4, the log server information is provided via the DHCP Log Server option (option 7). For IPv6, the log server information is provided via the Syslog Servers suboption (34) of the DHCPv6 Vendor-specific Information option (option 17).

Once the CM has obtained an address, it should contact the learned Time server to obtain a time value. Note that CDRouter’s Time server will provide the system’s current time to the CM when queried. Following time synchronization, the CM should then contact CDRouter’s TFTP server and download its DOCSIS configuration file.

The CM is fully provisioned once the DOCSIS configuration file has been downloaded via TFTP and applied. Once the CM has been successfully provisioned, the DUT’s eRouter, or an attached CPE device, if present, will begin initialization and will interact with CDRouter’s primary WAN network servers and services. If CM provisioning fails during the start-up procedure, the test run will be aborted.

Disabling Cable Modem Provisioning

Some environments may provision CMs externally from CDRouter. To allow for CDRouter to be integrated into an environment which provisions the CM separately, CM provisioning must be disabled on CDRouter using docsisDhcpServerEnable or docsisDhcpIpv6ServerEnable . When these testvars are set to no, all elements of CM provisioning will be disabled, including the DOCSIS DHCP server, TFTP server, Time server, and Log server. The IP address of the CM must be configured using the testvars docsisAssignIp and docsisAssignIpv6 . Tests within the DOCSIS module can then be run against the CM.

The following testvars should still be configured when the DHCP server is disabled. The DHCP server stack will still be created, but it will not respond to DHCP traffic.

Setting IPv4 Testvar IPv6 Testvar
CDRouter IP address docsisIp docsisIpv6
CM IP address docsisAssignIp docsisAssignIpv6
DHCP server docsisDhcpServer docsisDhcpIpv6Server
Remote host docsisRemoteHost
CDRouter gateway docsisGateway docsisIpv6Gateway

Test Modules

CDRouter DOCSIS includes a number of test modules designed specifically to test the CM interface of a DOCSIS device. These test modules can be run alone or in combination with other CDRouter test modules that target the eRouter or attached CPE to fully test a DOCSIS compliant device. The following table summarizes the different test modules included with CDRouter DOCSIS and any additional expansions that may be required:

Test Module Interface Required Expansions
dhcp-docsis.tcl CM DOCSIS
firewall-docsis.tcl CM DOCSIS
nmap-docsis.tcl CM DOCSIS + Nmap
snmp-docsis.tcl CM DOCSIS + SNMP
dhcpv6-docsis.tcl CM DOCSIS + IPv6
firewall-docsis-v6.tcl CM DOCSIS + IPv6
nmap-docsis-v6.tcl CM DOCSIS + Nmap + IPv6
snmp-docsis-v6.tcl CM DOCSIS + SNMP + IPv6

To test the CM’s SNMP functionality, the SNMP expansion must also be licensed and and properly configured. Please see the CDRouter SNMP User’s Guide for more information on configuring CDRouter for SNMP. Likewise, to perform Nmap scans against the CM interface, the Nmap expansion must be licensed and enabled by setting the testvar enableNmap to a value of “yes”.

To run only the DOCSIS related test modules from the command-line:

$ cdrouter-cli -expansion DOCSIS –trace –pt

For additional test execution options, see the CDRouter CLI Guide.

Configuration

All testvars associated with DOCSIS are located within the CDRouter DOCSIS Expansion section of the CDRouter configuration file.

Enabling DOCSIS

The DOCSIS expansion can be globally enabled or disabled using the testvar supportsDocsis . Setting this testvar to a value of “yes” will enable CDRouter’s internal CM provisioning system, which will set up a second “DOCSIS” network on the WAN in addition to the main WAN network.

DOCSIS Provisioning Mode

The docsisIpProvisioningMode testvar determines whether CDRouter’s DOCSIS servers will provision the CM over IPv4 or IPv6. This testvar must be set to a value that is compatible with the provisioning mode advertised by the CMTS to the CM:

CMTS Mode CDRouter IPv4-only CDRouter IPv6-only
IPv4 only
Ipv6 only
APM
DPM * *

(*) CDRouter DOCSIS does not support dual-stack operation, but it is still possible to successfully test most DOCSIS cable modems that are running in dual-stack provisioning mode (DPM). In this situation, the CM should simply accept provisioning from CDRouter over whichever mode it is configured to offer.

DOCSIS Provisioning Servers

CDRouter’s provisioning system consists of the following DOCSIS servers which will be created automatically and managed by CDRouter within the DOCSIS network:

  • Default Gateway
  • DHCP server
  • TFTP server
  • Time server
  • Log server

These servers will be available to respond to the CM throughout the entire test run.

IPv4/IPv6 Address Provisioning

The addressing and routing configuration of CDRouter’s DOCSIS network is similar to that of the main WAN network used to configure the eRouter and non-DOCSIS CPE devices. Testvars are available within the DOCSIS IPv4 Provisioning and IPv6 Provisioning sections of the config file to specify addresses for CDRouter’s local WAN interface, each of the DOCSIS provisioning servers above, and an address to be assigned to the CM. Additionally, gateway addresses can be specified to support routing between the CM and CDRouter’s servers.

The following testvars provide the essential DOCSIS address configuration settings. See the Configuration Examples section below for additional details on setting these testvars.

Setting IPv4 Testvar IPv6 Testvar
CDRouter IP address docsisIp docsisIpv6
CM IP address docsisAssignIp docsisAssignIpv6
DHCP server docsisDhcpServer docsisDhcpIpv6Server
TFTP server docsisTftpServer docsisTftpIpv6Server
Time server docsisTimeServer docsisTimeIpv6Server
Log server docsisLogServer docsisLogIpv6Server
CDRouter gateway* docsisGateway docsisIpv6Gateway
CM gateway* docsisAssignGateway
CMTS Relay Agent docsisDhcpRelayServer docsisDhcpv6RelayServer

CM MAC Filtering

By default, CDRouter’s DOCSIS DHCP and DHCPv6 servers will respond to any CM requests that are received. To filter requests to a single device, the testvar docsisClientMac can be configured and set to the CM’s MAC address. This testvar should always be configured in shared CMTS environments where multiple CMs are present.

Additional Configuration

There are a number of additional configuration options for CDRouter’s DOCSIS DHCP server. Please see the CDRouter configuration file and inline help text for more information.

The DOCSIS CM Configuration File

There are two options for defining the DOCSIS configuration file that is provided by CDRouter to the CM during provisioning.

The first option is to use an existing, user or vendor defined and properly encoded DOCSIS configuration file. Existing DOCSIS config files can be copied to the CDRouter system and used during testing by specifying the full path on disk with the testvar docsisConfigFile .

The second option is to define a DOCSIS configuration file in a CDRouter configuration using the testvar docsisConfig . This testvar allows a human readable DOCSIS configuration file to be embedded within the CDRouter configuration file. The contents are encoded at run time and the resulting file is provided by CDRouter to the CM during provisioning. The docsisConfigSharedSecret testvar can be used to specify the authentication key (shared secret) used to encode the file.

The default DOCSIS configuration file used by CDRouter is shown below. Any valid TLV can be used in this configuration file. CDRouter’s default DOCSIS configuration file should be sufficient for provisioning most CMs and is the recommended starting point for DOCSIS testing.

testvar docsisConfig                     {
         Main
         {
             NetworkAccess 1;
             BaselinePrivacy
             {
                     AuthTimeout 10;
                     ReAuthTimeout 10;
                     AuthGraceTime 600;
                     OperTimeout 1;
                     ReKeyTimeout 1;
                     TEKGraceTime 600;
                     AuthRejectTimeout 60;
                     SAMapWaitTimeout 1;
                     SAMapMaxRetries 4;
             }
             MaxCPE 3;
             UsServiceFlow
             {
                     UsServiceFlowRef 2;
                     QosParamSetType 7;
             }
             DsServiceFlow
             {
                     DsServiceFlowRef 1;
                     QosParamSetType 7;
             }
             SNMPv1v2cCoexistenceConfig
             {
                     SNMPv1v2cCommunityName "public";
                     SNMPv1v2cTransportAddressAccess
                     {
                             SNMPv1v2cTransportAddress 0.0.0.0/0;
                             SNMPv1v2cTransportAddressMask 0.0.0.0/0;
                     }
                     SNMPv1v2cAccessViewType 2;
                     SNMPv1v2cAccessViewName "docsisManagerView";
             }
             /* CmMic e07f5ace4d2b69cfd8d65cdeb30f739c; */
             /* CmtsMic 08187b8a159f0fa6021fa95be0be5a59; */
             /*EndOfDataMkr*/
         }
     }

A list of the TLVs that may be defined in the DOCSIS configuration file can be found here. These values map to the common TLV encodings defined in Annex C of the DOCSIS 3.0 MAC and [Upper Layer Protocols Interface Specification

Example DOCSIS configuration files for a number of different scenarios can be found here.

eRouter Configuration

If the DUT includes an integrated eRouter, the CM configuration file should include an additional eRouter section, with at minimum the InitializationMode included. This TLV is particularly important because it controls the IP mode of the eRouter:

InitializationMode TLV Value Description
0 eRouter disabled
1 eRouter IPv4 only
2 eRouter IPv6 only
3 eRouter dual-stack

The eRouter section of the CM configuration file can also be used to configure CWMP, as discussed in the Testing Exercises section below.

A description of all eRouter specific TLVs can be found in the CableLabs eRouter specification.

CM Firewall Configuration

The DOCSIS expansion includes tests for verifying the firewall behavior of the CM interface. These tests are similar to CDRouter’s existing firewall tests, and require information about which ports on the CM interface the user expects to be open, closed, or in stealth mode for both UDP and TCP traffic.

By default all ports are assumed to be in stealth mode. Any UDP and TCP ports that the user expects to be open should be configured using the testvars docsisUdpOpenPorts and docsisTcpOpenPorts , respectively.

Likewise, any UDP and TCP ports that the user expects to be closed should be configured using the testvars docsisUdpClosedPorts and docsisTcpClosedPorts , respectively.

These testvars can be configured with a list of individual ports and port ranges. The special keyword all can be used for the UDP and TCP closed port lists to indicate that the user expects all ports to be actively closed by the CM.

Configuration Examples

Example #1: Dedicated CMTS in Bridge Mode

The diagram below shows the most basic CDRouter DOCSIS setup where a dedicated CMTS is used in a bridge configuration. In this setup, the CMTS uplink port is connected directly to CDRouter’s WAN interface to form a “closed loop” topology. The CMTS will forward all packets from the CM and eRouter directly to CDRouter’s DOCSIS and WAN ISP networks, respectively.

This is the least complex setup for CDRouter DOCSIS testing. It is highly controlled and will produce the most repeatable and consistent results for regression testing.

Example #2: Dedicated CMTS in Routing mode with DHCP Relay

The diagram below shows how CDRouter DOCSIS can be used in a “closed loop” topology with a CMTS in Routing mode. In this environment, the CMTS must act as a DHCP Relay Agent to forward requests from the DUT’s CM and eRouter to CDRouter’s DHCP servers.

Here, the CMTS must be configured to use CDRouter’s WAN interface (wanIspIp ) as its default router for all unknown destinations. This ensures that CDRouter’s test traffic will be properly forwarded between CDRouter’s LAN clients and emulated WAN servers.

Example #3: Shared CMTS within an active network topology

If it is not possible to provide a dedicated CMTS, CDRouter can be integrated into an active network topology like the one above, even if the CMTS is shared by multiple DOCSIS modems and gateways at the same time. In this type of setup, special provisions must be made in the existing network infrastructure to properly forward CDRouter’s test traffic and avoid conflicts with other devices on the network.

In order to accommodate CDRouter’s DOCSIS servers and test traffic, the CMTS and network routing topology must be updated to meet the following requirements:

  • Allocate a set of addresses for CDRouter’s WAN interface and on-link DOCSIS servers, and determine the address of the Corporate/Lab router on that link.

        Example:  202.254.1.1    (Corporate/Lab router)   
                  202.254.1.2-7  (CDRouter WAN + DOCSIS servers)   
    
  • Allocate a block of free IP addresses that CDRouter can use for its emulated servers and hosts on the WAN. These must be on a separate IP subnet from CDRouter’s WAN interface.

        Example: 202.254.101.0/24  (CDRouter emulated servers and hosts)
    
  • Add a static route to your corporate/lab network to ensure that traffic to the block of free addresses above is routed to CDRouter’s WAN interface address as the next-hop router

        Example: route 202.254.101.0/24 next-hop 202.254.1.2
    
  • Allocate address space for CDRouter to assign to the DUT’s Cable Modem and eRouter. These should be in separate IP subnets with the CMTS acting as the default router for each one. You should also determine the CM and eRouter MAC addresses of the DUT to ensure CDRouter’s DHCP server only responds to these specific clients.

        Example: 202.254.10.1 (CMTS) , 202.254.10.2 (CM address)
                 202.254.20.1 (CMTS) , 202.254.20.2 (eRouter address)
    

The diagram below shows an example topology containing a shared CMTS in routing mode with an intermediate network router on the WAN between it and CDRouter’s WAN interface.

The CDRouter DOCSIS expansion also supports DOCSIS provisioning over IPv6

Testing Exercises

Aside from running each test case included with the CDRouter DOCSIS expansion, a number of other interesting test scenarios are possible with CDRouter. The following testing exercises are recommended.

TR-069 Provisioning via the DOCSIS Configuration File

TR-069 can be enabled on the eRouter from within the DOCSIS configuration.

On systems that have both the CDRouter DOCSIS and TR-069 expansions, this make it possible to dynamically configure TR-069 at run-time. To enable TR-069 on the eRouter, an eRouter section must be added to the DOCSIS configuration file with a number of additional TR-069 specific TLVs. The following DOCSIS configuration file enables TR-069 within the eRouter using CDRouter’s default ACS configuration:

testvar docsisConfig                     {
         Main
         {
             NetworkAccess 1;
             BaselinePrivacy
             {
                     AuthTimeout 10;
                     ReAuthTimeout 10;
                     AuthGraceTime 600;
                     OperTimeout 1;
                     ReKeyTimeout 1;
                     TEKGraceTime 600;
                     AuthRejectTimeout 60;
                     SAMapWaitTimeout 1;
                     SAMapMaxRetries 4;
             }
             MaxCPE 3;
             UsServiceFlow
             {
                     UsServiceFlowRef 2;
                     QosParamSetType 7;
                     MaxRateSustained 1000000;
             }
             DsServiceFlow
             {
                     DsServiceFlowRef 1;
                     QosParamSetType 7;
                     MaxRateSustained 2000000;
             }
             SNMPv1v2cCoexistenceConfig
             {
                     SNMPv1v2cCommunityName "public";
                     SNMPv1v2cTransportAddressAccess
                     {
                             SNMPv1v2cTransportAddress 0.0.0.0/0;
                             SNMPv1v2cTransportAddressMask 0.0.0.0/0;
                     }
                     SNMPv1v2cAccessViewType 2;
                     SNMPv1v2cAccessViewName "docsisManagerView";
             }
             eRouter
             {
                    InitializationMode 1;
                    TR69ManagementServer
                    {
                            EnableCWMP 1;
                            URL "http://acs.cdroutertest.com";
                            Username "qacafe";
                            Password "qacafe123";
                            ConnectionRequestUsername "qacafe";
                            ConnectionRequestPassword "qacafe123";
                            ACSOverride 0;
                    }
             }
             /* CmMic e07f5ace4d2b69cfd8d65cdeb30f739c; */
             /* CmtsMic 08187b8a159f0fa6021fa95be0be5a59; */
             /*EndOfDataMkr*/

One way to exercise this is to vary the TR-069 configuration within the DOCSIS configuration file and ensure that the eRouter behaves as expected. For example, TR-069 can be enabled and disabled, the ACS URL can be changed, or the ACS credentials can be modified. In all cases the eRouter should use the values in the DOCSIS config file that it downloaded during CM provisioning.

CM Performance Verification

Using the CDRouter Performance expansion, the maximum upstream and downstream data rates provisioning within the CM can be verified.

Upstream and downstream limits for the CM can be defined within the USServiceFlow and DSServiceFlow portions of the DOCSIS configuration file, respectively, using the MaxRateSustained TLV. For example, to specify a maximum rate of 2Mbps downstream and 1Mbps upstream, the DOCSIS configuration file would contain:

testvar docsisConfig                     {
         Main
         {
             NetworkAccess 1;
             BaselinePrivacy
             {
                     AuthTimeout 10;
                     ReAuthTimeout 10;
                     AuthGraceTime 600;
                     OperTimeout 1;
                     ReKeyTimeout 1;
                     TEKGraceTime 600;
                     AuthRejectTimeout 60;
                     SAMapWaitTimeout 1;
                     SAMapMaxRetries 4;
             }
             MaxCPE 3;
             UsServiceFlow
             {
                     UsServiceFlowRef 2;
                     QosParamSetType 7;
                     MaxRateSustained 1000000;
             }
             DsServiceFlow
             {
                     DsServiceFlowRef 1;
                     QosParamSetType 7;
                     MaxRateSustained 2000000;
             }
             SNMPv1v2cCoexistenceConfig
             {
                     SNMPv1v2cCommunityName "public";
                     SNMPv1v2cTransportAddressAccess
                     {
                             SNMPv1v2cTransportAddress 0.0.0.0/0;
                             SNMPv1v2cTransportAddressMask 0.0.0.0/0;
                     }
                     SNMPv1v2cAccessViewType 2;
                     SNMPv1v2cAccessViewName "docsisManagerView";
             }
             /* CmMic e07f5ace4d2b69cfd8d65cdeb30f739c; */
             /* CmtsMic 08187b8a159f0fa6021fa95be0be5a59; */
             /*EndOfDataMkr*/
         }

Using CDRouter Performance, the 2Mbps / 1Mbps performance limits of the CM can be verified. These performance limits can also be varied to ensure that the CM uses the values that it has been provisioned with.

Vary the MaxCPE TLV

The MaxCPE TLV specifies the number of unique MAC addresses that may forward traffic through the CM. When testing CMs without an integrated eRouter, the value of this TLV can be varied and tested using CDRouter’s scaling test module.

If the MaxCPE TLV is set to a value of 3, no more than three unique MACs should be allowed to forward traffic. By running the scaling tests against the CM (which is acting as a bridge in this case) and specifying a DHCP pool size of four, the fourth client created during the scaling tests should consistently fail to obtain an address while the first three pass. Modifying the DHCP pool to a size of three and re-running the scaling tests should show that all clients are able to obtain an IP address and forward traffic.

Vary the SNMP Configuration via DOCSIS

The SNMP configuration of the CM is controlled by the DOCSIS configuration file. A useful exercise is to vary the SNMP configuration within the DOCSIS configuration file and then use the CDRouter SNMP expansion to verify that the provisioned configuration has been applied by the CM.

It’s also possible to use CDRouter’s SNMP scenarios feature to target specific SNMP requests at the CM interface.

Caveats

CM Provisioning Over IPv6

To run the CDRouter DOCSIS IPv6 specific test modules the docsisIpProvisioningMode must be set to ipv6-only and the eRouter or attached CPE must also be configured to support IPv6.

eMTA Provisioning

CDRouter DOCSIS does not currently support the provisioning of eMTA devices. Support for eMTA devices may be added to a future release. As a result, all requests from eMTA devices will be ignored.

Provisioning of Multiple Devices

CDRouter’s CM provisioning system is designed to support a single device only. In shared CMTS environments where multiple CMs are present, users are encouraged to define DHCP relay rules for the CM MAC of the DUT that forward only requests from that specific device to CDRouter’s CM DHCP server, or specify the DUT’s CM MAC using the docsisClientMac testvar which will force CDRouter’s CM DHCP server to ignore requests from all other MACs.

DHCP Client ID Behavior

RFC 2131 specified that DHCP servers must not include the client identifier option in DHCPOFFER, DHCPACK or DHCPNAK messages. RFC 6842, which updated RFC 2131, reversed this requirement making it mandatory to include the client identifier option in such messages.

By default CDRouter includes the client identifier option in DHCPOFFER, DHCPACK and DHCPNAK messages as required by RFC 6842. However, some DOCSIS DHCP clients are strict in their handling of the client identifier option and will drop messages that contain it.

The testvar dhcpServerClientIDBehavior can be set to a value of rfc2131 to force CDRouter’s DHCP server to drop back to the behavior defined in RFC 2131 and omit the client identifier option in DHCPOFFER, DHCPACK and DHCPNAK messages.