Skip to main content

Reference

This page is a reference for Path Analysis. The Syntax section covers query tokens, fields, types, and modes. The Behavior section covers query outcomes, anchor resolution, drop reasons, network functions, and the badges shown on path diffs.

For the pages that explain how to use these in context, see Running Path Analysis for building queries, Understanding Results for reading hops, and Troubleshooting & FAQ for common problems.


Syntax

Query Tokens

When you copy a query from the search bar as text, each clause appears in a single-letter shorthand. This table is here to decode that copied text — for example, to work out what f(...) u(...) z(delivered) means.

TokenFull namePurpose
ffromSource location (anchor)
ttoDestination location (anchor)
uthroughRequire transit through a device or interface
iingressRequire ingress at a device or interface within a path
eegressRequire egress at a device or interface within a path
bbypassExclude a device from the path
wforwardingForwarding type (MPLS, VXLAN, etc.)
zstatusOutcome filter (delivered, dropped, etc.)
mmodeQuery mode (m(permit_all))

Anchor disambiguation modifiers at() and in() follow from() or to(); they don't have shorthand prefixes.

note

These shorthands are for reading a copied query, not for writing one. Build queries in the search bar using the full field names and the autocomplete suggestions, or, for programmatic access, use the Paths API. The shorthands are internal identifiers with no backward-compatibility guarantee — they can change between releases.

Running Path Analysis covers each token in context.

Anchors and Constraints

ClauseArgumentNotes
from(X)IP, prefix, hostname, device nameSource anchor — where the path starts.
to(X)IP, prefix, hostname, device nameDestination anchor — where the path ends.
at(D)Device nameRestricts the preceding anchor to a specific device.
in(N)Logical-network nameRestricts the preceding anchor to a Logical Network.
through(X)Device or interfaceOrder-sensitive when repeated.
bypass(X)Device or interfaceSet-membership exclusion; order-agnostic.
ingress(X)Device or interfaceOrder-sensitive when repeated.
egress(X)Device or interfaceOrder-sensitive when repeated.

Anchor resolution covers how from() and to() resolve their arguments.

Outcome Values (z() / status())

ValueMeaning
deliveredTraffic egresses the modeled network edge toward the destination.
droppedExplicit deny — an ACL or firewall rule rejected the traffic.
blackholeImplicit drop — no forwarding entry matched.
inadmissibleRejected as it entered the network — the ingress device wouldn't admit it (for example, a VLAN-tag mismatch on the ingress interface).
unreachableMid-path ARP or ND resolution failed.
loopTraffic entered a forwarding loop.
undeliveredMeta-outcome — matches everything except delivered.

See Running Path Analysis → Outcome filters for query examples, and Outcome behavior for the distinctions between values.

Forwarding Types (w())

UI labelQuery value
Direct L2direct_l2
FabricPathfabric_path
VXLANvxlan
Direct IPdirect_ip
MPLSmpls
PBR (L2)l2_pbr
PBR (L3)l3_pbr

See Running Path Analysis → Forwarding-type filters for query examples.

Packet Header Fields

Header filters span Layer 2 through Layer 7. The tables below list every field the search bar accepts, grouped by layer. The Field column is the field name used throughout this documentation and in the API; examples here write it as field(value). The UI label is the name you actually see and pick in the product — the title-case form shown in the Filters facets and the sample-packet panel; the search bar's autocomplete offers the same fields under a hyphenated label, such as dest-ip.

Layer 2

FieldUI labelNotes
mac_srcSource MAC
mac_dstDest MAC
eth_typeEthernet typeHex (e.g., 0x800 IPv4, 0x86dd IPv6).
vlan_vidVLAN ID
vlan_pcpVLAN PCP
vlan_deiVLAN DEI
fp_ftagFTagCisco FabricPath tag.
sgt_srcSource SGTCisco TrustSec security group; see SGT.
sgt_dstDest SGTSame as above.
optical_tagOptical tagSynthetic-optical-device only.

Layer 2.5 (MPLS)

FieldUI labelNotes
mpls_labelMPLS labelOutermost label.
mpls_bosMPLS BoSBottom-of-stack indicator.
mpls_cosMPLS CoS
mpls_ttlMPLS TTL

Layer 3

