DOCSIS Provisioning

This chapter describes the provisioning flow in a Prime Cable Provisioning DOCSIS deployment. It also provides information required before configuration and describes the available tools.

This chapter contains the following sections:

DOCSIS Workflow

This section describes the provisioning workflow contained in the DOCSIS Provisioning Specification for DHCPv4 and DHCPv6.

DOCSIS DHCPv4 Workflow

The following figure shows the provisioning workflow contained in the DOCSIS Provisioning Specification for DHCPv4. Each step is described subsequently.

Figure 1. DOCSIS DHCPv4 Provisioning Flow

The following table describes the potential problems that can exist at various DOCSIS provisioning steps illustrated in Figure 1.

Table 1. DOCSIS DHCPv4 Workflow Description

Step

DOCSIS DHCPv4 Workflow

Potential Problems

CM1 -1

DHCP Discover

  • init(d) state

  • No addresses available

  • Incorrect Prime Cable Provisioning shared secret

  • Incorrectly configured Class of Service

  • DOCSIS template parsing errors (invalid option, include file - not found, and so on)

Cisco Prime Network Registrar DHCP

  • Incorrect DHCP configuration

  • DHCP server not there in provisioning group

  • No appropriate scopes defined (or do not match configuration in RDU)

Prime Cable Provisioning Network Registrar Extension

  • Network Registrar extension cannot contact DPEs

  • Network Registrar extension fails to find any DPEs in provisioning group

  • Network Registrar extension cannot contact RDU

  • Network Registrar extension gets DPE cache miss, sends request to RDU

RDU

  • Incorrect IP address of RDU

  • Incorrect RDU port

  • RDU cannot be pinged from DPE

  • Configuration generation failing at RDU

  • RDU licenses exceeded, not configured

  • Device detection failing at RDU

DPE

  • DPEs not assigned to provisioning group

  • DPEs cannot be pinged from the DHCP server

  • DPE interfaces not enabled for provisioning

CM-2

DHCP Offer

Routing issues between DHCP and the cable modem termination system (CMTS)

CM-3

DHCP Request

  • init(i) state

  • DHCP server did not provide all required parameters

CM-4

DHCP Ack

CM-5

TFTP Request

  • Init(o) state

  • Routing issues between CMTS and DPE

  • No route from TFTP server (DPE) to modem

  • DPE cache miss (static file, and RDU down or does not have file)

  • File not found at TFTP server (DPE)

  • DPE cache miss (dynamic file)

  • DPE IP validation failure (for example, the IP address of the device is not what was expected, the Dynamic Shared Secret is enabled on CMTS, or a hacker is spoofing as a DOCSIS modem)

CM-6

TFTP Response

Routing issues between DPE and CMTS

CM-7

ToD Request

init(t) state - No route from time server (DPE) to modem

CM-8

ToD Response

CM-9

CM registration with CMTS

  • reject(m) - * CMTS shared secret mismatch with Prime Cable Provisioning or DPE DOCSIS shared secret

  • reject(c) - * delivered incorrect DOCSIS configuration file (1.1 file to 1.0 cable modem)

CM-10

CMTS registration Ack

Acceptable states are:

  • online

  • online(d)

  • online(pk)

  • online(pt)

1 CM = cable modem

DOCSIS DHCPv6 Workflow

The following figure shows the provisioning workflow contained in the DOCSIS Provisioning Specification for DHCPv6. Each step is described subsequently.

Figure 2. DOCSIS DHCPv6 Provisioning Flow

The DOCSIS provisioning workflow for DHCPv6 involves the cable modem establishing IPv6 connectivity, which includes assigning:

  • Link-local address

  • Default router

  • IPv6 management address

  • Other IPv6 configuration

The following table describes the potential problems that can exist at various DOCSIS provisioning steps illustrated in Figure 1.

Table 2. DOCSIS DHCPv6 Workflow Description

Workflow

Description

Potential Problems

Provisioning Phase: Link-local address assignment

The cable modem constructs an IPv6 link-local address from the EUI-64 (64-bit Extended Unique Identifier), which is derived from the MAC address of the interface.

NS (DAD)

The cable modem uses an NS (Neighbor Solicitation) message to perform duplicate address detection (DAD). DAD verifies if the constructed link-local address is already in use. If there is no response to the NS, the cable modem determines that the link-local address is not in use. If a response is returned, it implies that the link-local address conflicts with the MAC address, and the cable modem stops the provisioning process.

