10.2 Operational Troubleshooting CLI Commands & Packet Diagnostics
Key Takeaways
- The PAN-OS dataplane packet diagnostic framework (`debug dataplane packet-diag`) isolates troubleshooting to specific traffic flows using hardware-enforced packet filters before enabling logging or packet capture.
- Flow Basic debugging (`debug dataplane packet-diag set log feature flow basic`) produces cycle-by-cycle dataplane execution logs tracing slow-path session setup, NAT translation, App-ID classification, security policy matching, and egress interface selection.
- The PAN-OS dataplane packet capture engine operates across four distinct capture stages: Receive (`rx`), Firewall (`firewall`), Transmit (`transmit`), and Drop (`drop`), capturing packets at specific milestones within the processing pipeline.
- Session table management commands (`show session all filter ...` and `show session id <id>`) reveal real-time session flags such as `strict-ip-check`, `proxy`, `decrypt`, `drop`, `discard`, and `flow_fwd`, indicating stateful processing status and offload conditions.
- Global counter analysis using `show counter global filter delta yes` calculates differential rate changes over specified observation intervals, isolating the exact architectural reason for packet drops or resource exhaustion.
10.2 Operational Troubleshooting CLI Commands & Packet Diagnostics
Operational Troubleshooting Architecture
Troubleshooting complex traffic drops, state machine discrepancies, and NAT translation failures on high-throughput enterprise firewalls requires surgical precision. Because PAN-OS firewalls process hundreds of thousands of concurrent connections at wire speed, attempting broad packet captures or unbounded diagnostic logging on production hardware risks saturating management CPU queues, consuming packet buffers, and destabilizing active sessions.
To provide safe, line-rate visibility, PAN-OS provides the Dataplane Packet Diagnostic Framework (debug dataplane packet-diag). This framework executes directly within the Data Plane subsystem, using hardware-enforced Packet Filters to isolate traffic before passing targeted frames to the diagnostic logging daemon (pan_packet_diag.log) or the multi-stage Packet Capture (PCAP) engine.
[ Ingress Packet Stream ]
|
v
+----------------------------------------------+
| Hardware Packet Filter Engine (1-4) |
| - Matches Source / Dest IP & Ports |
| - Matches Protocol & Ingress Interface |
+----------------------------------------------+
| |
[ No Match ] [ Match! ]
| |
v +------------------------------+
(Normal Forwarding) | |
v v
+-----------------------+ +-----------------------+
| Flow Basic Engine | | 4-Stage PCAP Engine |
| - Traces Session Setup| | - rx (Driver Ingress) |
| - Traces Route & NAT | | - firewall (Session) |
| - Traces Policy Match | | - transmit (Egress) |
| - Traces App-ID Shift | | - drop (Discards) |
+-----------------------+ +-----------------------+
| |
v v
[ pan_packet_diag.log ] [ Local PCAP Buffers ]
(View via CLI Console) (Export via SCP/Web UI)
The Advanced Packet Diagnostic Framework (debug dataplane packet-diag)
The packet diagnostic framework operates through a rigorous, three-step operational workflow: Define Filters, Enable Logging or Captures, and Analyze Output.
Step 1: Configuring Hardware Packet Filters
Before enabling any diagnostic logging or packet capture, an administrator MUST define packet filters. A packet filter instructs the Data Plane Network Processing Engine (NPE) to intercept only traffic that matches specific Layer 3 and Layer 4 criteria. Up to four independent filter indexes (Index 1 through 4) can be active simultaneously:
# Define Filter Index 1 matching specific source, destination, and port
admin@PA-3410> debug dataplane packet-diag set filter match source 10.1.1.50 destination 198.51.100.25 destination-port 443 protocol 6
# Optionally define Filter Index 2 matching reverse return traffic
admin@PA-3410> debug dataplane packet-diag set filter match source 198.51.100.25 destination 10.1.1.50 source-port 443 protocol 6
# Enable the configured packet filters
admin@PA-3410> debug dataplane packet-diag set filter on
# Verify active filter configuration and operational status
admin@PA-3410> debug dataplane packet-diag show setting
Exam Trap Alert: Defining a packet filter does not automatically activate it! The filter only takes effect after explicitly executing
debug dataplane packet-diag set filter on. If an administrator skips this command,pan_packet_diag.logwill record zero events, and packet captures will generate empty zero-byte files.
Step 2: Flow Basic Debugging (flow basic)
Flow Basic is the most powerful diagnostic logging tool in PAN-OS. It produces cycle-by-cycle logs tracing packet traversal through each phase of the 6-stage lifecycle: ingress validation, session matching, route lookup, NAT translation, security policy evaluation, App-ID classification, Content-ID profile attachment, and egress transmission.
# Enable Flow Basic diagnostic logging
admin@PA-3410> debug dataplane packet-diag set log feature flow basic
# Activate dataplane logging
admin@PA-3410> debug dataplane packet-diag set log on
# View the diagnostic log in real time as traffic flows
admin@PA-3410> tail follow yes mp-log pan_packet_diag.log
# Alternatively, view the entire captured log buffer with search filters
admin@PA-3410> view-log dataplane-log pan_packet_diag.log
Deconstructing a Real Flow Basic Log Trace
Below is an annotated excerpt from pan_packet_diag.log tracing a newly initiated connection:
== 2026/09/02 12:40:15:234 ==
Packet received at ingress stage, interface ethernet1/1, vsys 1
Packet info: len 64, 10.1.1.50:51240 -> 198.51.100.25:443, proto 6 (TCP SYN)
Flow lookup: session not found, entering slow path for session setup
Zone protection check: zone 'Trust', flood checks passed, syn-cookie inactive
Route lookup: dest 198.51.100.25, nexthop 203.0.113.1, egress interface ethernet1/2, egress zone 'Untrust'
NAT policy lookup: matched rule 'Corp-Outbound-NAT', type DIPP, translated source 203.0.113.5:14208
Security policy lookup: from 'Trust' to 'Untrust', pre-nat-ip 198.51.100.25, proto 6, port 443
Security policy match: matched rule 'Allow-Internet-HTTPS', action ALLOW
Allocated session: id 104523, c2s flow (10.1.1.50:51240 -> 198.51.100.25:443), s2c flow (198.51.100.25:443 -> 203.0.113.5:14208)
App-ID: initial protocol match 'ssl', service 'service-https'
Forwarding packet to egress stage, interface ethernet1/2
If the connection were dropped, the trace would explicitly identify the terminating stage:
Security policy match: matched rule 'inter-zone-default', action DENY, dropping packetRoute lookup failed: no route to host 198.51.100.25, drop packetZone protection violation: SYN flood rate exceeded, dropping packet
Step 3: Deactivating and Clearing Diagnostic Settings
Always clean up diagnostic features immediately after troubleshooting to preserve storage and processing capacity:
# Deactivate logging and packet filters
admin@PA-3410> debug dataplane packet-diag set log off
admin@PA-3410> debug dataplane packet-diag set filter off
# Clear active filter configurations and delete existing log files
admin@PA-3410> debug dataplane packet-diag clear filter all
admin@PA-3410> debug dataplane packet-diag clear log log-filter
The Dataplane Packet Capture (PCAP) Engine
While management interface packet captures (tcpdump) capture only administrative traffic on the MGT port, the PAN-OS Dataplane Packet Capture Engine captures transit data traffic directly from the fast-path processing hardware. Captures operate across four distinct pipeline stages:
| Capture Stage | Internal Pipeline Location | Packet State & Modifications | Primary Diagnostic Use Case |
|---|---|---|---|
rx (Receive) | Ingress driver / NPE hardware | Pre-inspection, Pre-NAT. Exact frame as it arrived on the wire. | Verifying ingress arrival, 802.1Q tags, client SYN flags, checksum errors. |
firewall | Core Data Plane session engine | Post-session setup, Pre-NAT rewrite. After L2/L3 sanity, before L7 payload changes. | Verifying session allocation, App-ID inspection, TCP window negotiation. |
transmit (Tx) | Egress driver / PHY transmitter | Post-NAT, Post-inspection. Layer 3/4 headers rewritten, checksums recalculated, QoS applied. | Verifying outbound NAT translation, ALG payload rewrite, QoS DSCP remarking. |
drop | Global discard pipeline | Discarded frame. Captured at the exact point in the pipeline where the packet is dropped. | Root-cause analysis of policy denies, spoofing drops, TCP out-of-order discards. |
# Configure capture stages, output file names, and byte capture limits
admin@PA-3410> debug dataplane packet-diag set capture stage rx file rx-stage.pcap bytes 1514
admin@PA-3410> debug dataplane packet-diag set capture stage firewall file fw-stage.pcap
admin@PA-3410> debug dataplane packet-diag set capture stage transmit file tx-stage.pcap
admin@PA-3410> debug dataplane packet-diag set capture stage drop file drop-stage.pcap
# Enable the packet capture engine
admin@PA-3410> debug dataplane packet-diag set capture on
# Verify active capture status and packet counts
admin@PA-3410> debug dataplane packet-diag show setting
# Turn off packet capture after reproducing the issue
admin@PA-3410> debug dataplane packet-diag set capture off
Exporting Packet Captures
Once captured, PCAP files reside in the internal dataplane storage buffer. They can be exported via SCP or TFTP for analysis in Wireshark, or downloaded directly via the PAN-OS Web Interface (Monitor > Packet Capture):
# Export capture file to a remote SCP server
admin@PA-3410> scp export capture file drop-stage.pcap to admin@10.10.10.50:/var/pcap/
# Export capture file to a remote TFTP server
admin@PA-3410> tftp export capture file tx-stage.pcap to 10.10.10.50
Exam Trap Alert: The
droppacket capture stage captures packets dropped by the PAN-OS dataplane software engines (such as security policy denies, threat prevention blocks, or route lookup failures). It cannot capture packets dropped by physical hardware PHY faults, Ethernet framing errors (FCS/CRC errors), or ASIC ring-buffer overruns before the frame reaches the dataplane software. Those errors must be identified usingshow interface hardware ethernet1/1.
Session Management & Operational Flag Interpretation
The PAN-OS session table provides complete state visibility into every active connection passing through the firewall.
Filtering and Displaying Sessions
# List active sessions matching specific source and destination filters
admin@PA-3410> show session all filter source 10.1.1.50 destination 198.51.100.25 state active
# Filter sessions by specific application
admin@PA-3410> show session all filter application salesforce-base
# Display exhaustive state information for a single session ID
admin@PA-3410> show session id 104523
Dissecting show session id Output
Session 104523
c2s flow:
source: 10.1.1.50 [Trust]
dst: 198.51.100.25
proto: 6
sport: 51240 dport: 443
state: ACTIVE type: FLOW
src user: corp\jdoe
s2c flow:
source: 198.51.100.25 [Untrust]
dst: 203.0.113.5
proto: 6
sport: 443 dport: 14208
state: ACTIVE type: FLOW
src user: unknown
start time: Wed Sep 2 12:40:15 2026
timeout: 3600 sec
time to live: 3588 sec
total byte count(c2s): 8412 bytes
total byte count(s2c): 24108 bytes
layer7 processing: completed
url filtering enabled: True
session flags: strict-ip-check proxy decrypt flow_fwd
application: office365-enterprise
rule: Allow-Enterprise-SaaS
Critical Operational Session Flags
| Session Flag | Description & Operational Impact |
|---|---|
strict-ip-check | Strict IP address spoofing validation is enforced. Packets arriving on an interface that fails reverse-path route lookup for the source IP are discarded. |
proxy | The session is terminated by an internal PAN-OS TCP proxy architecture (e.g., SSL Forward Proxy Decryption, Captive Portal, or URL credential phishing interception). |
decrypt | The session payload is actively decrypted for Layer 7 Content-ID inspection. |
drop | The session is flagged for intentional dropping. Subsequent packets matching this session ID are silently dropped without re-evaluating policy rules. |
discard | The session is discarded without transmitting a TCP RST (reset) or ICMP Unreachable message to the client. |
flow_fwd | Hardware Fast-Path Offload. Layer 7 inspection is complete; subsequent Layer 4 packet forwarding is offloaded directly to hardware network processing chips (ASICs/NPE). |
ha | The session is synchronized across the HA2 data link to the peer firewall in an Active/Passive or Active/Active cluster. |
nat / dip / dipv | Active Network Address Translation (Source NAT, Dynamic IP, or Dynamic IP and Port) is applied to the flow. |
Modifying Timeouts and Clearing Sessions
# Clear a single problematic session by its ID
admin@PA-3410> clear session id 104523
# Clear all active sessions matching a specific source IP address
admin@PA-3410> clear session all filter source 10.1.1.50
# Clear all sessions matching a specific application
admin@PA-3410> clear session all filter application ms-update
Exam Trap Alert: Executing
clear session allwithout any filter parameters will immediately terminate every active session on the entire firewall, dropping all enterprise user traffic, IPsec VPN tunnels, and administrative sessions! Always append filter parameters when clearing sessions on production appliances.
Global Counters Analysis (show counter global filter delta yes)
PAN-OS maintains internal operational counters tracking every packet parsing decision, policy evaluation, error condition, and buffer transition. These counters increment continuously from system boot.
To diagnose transient drops or unexplained packet losses, administrators use Differential Global Counters (filter delta yes). This command establishes a baseline and reports only the counters that incremented during the observation window:
# Step 1: Run the delta command once to establish the initial baseline
admin@PA-3410> show counter global filter delta yes
# Step 2: Reproduce the problematic traffic on the client workstation (e.g., attempt connection)
# Step 3: Run the delta command again filtered by severity 'drop'
admin@PA-3410> show counter global filter delta yes severity drop
# Filter global counters by category aspect (packet, flow, session, system)
admin@PA-3410> show counter global filter delta yes aspect pkt
Interpreting Critical Drop Counters
Global counters:
Elapsed time since last query: 12.450 seconds
name value rate severity category aspect description
------------------------------------------------------------------------------------------------
flow_policy_deny 45 3 drop flow session Session denied by security policy
flow_parse_l4_drop 2 0 drop flow pkt Packet dropped: L4 header corrupt or invalid
flow_zone_protect_syn_drop 1200 96 drop flow pkt Packets dropped: Zone protection SYN flood
flow_fwd_no_route 14 1 drop flow route Packets dropped: No route to destination
session_alloc_failure 0 0 drop flow session Session allocation failed: memory limit
buffer_alloc_fail 0 0 drop sys buffer Packet buffer allocation failure
flow_policy_deny: Indicates packets were blocked by a security policy rule (either an explicit deny rule or the defaultinter-zone-defaultrule).flow_fwd_no_route: Indicates the routing table (FIB) lacks a valid route to reach the packet's destination IP address. The firewall discards the packet during Stage 2 route lookup.flow_zone_protect_syn_drop: Indicates the Zone Protection Profile attached to the ingress zone is actively dropping incoming SYN packets because packet rates exceeded the maximal threshold.session_alloc_failure: The firewall has exhausted its maximum licensed concurrent session capacity. New connections are dropped until existing sessions terminate.buffer_alloc_fail: Indicates critical global packet buffer exhaustion, typically caused by unmitigated volumetric flood attacks or extreme bandwidth saturation.
Diagnostic Framework Comparison
| Diagnostic Tool | Target Subsystem | Performance Overhead | Captures Payloads? | Primary Operational Purpose |
|---|---|---|---|---|
| Packet Filter | Dataplane NPE | Extremely Low (Hardware) | N/A | Isolates traffic matching specific IPs, ports, and protocols. |
| Flow Basic Log | Dataplane Software | Low to Moderate | No | Traces end-to-end packet decisions: routing, NAT, policy, and App-ID. |
| Dataplane PCAP | Dataplane 4 Stages | Moderate | Yes (Full Packets) | Generates Wireshark PCAPs across rx, firewall, tx, and drop. |
| Session Table | State Management | Low | No | Displays active session tuples, NAT translations, timeouts, and flags. |
| Global Counters | Dataplane System | None | No | Isolates system-wide drops, buffer depletion, and protocol errors. |
A network engineer needs to troubleshoot an intermittent connection failure and verify whether outbound Source NAT is properly translating IP addresses before packets leave the physical interface, while also capturing any packets dropped by the firewall. Which combination of dataplane packet capture stages must be enabled within the 'debug dataplane packet-diag' framework to validate both requirements?
An administrator observes that users cannot connect to an internal database server through a newly deployed PA-3420 firewall. The administrator runs 'debug dataplane packet-diag set log feature flow basic' and examines 'pan_packet_diag.log'. The log displays: 'session not found, creating new session', followed by 'flow_fwd_no_route' and 'drop packet'. Simultaneously, 'show counter global filter delta yes' shows an increasing count for 'flow_fwd_no_route'. What is the root cause of the connection failure?
An administrator investigates an active session using the command 'show session id 45210' on a PA-5450 firewall. The output displays the flags: 'strict-ip-check', 'proxy', 'decrypt', and 'flow_fwd'. What do these operational session flags indicate regarding how this connection is processed?