FieldUI labelNotes
ipv4_srcSource IPIPv4 source address or prefix.
ipv4_dstDest IPIPv4 destination address or prefix.
ipv6_srcSource IPIPv6 source.
ipv6_dstDest IPIPv6 destination.
ip_versionIP version4 or 6.
ip_protoIP protocolTCP, UDP, ICMP, etc.
ip_tosIP ToSType of service / DSCP byte.
ip_ttlIP TTL
ip_frag_offsetIP frag offset
ip_frag_flagsIP frag flags
ip_bosIP BoS
has_ip_optionsHas IP Options
ipv6_flow_labelIPv6 flow label
arp_opARP opcode
arp_spaARP SPASender protocol address.
arp_tpaARP TPATarget protocol address.
arp_shaARP SHASender hardware address.
arp_thaARP THATarget hardware address.

Layer 4

FieldUI labelNotes
tp_srcL4 source port
tp_dstL4 dest port
tcp_flagsTCP flagsBitmask (e.g., 0x2 SYN, 0x10 ACK).
icmp_typeICMP type
icmp_codeICMP code
igmp_typeIGMP type
nd_targetND targetIPv6 Neighbor Discovery.
nd_sllND SLLSource link-layer address option.
nd_tllND TLLTarget link-layer address option.

Layer 7

Layer-7 fields can only appear after from(). They describe how traffic enters the network, not how it's delivered.

FieldUI labelNotes
app_idApp IDApplication identity (e.g., https, ssh).
user_group_idUser Group ID
user_idUser ID
urlURLLabeled URL/Domain in facets and the sample-packet panel.
domainDomainSame facet/sample-packet label as url.
url_categoryURL category

For semantics and platform support, see Layer-7 User-Group Filtering and Layer-7 URL Filtering.

Security Group Tags (SGT)

Layer-2 header fields for Cisco TrustSec.

FieldMeaning
sgt_srcSource SGT
sgt_dstDestination SGT

Values are unsigned 32-bit integers (0 to 2³²−1). Forward parses SGT-aware access-control policy on Cisco ASA and Cisco FTD (FTD requires FMC collection for zone-to-interface mapping). On Cisco IOS and IOS-XE, Forward reads per-interface SGT assignments and the dynamic ACL from 802.1X/MAB-authenticated sessions, applying that downloadable ACL with the session's SGT as its source. It does not model SGT-to-SGT SGACL (cts role-based) policy enforcement.

For query examples, see Running Path Analysis → SGT.

Traffic Defaults

When the query doesn't pin a value, Forward optionally fills it in. Defaults are configurable at the org level (Settings → Org Preferences → Traffic defaults) and overridable per query in the Traffic Defaults panel.

FieldDefault valueOrg-level defaultEffect when enabled
tcp_flags0x2 (SYN)OffModels new connection establishment.
ip_frag_offset0OffModels non-fragmented or first-fragment traffic.
ip_tos0x0OffDefault QoS / DSCP byte.
tp_src65000OffModels an ephemeral source port.
app_idunidentifiedOffBypasses application-ID-based firewall rules.
urlnoneOnBypasses URL-based firewall rules.
user_idunidentifiedOffBypasses user-identity-based firewall rules.

When a default is disabled, the field is left wildcarded and the engine can match a broader set of paths. When enabled, it's set to the listed value unless the query overrides it explicitly.

See Running Path Analysis → Traffic defaults for how defaults affect policy evaluation.

Traffic Exclusions

Classes of traffic that don't appear in results. Configurable at the org level (Settings → Org Preferences → Traffic filters) and overridable per query.

CategoryDescription
Misconfigured gateway trafficFrames sent to an incorrect default-gateway MAC. Indicates host-side problems, not forwarding issues.
Traffic to network or broadcast addressesDestinations like 0.0.0.0/8, 127.0.0.0/8, subnet network and broadcast addresses, or invalid unicast ranges.
L2 traffic consumed by the networkControl-plane and management frames (LLDP, CDP, STP, LACP, etc.) that the receiving device terminates.
Malformed or unhandled trafficPackets Forward can't process through the modeled forwarding logic.
Glean trafficL3 traffic that reaches a directly-connected subnet but is dropped because the host can't be resolved (no ARP).

See Running Path Analysis → Traffic exclusions for when to override an exclusion.

Query Mode (m())

ValueMeaning
permit_allTreat ACLs and firewall rules as permits. Routing, L2 forwarding, and ARP/ND still run normally.

Permit-all is global to the path — it can't be scoped to a single device. See Running Path Analysis → Permit-all mode for query examples.


Behavior

Outcome Behavior

