Guest

Cisco IOS Software Releases 12.0 T

PGM Router Assist

Table Of Contents

PGM Router Assist

Feature Overview

Benefits

Restrictions

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Verifying PGM Router Assist

Monitoring and Maintaining PGM Router Assist

Configuration Example

Command Reference

clear ip pgm router

Syntax Description

Command Modes

Command History

Usage Guidelines

Examples

Related Commands

ip pgm router

Syntax Description

Defaults

Command Mode

Command History

Usage Guidelines

Examples

Related Commands

show ip pgm router

Syntax Description

Command Modes

Command History

Examples

Related Commands

Debug Commands

debug ip pgm router

Syntax Description

Defaults

Command History

Examples

Related Commands


PGM Router Assist


This feature module describes the PGM Router Assist feature. It includes the following sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Monitoring and Maintaining PGM Router Assist

Configuration Example

Command Reference

Debug Commands

Feature Overview

PGM Router Assist is a feature that allows Cisco routers to support the optimal operation of Pragmatic General Multicast (PGM). The PGM Reliable Transport Protocol itself is implemented on the customer's hosts.

PGM is a reliable multicast transport protocol for applications that require ordered, duplicate-free, multicast data delivery from multiple sources to multiple receivers. PGM guarantees that a receiver in a multicast group either receives all data packets from transmissions and retransmissions, or can detect unrecoverable data packet loss. PGM is intended as a solution for multicast applications with basic reliability requirements. It is network-layer independent; the Cisco implementation of PGM Router Assist supports PGM over IP.

This feature uses a transport session identifier (TSI) that identifies a particular PGM session.

Benefits

Saves Bandwidth

The PGM Router Assist feature saves bandwidth by substantially reducing the number of negative acknowledgments (NAKs) to the source and by constraining the retransmissions to only those receivers that experience data loss.

Improves PGM Efficiency

The PGM Router Assist feature is not absolutely required for hosts that implement PGM, but PGM operates optimally in conjunction with routers that have this feature enabled.

Restrictions

Configuring this feature on an interface causes the router to maintain PGM retransmit state on that interface. The amount of memory consumed by that state depends on the loss characteristics of the network.

Related Documents

For information on PGM Reliable Transport Protocol, refer to the Internet Draft "PGM Reliable Transport Protocol Specification" at http://www.ietf.org/internet-drafts/draft-speakman-pgm-spec-03.txt.

Supported Platforms

Cisco 1600 series

Cisco 2500 series

Cisco 2600 series

Cisco 3600 series

Cisco 3800 series

Cisco 4000 series (Cisco 4000, 4000-M, 4500, 4500-M, 4700, 4700-M)

Cisco 7200 series

Cisco 7500 series

Cisco 12000 series

Supported Standards, MIBs, and RFCs

MIBs

No new or modified MIBs are supported by this feature.

For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB web site on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.

RFCs

None

Standards

None

Prerequisites

Before you enable the PGM Router Assist feature, the following must be in place:

PGM Reliable Transport Protocol must be implemented on hosts connected to your network.

IP multicast must be configured on the router where you will enable PGM Router Assist.

PIM must be configured on each PGM interface.

Configuration Tasks

When this feature is enabled on an interface, the router optimizes PGM by reducing the number of NAKs and by constraining the number of retransmissions. To enable this feature, use the following command:

Command
Purpose
Router(config-if)# ip pgm router

Enables the router to assist PGM on this interface in order for PGM to run optimally.


Verifying PGM Router Assist

You can confirm that the PGM Router Assist feature is configured by issuing the show ip pgm router command. However, there might not be any active traffic.

To see whether an interface is actively using PGM, use the show ip pgm router state or show ip pgm router traffic command.

Monitoring and Maintaining PGM Router Assist

Command
Purpose
Router# clear ip pgm router [[traffic [type number]] | 
[rtx-state [group-address]]]

Clears the PGM traffic statistics.

Router# show ip pgm router [[interface type number] | [state 
[group-address]] | [traffic [type number]]] [verbose]

