UNION IONIC_PORT_IDENTITY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– union ionic_port_identity πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes that's the manual name, and yes this page is a whole vibe. We're looking at union ionic_port_identity, which the NAME section describes very simply as a port identity structure ✨. That's it. That's the pitch. But like… it's so much more than that, iykyk. πŸ¦‹


✨ SYNOPSIS ✨

here's the shape of it, and listen β€” do not retype this by hand, copy it exactly fr fr:

union ionic_port_identity {
    struct {
      u8 version;
      u8 type;
      u8 num_lanes;
      u8 autoneg;
      __le32 min_frame_size;
      __le32 max_frame_size;
      u8 fec_type[4];
      u8 pause_type[2];
      u8 loopback_mode[2];
      __le32 speeds[16];
      u8 rsvd2[44];
      union ionic_port_config config;
    };
    __le32 words[478];
 };

see how it's a union with an anonymous struct inside AND a words array? main character energy, honestly. It literally cannot decide if it's a struct or an array, and honestly? relatable. πŸ’…


πŸŽ€ MEMBERS πŸŽ€

here's the whole cast, one by one, no skipping, no cap:

  • {unnamed_struct} β€” anonymous. that's the whole description. it's anonymous, bestie. it has no name. it's mysterious. πŸ•΅οΈβ€β™€οΈ
  • version β€” identity structure version ✨
  • type β€” type of port, typed as enum ionic_port_type 🫢
  • num_lanes β€” number of lanes for the port 🌈
  • autoneg β€” autoneg supported ⭐
  • min_frame_size β€” minimum frame size supported πŸ“
  • max_frame_size β€” maximum frame size supported πŸ“ (they're a matched set, obsessed)
  • fec_type β€” supported fec types πŸ”₯
  • pause_type β€” supported pause types πŸ’œ
  • loopback_mode β€” supported loopback mode πŸ¦‹
  • speeds β€” supported speeds, and it's an array of <italic>16 __le32 values</italic> πŸ‘‘
  • rsvd2 β€” reserved byte(s) πŸ™ˆ β€” like, don't touch, it's saving seats
  • config β€” current port configuration, and it's a union ionic_port_config πŸ’–
  • words β€” word access to struct contents β€” this is the __le32 words[478] twin, so you can peek at the whole thing as raw words 😭

🌸 SEE ALSO 🌸

okay this list is iconic and also lowkey a lot, so buckle up. First up, the kernel file: ./drivers/net/ethernet/pensando/ionic/ionic_if.h. And then literally the whole family reunion:

  • 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_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)
  • 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 entire extended universe. ate and left no crumbs. πŸ’€


ngl bestie, that's genuinely the whole page β€” the source path shows up truncated as ./drivers/net/ethernet/pensand... in the footer, and the date on it is October 2026, so go read it in the future, i guess? 🧚 anyway, that's the sign-off: source/version ./drivers/net/ethernet/pensand..., dated October 2026, union ionic_port_identity(9) β€” periodt πŸ’–πŸŽ€πŸ«Ά
πŸ“¦ where this page comes from