The z() token accepts the seven values listed in Outcome values. Distinctions:

  • Delivered — the packet exited the modeled network at an edge interface, addressed toward its destination. It does not mean the receiving application got the traffic. Final delivery may happen outside the model — e.g., toward an uncollected adjacent network, or across a mid-path gap. See Understanding Results → Missing Devices.
  • Dropped vs. blackholedropped means an explicit deny rule matched (ACL, firewall, NAT, RPF, etc.). Blackhole means no forwarding entry matched at all — the packet had nowhere to go.
  • Inadmissible vs. blackholeinadmissible is a blackhole right at the network edge: the ingress device rejected the packet at the first lookup, before it traversed any further. It typically indicates traffic that shouldn't have entered the network at that point — for example, a VLAN tag the ingress interface doesn't accept.
  • Unreachable — the packet reached its destination subnet but the device couldn't resolve a neighbor (no ARP/ND entry).
  • Loop — the path enters a forwarding loop. The hop where the loop is detected shows a "loop detected" message; see Hop status messages.
  • Undelivered — a meta-outcome used in filter facets. Matches dropped, blackhole, inadmissible, unreachable, and loop.

Anchor Resolution

When from() or to() is given an IP, prefix, or hostname argument, Forward resolves the argument to a location in the modeled network — a device, interface, or host where that address terminates. The two anchors run the same resolution; what differs is what you pass in.

In the GUI, when an anchor resolves to more than one location, a picker prompts you to choose one and inserts it as an at() (device) or in() (logical network) refinement. at() and in() are GUI-only — the path-search API has no equivalent. The API accepts every matching location and returns paths from all of them; to constrain the search, give a device-qualified anchor or add header filters.

Resolution mechanics

Forward works down the tiers below in order and stops at the first one that matches. The earlier tiers look for an exact, specific placement; the later tiers fall back to the surrounding address space.

PriorityMatchWhen it appliesIf several match 1
1Interface addressThe argument is a single address configured directly on a device interface.All interfaces holding that address are kept.
2HostThe argument matches a host discovered on a connected subnet (learned from ARP/ND entries or MAC tables).All matching hosts are kept.
3Connected subnetThe argument falls within a subnet on a device interface — used for a prefix argument, or an address with no exact interface or host match.Longest prefix wins. 2 Equal-length matches are all kept and traced in parallel.
4SNAT pool 3The argument matches an SNAT post-translation address.Kept only if its prefix is longer than a connected-subnet match; a tie keeps the subnet.
5Internet nodeThe argument falls in a synthetic Internet Node region.
6RoutesThe argument matches a route-table entry on a modeled device.No narrowing by prefix length — every overlapping route is kept. 4

1 Every location kept at the matching tier becomes an anchor: the search runs from (or to) all of them and returns the paths produced by each. In the GUI, when more than one location is kept, the picker prompts you to choose; the published paths API runs against all of them at once. See Troubleshooting → The API picked a different ingress than I expected.

2 Longest-prefix matching applies only from the connected-subnet tier down; the interface-address and host tiers are exact matches.

3 SNAT resolution applies to from() only. from() resolves against SNAT post-translation (pool) addresses, so you can anchor a query on a translated source IP. to() skips that step entirely, so a DNAT virtual IP — one that exists only as a NAT rule and not on an interface — won't resolve as a to() anchor. Set it as an ipv4_dst header filter instead, and the path traces through the DNAT rule to the back-end address.

4 The route tier keeps every overlapping route, which can return more ingresses than expected. With no earlier match, from(10.21.0.0/17) resolves to every device that has a matching route, including a device whose only match is a broad aggregate (a /8, say) or the 0.0.0.0/0 default route. The engine does not prefer the most-specific route or otherwise pick one "best" ingress — it traces a path from every matched device, and the resulting paths are grouped and ordered like any other result (see Understanding Results → Path Groups). A path rooted at the broad-aggregate device can therefore rank above the one you expected. To pin the ingress you want, qualify the anchor with a specific device (from(...) at(...)) or a narrower prefix.

Drop Reasons

When a network function or interface stops the traffic, the hop status reads Dropped because <reason> (explicit deny) or Blackholed because <reason> (implicit termination). The tables below list every reason string, grouped by function family.

ACL / firewall

Reason
interface is not in a security zone
packet is going from lower to higher security level
packet is failing RPF check
internet zone is empty, therefore no traffic can flow through trusted zones
packet with an IPsec tunnel match condition arrived on a non-IPsec interface
packet with a private source IP cannot be sent out to the public internet

IP route

