D6 Discovery Protocol

The D6 discovery protocol is part of the Comcast Next Generation on Demand (NGOD) specification. This protocol helps in advertising the video QAM carrier information like frequency, modulation mode, annex, and edge input for the video traffic such as IP address, group name, maximum bandwidth, and so on, to an Edge Resource Manager (ERM). The D6 discovery protocol also sends unique structured names (topological location information) for each edge input or carrier output. From these structured names, and input and RF port numbers, the ERM can infer the topological network location of both the QAM streaming input port (IP) and RF output port (MPEG).

Contents

Information About D6 Discovery Protocol

The following sections provide more information about the D6 discovery protocol.

Overview of the D6 Discovery Protocol

You should configure the D6 discovery protocol for each Logical Edge Device (LED). When the LED is set to active, the D6 discovery protocol establishes a connection with the ERM and sends out the below information to the ERM:

  • Streaming Zone—The streaming zone within which the LED operates. You must configure a streaming zone.

  • Component Name—The name of the LED for the ERM to associate the subsequent update messages. You must configure a component name.

  • Vendor Specific String—Contains the vendor and mode names. When using PME encryption, the D6 vendor-string must be changed to something other than “Cisco”, for example, vendor-string “CBR8”. For PowerKEY encryption, the vendor-string is an optional configuration and the default value is “Cisco CBR8k”.

Edge inputs are configured under the LED or the Virtual Carrier Groups (VCG) associated to the LEDs. For each edge input, the following information is sent to the ERM:

  • IP Address—As configured under LED or VCG associated to the LED.

  • Port—As configured for each input port.

  • Max Bandwidth—As configured under the input group of D6 configuration. The defaults value is 20 Gbps.

  • Group name—As configured under the input group of D6 configuration. The default value is the LED name if the input port is configured under LED or the VCG name if the input port is configured under VCG

For every QAM (RF channel) configured under the LED through VCG, the following information is sent to the ERM:

  • Route—Route state as Reachable, if a QAM is added, Withdrawn, if a QAM is removed.

  • QAM Group Name—As configured for the VCG name.

  • QAM Name—Streaming zone.tsid (for example, 1234.100). Streaming zone is configured under D6 and TSID is configured under VCG for every QAM.

  • Total Bandwidth— Total bandwidth of the QAM.

  • QAM Parameters:
    • Frequency—Center frequency of this carrier

    • Interleaver

    • Modulation Mode

    • TSID

    • Annex—A/B

    • Channel Width - 6 MHz/8 MHz

  • UDP Map—This is sent only for the table-based session configurations. A table of the UDP port for each MPEG program number is sent out through this.

  • Output Port—The configured VCG ID is sent out as the Output Port ID.

The configuration updates are sent to the ERM through different update messages. D6 also exchanges the keep alive messages periodically to retain the TCP connection with the ERM.

Prerequisites for D6 Discovery Protocol

  • As the D6 configuration is placed under the LED protocol configuration, you must complete the following configurations before configuring the D6 discovery protocol:
    • Service Distribution Group (SDG)

    • Virtual Carrier Group (VCG)

    • Bind VCG to SDG

    • Logical Edge Device (LED)

    • Associate VCG to LED

  • Since the D6 discovery protocol requires a management IP for communicating with the external server, ensure that the virtual port group interface is configured and the same is set for the management interface under cable video. Follow the procedure below to configure a virtual port group:
    configure terminal 
    cable video  
    mgmt-intf VirtualPortGroup virtual port group id 
    
  • If you must configure a Fully Qualified Domain Name (FQDN) for the D6 server configuration instead of the IP address, then ensure that you configure the name server before configuring the D6 discovery protocol. Use the show ip dns view command to see if the DNS name server is configured. Follow the procedure below to configure the name server:
    ip name-server ip address 
    ip domain name domain name 
    ip domain lookup 
    

How to Configure the D6 Discovery Protocol

You can perform the D6 configuration only when the LED protocol is either table-based or GQI.

Configuring the Mandatory D6 Discovery Protocol Parameters

The mandatory D6 configuration parameters are:
  • Management IP—The source IP address used to establish connection with the external D6 server (ERM). The IP address must be in the same subnet as configured in a virtual port group. For GQI LED, this configuration is not needed under the D6 discovery protocol as it is automatically fetched from the GQI LED configuration.

  • D6 discovery protocol server IP address and port—This is to identify the remote D6 server (ERM) IP address and listening port used by the D6 client in LED to setup connection with the peer. You can configure only one server address and port per LED. There are two ways to setup the IP address, either by directly providing the IP address or by configuring the FQDN. Either one is sufficient for establishing a connection with the server. If you configure both, then the IP address is preferred over the FQDN. Both IP address and FQDN configurations must point to the same server and port.

  • Streaming zone—Streaming zone as configured in the D6 server (ERM). The name should match with the one configured in the ERM for the connection to be established.

  • Component name—The name of the Edge QAM device. Each LED is considered by the D6 server as a separate Edge QAM component. This name is used by the D6 server to represent the LED.

Before You Begin

Ensure the following:
  • Virtual port group interface is configured and a management IP for the D6 discovery protocol is identified (in case of table-based LED).

  • Management interface is set to this virtual port group interface under the cable video configuration.

  • You have the D6 server IP address or the FQDN, the port value, and the streaming zone name readily available.

  • If FQDN is to be used, ensure that the name server is configured and the FQDN is resolving to the IP address by verifying using the ping <fqdn> command.

  • The LED is configured with either table-based or GQI protocol.

  • The LED turns to active without any issue. If errors occur, resolve them first.

  • The LED is set to “no active” state.

To configure the D6 discovery protocol for table-based LEDs, complete the following procedure:

 configure terminal 
cable video 
logical-edge-device device name [id number] 
protocol  table-based 
no active 
discovery-protocol d6 
mgmt-ip ip address 
streaming-zone name 
component-name name 
d6-server ip address [port] 
d6-server fqdn domain-name [port] 
exit 
active 

To configure the D6 discovery protocol for GQI LEDs, complete the following procedure:

configure terminal 
cable video 
logical-edge-device device name [id number] 
protocol gqi 
no active 
discovery-protocol d6 
streaming-zone name 
component-name name 
d6-server ip address [port] 
d6-server fqdn domain-name [port] 
exit 
active 

Verifying the D6 Discovery Protocol Configurations

To verify the D6 discovery protocol configuration, use the show cable video logical-edge-device command as shown in the example below.

This CLI command shows the status and statistics of the D6 client associated to the LED. You can view all the configuration and operation status of the D6 client. In the example below, it shows the duration and the number of open, updated, keepalive and notification messages exchanged between the D6 client and the server, in that duration. It also indicates how many unknown or unrecognized messages are received from the server. When the open message count is more than 1, it indicates that the connection is terminated and reconnected.

show cable video logical-edge-device id 1 d6 

Logical Edge Device: LED_PME
Id: 1
Protocol: Table-based
 
D6 Summary:
-------------------------------------------------
Enabled              : Yes
VREP Version         : 2



D6 State             : Established
Management IP        : 1.21.2.250
Source Port          : 6069
D6 server FQDN       : New_host1.test1
D6 Server IP         : 1.200.1.86
D6 Server Port       : 6069
Hold Time(negotiated): 240
Timeout              : 20
Keep Alive Interval  : 80
Streaming Zone       : 3409
Failure Reason       : No Failure
-------------------------------------------------
 
D6 Statistics:
--------------------------------------------------------------
Duration  Dir  Open    Update   KeepAlive Notification Unknown
--------------------------------------------------------------
0          RX     1         0          19            0       0
0          TX     1        17           2            0       0
--------------------------------------------------------------

In the above example, the D6 State as “Established” and the Failure Reason as “No Failure” indicates that the D6 configurations are adequate and it is able to establish the connection with the D6 server or the ERM.

The D6 Statistics section of the output describes various messages exchanged between the D6 client and the D6 server in both the directions (Rx means received and Tx means transmitted). There is no update message from the D6 server to the D6 client, so the Update message count in the RX row should always be 0. The notification message is sent in case of error. When the notification is received, the connection is reset. Unknown message count should be 0, any number greater than 0 indicates a packet corruption. Update message is sent for every update. All the edge input IPs are sent in one update message, but there is a separate update message for every QAM in the LED. So, the update message count increases based on the number of QAMs in the LED. KeepAlive messages are exchanged periodically with the interval defined by the "Keep Alive Interval". This Keep Alive Interval is a function of the Hold time configuration, which is one third of the hold time

Troubleshooting the D6 Mandatory Parameters Configuration

  • Troubleshooting tips for possible configuration errors:
    • The management IP should be unique and should be in the subnet of the virtual port group.

    • If both, D6 server IP address and FQDN are configured, ensure that the same port value is used for both.

    • Ensure that the proper D6 server IP address or FQDN name is used.

    • If FQDN is used, verify that the name server is configured and the FQDN gets resolved to the correct IP address by issuing the ping <fqdn> command.

  • Troubleshooting tips when the D6 state remains Idle:
    • The failure reason indicates the type of failure. For most of the failures, the D6 client retries the connection periodically. Check if it recovers after some time.

    • Verify if the streaming zone configuration is matching with the D6 server setting.

    • Verify if the TCP port number configured for the D6 server in Cisco cBR-8 is matching with the listening port of the D6 server or the ERM.

    • Check if you can ping the D6 server IP address from both the sides, that is, from the Cisco cBR-8 to the D6 server and from the D6 server to the Cisco cBR-8. Try to ping the virtual port group IP and the management IP assigned to the LED from the D6 server. If the ping fails, check the routing between the Cisco cBR-8 and the D6 server.
      • Verify if the D6 server is up and running and ready to accept the connection.

      • Verify if the virtual port group interface is up.

      • Verify if the 10 Gb interface through which the management traffic is passing in to the Cisco cBR-8, is up.

