STRUCT EF4_TX_BUFFER(9)
π struct ef4_tx_buffer(9) β buffer state for a TX descriptor
okay so bestie, welcome to the Kernel API Manual entry for struct ef4_tx_buffer, aka the little bookkeeping buddy that holds the state for one single TX descriptor. it's giving "quietly doing the most important job in the room" and honestly? iconic. β¨
β¨ SYNOPSIS β¨
struct ef4_tx_buffer {
const struct sk_buff *skb;
union {
ef4_qword_t option;
dma_addr_t dma_addr;
};
unsigned short flags;
unsigned short len;
unsigned short unmap_len;
unsigned short dma_offset;
};
like, look at her. so structured. so demure. π
πΈ Members πΈ
skbβ whenflags & EF4_TX_BUF_SKBis a thing, this is the socket buffer that's along for the ride, and it gets freed once the descriptor completes. she served her purpose, we let her go π«Ά{unnamed_union}β anonymous. no name, no problem, we don't ask questions πoptionβ whenflags & EF4_TX_BUF_OPTIONis set, this is a NIC-specific option descriptor. every card has its own little language, iykyk.dma_addrβ the DMA address of the fragment. that's where the data actually lives, bestie. πflagsβ the flags that control allocation and the DMA mapping type. lowkey the main character of this struct honestly πlenβ length of this fragment. heads up: this field is zero when the queue slot is empty. empty slot, emptylen, we love a consistent vibe check.unmap_lenβ length of this fragment to unmap. don't forget to clean up, it's giving self-care πΈdma_offsetβ offset ofdma_addrfrom the address of the backing DMA mapping. β οΈ it's only valid ifunmap_len != 0, so likeβ¦ don't come for her whenunmap_lenis zero, she literally said she's not available rn π
π₯ SEE ALSO π₯
these are the friends in her group chat, all from the kernel file ./drivers/net/ethernet/sfc/falcon/net_driver.h:
struct ef4_buffer(9)struct ef4_special_buffer(9)struct ef4_tx_queue(9)struct ef4_rx_buffer(9)struct ef4_rx_page_state(9)struct ef4_rx_queue(9)struct ef4_channel(9)struct ef4_msi_context(9)struct ef4_channel_type(9)struct ef4_link_state(9)struct ef4_phy_operations(9)enum ef4_phy_mode(9)struct ef4_hw_stat_desc(9)struct ef4_nic(9)struct ef4_nic_type(9)
and that's the whole page, no cap. π¦ this one came from ./drivers/net/ethernet/sfc/falcon, dated October 2026, and it's filed under struct ef4_tx_buffer(9). go read the source bestie, she's literally right there π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms