Guest

MPLS

Changes in RSVP Debug Commands in Cisco IOS Software Release 12.0(24)S and Later

Document ID: 42321




Contents

Introduction
Prerequisites
      Requirements
      Components Used
      Conventions
Differences in Enabling Debugs to Monitor PATH and RESV Messages
      Differences in RSVP debug Command Options
      Differences in Enabling Debugs to Monitor PATH and RESV Messages
      Using ACLs to Selectively Debug RSVP Messages
Related Information

Introduction

The introduction of Cisco IOS® Software Release 12.0(24)S changed Resource Reservation Protocol (RSVP) debugs in both the output and in the command line interface (CLI). This change was part of a project to make the debugs easier to use and to make them more consistent with other router output. This document explains the new debugs, primarily the CLI. Debug output is largely self-explanatory, so is not explored in depth here. The emphasis in this document is on debugs that are useful for Multiprotocol Label Switching Traffic Engineering (MPLS TE), as opposed to classic RSVP.

Prerequisites

Requirements

Readers of this document are required to know:

  • MPLS TE terms and concepts

Components Used

The information in this document is based on the software and hardware versions below.

  • Gigabit Switch Router (GSR) Series

  • Cisco IOS Software Releases 12.0(23)S and 12.0(24)S

The information presented in this document was created from devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If you are working in a live network, ensure that you understand the potential impact of any command before using it.

Conventions

For more information on document conventions, refer to Cisco Technical Tips Conventions.

Differences in Enabling Debugs to Monitor PATH and RESV Messages

Changes to the RSVP debug commands were introduced in Cisco IOS 12.0(24)S in order to make it easier to use the debug commands and to make the debug output more consistent with other router output. Below is an example of the commands available in Cisco 12.0(23)S and earlier compared to the debug commands available in Cisco IOS 12.0(24)S and later. As you can see, there are significantly more options in Cisco IOS version 12.0(24)S.

Differences in RSVP debug Command Options

Below are the RSVP debug command options when running Cisco IOS version 12.0(23)S or earlier.

gsr6# debug ip rsvp ?
  <1-199>       Access list
  detail        RSVP packet contents
  fast-reroute  RSVP Fast ReRoute support for LSPs
  hello         RSVP Hello Extension Signalling
  path          RSVP packet contents (PATH only)
  policy        RSVP policy information
  resv          RSVP packet contents (RESV only)
  timeouts      RSVP Refresh Timeouts only
  <cr>

Below are the RSVP debug command options when running Cisco IOS version 12.0(24)S and later.

gsr7# 
debug ip rsvp ?
  all              RSVP messages for all categories
  api              RSVP API events
  database         RSVP database debugging
  dump-messages    Dump RSVP message contents
  fast-reroute     RSVP Fast Reroute support for LSPs
  filter           RSVP filter information
  handles          RSVP database handles events
  hello            RSVP hello events
  messages         RSVP messages (sent/received via IP) debugging
  msg-mgr          RSVP Message Manager events
  path             RSVP PATH messages
  policy           RSVP policy information
  proxy            RSVP Proxy API trace
  rate-limit       RSVP Rate Limiting Messages
  reliable-msg     RSVP Reliable Messages events
  resv             RSVP RESV messages
  routing          RSVP Routing Messages
  signaling       RSVP Signalling (PATH and RESV) messages
  snmp             RSVP SNMP events
  summary-refresh  RSVP Srefresh & Bundle Messages events
  timer            RSVP timer events
  traffic-control  RSVP traffic control events
  wfq              RSVP WFQ events
  <cr>

As you can see, there are significantly more options in Cisco IOS version 12.0(24)S.

Differences in Enabling Debugs to Monitor PATH and RESV Messages

The most common use of RSVP debugs is to dump the contents of PATH and RESV messages. In Cisco IOS 12.0(23)S, this was done with the single debug ip rsvp [path|resv] {<acl>} {detail} command.

