STRUCT IONIC_TXQ_SG_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ionic_txq_sg_desc(9) β€” the Kernel API Manual page you didn't know you needed

okay so bestie, welcome to the Kernel API Manual, section 9. today's main character is struct ionic_txq_sg_desc β€” yes that's a mouthful, we're gonna get through it together 🫢


✨ NAME ✨

struct ionic_txq_sg_desc β€” the Transmit scatter-gather (SG) list. that's it, that's the whole name. short queen, long title energy πŸ’…


🌸 SYNOPSIS 🌸

here's the actual shape of it, copied EXACTLY, no cap, do not touch a single character of this:

struct ionic_txq_sg_desc {
  #define IONIC_TX_MAX_SG_ELEMS           8;
  #define IONIC_TX_SG_DESC_STRIDE         8;
    struct ionic_txq_sg_elem elems[IONIC_TX_MAX_SG_ELEMS];
 };

so like, look at her. two #defines living inside the struct body (yes, inside, we don't ask questions, we just respect the icon), IONIC_TX_MAX_SG_ELEMS set to 8, IONIC_TX_SG_DESC_STRIDE set to 8, and an array of struct ionic_txq_sg_elem called elems sized by that same IONIC_TX_MAX_SG_ELEMS macro. the semicolons on the defines are just… there. that's the vibe. moving on πŸ’€


πŸ¦‹ Members πŸ¦‹

  • elems β€” the scatter-gather elements!! that's the one member, and she's doing all the work. it's the array of SG elements, IONIC_TX_MAX_SG_ELEMS of them, and that's genuinely the entire member list. a minimalist. a legend. πŸ‘‘

πŸ”₯ SEE ALSO πŸ”₯

okay this part is LONG, like long long, so grab a snack πŸ“. first up, the source file: look at the Kernel file ./drivers/net/ethernet/pensando/ionic/ionic_if.h, and then the entire extended universe:

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_comp(9), struct ionic_rxq_desc(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… that's the whole friend group. every single one of them. we did not skip a single name, because that would be rude πŸ’œ


real talk though: this page is tiny but the family tree is huge. if you're poking at the ionic driver, the ionic_if.h header is your home base, and everything above is basically the same struct universe, just different rooms in the house 🏠

and that's the page!! πŸŽ€ source/version is that truncated path ./drivers/net/ethernet/pensand... and the date stamp says October 2026, so yeah β€” timestamps from the future, slay. footer energy, but make it cute. bye bestie, go read your structs πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from