Provisioning Phase: Router Discovery

The cable modem uses router discovery to find a default router and identify prefixes on a HFC link.

RS

The cable modem sends an RS (Router Solicitation) to the CMTS to trigger transmission of the periodic Router Advertisement message (RA).

RA

The CMTS router sends periodic RAs, each of which contains the:

  • List of IPv6 prefixes assigned to the link

  • Directive to use DHCPv6

  • Availability of the CMTS router as the default router

Provisioning Phase: DHCPv6

Solicit

The cable modem sends a Solicit message to locate DHCP servers.

  • init6(s) state

  • No IPv6 addresses available

  • Incorrect Prime Cable Provisioning shared secret

  • Incorrectly configured Class of Service

  • DOCSIS template parsing errors (invalid option, include file - not found, and so on)

Network Registrar DHCP

  • Incorrect DHCPv6 configuration

  • DHCP server not there in provisioning group

  • No appropriate prefixes defined (or do not match Prime Cable Provisioning RDU configuration)

Solicit

(continued)

The cable modem sends a Solicit message to locate DHCP servers.

Prime Cable Provisioning Network Registrar Extension

  • Network Registrar extension cannot contact DPEs

  • Network Registrar extension fails to find IPv6 DPEs in provisioning group

  • Network Registrar extension cannot contact RDU

  • Network Registrar extension gets DPE cache miss, sends request to RDU

RDU

  • Incorrect IP address of RDU

  • Incorrect RDU port

  • RDU cannot be pinged from DPE

  • Configuration generation failing at RDU

  • RDU licenses exceeded, not configured

  • Device detection failing at RDU

DPE

  • DPEs not assigned to provisioning group

  • DPEs cannot be pinged from DHCP server

  • DPE interfaces not enabled for IPv6 provisioning

  • Provisioning group not enabled for IPv6 provisioning

Relay-Forw

The relay agent forwards the complete DHCPv6 message received from the cable modem to the DHCPv6 server.

The relay agent adds relay agent message fields and options, such as:

  • Peer-address

  • Link-address

  • Interface ID

Relay-Repl

The relay agent extracts the server response and forwards it to the cable modem, via the CMTS.

Advertise

The DHCP server, in response to the Solicit message that it received from the cable modem, returns an Advertise message to indicate that it is available for DHCP service.

  • init6(a) state

  • Routing issues between DHCP and CMTS

Request

On receiving the Advertise message, the cable modem sends a Request message to request configuration parameters, including IP addresses, from a specific server.

  • init6(r) state

  • DHCP server did not provide all required parameters

Relay-Forw

The relay agent forwards the message to the DHCPv6 server.

Relay-Repl

The relay agent extracts the server response and forwards it to the cable modem, via the CMTS.

Reply

The CMTS forwards the REPLY message received from the DHCP server, containing assigned addresses and configuration parameters.

init6(i) state

Note 

DHCPv6 clients can be provisioned in the Rapid Commit mode. Rapid commit features a two-message exchange, instead of the usual four-message exchange. The two-message exchange involves a Solicit and a Reply, while the four-message exchange involves the Solicit–Advertise–Request–Reply. All these messages are wrapped in a Relay-Forw or Relay-Repl message if they go through a relay agent. If rapid commit is enabled, the DHCP server responds to a Solicit (that is wrapped in a Relay-Forw message) with a Reply (that is wrapped in a Relay-Repl message). If you disable rapid commit, the DHCP server responds with an Advertise (that is wrapped in a Relay-Reply) message.

NS (DAD)

Once the DHCPv6 message exchange is complete, the cable modem confirms if the link-local address is not already in use via DAD. If it does not receive a response, then it deems the IP address acquisition to be successful.

Provisioning Phase: ToD

Request

After obtaining an IPv6 address, the cable modem requests the time of day from the RFC 868 time server. The IPv6 addresses for servers are supplied through DHCPv6 options.

init6(t) state - No route from time server (DPE) to modem

Response

Provisioning Phase: TFTP

TFTP-Get

The cable modem, using TFTP, downloads the configuration file. The IPv6 addresses for servers and the name of the configuration file are made available via DHCPv6.

  • init6(o) state

  • Routing issues between CMTS and DPE

  • No route from TFTP server (DPE) to modem

  • DPE cache miss (static file, and RDU down or does not have file)

  • File not found at TFTP server (DPE)

  • DPE cache miss (dynamic file)

  • DPE IP validation failure (for example, the IP address of the device is not what was expected, the Dynamic Shared Secret is enabled on CMTS, or a hacker is spoofing as a DOCSIS modem)

