emac_xdp_xmit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… emac_xdp_xmit(9) β€” from the Kernel API Manual, bestie ✨

okay so listen. this is a page straight out of the Kernel API Manual, and it's about one little function that does a very specific job. stay with me, it's gonna be cute and it's gonna be correct πŸ’–


🌸 NAME 🌸

emac_xdp_xmit β€” the function that implements ndo_xdp_xmit. that's it, that's the whole vibe. it's the ndo_xdp_xmit implementation, no cap 🫢


✨ SYNOPSIS ✨

int emac_xdp_xmit (struct net_device *dev , int n , struct xdp_frame
**frames , u32 flags );

yes she takes four things and returns an int, periodt πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the netdev. that's the network device we're doing all this on πŸ¦‹
  • n β€” number of frames. literally just how many frames we're talking about ⭐
  • frames β€” array of XDP buffer pointers. it's giving "here's the whole lineup" πŸ‘‘
  • flags β€” XDP extra info. the lil extras, yk? 🌈

πŸ”₯ RETURN πŸ”₯

the number of frames successfully sent πŸŽ‰ and like β€” failed frames will be free'ed by XDP core. so don't you dare go freeing them yourself, that's not your job, that's XDP core's job πŸ™ˆ


πŸ’œ DESCRIPTION πŸ’œ

so for error cases? a negative errno code comes back and no-frames are transmitted. read that again bestie, because it matters: the caller must handle freeing frames in that situation 😭 the caller. that's you. handle it.


🧚 SEE ALSO 🧚

the kernel file it lives in, for the curious girlies:

Kernel file ./drivers/net/ethernet/ti/icssg/icssg_prueth.c

and the whole friend group of related pages β€” every single one, i'm not skipping anybody:


πŸ’€ friendly reminder: negative errno = nothing went out + the caller frees the frames. that's the whole caveat. don't fumble it.

and that's the page, bestie πŸ“ this one came from ./drivers/net/ethernet/ti/icssg, dated October 2026 β€” mwah, go ship some frames πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from