i40e_put_rx_buffer(9)
π i40e_put_rx_buffer(9) β from the Kernel API Manual, bestie π
okay so picture this: you're deep in the Intel i40e driver, you've got a used RX buffer sitting there like a snack wrapper on your desk, and somebody has to deal with it. That somebody is i40e_put_rx_buffer. β¨
πΈ SYNOPSIS πΈ
void i40e_put_rx_buffer (struct i40e_ring *rx_ring , struct
i40e_rx_buffer *rx_buffer );
literally the whole signature, no cap. It returns void β it does the thing and dips, no receipts. π
π¦ ARGUMENTS π¦
rx_ringβ the rx descriptor ring you're transacting packets on. this is the main character of the operation, the group chat everybody's posting in. πrx_bufferβ the rx buffer you're pulling data from. the one getting cleaned up. π§
β¨ DESCRIPTION β¨
so here's the vibe: this function cleans up the contents of the rx_buffer. That's the whole job, and she ate. π
and then β fork in the road β it either recycles the buffer, or it unmaps it and frees the associated resources. two paths, one function, no drama. π
that's genuinely it. no hidden lore, no extra params, no return value to check. iconic behavior tbh. β
π₯ SEE ALSO π₯
first up, the source of truth β the kernel file itself: ./drivers/net/ethernet/intel/i40e/i40e_txrx.c. go read it, iykyk. π
and now the whole extended friend group, in order, because bestie you know I'm not skipping anybody:
i40e_fdir(9)i40e_program_fdir_filter(9)i40e_create_dummy_packet(9)i40e_create_dummy_udp_packet(9)i40e_create_dummy_tcp_packet(9)i40e_create_dummy_sctp_packet(9)i40e_prepare_fdir_filter(9)i40e_change_filter_num(9)i40e_add_del_fdir_udp(9)i40e_add_del_fdir_tcp(9)i40e_add_del_fdir_sctp(9)i40e_add_del_fdir_ip(9)i40e_add_del_fdir(9)i40e_fd_handle_status(9)i40e_unmap_and_free_tx_resource(9)i40e_clean_tx_ring(9)i40e_free_tx_resources(9)i40e_get_tx_pending(9)i40e_detect_recover_hung(9)i40e_clean_tx_irq(9)i40e_enable_wb_on_itr(9)i40e_force_wb(9)i40e_update_itr(9)i40e_reuse_rx_page(9)i40e_clean_programming_status(9)i40e_setup_tx_descriptors(9)i40e_clean_rx_ring(9)i40e_free_rx_resources(9)i40e_setup_rx_descriptors(9)i40e_release_rx_desc(9)i40e_alloc_mapped_page(9)i40e_alloc_rx_buffers(9)i40e_rx_checksum(9)i40e_rx_hash(9)i40e_process_skb_fields(9)i40e_cleanup_headers(9)i40e_can_reuse_rx_page(9)i40e_rx_buffer_flip(9)i40e_get_rx_buffer(9)i40e_process_rx_buffs(9)i40e_construct_skb(9)i40e_build_skb(9)i40e_is_non_eop(9)i40e_run_xdp(9)i40e_xdp_ring_update_tail(9)i40e_update_rx_stats(9)i40e_finalize_xdp_rx(9)i40e_inc_ntp(9)i40e_add_xdp_frag(9)i40e_consume_xdp_buff(9)i40e_clean_rx_irq(9)i40e_buildreg_itr(9)i40e_update_enable_itr(9)i40e_napi_poll(9)i40e_atr(9)i40e_tx_prepare_vlan_flags(9)i40e_tso(9)i40e_tsyn(9)i40e_tx_enable_csum(9)i40e_create_tx_ctx(9)__i40e_maybe_stop_tx(9)__i40e_chk_linearize(9)i40e_tx_map(9)i40e_xmit_xdp_ring(9)i40e_xmit_frame_ring(9)i40e_lan_xmit_frame(9)i40e_xdp_xmit(9)
periodt. that's the whole list, every single one, nobody left on read. π
friendly reminder: this page lives under ./drivers/net/ethernet/intel/i40e, dated October 2026 β go touch the source, it's giving main character energy and it will always be more up to date than any manpage. π
that's the whole page bestie!! mwah π β written from the Kernel API Manual, source dir ./drivers/net/ethernet/intel/i40e, October 2026 edition, and you were reading i40e_put_rx_buffer(9). slay, go clean up those buffers. ππ«Ά
π¦ 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