Displays information about PGM traffic statistics and transport session identifier (TSI) state. The TSI is the transport-layer identifier for the source of a PGM session.


Configuration Example

In the following example, PGM Router Assist is configured on Ethernet interfaces 0 and 1:

ip multicast-routing
interface ethernet 0
 ip pim sparse-dense-mode
 ip pgm router
interface ethernet 1
 ip pim sparse-dense-mode
 ip pgm router

Command Reference

This section documents new commands related to the PGM Router Assist feature. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.

clear ip pgm router

ip pgm router

show ip pgm router

In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.

To use this functionality, enter a show or more command followed by the "pipe" character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:

command | {begin | include | exclude} regular-expression

Following is an example of the show atm vc command in which you want the command output to begin with the first line where the expression "PeakRate" appears:

show atm vc | begin PeakRate

For more information on the search and filter functionality, refer to the Cisco IOS Release 12.0(1)T feature module entitled CLI String Search.

clear ip pgm router

To clear PGM traffic statistics, use the clear ip pgm router EXEC command.

clear ip pgm router [[traffic [type number]] | [rtx-state [group-address]]]

Syntax Description

traffic [type number]

(Optional) Interface type and number whose PGM traffic statistics are cleared. If no interface type and number are provided, all traffic statistics are cleared.

rtx-state [group-address]

(Optional) IP address of the multicast group whose PGM retransmit state is cleared. If no group address is provided, all retransmit state is cleared. Clearing retransmit state means the router will not forward any retransmissions corresponding to that state.


Command Modes

EXEC

Command History

Release
Modification

12.0(5)T

This command was introduced.


Usage Guidelines

This command should be used only in rare cases or during debugging. Normally, the retransmit state memory is freed automatically when the information is no longer useful. Also, using this command briefly confuses the normal PGM behavior.

A reason to clear traffic statistics is to make diagnostic testing easier.

A reason to clear state might be to free the memory consumed by such state. PGM retransmit state times out if no traffic keeps it alive.

Examples

The following example clears all PGM retransmit state from the router:

clear ip pgm router rtx-state 

Related Commands

Command
Description

ip pgm router

Enables the PGM Router Assist feature.

show ip pgm router

Displays PGM traffic statistics and transport session identifier (TSI) state.


ip pgm router

To enable PGM Router Assist and thereby allow PGM to operate more efficiently on the router, use the ip pgm router interface configuration command. Use the no form of the command to disable PGM Router Assist for the interface.

ip pgm router
no ip pgm router

Syntax Description

This command has no arguments or keywords.

Defaults

PGM Router Assist is disabled for the interface.

Command Mode

Interface configuration

Command History

Release
Modification

12.0(5)T

This command was introduced.


Usage Guidelines

This command is highly recommended for optimal deployment of PGM Reliable Transport Protocol on a host.

Examples

In the following example, PGM Router Assist is configured on Ethernet interfaces 0 and 1:

ip multicast-routing
interface ethernet 0
 ip pim sparse-dense-mode
 ip pgm router
interface ethernet 1
 ip pim sparse-dense-mode
 ip pgm router

Related Commands

Command
Description

clear ip pgm router

Clears PGM traffic statistics.

show ip pgm router

Displays PGM traffic statistics and TSI state.


show ip pgm router

To display PGM Reliable Transport Protocol state and statistics, use the show ip pgm router EXEC command.

show ip pgm router [[interface type number] | [state [group-address]] | [traffic [type number]]]
[
verbose]

Syntax Description

interface type number

(Optional) Displays interfaces on which PGM Router Assist is configured.

state [group-address]

(Optional) Displays PGM retransmit state information per TSI. If no group address is specified, retransmit state for all groups is shown.

traffic [type number]

(Optional) Displays PGM packet counters. If no interface type and number are specified, traffic on all interfaces is displayed. These statistics do not reflect the number of PGM data packets (ODATA) that are forwarded in a session, because these are forwarded transparently by IP multicast.

verbose

(Optional) Displays extended information about olists, timers, FEC, and DLR.


Command Modes

EXEC

Command History

Release
Modification

12.0(5)T

This command was introduced.


Examples

The following is sample output of the show ip pgm router command with the interface keyword:

Router# show ip pgm router interface

Address	        Interface
10.1.0.2       Ethernet1/0/0
10.3.0.2       Ethernet1/0/4
10.4.0.2       Ethernet1/0/5
10.2.0.2       Serial5/0

describes the fields in the display.

Table 1 show ip pgm router Field Descriptions

Field
Description

Address

IP address of the interface running PGM Router Assist.

Interface

Interface type and number on the router that is running PGM Router Assist.


The following is sample output of the show ip pgm router command with the traffic keyword:

Router# show ip pgm router traffic

Ethernet1/0/0
  NAKs received               2
       eliminated             1	(1 0 nomrte 0 noprty 0 err)
  NCFs transmitted            2	(2 cpy 0 err)
 RDATA forwarded              1
  SPMs forwarded             41
Ethernet1/0/4
Ethernet1/0/5
  NAKs forwarded              4	(4 dir 0 dlr)
  NCFs received               5	(4 1 ant 0 nul 0 rdir 0 rpf 0 pprty 0 noprty 0 err)
 RDATA received               9
       eliminated             1	(0 qck 1 oif)
  SPMs received              41
       used                  41	(41 src 0 nbr 0 rpf)
Serial5/0
  NAKs received               4
       eliminated             1	(1 0 nomrte 0 noprty 0 err)	
  NCFs transmitted            4	(4 cpy 0 err)
 RDATA forwarded              7
  SPMs forwarded             41


The following is sample output of the show ip pgm router command with the state verbose keywords. In this example, there hasn't been any loss in the receivers; the example shows router state before any NAKs for the sessions have been received. The first TSI represents a selective session. The second represents a session supporting parity with a TGSIZE of 16. The timer associated with each session is an idle timer; the TSI state is deleted when this timer expires.

Router# show ip pgm router state verbose

TSI                Group            Neighbour        TGSIZE
0A0700C85555-1000  227.7.7.7        rpf/source       N/A        00:04:25
0A0700C85555-2000  234.4.3.2        rpf/source       16         00:04:27

The following example shows state after receivers have reported loss of certain packets. NAKs have been received for each of the two sessions above. After the loss, the router has state for the lost packets. The sqn 1990 indicates that a receiver lost a packet with sequence number 1990 and is requesting that it be resent.

Router# show ip pgm router state verbose

TSI                Group            Neighbour        TGSIZE
0A0700C85555-1000  227.7.7.7        rpf/source       N/A        00:04:55
   sqn        1990            age   4 ELIM TMR
       Ethernet1/0/0
   sqn        1991            age    5 (anticipated)
0A0700C85555-2000 234.4.3.2         rpf/source       16         00:04:55
   sqn (       125,          7) age   10
       Serial5/0 prty # 7

For the selective TSI, the output shows retransmit state for sequence number 1990. This was created by a NAK received on Ethernet1/0/0. ELIM TMR indicates that the state is currently eliminating and any new NAKs for this sequence number will not be forwarded.

State shown for sequence 1991 is anticipated state, indicating that it was created by a NAK confirmation (NCF) for a NAK sent by some other PGM router with the same PGM upstream neighbor as this router.

For the TSI with parity, the state shown was created by a parity NAK for 7 packets of the Transmission Group 125. This was received on Serial5/0, #7 indicates that 7 parity packets must be forwarded out this interface.

Related Commands

Command
Description

clear ip pgm router

Clears PGM traffic statistics.

ip pgm router

Enables PGM Router Assist for the interface.


Debug Commands

This section documents the new debug command related to the PGM Router Assist feature.

debug ip pgm router

To display debug messages for PGM, use the debug ip pgm router EXEC command. Use the no form of the command to disable debugging output.

[no] debug ip pgm router [spm | nak | data]

Syntax Description

spm

(Optional) Enables debugging for Source Path Messages (SPMs).

nak

(Optional) Enables debugging for negative acknowledgments (NAKs), NAK confirmations (NCFs), and Null NAKs.

data

(Optional) Enables debugging for Retransmissions (RDATA).