TFTP RSP (config file)

Routing issues between DPE and CMTS

The cable modem is now provisioned for IPv6 operations.

Prime Cable Provisioning Features for DOCSIS Configurations

This section describes Prime Cable Provisioning value-added features as they relate to the DOCSIS technology.

Dynamic Configuration TLVs

The DPE adds the following TLVs (Type Length Value) when it receives a TFTP request for dynamic DOCSIS configuration:

  • TLV 19: TFTP Server Timestamp (optional)—Displays in the Configure DOCSIS Defaults page as the TFTP Time Stamp Option. See Table 1 for more information. This TLV requires NTP synchronization on CMTS and DPE.

  • TLV 20 and TLV 59: TFTP Server Provisioned Modem Address for IPv4 and IPv6 (optional)—Displays in the Configure DOCSIS Defaults page as the TFTP Modem Address Option. See Table 1 for more information.


    Note

    The TFTP IP validation feature on the DPE is incompatible with the Cisco CMTS DSS feature. See DPE TFTP IP Validation. If DSS is set on the Cisco CMTS, you must ensure that the TFTP Server Provisioned Modem Address is disabled. 

 



    In some cases, the CM might not accept the configuration and might stay in reject(IP) state. If it is the CMTS that acts as TFTP proxy, the DPE TLV 19/20 features must be disabled. This can be configured from the Admin UI.

    The CMTS DSS feature is more effective at theft prevention than the CableLabs standard CabeLabs TLV 19/20 features.


  • TLV 6: CM MIC Configuration Setting (required)

  • TLV 7: CMTS MIC Configuration Setting (required)—Displays in the Configure DOCSIS Defaults page as the CMTS Shared Secret. See Table 1 for more information.

  • TLV 43.6.x: Extended CMTS MIC Configuration Setting (required)—Displays in the Configure DOCSIS Defaults page as the CMTS Shared Secret. See Table 1 for more information.


Note

When configuring CMTS MIC, note the following CMTS IOS release dependencies:

  • DOCSIS 2.0 CMTS MIC requires CMTS IOS 12.3BC when including TLV 39 or TLV 40.

  • Certain CMTS IOS commands are assumed to be configured by Prime Cable Provisioning:

    • ip dhcp relay information option

    • no ip dhcp relay information check

    • cable helper-address x.x.x.x. x.x.x.x is the IP address of the Network Registrar DHCP server.

      In an IPv6 environment, you must use the following command instead of cable helper-address :
ipv6 dhcp relay destination ipv6-address [interface-type interface-number]

    • cable dhcp-giaddr primary


DPE TFTP IP Validation

For dynamic configuration files, the DPE TFTP server verifies if the IP address of the TFTP client matches the expected DOCSIS cable modem IP address. If it does not match, the request is dropped. This feature is incompatible with the Cisco CMTS DMIC feature.

Use the no service tftp 1..1 ipv4 | ipv6 verify-ip command to disable the verification of requestor IP addresses on dynamic configuration TFTP requests. For detailed information, see the Cisco Prime Cable Provisioning 6.1.1 DPE CLI Reference Guide.

Support for DOCSIS 1.0, 1.1, 2.0, 3.0, and 3.1

Prime Cable Provisioning supports DOCSIS 1.0, 1.1, 2.0, 3.0, and 3.1. For information describing the TLVs, see Template Grammar, and for a list of options that this Prime Cable Provisioning release supports in each DOCSIS version, see Technology Option Support.

Dynamic DOCSIS Version Selection

Prime Cable Provisioning can detect a cable modem’s DOCSIS version from an incoming DHCP request. It can also detect the DOCSIS version of the CMTS in one of two ways:

  • By using the CMTS as a relay agent that transmits its DOCSIS version, using DHCPv4 Option 82 and DHCPv6 Option 17.

  • From a customer-supplied source that provides a mapping of GIADDR to the CMTS DOCSIS version.

Using this DOCSIS version, Prime Cable Provisioning, if so configured, determines the optimum DOCSIS configuration file for the device. This is the lowest common DOCSIS version between the device and the CMTS. For example, if the device supports DOCSIS 2.0 and the CMTS supports DOCSIS 1.1, the DOCSIS 1.1 file is used.

Determining the DOCSIS Version of the Modem

