lro_add_page(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lro_add_page β€” the kernel API manual, but make it cute πŸŽ€

okay so bestie, we're in the Kernel API Manual today and the function on the menu is lro_add_page(9). yes she's a (9) section girlie, kernel-API coded, and she does exactly one thing but she does it well. let's get into it ✨


🌸 NAME 🌸

lro_add_page β€” add a page chunk to an LRO session. literally that's her whole job. one page chunk, one LRO session, slay πŸ’…


✨ SYNOPSIS ✨

void lro_add_page (struct adapter *adap , struct sge_qset *qs , struct
       sge_fl *fl , int len , int complete );

she takes five things and returns void, meaning she gives you nothing back but vibes 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • adap β€” the adapter. the main character of the hardware world πŸ‘‘
  • qs β€” the associated queue set. she comes as a package deal.
  • fl β€” the free list containing the page chunk to add. that's where the page chunk's been living rent free 🏠
  • len β€” packet length. a number. don't overthink her.
  • complete β€” Indicates the last fragment of a frame. so like... the final piece of the puzzle, the last text in the group chat, the πŸ’€ of it all.

πŸ”₯ DESCRIPTION πŸ”₯

Add a received packet contained in a page chunk to an existing LRO session.

that's it. that's the whole thing. she takes a packet that's chillin inside a page chunk, and she drops it into the LRO session that's already going. no cap, no extra steps, no notes 🧚


πŸ’œ SEE ALSO πŸ’œ

okay this list is LONG, so buckle up bestie β€” the kernel file in question is ./drivers/net/ethernet/chelsio/cxgb3/sge.c, and here's everyone invited to the function party:

refill_rspq(9), need_skb_unmap(9), unmap_skb(9), free_tx_desc(9), reclaim_completed_tx(9), should_restart_tx(9), free_rx_bufs(9), add_one_rx_buf(9), refill_fl(9), recycle_rx_buf(9), alloc_ring(9), t3_reset_qset(9), t3_free_qset(9), init_qset_cntxt(9), sgl_len(9), flits_to_desc(9), get_packet(9), get_packet_pg(9), get_imm_packet(9), calc_tx_descs(9), write_sgl(9), check_ring_tx_db(9), write_wr_hdr_sgl(9), write_tx_pkt_wr(9), t3_eth_xmit(9), write_imm(9), check_desc_avail(9), reclaim_completed_tx_imm(9), ctrl_xmit(9), restart_ctrlq(9), deferred_unmap_destructor(9), write_ofld_wr(9), calc_tx_descs_ofld(9), ofld_xmit(9), restart_offloadq(9), queue_set(9), is_ctrl_pkt(9), t3_offload_tx(9), offload_enqueue(9), deliver_partial_bundle(9), ofld_poll(9), rx_offload(9), restart_tx(9), cxgb3_arp_process(9), rx_eth(9), handle_rsp_cntrl_info(9), check_ring_db(9), is_new_response(9), process_responses(9), napi_rx_handler(9), process_pure_responses(9), handle_responses(9), t3_intr_handler(9), t3_sge_err_intr_handler(9), sge_timer_tx(9), sge_timer_rx(9), t3_update_qset_coalesce(9), t3_sge_alloc_qset(9), t3_start_sge_timers(9), t3_stop_sge_timers(9), t3_free_sge_resources(9), t3_sge_start(9), t3_sge_stop_dma(9), t3_sge_stop(9), t3_sge_init(9), t3_sge_prep(9)

like I said. a LOT of friends. the whole sge.c friend group showed up 🌈


πŸŽ€ sign-off πŸŽ€

this cutie page lives at ./drivers/net/ethernet/chelsio... (yes the path got trimmed, she's mysterious like that πŸ™ˆ), it's from October 2026, and it goes by the name lro_add_page(9). that's the whole doc bestie, go forth and add those page chunks πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from