In Cisco IOS 12.0(24)S, enabling this debug is a two-step process.

  1. First, use the debug ip rsvp filter {<acl>} command.

    gsr7# debug ip rsvp filter ?
      <1-199>  Access list
      <cr>

    The debug ip rsvp filter 101 command uses access control list (ACL) 101, meaning that only packets that are permitted by ACL 101 will be shown in the debug output. The debug ip rsvp filter 101 command without any specified ACL removes any configured debug filter, and, therefore, all packets related to the debug will show up in the output.

  2. Next, enable the specific debug. To dump PATH and/or RESV messages, use the deb ip rsvp dump-message command.

    gsr7# deb ip rsvp dump ?
      hex         Hex dump of packet contents
      path        Display contents of Path-related messages
      resv        Display contents of Resv-related messages
      signaling  Display contents of all signaling messages
      <cr>

    The hex option, shown above, gives a complete hex dump of any messages, very similar to the UNIX tcpdump command. The following is an example.

    2d03h: Incoming Resv:
    2d03h:   version:1 flags:0000 cksum:141C ttl:255 reserved:0 length:120
    2d03h: 0000  10 02 14 1C FF 00 00 78 00 10 01 07 C0 A8 01 08 .......x........
    2d03h: 0010  00 00 00 07 C0 A8 01 04 00 0C 03 01 C0 A8 0D 08 ................
    2d03h: 0020  4D 00 04 02 00 08 05 01 00 00 75 30 00 08 08 01 M.........u0....
    2d03h: 0030  00 00 00 12 00 24 09 02 00 00 00 07 05 00 00 06 ................
    2d03h: 0040  7F 00 00 05 00 00 00 00 44 7A 00 00 00 00 00 00 ........Dz......
    2d03h: 0050  00 00 00 00 00 00 00 00 00 0C 0A 07 C0 A8 01 04 ................
    2d03h: 0060  00 00 02 97 00 08 10 01 00 00 00 00 00 0C 15 01 ................
    2d03h: 0070  01 08 C0 A8 0D 08 20 00                         ........

    Without the hex option, data is translated into something more readable as shown below.

    2d03h: Incoming Resv:
    2d03h:   version:1 flags:0000 cksum:141C ttl:255 reserved:0 length:120
    2d03h:  SESSION              type 7 length 16:
    2d03h:   Tun Dest:   192.168.1.8  Tun ID: 7  Ext Tun ID: 192.168.1.4
    2d03h:  HOP                  type 1 length 12:
    2d03h:   Hop Addr: 192.168.13.8 LIH: 0x4D000402
    2d03h:  TIME_VALUES          type 1 length 8 :
    2d03h:   Refresh Period (msec): 30000
    2d03h:  STYLE                type 1 length 8 :
    2d03h:   Shared-Explicit (SE)
    2d03h:  FLOWSPEC             type 2 length 36:
    2d03h:  version = 0 length in words = 7
    2d03h:  service id = 5, service length = 6
    2d03h:  tspec parameter id = 127, flags = 0, length = 5
    2d03h:  average rate = 0 bytes/sec, burst depth = 1000 bytes
    2d03h:  peak rate    = 0 bytes/sec
    2d03h:  min unit = 0 bytes, max pkt size = 0 bytes
    2d03h:  FILTER_SPEC          type 7 length 12:
    2d03h:   Tun Sender: 192.168.1.4, LSP ID: 663
    2d03h:  LABEL                type 1 length 8 :
    2d03h:   Labels: 0 
    2d03h:  RECORD_ROUTE         type 1 length 12:
    2d03h:   192.168.13.8/32, Flags:0x0 (No Local Protection)

    The path and resv options show above can be used to limit the output to either the PATH or RESV messages. If you do not use either the path or resv options, then the output will contain both PATH and RESV messages. The signaling keyword also covers both the PATH and RESV messages.

    Issuing the debug ip rsvp dump {hex} command will cover all RSVP messages except for HELLO messages. RSVP HELLOs are covered in their own debug,debug ip rsvp hello. They are deliberately left out of the signaling debugs because they are intended to be sent and received on the order of milliseconds, and inadvertently debugging hello messages could overwhelm the router's resources.

Using ACLs to Selectively Debug RSVP Messages

The ability to use ACLs to selectively debug RSVP messages is available in Cisco IOS release 12.0(23)S and earlier. It has been around for quite some time, but this feature can be confusing, so it is documented here.

Defining ACL Attributes

You may want to selectively debug RSVP messages for only a specific tunnel. This is done by overloading on UDP extended numbered ACLs. UDP ACLs use the following format: access-list <100-199> permit udp <src ip> {src port} <dst ip> {dst port}.

Below are the values for an ACL used for MPLS TE debugging:

  • src port = The link-state packet (LSP) ID

  • dst port = The tunnel ID, where the tunnel ID is the tunnel interface number

  • src ip = The tunnel headend

  • dst ip = The tunnel tail

The example below will only allow debugs where the session is initiated from 192.168.1.4, towards 192.168.1.8, for Tunnel8 on the headend.

access-list 101 permit udp host 192.168.1.4 host 192.168.1.8 eq 8

Note:  This ACL will capture both PATH and RESV messages for the session from 192.168.1.4 to 192.168.1.8, but not any tunnels originating from 1.8 going to 1.4. You can also specify the LSP ID, but that is far less useful, since it changes all the time, and the combination of the head, tail, and tunnel ID is generally enough to limit the output to what you want.


Related Information



Updated: Mar 28, 2005 Document ID: 42321