STRUCT IONIC_RXQ_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ionic_rxq_desc(9) β€” Ethernet Rx queue descriptor format

okay so bestie, welcome to the Kernel API Manual page for struct ionic_rxq_desc. this is literally the glow-up blueprint for one single Ethernet receive-queue descriptor β€” the little form your NIC fills out so the kernel knows where to dump incoming packets. she's small, she's iconic, she's five fields deep. let's get into it πŸŽ€


✨ SYNOPSIS ✨

here's the whole struct, no cap β€” look at her:

struct ionic_rxq_desc {
    u8 opcode;
    u8 rsvd[5];
    __le16 len;
    __le64 addr;
 };

that's it. that's the whole queen. four members, one little rsvd buffer doing absolutely nothing but holding space πŸ’€


🌸 MEMBERS 🌸

  • opcode β€” the Rx operation code, i.e. what are we even doing. peep IONIC_RXQ_DESC_OPCODE_* for the actual values.
  • rsvd β€” reserved byte(s). she's just vibing. do not touch, do not question her 🫢
  • len β€” the length of the data buffer, in bytes. how much room are we giving you, bestie.
  • addr β€” the data buffer's DMA address. this is where the goods go, fr fr.

πŸ”₯ DESCRIPTION πŸ”₯

IONIC_RXQ_DESC_OPCODE_SIMPLE is the main character here ✨ β€” it means receive the full packet into the data buffer starting at addr.

and the receipts? the results of that receive β€” including the actual bytes received β€” get recorded in the Rx completion descriptor. so this descriptor is the ask, and the completion descriptor is the clapback πŸ’…


πŸ¦‹ SEE ALSO πŸ¦‹

bestie, prepare yourself. the full squad:

Kernel file ./drivers/net/ethernet/pensando/ionic/ionic_if.h:

struct ionic_admin_cmd(9), struct ionic_admin_comp(9), struct ionic_nop_cmd(9), struct ionic_nop_comp(9), struct ionic_dev_init_cmd(9), struct ionic_dev_init_comp(9), struct ionic_dev_reset_cmd(9), struct ionic_dev_reset_comp(9), struct ionic_dev_identify_cmd(9), struct ionic_dev_identify_comp(9), union ionic_drv_identity(9), enum ionic_dev_capability(9), union ionic_dev_identity(9), struct ionic_lif_identify_cmd(9), struct ionic_lif_identify_comp(9), enum ionic_lif_capability(9), enum ionic_logical_qtype(9), enum ionic_q_feature(9), enum ionic_rxq_feature(9), enum ionic_txq_feature(9), enum ionic_hwstamp_bits(9), struct ionic_lif_logical_qtype(9), enum ionic_lif_state(9), union ionic_lif_config(9), enum ionic_lif_rdma_cap_stats(9), union ionic_lif_identity(9), struct ionic_lif_init_cmd(9), struct ionic_lif_init_comp(9), struct ionic_q_identify_cmd(9), struct ionic_q_identify_comp(9), union ionic_q_identity(9), struct ionic_q_init_cmd(9), struct ionic_q_init_comp(9), struct ionic_txq_desc(9), struct ionic_txq_sg_elem(9), struct ionic_txq_sg_desc(9), struct ionic_txq_comp(9), struct ionic_rxq_sg_elem(9), struct ionic_rxq_sg_desc(9), struct ionic_rxq_comp(9), enum ionic_pkt_class(9), struct ionic_q_control_cmd(9), enum ionic_phy_type(9), enum ionic_xcvr_state(9), enum ionic_port_type(9), enum ionic_port_admin_state(9), enum ionic_port_oper_status(9), enum ionic_port_fec_type(9), enum ionic_port_pause_type(9), enum ionic_port_loopback_mode(9), struct ionic_xcvr_status(9), union ionic_port_config(9), struct ionic_port_status(9), struct ionic_port_identify_cmd(9), struct ionic_port_identify_comp(9), struct ionic_port_init_cmd(9), struct ionic_port_init_comp(9), struct ionic_port_reset_cmd(9), struct ionic_port_reset_comp(9), enum ionic_stats_ctl_cmd(9), enum ionic_txstamp_mode(9), enum ionic_port_attr(9), struct ionic_port_setattr_cmd(9), struct ionic_port_setattr_comp(9), struct ionic_port_getattr_cmd(9), struct ionic_port_getattr_comp(9), struct ionic_lif_status(9), struct ionic_lif_reset_cmd(9), enum ionic_dev_attr(9), struct ionic_dev_setattr_cmd(9), struct ionic_dev_setattr_comp(9), struct ionic_dev_getattr_cmd(9), struct ionic_dev_getattr_comp(9), enum ionic_lif_attr(9), struct ionic_lif_setattr_cmd(9), struct ionic_lif_setattr_comp(9), struct ionic_lif_getattr_cmd(9), struct ionic_lif_getattr_comp(9), struct ionic_lif_setphc_cmd(9), struct ionic_rx_mode_set_cmd(9), struct ionic_rx_filter_add_cmd(9), struct ionic_rx_filter_add_comp(9), struct ionic_rx_filter_del_cmd(9), enum ionic_vf_link_status(9), struct ionic_vf_setattr_cmd(9), struct ionic_vf_getattr_cmd(9), struct ionic_vf_ctrl_cmd(9), struct ionic_vf_ctrl_comp(9), struct ionic_discover_cmb_cmd(9), struct ionic_discover_cmb_comp(9), union ionic_cmb_region(9), union ionic_discover_cmb_identity(9), struct ionic_qos_identify_cmd(9), struct ionic_qos_identify_comp(9), enum ionic_qos_class_type(9), enum ionic_qos_sched_type(9), union ionic_qos_config(9), union ionic_qos_identity(9), struct ionic_qos_init_cmd(9), struct ionic_qos_reset_cmd(9), struct ionic_qos_clear_stats_cmd(9), struct ionic_fw_download_cmd(9), enum ionic_fw_control_oper(9), struct ionic_fw_control_cmd(9), struct ionic_fw_control_comp(9), struct ionic_rdma_reset_cmd(9), struct ionic_rdma_queue_cmd(9), struct ionic_notifyq_event(9), struct ionic_link_change_event(9), struct ionic_reset_event(9), struct ionic_heartbeat_event(9), struct ionic_log_event(9), struct ionic_xcvr_event(9), union ionic_port_identity(9), struct ionic_port_info(9), struct ionic_lif_info(9), struct ionic_hwstamp_regs(9), union ionic_dev_info_regs(9), union ionic_dev_cmd_regs(9), union ionic_dev_regs(9), struct ionic_doorbell(9)

like I said. the whole squad. iykyk πŸ˜­πŸ‘‘


that's the page, bestie!! πŸ“ this one came from ./drivers/net/ethernet/pensand... and it's stamped October 2026 β€” so jot that down, cite it, put it on your vision board, whatever πŸ’– struct ionic_rxq_desc(9) forever. periodt. 🌈

πŸ“¦ where this page comes from