STRUCT IONIC_LIF_GETATTR_COMP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ionic_lif_getattr_comp(9) β€” Kernel API Manual πŸŽ€

okay bestie, buckle up, because this is a page straight outta the Kernel API Manual and it's all about one very specific little struct: struct ionic_lif_getattr_comp β€” the LIF get attr command completion. that's it, that's the whole vibe. it's the thing that comes back at you when the get-attr command finishes doing its thing. iconic behavior honestly πŸ’–


✨ SYNOPSIS ✨

here's the whole shape of it, character for character, no cap:

struct ionic_lif_getattr_comp {
    u8 status;
    u8 rsvd;
    __le16 comp_index;
    union {
      u8 state;
      __le32 mtu;
      u8 mac[6];
      __le64 features;
      __le16 txstamp_mode;
      u8 rsvd2[11];
    };
    u8 color;
 };

look at her. flawless. not a single byte out of place 🫢


🌸 Members 🌸

okay so now we go field by field, and yes i'm gonna be normal about it (i will not be normal about it):

  • status β€” the status of the command, and it's an enum ionic_status_code. this is the vibe check of the whole operation: did it slay or did it flop 😭
  • rsvd β€” reserved byte(s). literally just sitting there being reserved. main character energy of doing nothing but looking pretty πŸ’…
  • comp_index β€” the index in the descriptor ring for which this is the completion. this is the "you are here πŸ“" of the ring, iykyk.
  • {unnamed_union} β€” anonymous. that's literally all it says. an unnamed union just vibing. mysterious. unknowable. we love her πŸ™ˆ

then inside that anonymous union, bestie, there's a whole little friend group:

  • state β€” the LIF state, typed as enum ionic_lif_state.
  • mtu β€” Mtu. yes that's the whole description. short and iconic ✨
  • mac β€” the station mac. six whole bytes of it: u8 mac[6].
  • features β€” features, typed as enum ionic_eth_hw_features.
  • txstamp_mode β€” the TX Timestamping Mode, typed as enum ionic_txstamp_mode.
  • rsvd2 β€” reserved byte(s). the sequel. the reserved-again. u8 rsvd2[11] out here taking up space and serving absolutely zero πŸ’€
  • color β€” the color bit. yes queen, even the completion gets a little pop of color 🌈
heads up: all of those union members share the same space, so it's one or the other depending on what you're reading β€” that's just how a union works, that's not me being dramatic, that's C 😌

πŸ”₯ SEE ALSO πŸ”₯

there are... a lot of friends. like, a lot. the kernel file this lives in is ./drivers/net/ethernet/pensando/ionic/ionic_if.h, and here's the full squad, no one left behind 🫢

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_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_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)


and that's the whole page bestie, we ate and left zero crumbs πŸ’…βœ¨

sign-off time: this was pulled from ./drivers/net/ethernet/pensand... (yes it's truncated in the footer, that's just how it is, don't @ me 😭) and it's dated October 2026. go forth and read your descriptor rings responsibly, mwah πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from