PROBE::NETFILTER.A(3stap)

πŸ¦‹ probe::netfilter.arp.out β€” a SystemTap tapset page, bestie edition πŸ’–

okay so this is PROBE::NETFILTER.A(3stap), from the Networking Tapset chapter of the SystemTap Tapset Reference. It's a probe point, it's about ARP, and it's literally going to tell you everything you ever wanted to know about outgoing ARP packets. slay. πŸŽ€


✨ NAME ✨

probe::netfilter.arp.out β€” Called for each outgoing ARP packet 🫢

that's it. that's the whole vibe. every single time an ARP packet goes out the door, this probe is there. main character energy fr fr. πŸ‘‘


✨ SYNOPSIS ✨

probe netfilter.arp.out {}

no arguments, no parameters, no drama. she takes nothing and gives you everything. iconic. πŸ’…


✨ VALUES ✨

bestie these are the local variables you get handed inside the probe body. there's like twenty-five of them, so grab a snack, we're going through all of them, no skipping, no cap. πŸ“

  • indev β€” the address of the net_device that represents the input device. and if nobody knows which one it is? it's just 0. 🀷
  • arphdr β€” the address of the ARP header. that's where the header lives. that's the address. πŸ’œ
  • pf β€” the protocol family. and it's always "arp". always. every time. it's giving commitment. 🌸
  • ar_tha β€” Ethernet+IP only (i.e. when ar_pro==0x800): the target hardware (MAC) address. πŸŽ€
  • ar_sha β€” Ethernet+IP only (i.e. when ar_pro==0x800): the source hardware (MAC) address. πŸ’–
  • ar_data β€” the address of the ARP packet data region, which is the part after the header. yes, after. πŸ¦‹
  • ar_pln β€” the length of the protocol address. πŸ“
  • outdev β€” the address of the net_device representing the output device. unknown? 0. again. consistency queen. ✨
  • ar_hrd β€” the format of the hardware address. 🧚
  • nf_repeat β€” a constant used to signify a 'repeat' verdict. πŸ”
  • ar_pro β€” the format of the protocol address. πŸ’«
  • nf_accept β€” a constant used to signify an 'accept' verdict. βœ…
  • ar_hln β€” the length of the hardware address. πŸ“
  • nf_stop β€” a constant used to signify a 'stop' verdict. πŸ›‘
  • indev_name β€” the name of the network device the packet was received on, if known. πŸ™ˆ
  • length β€” the length of the packet buffer contents, measured in bytes. πŸ”’
  • data_hex β€” a hexadecimal string representing the packet buffer contents. hex girl summer. 🌈
  • outdev_name β€” the name of the network device the packet will be routed to, if known. πŸ›£οΈ
  • nf_stolen β€” a constant used to signify a 'stolen' verdict. 😳
  • ar_tip β€” Ethernet+IP only (i.e. when ar_pro==0x800): the target IP address. 🎯
  • data_str β€” a string representing the packet buffer contents. πŸ“
  • nf_drop β€” a constant used to signify a 'drop' verdict. πŸ’€
  • ar_sip β€” Ethernet+IP only (i.e. when ar_pro==0x800): the source IP address. πŸ“¬
  • nf_queue β€” a constant used to signify a 'queue' verdict. ⏳
  • ar_op β€” the ARP opcode, aka the command. πŸ•ΉοΈ
heads up bestie: ar_tha, ar_sha, ar_tip and ar_sip only show up for the Ethernet+IP situation where ar_pro==0x800. everything else is there for the ride. don't get caught lacking. πŸ’…

✨ SEE ALSO ✨


and that's the page!! thanks for coming to my ted talk. now go probe some ARP packets and be normal about it. 🌟

this was the SystemTap Tapset Reference, version-y bits as of September 2026, and the manual is PROBE::NETFILTER.A(3stap). mwah. bye bestie, go be iconic πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from