Reason
traffic was destined to a Class D or E IP address
traffic was blocked by the device's configuration
traffic was destined to a broadcast address
traffic was destined to an IP address that has no route
traffic was destined to a subnet's network address
traffic was destined to an unused multicast address
traffic was destined to a subnet with an unknown output port
traffic was destined to a link local address
no static route was configured on the gateway that matches the destination address
no BGP route was received on the gateway that matches the destination address
transit gateway attachment does not have an associated route table
destination subnet is not reachable or does not exist
drop only established connections

ARP / ND

Reason
the MAC entry was missing from the ARP cache

NAT

The NAT panel renders the matched rule, the pre/post values, and one of the following reason strings.

Reason
the packet's destination IP matches the external IP of a Virtual IP object
the translated address matches the external IP of an existing Virtual IP object or is in the IP range of an existing IP pool
the packet only partially matches on the applicable Twice NAT rule
the response packet was not sent to the same port that the request packet was received on
a dynamic object is referenced in a rule but could not be resolved
a dynamic object is referenced in a rule but resolved to an empty set
NAT control is enabled but the sample packet does not hit a NAT rule
the packet is targeted to virtual server address, but doesn't match its transport layer port
the packet doesn't match on any virtual IP and port
virtual server has no active pool member
the packet doesn't match on any NAT rule on the ingress interface shared between contexts
the packet is not destined to a public address of VPC
traffic arrived at load balancer in a different zone than its target
sending traffic from private to public IP address of an interface is not allowed
traffic destined to an internal load balancer located in a different region is dropped
no target load balancer is available or configured

OpenFlow

A single user-facing token: Drop is rendered as the action label next to "Explicit". OpenFlow tables on collected switches express drops as a flow rule with an explicit Drop action.

Interface-level

Reason
packet was denied by ACL rule
<interface> was down
<interface> was not configured to accept EtherType
traffic didn't match EtherTypes configured on <interface>
packet was dropped by NAT rule

U-turn

Reason
packet cannot be sent out input port

Blackhole Reasons

Blackholed because <reason> for paths that terminate without an explicit deny.

Reason
no matching cloud route table entry
no matching transit gateway entry
no matching virtual WAN entry
no destination MAC matched at the input port
no VLAN matched at the input port
no destination IP matched at the input port
no L2 forwarding entry matched any header field
L2 input port mismatch
L2 output port mismatch
L2 VLAN mismatch
no L3 forwarding entry matched (VRF-scoped variant when a VRF is in scope)
no NAT entry matched
input arrived on a device acting as backup
VNI mismatch at input

Hop Status Messages

In addition to per-function Dropped because… lines, hops carry these top-level status messages:

MessageWhen
Skipped further analysis of this path because a loop was detectedA previously-visited device-state pair recurs; the search abandons further evaluation.
Skipped further analysis of this path because it could potentially lead to a loopLoop heuristic fires (e.g., overlapping VXLAN VNI on the same hop).
Dropped because packet cannot be sent out input portU-turn: the packet's only egress is the same interface it arrived on.
Dropped because <reason> (at the interface layer)Interface dropped the packet (down link, EtherType mismatch, ACL or NAT denial).

Network Functions

Each hop's detail panel groups operations by layer. The catalog below covers the on-prem layers; cloud devices render in a separate panel — see Cloud panel.

Access Control

FunctionTitle in the panelKey attributes
ACL ruleRule name (or Unnamed rule; default rule tag where applicable)Type, context (ingress / egress / policy-based / VLAN / stateful response), layer, matched fields, action (Permit, Deny, Conditional with drop reason).
Reverse ACLSame layout, "stateful response" contextRenders the rule that permits return traffic for an established flow.
PBR ruleRule name"Route by policy" or "VACL redirect" plus IP-route actions (next-hop, out_port, MPLS).
L2 PBRRule name"VACL redirect" actions only.

NAT

FunctionTitle in the panel
Source NATSource NAT
Destination NATDestination NAT
NAT64NAT64
Virtual IPVirtual IP
ProxyProxy
Reverse Source NATReverse Source NAT
Reverse Dest NATReverse Destination NAT
Reverse NAT64Reverse NAT64
Reverse Virtual IPReverse Virtual IP
Reverse ProxyReverse Proxy

Each NAT function shows a stateful tag, the matched entry name, the matched header fields, and an original → translated table for each transformed field. Drop reasons appear inline when the entry rejects the packet.

L3