Prime Cable Provisioning can detect a cable modem’s DOCSIS version from an incoming DHCP request, in which a string included in the Vendor Class Identifier field (Option 60) identifies the modem capabilities. For example, as in “docsis1.1:xxxxxx” where xxxxxx is an ASCII representation of the modem capabilities. The service-level selection extension uses the characters between “docsis” and the “:xxxxxxx” hex string as the DOCSIS version for the modem.

Determining the DOCSIS Version of the CMTS

Prime Cable Provisioning enables the CMTS to serve as a relay agent to provide the DOCSIS version of the CMTS. This feature is enabled via:

  • DHCPv4 Relay Agent Option 82, which allows the CMTS to transmit (or advertise) specific capabilities of the CMTS. This option is a DOCSIS DHCP vendor-identifying option and carries the DOCSIS version of the CMTS.

  • DHCPv6 Vendor-specific Information Option 17, which allows you to specify vendor-specific information. This option is carried in the Relay-forward and Relay-reply messages and transmits information between the DHCPv6 relay agent and the DHCPv6 server.

As in earlier versions, this Prime Cable Provisioning version also determines the DOCSIS version of the CMTS via the DHCP GIADDR field, which specifies the IP address of the CMTS interface. In this method, the service-level selection extension for DOCSIS modems looks for the /docsis/cmts/version/giaddrToVersionMap property. The value of this property is the name of an external file containing a mapping of the GIADDR to the DOCSIS version.

You must name this mapping file giaddr-docsis-map.txt and add it to the RDU. You can add the giaddr-docsis-map.txt file to the RDU from the:

  • API via the Configuration.addFile() call.

  • Administrator user interface via Configuration > Files. See Adding Files.

The giaddr-docsis-map.txt file must include the necessary information in the following format:


IPv4_dotted_decimal_address_string,DOCSIS_version_string
  • IPv4_dotted_decimal_address_string—Specifies the IP address of the CMTS interface.

  • docsis_version_string—Identifies the DOCSIS version that the cable modem supports.

For example, if the CMTS interface has IP address 10.30.0.1 with DOCSIS version 1.0, the file would includes the following:

10.30.0.1 1.0

The service-level extension uses the GIADDR address contained in the DHCP packet to look up the DOCSIS version of the CMTS. If the GIADDR is not found in the mapping file, the extension uses the value of the /docsis/cmts/version/default property for the DOCSIS version of the cable modem. The default value of this property is 1.0.

To dynamically update the giaddr-docsis-map.txt file, edit it and replace it in the RDU via the replaceExternalFile API or via the administrator user interface.


Note

If the properties for the DOCSIS version selection are not specified on the Class of Service, the original file is used, allowing for systematic upgrades across the network.


Selecting Service Level Based on DOCSIS Version

After the DOCSIS version of the modem and the CMTS are determined, the service-level selection extension determines the minimum DOCSIS version supported and configures the /docsis/version property in the service level. The value of this property is set to the DOCSIS version string, such as 1.1.


Note

You can specify the DOCSIS version using the Configuration File Utility. For more information, see Using Configuration File Utility for Template. This function that the file utility performs is different from RDU verification, during which the RDU DOCSIS Version Selector feature determines the latest DOCSIS version supported by a CMTS.


DOCSIS Configuration File Based on DOCSIS Version

Prime Cable Provisioning determines the filename of the DOCSIS configuration file that is to be sent to the modem using the DOCSIS version.

The following Class of Service properties are supported by the Prime Cable Provisioning administrator user interface and the API:


/cos/docsis/file/1.0
/cos/docsis/file/1.1
/cos/docsis/file/2.0
/cos/docsis/file/3.0/IPv4
/cos/docsis/file/3.0/IPv6

Optionally, you can add these properties to a DOCSIS Class of Service to associate a DOCSIS configuration filename with a particular DOCSIS version. Each of these properties, when set, causes the RDU to establish a database relationship between the Class of Service and the file named by the property value, as is done for the existing DOCSIS configuration filename property.

If the DOCSIS version property is present, Prime Cable Provisioning forms a property name by appending the DOCSIS version string that is given by that property value to the name of the property that provides the DOCSIS configuration filename:


/cos/docsis/file/docsis_version_string

The service-level extension looks for this property name in the property hierarchy for the modem. When the DOCSIS version property is found, it uses the property value as the DOCSIS configuration filename. If the DOCSIS version property is not found, Prime Cable Provisioning uses the DOCSIS configuration filename property without the DOCSIS version suffix and supplies the filename to specify in the device configuration.