Fields
Subsystem that dropped the packet.Examples:
"core", "ovs", "openvswitch"When null, the drop reason comes from the core networking stack.The specific reason the packet was dropped.This corresponds to values in the kernel’s
enum skb_drop_reason and subsystem-specific drop reasons.Drop Reasons
Core Drop Reasons
Whensubsys is null, these are standard kernel drop reasons from enum skb_drop_reason:
NOT_SPECIFIED- Drop reason not specifiedNO_SOCKET- No socket found for packetPKT_TOO_SMALL- Packet too smallTCP_CSUM- TCP checksum errorUDP_CSUM- UDP checksum errorIP_CSUM- IP checksum errorUNICAST_IN_L2_MULTICAST- Unicast packet in L2 multicastXFRM_POLICY- Dropped by XFRM policyIP_NOPROTO- No protocol handlerSOCKET_BACKLOG- Socket backlog fullNETFILTER_DROP- Dropped by NetfilterOTHERHOST- Packet for another hostIP_LOCALOUT- Error in ip_local_outTCP_OLD_DATA- TCP old dataTCP_ACK_UNSENT_DATA- TCP ACK for unsent dataTCP_FLAGS- Invalid TCP flagsTCP_ZEROWINDOW- TCP zero windowTCP_OLD_ACK- Old TCP ACKTCP_TOO_OLD_ACK- TCP ACK too oldTCP_ACK_UNSENT- TCP ACK for unsent dataTCP_INVALID_SEQUENCE- Invalid TCP sequenceTCP_RESET- TCP resetTCP_INVALID_SYN- Invalid TCP SYNTCP_CLOSE- TCP connection closedTCP_FASTOPEN- TCP FastOpen errorTCP_OLD_SEQUENCE- Old TCP sequenceTCP_KEEPALIVE- TCP keepaliveTCP_EMBRYONIC_RST- RST on embryonic connectionTCP_ABORT_ON_DATA- Abort with data pending
Subsystem Drop Reasons
Whensubsys is set, drop reasons are specific to that subsystem. For example, OpenvSwitch has reasons like:
FLOW_ACTION- Explicit drop action in flowRECURSION_LIMIT- Recursion limit exceededDEFERRED_LIMIT- Too many deferred actionsFRAG_L2_TOO_LONG- Layer 2 fragment too longFRAG_INVALID_PROTO- Invalid fragmentation protocol
Display Format
The drop section is displayed as: Core drop:Examples
Example JSON
Core Drop
Subsystem Drop (OpenvSwitch)
Drop with No Reason
Complete Event Example
Drop event with full context:When This Section Appears
The skb drop section is populated when:- The
skb-dropcollector is enabled (-c skb-drop) - The probe fires at a drop location (e.g.,
kfree_skb_reason) - The kernel provides drop reason information
Analyzing Drops
Use drop information to:- Identify drop patterns: Group by
drop_reasonto find common issues - Filter by subsystem: Focus on specific subsystems like
ovs - Correlate with packet data: Use
packetsection to see what was dropped - Track drop locations: Use
kernel.symbolto see where drops occur - Follow flows: Combine with
skb_trackingto see packet journey before drop
Example Analysis
Drop reasons require kernel support for the drop monitor subsystem. Older kernels may only report
NOT_SPECIFIED. For best results, use kernel 5.17 or later.