CDRouter prpl Certification User Guide

Introduction

CDRouter offers a dedicated prpl Certification expansion for the prpl Foundation’s prplWare and High-Level API Certification program.

As an officially approved testing tool, CDRouter is an authorized test tool for use in conducting the prplWare and High-Level API self-testing certification. The prpl Foundation’s website is the definitive source for information regarding the official certification process and associated requirements.

The prplWare and High-Level API Certification program includes test cases for the following test plans:

The prpl HL-API data models for USP and CWMP are available in XML and HTML formats here:

Supported prplWare Versions

prplWare Version Minimum CDRouter Version
5.0 16.8
4.2 16.4
4.1 15.11
4.0 15.8
3.2 15.4
3.1 14.10

It’s important to stay up to date with CDRouter releases, as we regularly make updates to the prpl Certification tests.

Licensing

CDRouter prpl Certification is a licensed expansion that must be purchased from QA Cafe. Additional expansions are required for both HL-API and prplOS testing:

  • HL-API: requires the USP expansion license, a TR-069 expansion license is optional
  • prplOS: requires the IPv6, Multiport, and either TR-069 or USP expansion licenses

For information on upgrading a CDRouter license to include prpl Certification or any other expansions, please contact sales@qacafe.com. To learn more about CDRouter licensing, see the license FAQ.

Self-Testing Certification

For information on the certification program, requirements, and application process, please refer to the following link:

Testing Overview

The prpl HL-API tests perform USP or CWMP functions to verify support for the prpl data model profile. The profile defines all required objects, parameters, commands, and events for a prpl device.

The prplOS tests utilize USP or CWMP to modify the DUT data model and evaluate the DUT’s behavior. This includes Bridging, DHCP, IP, Firewall, DNS and other configuration functionality and reporting in the data model.

Support for CWMP (TR-069) is an optional feature for prpl certification. All required tests must be run with USP.

For the HL-API test plan, select and run the prpl-hl-api-cert test module in the prpl Certification expansion using USP. If you are interested in the optional CWMP feature, select and run the test module in the prpl Certification expansion using CWMP.

For the prplOS test plan, select and run the prplOS test module in the prpl Certification expansion using USP. CWMP must be used to claim support for the optional CWMP feature.

The prplOS Network Functionality test plan includes a “Provisional Exclude” section, which specifies tests that are mandatory, optional, or provisionally excluded for certification. Excluded tests are not expected to pass during the current testing cycle.

Quick Start Guide

To get the prplOS expansion running with a minimal config for USP, set the following testvars:

This minimal setup allows you to run a subset of prplOS tests. Start with section 1.6 to verify your configuration and connectivity with a set of basic tests.

Test Setup

Complete the setup steps below to ensure your configuration meets the requirements of the certification tests.

Protocol Configuration

  • USP or CWMP must be configured for the prpl Certification tests. To get started, set the testvar prplosProtocol to either usp or cwmp and verify that the DUT has a working USP or CWMP CDRouter configuration. For more information about configuring CDRouter for USP or CWMP, please refer to the following user guides:

  • If USP is being used, set the testvar supportsCWMP to no to avoid unnecessary issues.

  • Set uspControllerMTP to mqtt, stomp, or websocket.

  • When executing HL-API testing, a prplOS profile version may be selected using the testvar prplWareVersion. CDRouter is compatible with multiple prplWare Data Model versions. Specify a supported version number, or set it to “latest” to use the most recent release. See Supported prplWare Versions above for the list of available versions.

IPv6

Some prplOS tests will be skipped if IPv6 is not enabled. IPv6 must be enabled for prplWare and HL-API Certification.

LAN Interfaces

Two independent LAN interfaces are required to execute all Bridging tests in the prplOS test module.

  • The testvar useSameLanInterface must be set to yes to ensure every test case uses the same LAN port. See the “Enabling and Disabling Additional Test Interfaces” section of the Multiport User Guide for more information.

  • The testvar prplosLanInterfaceAlias must be set to the value of Device.Bridging.Bridge.{i}.Port.{i}.Alias that corresponds to the primary LAN test interface.

Alias Naming

The prpl certification tests rely on consistent alias naming to detect and validate key parameters. Each parameter below must have one instance with the required alias.

Alias Required Parameters
lan Device.IP.Interface.
Device.Bridging.Bridge.
Device.DHCPv6.Server.Pool.
Device.DHCPv4.Server.Pool.
Device.IP.Interface.<LAN>.IPv4Address.
wan Device.IP.Interface.
Device.DHCPv4.Client.
Device.DHCPv6.Client.

Test-Specific Configurations

Some specific tests or groups of tests in the prpl certification module require specific configurations.

Group 3: DHCPv6 Tests

The following testvars must be set for Group 3 tests:

Ensure the following parameters are set in the prpl data model:

  • ba-cli Device.DHCPv6.Client.wan.RequestAddresses=true
  • ba-cli Device.RouterAdvertisement.InterfaceSetting.lan.AdvManagedFlag=1

Group 4: DNS Tests

For tests 1.4.2 through 1.4.5, ensure the following parameters are set in the prpl data model:

  • ba-cli Device.DNS.Client.Server.+{Alias="dhcpv4-1", Type="DHCPv4", Enable=true, Interface="Device.Logical.Interface.1"}
  • ba-cli Device.DNS.Client.Server.+{Alias="dhcpv6-1", Type="DHCPv6", Enable=true, Interface="Device.Logical.Interface.1"}
  • ba-cli Device.DNS.Client.Server.+{Alias="ra-1", Type="RouterAdvertisement", Enable=true, Interface="Device.Logical.Interface.1"}

In order to run tests 1.4.4 and 1.4.9, ipv6WanRDNSS must be set to yes.

Troubleshooting Tips

Here are solutions to common issues when running prplOS tests:

CPE does not have a time source

Some CPE devices will not validate an SSL certificate from the ACS until a time source is established. TR-069 states that devices should skip date validation of certificates if a time source is not established. However, in practice some CPE devices simply end the SSL connection. A common symptom of this problem is DNS requests to an NTP server which is not configured. To alleviate this problem, simply configure the NTP server that is being requested by the CPE:

testvar  ntpServer1  3.3.3.6
testvar  ntpServerName1  myNTPserver.com

Note that you may configure additional NTP servers if needed.