rx_offload(9)
π rx_offload(9) β Kernel API Manual π
okay so bestie, welcome to rx_offload β it's a kernel API page from the Kernel API Manual and it's lowkey tiny but it's doing Real Work. no cap. let's get into it π«Ά
β¨ NAME β¨
rx_offload β process a received offload packet π
πΈ SYNOPSIS πΈ
int rx_offload (struct t3cdev *tdev , struct sge_rspq *rq , struct
sk_buff *skb , struct sk_buff *rx_gather[] , unsigned int gather_idx );
like yes she's five arguments long and she's serving, we love a signature with range π
π ARGUMENTS π
tdevβ the offload device that's receiving the packet. the one catching feelings, basically π₯Ίrqβ the response queue that received the packet. that's her home base, that's where she landed πskbβ the packet. the main character. the actual thing β¨rx_gatherβ a gather list of packets, for when we're building a bundle. squad assembly in progress π§gather_idxβ index of the next available slot in the bundle. keep track bestie, keep track π
π¦ DESCRIPTION π¦
so what does she do? she processes an ingress offload packet and adds it to the offload ingress queue. that's it, that's the whole vibe. then she returns the index of the next available slot in the bundle β so you know exactly where to drop the next one. iconic behavior, honestly π
ngl this is the entire description in the original page, so don't come for me β she's short but she's precise π
π₯ SEE ALSO π₯
the friend group is LARGE and we are tagging everyone, no one gets left out. all of these live in the Kernel file ./drivers/net/ethernet/chelsio/cxgb3/sge.c:
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)restart_tx(9)cxgb3_arp_process(9)rx_eth(9)lro_add_page(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)
periodt. that's the whole list, every single one, go read them, iykyk ππ
and that's the page!! this one came from ./drivers/net/ethernet/chelsio... and it's dated October 2026 β so mark your calendars bestie, she's from the future, and she's still serving rx_offload(9) energy. mwah ππβ¨
π¦ 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