Defaults

Debugging for PGM is is not enabled. If the debug ip pgm router command is used with no additional keywords, debugging is enabled for all PGM message types.

Command History

Release
Modification

12.0(5)T

This command was introduced.


Examples

The following example shows output of the debug ip pgm router command:

Router# debug ip pgm router

SPM debugging is on
NAK/NNAK/NCF debugging is on
RDATA debugging is on

The following example shows output of the debug ip pgm router command with the spm keyword:

Router# debug ip pgm router spm
PGM: Received SPM on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (52 bytes)
     SPM TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 52   
     dsqn 3758096779 tsqn       1954 isqn       1979 lsqn       1990
     NLA 10.7.0.200
     SPM from source/RPF-neighbour 10.7.0.200 for 10.7.0.200 (SPT)
     Forwarded SPM from 10.7.0.200 to 227.7.7.7

The following is a debug message for a selective SPM:

Router# debug ip pgm router spm
PGM: Received SPM on Ethernet1/0/5 from 10.7.0.200 to 234.4.3.2 (52 bytes)
     SPM TSI 0A0700C85555-2000 data-dport 2001 csum CCCC tlen 52    Options  P N O
     dsqn 3758096768 tsqn       1986 isqn       1994 lsqn       2006
     NLA 10.7.0.200
     SPM from source/RPF-neighbour 10.7.0.200 for 10.7.0.200 (SPT)
     Forwarded SPM from 10.7.0.200 to 227.7.7.7

The "P N O" flags indicate which options are present in this packet.

"P" indicates that this is a parity packet.

"N" indicates options are network significant.

"O" indicates options are present.

The following example shows output of the debug ip pgm router command with the nak keyword:

Router# debug ip pgm router nak

PGM: Received NAK on Ethernet1/0/0 from 10.1.0.4 to 10.1.0.2 (36 bytes)
     NAK TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 36   
     dsqn       1990 data source 10.7.0.200 group 227.7.7.7
     NAK unicast routed to RPF neighbour 10.4.0.1
     Forwarding NAK from 10.1.0.4 to 10.4.0.1 for 10.7.0.200
PGM: Received NCF on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (36 bytes)
     NCF TSI 0A0700C85555-1000 data-dport 1001 csum CACC tlen 36   
     dsqn       1990 data source 10.7.0.200 group 227.7.7.7
     NAK retx canceled for TSI 0A0700C85555-1000 dsqn       1990
     NAK elimination started for TSI 0A0700C85555-1000 dsqn       1990
PGM: Received NCF on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (36 bytes)
     NCF TSI 0A0700C85555-1000 data-dport 1001 csum CACC tlen 36   
     dsqn       1991 data source 10.7.0.200 group 227.7.7.7
     No NAK retx outstanding for TSI 0A0700C85555-1000 dsqn       1991
     NAK anticipated for TSI 0A0700C85555-1000 dsqn       1991

The following example shows output of the debug ip pgm router command with the data keyword. The debug message is for an RDATA packet for which the router has only anticipated state, sqn 1991. Since it didn't actually get a NAK, this RDATA is not forwarded by the PGM router.

Router# debug ip pgm router data

PGM: Received RDATA on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (70 bytes)
     RDATA TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 32   
     tsqn       1954 dsqn       1990
     Marking Ethernet1/0/0 for forwarding
     Marking Serial5/0 for skipping
     Forwarded RDATA from 10.7.0.200 to 227.7.7.7

Debug message for RDATA packet corresponding to a NAK for sqn
1990. Since the NAK was received on Ethernet1/0/0, RDATA is forwarded
out only that interface and another interface in the multicast olist
Serial5/0 is skipped.

PGM: Received RDATA on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (70 bytes)
     RDATA TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 32   
     tsqn       1954 dsqn       1991
     Eliminated RDATA (null oif) from 10.7.0.200 to 227.7.7.7

Related Commands

Command
Description

clear ip pgm router

Clears PGM traffic statistics.

ip pgm router

Enables the PGM Router Assist feature for the interface.

show ip pgm router

Displays PGM traffic statistics and TSI state.