- Preface
- Using the Command-Line Interface
-
- IP Multicast Routing Technology Overview
- Configuring IGMP
- Configuring IGMP Proxy
- Constraining IP Multicast in Switched Ethernet
- Configuring PIM
- Configuring PIM MIB Extension for IP Multicast
- Configuring MSDP
- Configuring Wireless Multicast
- Configuring SSM
- Configuring Basic IP Multicast Routing
- Configuring Multicast Routing over GRE Tunnel
- Configuring the Service Discovery Gateway
- IP Multicast Optimization: Optimizing PIM Sparse Mode in a Large IP Multicast Deployment
- IP Multicast Optimization: Multicast Subsecond Convergence
- IP Multicast Optimization: IP Multicast Load Splitting across Equal-Cost Paths
- IP Multicast Optimization: SSM Channel Based Filtering for Multicast
- IP Multicast Optimization: PIM Dense Mode State Refresh
- IP Multicast Optimization: IGMP State Limit
-
- Configuring the Device for Access Point Discovery
- Configuring Data Encryption
- Configuring Retransmission Interval and Retry Count
- Configuring Adaptive Wireless Intrusion Prevention System
- Configuring Authentication for Access Points
- Converting Autonomous Access Points to Lightweight Mode
- Using Cisco Workgroup Bridges
- Configuring Probe Request Forwarding
- Optimizing RFID Tracking
- Configuring Country Codes
- Configuring Link Latency
- Configuring Power over Ethernet
-
- Preventing Unauthorized Access
- Controlling Switch Access with Passwords and Privilege Levels
- Configuring TACACS+
- MACsec Encryption
- Configuring RADIUS
- Configuring Kerberos
- Configuring Local Authentication and Authorization
- Configuring Secure Shell (SSH)
- X.509v3 Certificates for SSH Authentication
- Configuring Secure Socket Layer HTTP
- Configuring IPv4 ACLs
- Configuring IPv6 ACLs
- Configuring DHCP
- Configuring IP Source Guard
- Configuring Dynamic ARP Inspection
- Configuring IEEE 802.1x Port-Based Authentication
- Configuring Web-Based Authentication
- Configuring Port-Based Traffic Control
- Configuring IPv6 First Hop Security
- Configuring Cisco TrustSec
- Configuring Control Plane Policing
- Configuring Wireless Guest Access
- Managing Rogue Devices
- Classifying Rogue Access Points
- Configuring wIPS
- Configuring Intrusion Detection System
-
- Administering the Switch
- Boot Integrity Visibility
- Performing Device Setup Configuration
- Configuring Autonomic Networking
- Configuring Right-To-Use Licenses
- Configuring Administrator Usernames and Passwords
- Configuring 802.11 parameters and Band Selection
- Configuring Aggressive Load Balancing
- Configuring Client Roaming
- Configuring Application Visibility and Control
- Configuring Application Visibility and Control
- Configuring Location Settings
- Configuring Voice and Video Parameters
- Configuring RFID Tag Tracking
- Configuring Location Settings
- Cisco Hyperlocation
- Monitoring Flow Control
- Configuring SDM Templates
- Configuring System Message Logs
- Configuring Online Diagnostics
- Managing Configuration Files
- Configuration Replace and Configuration Rollback
- Working with the Flash File System
- Upgrading the Switch Software
- Conditional Debug and Radioactive Tracing
- Troubleshooting the Software Configuration
- Index
- Finding Feature Information
- Introduction to Conditional Debugging
- Introduction to Radioactive Tracing
- Conditional Debugging and Radioactive Tracing
- Location of Tracefiles
- Configuring Conditional Debugging
- Radioactive Tracing for L2 Multicast
- Recommended Workflow for Trace files
- Copying tracefiles off the box
- Configuration Examples for Conditional Debugging
- Monitoring Conditional Debugging
Conditional Debug
and Radioactive Tracing
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Introduction to Conditional Debugging
The Conditional Debugging feature allows you to selectively enable debugging and logging for specific features based on the set of conditions you define. This feature is useful in systems where a large number of features are supported.
![]() Note | In Cisco IOS XE Denali 16.1.1, only Control Plane Tracing is supported. |
The Conditional debug allows granular debugging in a network that is operating at a large scale with a large number of features. It allows you to observe detailed debugs for granular instances within the system. This is very useful when we need to debug only a particular session among thousands of sessions. It is also possible to specify multiple conditions.
A condition refers to a feature or identity, where identity could be an interface, IP Address, or a MAC address and so on.
![]() Note | In Cisco IOS XE Denali 16.1.1, MAC address is the only supported condition. The support for other features will be introduced in the releases that follow. |
This is in contrast to the general debug command, that produces its output without discriminating on the feature objects that are being processed. General debug command consumes a lot of system resources and impacts the system performance.
Introduction to Radioactive Tracing
Radioactive tracing provides the ability to stitch together a chain of execution for operations of interest across the system, at an increased verbosity level. This provides a way to conditionally print debug information (up to DEBUG Level or a specified level) across threads, processes and function calls.
![]() Note | In Cisco IOS XE Denali 16.1.1 the default level is DEBUG. The users cannot change this to another level. The support for other levels will be introduced in the releases that follow. |
Conditional Debugging and Radioactive Tracing
Radioactive Tracing when coupled with Conditional Debugging, enable us to have a single debug CLI to debug all execution contexts related to the condition. This can be done without being aware of the various control flow processes of the feature within the box and without having to issue debugs at these processes individually.
Location of Tracefiles
By default the tracefile logs will be generated for each process and saved into either the /tmp/rp/trace or /tmp/fp/trace directory. In this temp directory, the trace logs are written to files, which are of 1 MB size each. The directory can hold up to a maximum of 25 such files for a given process. When a tracefile in the /tmp directory reaches its 1MB limit or whatever size was configured for it during the boot time, it is rotated out to an archive location in the /crashinfo partition under tracelogs directory.
The /tmp directory holds only a single tracefile for a given process. Once the file reaches its file size limit it is rotated out to /crashinfo/tracelogs. In the archive directory, up to 25 files are accumulated, after which the oldest one is replaced by the newly rotated file from /tmp.
The tracefiles in the crashinfo directory are located in the following formats:
Configuring Conditional Debugging
To configure conditional debugging, follow the steps given below:
1.
enable
2. debug platform condition mac {mac-address}
3.
debug platform condition start
4. show platform condition OR show debug
5.
debug platform condition stop
6. request platform software trace archive [last {number} days] [target {crashinfo: | flashinfo:}]
7. request platform software trace filter-binary {wire | wireless} [context {mac-address} | level | module]
8. show platform software trace [filter-binary | level | message]
9.
clear platform condition all
DETAILED STEPS
![]() Note | The commands request platform software trace filter-binary and show platform software trace filter-binary work in a similar way. The only difference is: |
-
request platform software trace filter-binary - Sources the data from historical logs.
-
show platform software trace filter-binary – Sources the data from the flash Temp directory.
![]() Note | The command request platform software trace filter-binary wireless {mac-address} generates 3 flash files: |
Of these, mac_log <..date..> is the most important file, as it gives the messages for the MAC we are debugging. The command show platform software trace filter-binary also generates the same flash files, and also prints the mac_log on the screen.
Radioactive Tracing for L2 Multicast
To identify a specific multicast receiver, specify the MAC address of the joiner or the receiver client, Group Multicast IP address and Snooping VLAN. Additionally, enable the trace level for the debug. The debug level will provide detailed traces and better visibility into the system.
debug platform condition feature multicast controlplane mac client MAC address ip Group IP address vlan id level debug level
Recommended Workflow for Trace files
The Recommended Workflow for Trace files is listed below:
- To request the tracelogs for
a specific time period.
EXAMPLE 1 day.
Use the command:
Device#request platform software trace archive last 1 day
-
The system generates a tar ball (.gz file) of the tracelogs in the location /flash:
-
Copy the file off the switch. By copying the file, the tracelogs can be used to work offline. For more details on copying files, see section below.
-
Delete the tracelog file (.gz) file from /flash: location. This will ensure enough space on the switch for other operations.
Copying tracefiles off the box
Device# dir crashinfo:/tracelogs
Directory of crashinfo:/tracelogs/
50664 -rwx 760 Sep 22 2015 11:12:21 +00:00 plogd_F0-0.bin_0.gz
50603 -rwx 991 Sep 22 2015 11:12:08 +00:00 fed_pmanlog_F0-0.bin_0.9558.20150922111208.gz
50610 -rw- 11 Nov 2 2015 00:15:59 +00:00 timestamp
50611 -rwx 1443 Sep 22 2015 11:11:31 +00:00 auto_upgrade_client_sh_pmanlog_R0-.bin_0.3817.20150922111130.gz
50669 -rwx 589 Sep 30 2015 03:59:04 +00:00 cfgwr-8021_R0-0.bin_0.gz
50612 -rwx 1136 Sep 22 2015 11:11:46 +00:00 reflector_803_R0-0.bin_0.1312.20150922111116.gz
50794 -rwx 4239 Nov 2 2015 00:04:32 +00:00 IOSRP_R0-0.bin_0.14239.20151101234827.gz
50615 -rwx 131072 Nov 2 2015 00:19:59 +00:00 linux_iosd_image_pmanlog_R0-0.bin_0
--More—
Device# copy crashinfo:/tracelogs ?
crashinfo: Copy to crashinfo: file system
flash: Copy to flash: file system
ftp: Copy to ftp: file system
http: Copy to http: file system
https: Copy to https: file system
null: Copy to null: file system
nvram: Copy to nvram: file system
rcp: Copy to rcp: file system
running-config Update (merge with) current system configuration
scp: Copy to scp: file system
startup-config Copy to startup configuration
syslog: Copy to syslog: file system
system: Copy to system: file system
tftp: Copy to tftp: file system
tmpsys: Copy to tmpsys: file system
Device# copy source: tftp: Device# copy crashinfo:/tracelogs/IOSRP_R0-0.bin_0.14239.20151101234827.gz tftp: Address or name of remote host []? 2.2.2.2 Destination filename [IOSRP_R0-0.bin_0.14239.20151101234827.gz]?
![]() Note | It is important to clear the generated report or archive files off the switch in order to have flash space available for tracelog and other purposes. |
Configuration Examples for Conditional Debugging
The following is an output example of the show platform condition command.
Device# show platform condition Conditional Debug Global State: Stop Conditions Direction ----------------------------------------------------------------------------------------------|--------- MAC Address 0024.D7C7.0054 N/A Feature Condition Type Value -----------------------|-----------------------|-------------------------------- Device#
The following is an output example of the show debug command.
Device# show debug IOSXE Conditional Debug Configs: Conditional Debug Global State: Start Conditions Direction ----------------------------------------------------------------------------------------------|--------- MAC Address 0024.D7C7.0054 N/A Feature Condition Type Value -----------------------|-----------------------|-------------------------------- Packet Infra debugs: Ip Address Port ------------------------------------------------------|---------- Device#
The following is a sample of the debug platform condition stop command.
Device# debug platform condition stop
Conditional Debug Global State: Stop
Monitoring Conditional Debugging
The table shown below lists the various commands that can be used to monitor conditional debugging.
|
Command |
Purpose |
|---|---|
|
show platform condition |
Displays the current conditions set. |
|
show debug |
Displays the current debug conditions set. |
|
show platform software trace filter-binary |
Displays logs merged from the latest tracefile. |
|
request platform software trace filter-binary |
Displays historical logs of merged tracefiles on the system. |

Feedback