rx_eth(9)
π rx_eth(9) β Kernel API Manual π
okay so bestie, we're in the kernel API manual today and the star of the show is rx_eth β she processes an ingress ethernet packet, and honestly? she ate. β¨
πΈ SYNOPSIS πΈ
void rx_eth (struct adapter *adap , struct sge_rspq *rq , struct sk_buff
*skb , int pad , int lro );
like, that's the whole vibe. five params, no notes, no return value (she's void, she gives nothing back and that's her main character energy π
).
π¦ ARGUMENTS π¦
adapβ the adapter. literally the NIC's whole personality lives in here, iykyk.rqβ the response queue that received the packet. she's the one who caught it, so respect her π€skbβ the packet itself. the moment. the icon.padβ padding. yes it's called pad. yes it matters, keep reading β¨lroβ large receive offload. the vibes-coalescing parameter π«Ά
π DESCRIPTION π
so what she does is: process an ingress ethernet packet and deliver it to the stack. that's the job, that's the whole assignment, and she does it. periodt. π₯
and here's the little detail that lives rent free in my head β the padding is 2 if the packet was delivered in an Rx buffer, and 0 if it was immediate data in a response. not 1. not "whatever". 2 or 0, bestie. memorize it, it's giving exam question π
π SEE ALSO π
okay this list is long and every single one of these is iconic in her own right, so let's not disrespect anyone by skipping π β 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)rx_offload(9)restart_tx(9)cxgb3_arp_process(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)
that's the whole group chat, no one left on read π
ngl bestie, this page is short but she said everything she needed to say. no cap.
and that's the tea π β this drop is from ./drivers/net/ethernet/chelsio..., dated October 2026, so it's fresh, it's cute, it's the rx_eth(9) manual. slay πβ¨
π¦ 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