Configuring the D6 Discovery Protocol Optional Parameters

The optional D6 discovery protocol configuration parameters are:

  • Vendor string—Vendor specific string for the ERM to identify the vendor. Contains the vendor and the model name. The default value is "Cisco CBR8k"

  • Timeout value—Time to wait for the connection in socket call. The default value is 10 seconds.

  • Hold time value —This value decides the interval of the keepalive message exchange between the client and the server. The default value is 30 seconds.

  • Input group—Each virtual edge input (VEI) IP address under the LED can be assigned an input group name and the maximum bandwidth that is used to send traffic to it. Also, each VCG associated to LED can have a group name and bandwidth. D6 protocol uses this name for all the VEI IP addresses under the VCG. This information is used in the D6 messages when advertising the edge inputs to the D6 server. If these parameters are not configured for the group name, then the LED name for VEI IP addresses under the LED or the VCG name for the VEI IP addresses under the VCG is used. For bandwidth, the default value is 20 Gbps.

Repeat this command for each VEI IP address and VCG under the LED.

Before You Begin

  • Ensure that the VEI IP addresses are configured under the LED.

  • Ensure that the VCGs are associated to the LED.

To configure the D6 discovery protocol optional parameters, complete the following procedure:

configure terminal 
cable video 
logical-edge-device device name [id number] 
protocol  table-based 
no active 
discovery-protocol d6 
vendor-string <string> 
timeout seconds 
holdtime seconds 
input-group vcg id <id> group-name <name>[ bandwidth <mbps>] 
input-group led vei-ip <ip> group-name <name>[ bandwidth <mbps>] 
exit 
active 

Verifying the Hold Time and Timeout Settings

To verify the hold time and timeout settings, use the show cable video logical-edge-device command. The output is the same as shown in the Verifying the D6 Discovery Protocol Configurations section. The hold time affects the keepalive interval, so the new value for the keepalive interval should be one third of the hold time. Also, in the D6 statistics section, the keepalive count increases (in the TX row) based on the keepalive interval.

Troubleshooting the D6 Optional Parameters Configuration

These are optional parameters and do not affect the basic functionalities of D6 discovery protocol. Any change in the D6 discovery protocol configuration will result in a reset of the D6 connection and a reconnection with the new values. So, the D6 state will momentarily move to Idle and then back to Established state.

Example: D6 Discovery Protocol Configuration

The following example shows a complete D6 configuration:

cable video
  mgmt-intf VirtualPortGroup 0
  encryption
    linecard 7/0 ca-system pme scrambler dvs042
    pme vodsid 111
    pme cem 1.200.1.163 5000
    pme mgmt-ip 1.25.2.6
  service-distribution-group sdg-pme id 1
    rf-port integrated-cable 7/0/7
  virtual-carrier-group vcg-pme id 1
    encrypt
    service-type narrowcast
    rf-channel 18 tsid 18 output-port-number 23
  bind-vcg
    vcg vcg-pme sdg sdg-pme
  logical-edge-device led-pme id 1
    protocol table-based
      virtual-edge-input-ip 174.101.1.1 vrf Video-VOD-Vrf input-port-number 1
      vcg vcg-pme
      discovery-protocol d6
        mgmt-ip 1.25.2.7
        vendor-string cBR8
        streaming-zone 3509
        component-name led56100
        d6-server 1.200.1.99 17654
	timeout 20
        holdtime 60
      active
  table-based
    vcg vcg-pme
      rf-channel 18
        session sess1 input-port 1 start-udp-port 49152 num-sessions-per-qam 2 processing-type remap start-program 1 jitter 100 cbr

Deployment Scenario for the D6 Discovery Protocol

The diagram below depicts a typical topology for the D6 feature:

Figure 1. D6 Deployment


  • The advertised edge input IPs over D6 protocol to ERM makes the ERM aware of the edge input options for the QAMs. When multiple VEI IP features are used, the D6 advertises all of the available VEI IPs to the ERM. This enables the ERM to identify the most feasible edge input IP for sending the video traffic to the QAMs, based on the physical topology.

  • As D6 advertises the QAMs available in the LED, and updates the ERM whenever new QAMs are added or the existing QAMs are removed, the ERM is always updated about the resources that it owns.

  • D6 advertises the UDP port used for each MPEG program number of the table-based sessions. This enables the ERM to identify the proper use of UDP ranges for each TSIDs or QAMs.

Feature Information for D6 Discovery Protocol

Use Cisco Feature Navigator to find information about the platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to the https://cfnng.cisco.com/ link. An account on the Cisco.com page is not required.


Note

The following table lists the software release in which a given feature is introduced. Unless noted otherwise, subsequent releases of that software release train also support that feature.


Table 1. Feature Information for D6 Discovery Protocol

Feature Name

Releases

Feature Information

D6 Discovery Protocol

Cisco IOS XE Everest 16.6.1

This feature was integrated on the Cisco cBR Series Converged Broadband Routers.