libeth_xdp_prog_exception(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ libeth_xdp_prog_exception β€” the kernel API manual, bestie edition ✨

okay so we're in the <purple>libeth_xdp_prog_exception(9)</purple> page, which is genuinely one of those "you're not supposed to be here" situations and I am obsessed with the drama of it. πŸ’… this is a <cyan>u32</cyan>-returning, <cyan>__cold</cyan>-marked helper living in the kernel's driver world, and it handles XDP prog exceptions. like, the messy part. the part where the verdict was weird and somebody has to clean up. main character energy honestly. πŸŽ€


🌸 SYNOPSIS 🌸

u32 __cold libeth_xdp_prog_exception (const struct libeth_xdp_tx_bulk
*bq , struct libeth_xdp_buff *xdp , enum xdp_action act , int ret );

like, copy-paste it exactly, don't get cute with the spacing, i'm begging 🫢


πŸ’– ARGUMENTS πŸ’–

  • bq β€” the XDP Tx bulk. it's the batch thing. you give it the batch. slay. ✨
  • xdp β€” the buffer to process. this is the actual packet situation we're dealing with. πŸ’Œ
  • act β€” the original XDP prog verdict. the plot twist that got us here in the first place. πŸ‘‘
  • ret β€” the error code, in case the redirect straight-up failed. 😭 yeah. that kind of day.

πŸ¦‹ DESCRIPTION πŸ¦‹

so this is an <yellow>external helper</yellow> β€” used by __libeth_xdp_run_prog and __libeth_xsk_run_prog_slow. it exists for them. it does not exist for you.

🚨 do not call directly. fr fr. not a vibe check you want to fail. this is an internal joint and it's marked <cyan>__cold</cyan> for a reason, like the compiler is literally telling you it's the rare-path sad path.

what does it actually do when it's called? three things, iconic behavior honestly:

  1. it reports an <hotpink>invalid act``</hotpink> β€” the verdict was nonsense and it's saying so out loud.
  2. it fires off the <pink>XDP exception trace event</pink> β€” receipts. always receipts. 🧾✨
  3. it <red>frees the buffer</red>. bye bestie, memory's reclaimed, no leak. 🫢

⭐ RETURN ⭐

returns the <rainbow>libeth_xdp XDP prog verdict</rainbow>. yes that's the whole sentence. yes it's still your answer. πŸ’œ


πŸŽ€ SEE ALSO πŸŽ€

kernel file: ./drivers/net/ethernet/intel/libeth/xdp.c

and the rest of the crew, go say hi (iykyk):


that's the whole page, bestie, no cap. 🌈 source/version situash: the footer goes ./drivers/net/ethernet/intel/l... and the date is <lavender>October 2026</lavender>, and the page is libeth_xdp_prog_exception(9) β€” mwah, periodt. πŸ’‹πŸ’–

πŸ“¦ where this page comes from