PROBE::NETFILTER.I(3stap)

πŸ’– PROBE::NETFILTER.I(3stap) πŸ’–

okay bestie, sit down, hydrate, and let's talk about a lil networking tapset probe from the SystemTap Tapset Reference (manual section 3stap, iykyk). This one is literally called:

✨ NAME ✨

probe::netfilter.ip.pre_routing β€” it fires before an IP packet is routed. that's the whole vibe. pre-routing. before the routing happens. the packet is just standing there, un-routed, waiting for its moment. main character energy fr.


🌸 SYNOPSIS 🌸

probe netfilter.ip.pre_routing {}

no args, no drama, just a little probe with empty braces. she's simple. she's iconic. πŸ’…


πŸ¦‹ VALUES πŸ¦‹

these are all the lil variables you get to peek at inside the probe. alphabetically listed, no cap, and every single one of them is here:

  • pf β€” the protocol family, and it's either 'ipv4' or 'ipv6'. pick your fighter πŸ₯Š
  • indev β€” the address of the net_device representing the input device. if it's unknown, it's 0. not me being unknown 😭
  • sport β€” the TCP or UDP source port (ipv4 only)
  • ack β€” the TCP ACK flag, and only if the protocol is TCP (ipv4 only)
  • psh β€” the TCP PSH flag, again only if the protocol is TCP (ipv4 only)
  • nf_accept β€” a constant that means an 'accept' verdict 🫢
  • nf_repeat β€” a constant that means a 'repeat' verdict πŸ”
  • outdev β€” the address of the net_device representing the output device, 0 if it's unknown
  • saddr β€” a string holding the source IP address ✨
  • data_hex β€” a hexadecimal string of the packet buffer contents πŸ”₯
  • outdev_name β€” the name of the network device the packet will be routed to, if known
  • nf_stolen β€” a constant that means a 'stolen' verdict πŸ‘€
  • urg β€” the TCP URG flag, only if the protocol is TCP (ipv4 only)
  • data_str β€” a string of the packet buffer contents πŸ“
  • ipproto_tcp β€” a constant that means the packet protocol is TCP
  • nf_stop β€” a constant that means a 'stop' verdict βœ‹
  • protocol β€” the packet protocol from the driver (ipv4 only)
  • fin β€” the TCP FIN flag, if the protocol is TCP (ipv4 only)
  • indev_name β€” the name of the network device the packet was received on, if known
  • family β€” the IP address family 🌈
  • dport β€” the TCP or UDP destination port (ipv4 only)
  • rst β€” the TCP RST flag, if the protocol is TCP (ipv4 only)
  • length β€” the length of the packet buffer contents, in bytes πŸ“
  • ipproto_udp β€” a constant that means the packet protocol is UDP
  • syn β€” the TCP SYN flag, if the protocol is TCP (ipv4 only)
  • iphdr β€” the address of the IP header πŸ‘‘
  • nf_drop β€” a constant that means a 'drop' verdict πŸ’€
  • nf_queue β€” a constant that means a 'queue' verdict 🧚
  • daddr β€” a string holding the destination IP address πŸ’œ
lowkey obsessed with how many of these are ipv4 only. like bestie, ipv6 said "not today" for the TCP flags and the ports and the protocol field. that's just how it is, no editorializing, just facts πŸŽ€

πŸ’« SEE ALSO πŸ’«

go read that one too, bestie, it's the whole netfilter tapset family reunion 🌸


and that's the page!! this came from the SystemTap Tapset Reference, version September 2026, and it's filed under PROBE::NETFILTER.I(3stap) in section 3stap. mwah, slay, go trace some packets πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from