dropmon profile provides drop monitor functionality, reporting packets being dropped including stack traces to understand what those packet flows were doing in the stack.
What it enables
Probes
tp:skb:kfree_skb/stack- Traces the kernel function that frees socket buffers with stack trace collection enabled
Collectors
The dropmon profile enables several collectors to provide comprehensive drop information:skb-drop- Drop reason informationskb- Socket buffer metadata (packet headers, addresses)dev- Device/interface informationns- Network namespace information
Usage
Basic collection
Collect and store for later analysis
Generate pcap from stored events
The same profile can be used with both the
collect and pcap commands, making it easy to convert drop events into pcap format for analysis in tools like Wireshark.Use cases
- Drop investigation: Understanding why packets are being discarded
- Performance troubleshooting: Identifying unexpected packet loss
- Firewall debugging: Seeing where security policies drop packets
- Resource exhaustion: Detecting drops due to buffer limits
Example output
The dropmon profile captures detailed information about dropped packets:- A TCP SYN packet from
::1.36986to::1.8080was dropped - The drop reason is
NO_SOCKET- no listening socket on port 8080 - The stack trace shows the packet went through the TCP receive path before being dropped
- The full packet headers are included for context
Understanding the output
Drop reason: The kernel provides a reason code (e.g.,NO_SOCKET, POLICY, NO_ROUTE) explaining why the packet was dropped.
Stack trace: Shows the call chain leading to the drop, helping identify:
- Which kernel function initiated the drop
- What path the packet took through the network stack
- Whether the drop was in BPF, iptables, routing, etc.
When to use dropmon
Choose the dropmon profile when:- Packets are mysteriously disappearing
- You need to understand drop patterns and causes
- You’re debugging connectivity issues
- You want to identify unwanted drops in production
