Skip to main content
The generic profile provides a starting point for investigating packets in the networking stack. It defines a wide set of probes in various places and enables automatic collector selection.

What it enables

Probes

The generic profile attaches probes at key points throughout the network stack: Receive path:
  • tp:net:netif_receive_skb - Packet reception at network interface
  • tp:net:netif_rx - Early packet reception
  • tp:net:napi_gro_receive_entry - GRO (Generic Receive Offload) entry
  • tp:net:napi_gro_frags_entry - GRO fragments entry
  • kprobe:arp_process - ARP packet processing
  • kprobe:ip_rcv / kprobe:ipv6_rcv - IPv4/IPv6 reception
Protocol handlers:
  • kprobe:tcp_v4_rcv / kprobe:tcp_v6_rcv - TCP reception
  • kprobe:tcp_gro_receive / kprobe:tcp6_gro_receive - TCP GRO
  • kprobe:tcp_rcv_established - TCP established state
  • kprobe:tcp_rcv_state_process - TCP state processing
  • kprobe:__tcp_retransmit_skb - TCP retransmissions
  • kprobe:udp_rcv / kprobe:udpv6_rcv - UDP reception
  • kprobe:udp_gro_receive / kprobe:udp6_gro_receive - UDP GRO
  • kprobe:icmp_rcv / kprobe:icmpv6_rcv - ICMP reception
Transmit path:
  • tp:net:net_dev_queue - Packet queuing
  • tp:net:net_dev_start_xmit - Packet transmission start
  • kprobe:ip_output / kprobe:ip6_output - IPv4/IPv6 output
  • kprobe:skb_scrub_packet - Packet scrubbing (namespace transitions)

Collectors

The profile enables automatic collector selection, which typically includes:
  • skb - Socket buffer metadata
  • skb-drop - Drop reason information
  • skb-tracking - Packet tracking across the stack

Usage

retis -p generic collect
The generic profile is ideal when you’re not sure where in the networking stack your issue might be occurring. It provides broad visibility across the entire path.

Use cases

  • Initial investigation: Starting point when the root cause is unknown
  • Protocol debugging: Tracing packets through different protocol layers
  • Path analysis: Understanding the complete journey of a packet
  • Performance analysis: Identifying bottlenecks in the network stack

Example output

The generic profile will capture events at multiple layers, showing how packets traverse the networking stack:
7129250251406 (5) [ping] 23561 [tp] net:net_dev_start_xmit
  if 4 (wlp82s0) [redacted] > 2606:4700:4700::1111 ttl 64
  
7129262331018 (0) [irq/185-iwlwifi] 1259 [tp] net:netif_receive_skb
  if 4 (wlp82s0) 2606:4700:4700::1111 > [redacted] ttl 54

Build docs developers (and LLMs) love