hw_add_wol_arp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ hw_add_wol_arp(9) β€” the ARP-pattern glow-up ✨

okay so this is a page from the Kernel API Manual, section 9, bestie πŸ’… and it's literally one little function that makes your sleeping NIC wake up when someone ARPs at it. short page, big main-character energy.


🌸 NAME 🌸

hw_add_wol_arp β€” add ARP pattern πŸŽ€

like, that's it. that's the whole name. it adds an ARP pattern. iconic behaviour, honestly.


πŸ¦‹ SYNOPSIS πŸ¦‹

void hw_add_wol_arp (struct ksz_hw *hw , const u8 *ip_addr );

no, the weird spacing is not a typo, that's just how the header writes it. we respect it. 🫢


πŸ’œ ARGUMENTS πŸ’œ

  • hw β€” the hardware instance, aka your actual NIC's whole personality. this is the thing you're handing over so the routine knows which chip it's talking to.
  • ip_addr β€” the IPv4 address assigned to the device. yes, IPv4. yes, const u8 *. no, we're not arguing about it.

πŸ”₯ DESCRIPTION πŸ”₯

so here's the vibe: this routine is used to add ARP pattern for waking up the host πŸ’€βž‘οΈπŸ‘‘

that's the entire description, ngl. it's a tiny little helper living its best life in the WOL (wake-on-LAN) corner of the driver. you give it the hardware and the device's IPv4 address, and it handles shoving the ARP pattern in so the machine can get poked awake. slay.

that's genuinely all the page says, so like β€” don't come for me, come for the manpage 😭


πŸ‘‘ SEE ALSO πŸ‘‘

okay bestie, sit down, hydrate, put your phone on do-not-disturb, because this SEE ALSO list is long. like, unreasonably long. it's giving "the person who wrote this ran grep one (1) time and hit commit." anyway, every single one, in order, no skips, fr fr πŸ“

first up, the kernel file itself:

  • ./drivers/net/ethernet/micrel/ksz884x.c

then the structs:

  • struct ksz_hw_desc(9)
  • struct ksz_sw_desc(9)
  • struct ksz_dma_buf(9)
  • struct ksz_desc(9)
  • struct ksz_desc_info(9)
  • struct ksz_mac_table(9)
  • struct ksz_vlan_table(9)
  • struct ksz_port_mib(9)
  • struct ksz_port_cfg(9)
  • struct ksz_switch(9)
  • struct ksz_port_info(9)
  • struct ksz_hw(9)
  • struct ksz_port(9)
  • struct ksz_timer_info(9)
  • struct ksz_shared_mem(9)
  • struct ksz_counter_info(9)
  • struct dev_info(9)
  • struct dev_priv(9)

then the hardware/switch helpers:

broadcast storm era 🌈:

priority / diffserv / 802.1p representation πŸŽ€:

PHY + EEPROM besties 🧚:

the WOL section, aka our home turf πŸ’–:

hw lifecycle core πŸ’…:

timers + descriptors + memory 🫧:

TX path squad πŸ”₯:

netdev ops, the whole friend group 😭:

and that's all of them. every single one. i counted twice, don't test me πŸ’€


🫢 friendly reminder: this page does not list any return value, any errors, any exit statuses, any files beyond ./drivers/net/ethernet/micrel/ksz884x.c, or any environment variables. so i'm not inventing any. the manpage said what it said and we're respecting the source material, periodt.

that's the whole vibe check, bestie β€” short page, long SEE ALSO, zero notes. this one comes to you from ./drivers/net/ethernet/micrel and it's dated October 2026 🌸, page hw_add_wol_arp(9) β€” go wake something up πŸ’œ

πŸ“¦ where this page comes from