FunctionNotes
IP routeHeader reads "Destined to prefix" / "Forwarded by shared tree" / "Forwarded by (S, G) tree" plus a "Routed to" or "Redirected to" block. Shows VRF, next-hop, out_port, MPLS push/pop, "Next hop is self (receive)", "Route is directly connected", or drop reason.
ARP"ARP Lookup" — shows next-hop IP → MAC, or drop reason if the MAC can't be resolved.
Auto-route"Routed to" — the route was learned from the related request traffic (return-path leg).
MPLS"Destined to label" / "Routed to" — shows MPLS labels, VRF, ECMP next-hops, and label push / pop / pop-all.
L3 VXLAN"VxLAN" / "Mapped to" — VNI/tunnel matching, mapped VRF or BDIs.

L2

FunctionNotes
MAC forwarding"Destined to MAC" / "Forwarded to" — shows the MAC vendor, "Learned from IP" entry, out_port, or "self (receive)".
Broadcast-domain forwarding"Destined to" / "Forwarded to L2 domain" — shows the matched fields, the list of out_ports per bucket, and any blocked-port markers.
FabricPath"Destined to FabricPath" / "Forwarded to" / "Exited FabricPath" — match fields and ECMP next-hops.
L2 VXLAN"VxLAN" / "Mapped to" — VNI → BDIs / vlan_vid.
Ingress EPGACI ingress endpoint group with a Source EPG row.
Egress EPGACI egress endpoint group with a Destination EPG row.

Optical (L0)

Renders only on synthetic optical devices. Shows an optical_tag and an out_port row.

OpenFlow

Renders on devices configured with OpenFlow rules (a binary OF file). Shows the matching table, the rule priority, the matched fields, and the action buckets (Set, Goto table, Push, Pop, Drop, Resubmit, Flood, Output to all ports, Output back on input port, Send to normal pipeline processing, Send to controller).

Cloud Panel

Cloud devices (AWS, Azure, GCP, IBM Cloud, Alkira) render their functions in a separate Cloud panel rather than under the on-prem layers. Every cloud panel always shows a Name and ID row at the top; the rows below vary by function. Empty attribute arrays are skipped, so the rows shown in any given panel are exactly the ones the snapshot populated.

FunctionPanel titleRows shown
Cloud SubnetCloud SubnetCloud VPC, Route Table.
Cloud Security GroupCloud SecurityDirection, Applied To, Source/Dest IP, IP protocol, Dest port.
Cloud Network ACLCloud Network ACLDirection, Applied To, plus all matched header fields.
Cloud FirewallCloud FirewallAny of: Direction, Applied To, Action Type, Action Value, Drop Reason, Cloud VPC, Subnet.
Cloud Load BalancerCloud Load BalancerFront End, Matched Rule (URLs), Back Ends, Targets.
Cloud App Load BalancerCloud App Load BalancerAny of: Cloud VPC, Subnet, Backend Type, Action Type, Action Value. Frontend/Backend/Targets composites if present.
Cloud NATCloud NATSource/Destination IPs, NAT Entry Name, Action.
Cloud RoutingCloud Routing"Destined to dest IP" subnet → forwarding action with type.
Cloud VPN GatewayCloud VPN GatewayCustomer IP, Cloud Provider IP.
Internet GatewayInternet GatewayAny of: Cloud VPC, Public IP, Private IP, Action Type, Action Value.
Cloud Direct ConnectCloud Direct ConnectAny of: Peer IP, Cloud IP, Cloud VLAN, Connections, Cloud VPC.
Cloud InstanceCloud InstanceType, Interface composite (ID, Name, IP, MAC).
Cloud EndpointCloud EndpointSame as Cloud Instance.
Cloud VPC PeeringCloud VPC PeeringSource VPC, Target VPC.
Cloud TGW AttachmentCloud TGW AttachmentAny of: Cloud VPC, Source VPC, Target VPC, Subnet, Action Type, Action Value.

Health and Violation Badges

Hops can carry small icons over the device or interface in the path diagram.

BadgeSeverity → colorWhat triggers it
Unhealthy deviceHigh → red, Medium → yellowDevice is flagged by the unhealthy-devices service: CPU, memory, or interface utilization above the corresponding threshold.
Unhealthy interfaceHigh → red, Medium → yellowOne or more of the hop's interfaces are flagged by the unhealthy-interfaces service. High severity wins over Medium when both are present.
Has violationsRedAn enabled NQE decorator returned a violation row for this hop.

When the deployment collects performance data, a Health status button at the top of the result list opens a drawer with per-path device and interface metrics — CPU, memory, interface utilization, and uptime — with a toggle to show only unhealthy entities.


Where to Go Next